Kako međusobno komuniciraju pokrenute aplikacije u Kubernetes-u?
sobes.tech АИ
Одговор од АИ
Взаимодействие на апликације у Kubernetes-у се одвија пре свега преко мрежних сервиса.
-
Откривање сервиса: Апликације не комуницирају директно са подовима преко њихових IP адреса, јер су IP адресе подова епхемерне и могу се мењати при преуређењу. Уместо тога користе Откривање сервиса, које пружа стабилно DNS име и IP адресу за групу подова који извршавају исту функцију.
- ClusterIP: Тип сервиса по подразумевану, пружа унутрашњи IP који је доступан само унутар кластера.
- NodePort: Отвара статички порт на сваком чвору кластера, преусмеравајући саобраћај на ClusterIP сервис.
- LoadBalancer: Креира спољашњи балансер оптерећења (ако га пружа провајдер облака).
- ExternalName: Омогућава сервису да се позива на спољашње DNS име.
-
DNS: Kubernetes пружа унутрашњи DNS сервер (нпр. CoreDNS), који аутоматски креира DNS имена за сервисе. Апликација може да се повезује на други сервис по имену
service-name.namespace.svc.cluster.localили по скраћеномservice-name. -
Мрежне политике: Одређују како групе подова могу међусобно да комуницирају и са спољашњим мрежним тачкама. Користе се за изолацију саобраћаја из безбедносних разлога.
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: deny-all-ingress namespace: default spec: podSelector: {} # Примењује се на све подове у namespace default policyTypes: - Ingress ingress: [] # Забрањује сав улазни саобраћај -
Ingress: Управља спољашњим приступом сервисима у кластере, обично преко HTTP/HTTPS. Ingress контролер (нпр. Nginx Ingress, Traefik) маршрутира саобраћај од спољашње мреже ка одговарајућим унутрашњим сервисима на основу правила, дефинисаних у ресурсу Ingress.
-
Service Mesh: (нпр. Istio, Linkerd) додаје доделени ниво апстракције и функционалности за интеракцију сервиса. Пружа могућности као што су mutual TLS, трасирaње захтева, метрике, управљање саобраћајем (A/B тестирања, канарске верзије) на нивоу прокси-сервера (sidecar-контейнера), додајених сваком поду.
Дакле, главни механизми интеракције су Откривање сервиса преко DNS и различите типове сервиса, допуњени Мрежним политикама за безбедност и Ingress/Service Mesh-ом за сложеније управљање саобраћајем и надгледање.