Sobes.tech
Middle

Jak zajistit přístup ke clusteru?

sobes.tech AI

Odpověď od AI

Přístup k vnitřku clusteru (například Kubernetes) lze realizovat několika způsoby, v závislosti na cíli přístupu (uživatel, aplikace, údržba).

Hlavní metody:

  • Ingress: Pro externí HTTP/HTTPS přístup ke službám v clusteru přes doménové jméno. Funguje na úrovni L7.
  • NodePort: Otevře port na všech uzlech clusteru, který přesměrovává provoz na odpovídající službu. Je jednoduchý, ale špatně škálovatelný a vyžaduje znalost IP adres uzlů.
  • LoadBalancer: Vytvoří externí vyvažovač zátěže v cloudu (pokud je cluster nasazen v cloudu), který směruje provoz na službu. S sebou nese dodatečné náklady.
  • Port Forwarding: Dočasná metoda pro ladění. Přesměruje port z lokálního počítače na port uvnitř podu v clusteru.
  • kubectl exec: Umožňuje spustit příkaz uvnitř běžícího kontejneru v podu. Používá se pro interaktivní přístup nebo jednorázové příkazy.
  • VPN nebo bastion server: Vytvoření zabezpečeného tunelu nebo mezilehlého hostitele pro přístup ke zdrojům uvnitř privátní sítě clusteru.
# Příklad Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
# Příklad příkazu kubectl port-forward
# Přesměruje lokální port 8080 na port 80 podu some-pod
kubectl port-forward some-pod 8080:80

Volba metody závisí na konkrétním scénáři použití, požadavcích na bezpečnost a infrastruktuře clusteru. Pro produkční prostředí je vhodnější používat Ingress a LoadBalancer pro přístup ke službám. Pro správu a ladění se aktivně používají kubectl exec a port-forward. Pro zajištění bezpečnosti přístupu k vnitřní síti clusteru se často používají VPN nebo bastion servery.