Микросервистік архитектура мен контейнеризацияның дамуы арқылы, Kubernetes кластерлеріндегі желілік трафикті басқару маңызды міндетке айналды. Kubernetes контейнерлерді оркестрациялау үшін көптеген құралдарды ұсынады, ал кіріс трафигін басқарудың негізгі компоненттерінің бірі - Kubernetes Ingress.
Ingress кластер ішіндегі сервистерге сырттан қол жеткізу ережелерін анықтауға мүмкіндік береді. Бұл мақалада Kubernetes Ingress деген не, оның қалай жұмыс істейтіні және онымен байланысты негізгі примитивтер мен концепциялар қарастырылады.
Kubernetes Ingress деген не?
Kubernetes Ingress - кластердегі сервистерге сыртқы қол жеткізуді басқаратын API объектісі, әдетте HTTP және HTTPS трафигі үшін. Ingress мүмкіндік береді:
- HTTP/HTTPS трафигінің маршрутизациялау ережелерін орнатуға.
- Жүктемені теңестіруді (load balancing), SSL-ді терминалдық өңдеуді (SSL termination) және бір IP-адресте хостингті орындауға.
Ingress қолданудың негізгі артықшылығы - кіріс трафигін басқарудың икемділігі мен қуаттылығы.
Ingress негізгі компоненттері
-
Ingress Controller: Бұл компонент Ingress объектілері арқылы анықталған ережелерді жүзеге асыруға жауап береді. Басқа Kubernetes объектілерінен айырмашылығы, Ingress Ingress Controller болуын талап етеді. NGINX Ingress Controller, Traefik және HAProxy сияқты танымал контроллерлер бар.
-
Ingress Resource: Бұл Kubernetes API объектісі, ол маршрутизациялау ережелерінің конфигурациясын қамтиды. Мұнда кіріс трафигі сәйкес сервистерге бағытталуы тиіс жолдар анықталады.
Ingress Resource мысалы
Ingress Resource конфигурациясының мысалын келтірейік:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
http:
paths:
- path: /service1
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
- path: /service2
pathType: Prefix
backend:
service:
name: service2
port:
number: 80
Бұл мысалда Ingress Resource example.com
доменіндегі трафикті URL жолына (/service1
және /service2
) байланысты екі түрлі сервиске бағыттайды.
Ingress қалай жұмыс істейді
- Маршрутизациялау ережелерін анықтау: Сіз кіріс трафигінің маршрутизациялау ережелері сипатталған Ingress Resource объектісін жасайсыз.
- Ingress Controller ережелерін өңдеу: Кластерде орнатылған Ingress Controller жаңа Ingress объектілерін бақылап, оларда сипатталған ережелерді қолданады.
- Трафикті маршрутизациялау: Сырттан келген сұраным кластерге түскенде, Ingress Controller сәйкес маршрутизациялау ережелерін қолданады және трафикті қажетті сервистерге бағыттайды.
Ingress Controller-ді орнату
NGINX Ingress Controller-ді орнату үшін келесі CLI командаларын қолдануға болады:
- Ingress Controller-ді орнату:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
Бұл команда NGINX Ingress Controller-дің барлық қажетті компоненттерін кластеріңізге орнатады.
- Ingress Controller күйін тексеру:
kubectl get pods -n ingress-nginx
Бұл команда ingress-nginx
кеңістігіндегі барлық Ingress Controller подтарының іске қосылып, жұмыс істеп тұрғанын тексереді.
Ingress Resource-ді орнату
Ingress Controller орнатылғаннан кейін Ingress Resource орнатуға болады:
- YAML файлын жасау:
example-ingress.yaml
файлында келесі мазмұнды жасаңыз:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
http:
paths:
- path: /service1
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
- path: /service2
pathType: Prefix
backend:
service:
name: service2
port:
number: 80
- Ingress Resource-ді қолдану:
kubectl apply -f example-ingress.yaml
Бұл команда Ingress Resource-ді кластеріңізге орнатады.
- Жасалған Ingress-ті тексеру:
kubectl get ingress
Бұл команда кластерде орнатылған барлық Ingress Resource тізімін көрсетеді.
Ingress-пен жұмыс істеудің ең жақсы тәжірибелері
-
Аннотацияларды пайдалану: Аннотациялар контроллерге тән параметрлерді, мысалы, URL қайта жазуды, сұранымдарды шектеуді және тағы басқаларды баптауға мүмкіндік береді. Мысалы, NGINX Ingress Controller үшін
nginx.ingress.kubernetes.io/rewrite-target
аннотациясын қолдануға болады. -
Қауіпсіздікті қамтамасыз ету: Трафикті қорғау үшін SSL/TLS пайдаланыңыз. Ingress SSL-ді терминалдық өңдеуді қолдайды, бұл сертификаттарды басқаруды жеңілдетеді және қауіпсіздікті арттырады.
-
Ресурстарды бөлу: Басқаруды және оқшаулауды жақсарту үшін әртүрлі домендер мен жолдар үшін Ingress ресурстарын бөліңіз. Мысалы, әр түрлі ішкі домендер үшін жеке Ingress ресурстарын жасауға болады.
-
Мониторинг және журнал жүргізу: Ingress Controller-ге мониторинг пен журнал жүргізуді орнатыңыз, осылайша өнімділікті бақылап, проблемаларды анықтауға болады. Көптеген Ingress Controller-лер Prometheus сияқты мониторинг жүйелерімен интеграциялауды қолдайды.
-
Желілік саясаттарды пайдалану: Желілік саясаттар кластер ішіндегі желілік қолжетімділікті шектеуге мүмкіндік береді, бұл қауіпсіздікті арттыруға көмектеседі.
-
Тұрақты жаңарту: Ingress Controller-ді соңғы нұсқаларына дейін жаңартыңыз, осылайша соңғы өнімділік пен қауіпсіздік жақсартуларын ала аласыз.
Қорытынды
Kubernetes Ingress микросервистік архитектурада кіріс трафигін басқарудың қуатты құралдарын ұсынады. Ingress қолдану маршрутизациялау және жүктемені теңестіру процесін жеңілдетіп, жоғары икемділік пен масштабталуды қамтамасыз етеді. NGINX, Traefik және HAProxy сияқты әртүрлі Ingress Controller-лердің арқасында пайдаланушылар өз талаптарына ең сәйкес шешімді таңдай алады.
Ең жақсы тәжірибелерді ұстана отырып және инфрақұрылымды тұрақты түрде жаңартып отыру арқылы, сіз Kubernetes кластеріндегі қосымшаларыңыздың сенімді және қауіпсіз жұмысын қамтамасыз ете аласыз. Бұл мақала сізге Kubernetes Ingress негізгі концепциялары мен артықшылықтарын түсінуге көмектесті деп үміттенеміз.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау