Sobes.tech
Middle

Kako obezbediti pristup klasteru?

sobes.tech АИ

Одговор од АИ

Pristup unutar klastera (npr. Kubernetes) može se ostvariti na više načina, u zavisnosti od cilja pristupa (korisnik, aplikacija, održavanje).

Glavne metode:

  • Ingress: Za spoljašnji HTTP/HTTPS pristup servisima u klasteru putem domena. Radi na L7 nivou.
  • NodePort: Otvara port na svim čvorovima klastera, koji preusmerava saobraćaj na odgovarajući servis. Jednostavno, ali loše skalira i zahteva poznavanje IP adresa čvorova.
  • LoadBalancer: Kreira eksterni balansator opterećenja u oblaku (ako je klaster u oblaku), koji usmerava saobraćaj na servis. Ima dodatne troškove.
  • Port Forwarding: Privremena metoda za debugovanje. Preusmerava port sa lokalnog računara na port unutar poda u klasteru.
  • kubectl exec: Omogućava izvršavanje komandi unutar pokrenutog kontejnera u podu. Koristi se za interaktivni pristup ili jednokratne komande.
  • VPN ili bastion server: Kreiranje sigurnog tunela ili posrednog hosta za pristup resursima unutar privatne mreže klastera.
# Primer 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
# Primer kubectl port-forward
# Preusmerava lokalni port 8080 na port 80 poda some-pod
kubectl port-forward some-pod 8080:80

Izbor metode zavisi od specifičnog scenarija korišćenja, zahteva za bezbednošću i infrastrukture klastera. Za produkcione okoline preporučljivo je koristiti Ingress i LoadBalancer za pristup servisima. Za administraciju i debug aktivno se koriste kubectl exec i port-forward. Za obezbeđenje sigurnosti pristupa unutrašnjoj mreži klastera često se koriste VPN-ovi ili bastion serveri.