Kubernetesda ishlayotgan ilovaga foydalanuvchilar kirishini qanday ta'minlash mumkin?
sobes.tech AI
AIdan javob
Asosiy usullarning bir nechtasi mavjud:
-
Kubernetes Xizmat Turi: LoadBalancer. Bulut provayder tashqi yuk muvozanatlagichini yaratadi, u sizning ilovangiz podlariga trafikni yo'naltiradi.
apiVersion: v1 kind: Service metadata: name: my-app-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080 type: LoadBalancer # Bu yerda LoadBalancer turi ko'rsatiladi -
Kubernetes Xizmat Turi: NodePort. Har bir klaster tuguni statik port ochadi, u trafikni xizmatga yo'naltiradi. Ilovaga kirish har qanday tugunning IP manzili va bu statik port orqali amalga oshiriladi.
apiVersion: v1 kind: Service metadata: name: my-app-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080 type: NodePort # Bu yerda NodePort turi ko'rsatiladiBu usul kamroq kengaytiriladigan va ko'pincha ishlab chiqarish uchun tavsiya etilmaydi.
-
Ingress. Kubernetes obyekti, klasterdagi xizmatlarga tashqi kirishni boshqaradi. Ingress-ni boshqaruvchi (masalan, Nginx Ingress, Traefik, HAProxy) talab qilinadi. Ingress domen nomlari va yo'llar asosida marshrutlashni sozlash imkonini beradi.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-app-ingress spec: rules: - host: myapp.mydomain.com # Domen nomi http: paths: - path: / # Yo'l pathType: Prefix backend: service: name: my-app-service # Xizmat nomi port: number: 80 # Xizmat porti -
Gateway API (zamonaviyroq yondashuv). Ingress-ning evolyutsiyasi, kirishni boshqarish uchun yanada ifodali va kengaytiriladigan API taqdim etadi. GatewayClass, Gateway, HTTPRoute (va boshqa yo'nalish turlari) resurslarini o'z ichiga oladi.
apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: my-app-route spec: parentRefs: - name: my-gateway # Gateway resursiga havola hostnames: - "myapp.mydomain.com" rules: - matches: - path: type: Prefix value: / backendRefs: - name: my-app-service # Xizmat nomi port: 80 # Xizmat porti
Usulni tanlash talablar:
- Kengaytirilganlik
- Marshrutlash murakkabligi
- Xavfsizlik (SSL/TLS terminatsiyasi)
- Bulut platformasi
- Markaziy kirish boshqaruvi ehtiyoji
Ko'p ishlab chiqarish ssenariylarida LoadBalancer kirish nuqtasini ta'minlash uchun (ko'pincha Ingress-ning boshqaruvchisi uchun) yoki to'g'ridan-to'g'ri, va Ingress (yoki Gateway API) moslashuvchan marshrutlash va kirishni boshqarish uchun ishlatiladi.