Middle
Ako zabezpečiť prístup ku klastru?
sobes.tech AI
Odpoveď od AI
Prístup k vnútornej časti klastrera (napríklad Kubernetes) je možné realizovať viacerými spôsobmi, v závislosti od cieľa prístupu (používateľ, aplikácia, údržba).
Hlavné metódy:
- Ingress: Pre externý HTTP/HTTPS prístup ku službám v klasteri cez doménové meno. Funguje na úrovni L7.
- NodePort: Otvorí port na všetkých uzloch klastera, ktorý presmerováva prenos na príslušnú službu. Jednoduché, ale zle škálovateľné a vyžaduje znalosti IP adries uzlov.
- LoadBalancer: Vytvorí externý vyvažovač záťaže v cloude (ak je klaster nasadený v cloude), ktorý smeruje prenos ku službe. Má ďalšie náklady.
- Port Forwarding: Dočasná metóda na ladenie. Presmeruje port z lokálneho počítača na port v podu v klasteri.
- kubectl exec: Umožňuje vykonať príkaz vo vnútri bežiaceho kontajnera v podu. Používa sa na interaktívny prístup alebo jednorazové príkazy.
- VPN alebo bastion server: Vytvorenie zabezpečeného tunela alebo medzihostiteľa na prístup k zdrojom vnútri súkromnej siete klastera.
# Prí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
# Príklad príkazu kubectl port-forward
# Presmeruje lokálny port 8080 na port 80 podu some-pod
kubectl port-forward some-pod 8080:80
Výber metódy závisí od konkrétneho scenára použitia, požiadaviek na bezpečnosť a infraštruktúry klastera. Pre produkčné prostredia je vhodnejšie používať Ingress a LoadBalancer na prístup ku službám. Pre správu a ladenie sa aktívne používajú kubectl exec a port-forward. Na zabezpečenie bezpečnosti prístupu do vnútornej siete klastera sa často používajú VPN alebo bastion servery.