Sobes.tech
Middle+

Ինչպե՞ս է իրականացվում տրաֆիկի ուղղումը դեպի ingress-ը խմբի ներսից։

sobes.tech AI

Պատասխան AI-ից

Кластердің ішінен трафикті Ingress-ке бағыттау үшін Ingress Controller-дің DNS атауы пайдаланылады. Стандартты конфигурацияда Ingress Controller LoadBalancer немесе NodePort типіндегі Service ретінде орнатылады.

  1. Service Discovery: Кластер ішіндегі қосымша Service-тің DNS атауын пайдаланады, ол Ingress Controller-ді ашып көрсетеді. Мысалы, nginx-ingress-controller.ingress-nginx.svc.cluster.local, егер nginx-ingress тиісті Service атауымен қолданылса.

  2. Service IP/ClusterIP: Kubernetes кластерінің DNS-сервері (мысалы, CoreDNS) бұл DNS атауын ClusterIP Service Ingress Controller-ге айналдырады.

  3. kube-proxy: kube-proxy қосымшаның жұмыс істейтін түйінінде трафикті intercept етеді, ол ClusterIP Service Ingress Controller-ге бағытталған.

  4. iptables/ipvs: kube-proxy iptables немесе ipvs ережелерін пайдаланып, трафикті Ingress Controller-дің бір подына бағыттайды.

  5. Ingress Controller-да өңдеу: Ingress Controller подтары трафикті алады және Ingress ресурстарының ережелеріне сәйкес оны кластер ішіндегі тиісті сервисте бағыттайды.

Мысал сұрау:

# Ішкі DNS пайдаланып, Ingress арқылы сервисті сұрау
curl http://my-app.example.com 

Бұл my-app.example.com DNS-сервер арқылы ClusterIP Service Ingress Controller-ге айналдырылады, егер тиісті жазбалар орнатылса немесе Ingress Controller мұндай сұрауларды тікелей өңдеуге конфигурацияланған болса (ішкі трафик үшін сирек жағдай). Әдетте, ішкі трафик сервистің DNS-аты арқылы бағытталады. Егер кластер ішінен Ingress арқылы нақты өту керек болса, Ingress Controller-дің ClusterIP немесе жергілікті IP-мен қол жетімді екеніне және DNS жазбасы немесе маршрутизация механизмі оған бағытталатынына көз жеткізу керек.

Кластер ішіндегі сервистермен коммуникация үшін ең кең тараған үлгі — сервисті тікелей оның DNS-аты арқылы пайдалану (<service-name>.<namespace>.svc.cluster.local), Ingress-ті айналып өту. Ішкі трафикті Ingress-ке бағыттау әдетте тестілеу немесе арнайы маршрутизация сценарийлері үшін қажет.