Sobes.tech
Middle

Kubernetesda ishga tushirilgan ilovalar o'zaro qanday o'zaro ta'sir qiladi?

sobes.tech AI

AIdan javob

Kubernetesda ilovalar o'rtasidagi o'zaro ta'sir avvalo tarmoq xizmatlari orqali amalga oshiriladi.

  1. Xizmatlarni kashf qilish: Ilovalar podlarning IP manzillariga to'g'ridan-to'g'ri murojaat qilmaydi, chunki IP manzillar vaqtinchalik bo'lib, qayta yaratishda o'zgarishi mumkin. Buning o'rniga, ular Xizmatlarni kashf qilishni ishlatadilar, bu esa barqaror DNS nomi va IP manzilini taqdim etadi, bu esa bir xil funktsiyani bajaradigan podlar guruhiga tegishli.

    • ClusterIP: Standart xizmat turi, faqat klaster ichida kirish mumkin bo'lgan ichki IP manzilini ta'minlaydi.
    • NodePort: Har bir tugun uchun statik port ochadi va trafikni ClusterIP xizmatiga yo'naltiradi.
    • LoadBalancer: Tashqi yuk balanslovchi (bulut provayderi qo'llab-quvvatlasa).
    • ExternalName: Xizmatga tashqi DNS nomiga murojaat qilish imkonini beradi.
  2. DNS: Kubernetes ichki DNS serverini taqdim etadi (masalan, CoreDNS), u avtomatik ravishda xizmatlar uchun DNS nomlarini yaratadi. Ilova boshqa xizmatga service-name.namespace.svc.cluster.local yoki qisqartirilgan service-name nomi bilan murojaat qilishi mumkin.

  3. Tarmoq siyosatlari: Podlar guruhlarining bir-biri bilan va tashqi tarmoq nuqtalari bilan qanday o'zaro ta'sir qilishini belgilaydi. Ular xavfsizlik uchun tarmoq trafikini izolyatsiya qilish uchun ishlatiladi.

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: deny-all-ingress
      namespace: default
    spec:
      podSelector: {} # default nomli namespace ichidagi barcha podlarga ta'sir qiladi
      policyTypes:
      - Ingress
      ingress: [] # Kiruvchi barcha trafikni taqiqlash
    
  4. Ingress: Tashqi kirishni boshqaradi, odatda HTTP/HTTPS orqali. Ingress controller (masalan, Nginx Ingress, Traefik) tashqi tarmoqdan ichki xizmatlarga trafikni Ingress resursida belgilangan qoidalar asosida yo'naltiradi.

  5. Xizmat tarmog'i (Service Mesh): (masalan, Istio, Linkerd) xizmatlar o'rtasida o'zaro ta'sir uchun qo'shimcha abstraktsiya va funksionallik qatlamini qo'shadi. Bu imkoniyatlar, masalan, mutual TLS, so'rovlarni izlash, metrikalar, trafikni boshqarish (A/B testlar, kanar relizlar) kabi imkoniyatlarni taqdim etadi va har bir podga qo'shiladigan proxy (sidecar konteynerlar) darajasida ishlaydi.

Shunday qilib, asosiy o'zaro ta'sir mexanizmlari DNS orqali Xizmatlarni kashf qilish va turli xil xizmat turlari bo'lib, xavfsizlik uchun Tarmoq siyosatlari va murakkabroq trafik boshqarish va kuzatuv uchun Ingress/Xizmat tarmog'i bilan to'ldiriladi.