Sobes.tech
Junior — Middle

როგორ არის ორგანიზებული პოდების განლაგება Kubernetes-ში დომენების გათვალისწინებით Nginx-ის კონფიგურაციის დროს?

sobes.tech AI

პასუხი AI-სგან

Kubernetes-ში, Nginx-ის კონფიგურაციაში პოდების დომენების მიხედვით განლაგების ორგანიზებისთვის ჩვეულებრივ გამოიყენება:

  • Namespaces — რესურსების ლოგიკური განყოფილება კლასტერში. თითოეული namespace შეიძლება შეიცავდეს თავის პოდებს და სერვისებს.

  • Ingress წესებით, რომლებიც დაფუძნებულია დომენებზე (host), და მიმართავენ ტრეფიკს შესაბამის სერვისებზე გარკვეულ namespace-ებში.

მაგალითი Nginx-ის ინგრესის კონფიგურაციის სხვადასხვა დომენებისთვის:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  namespace: default
spec:
  rules:
  - host: app1.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app1-service
            port:
              number: 80
  - host: app2.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app2-service
            port:
              number: 80

აქ, Nginx Ingress კონტროლერი მიმართავს მოთხოვნებს სხვადასხვა სერვისებზე დომენის მიხედვით. თითოეული სერვისი დაკავშირებულია შესაბამის პოდებთან ან მითითებულ ეტიკეტებთან.

ამ გზით, დომენების მიხედვით პოდების განლაგება მიღწევადია:

  • გამოყენებით namespace-ების იზოლაციისთვის
  • Ingress-ის კონფიგურაცია დომენის საფუძველზე წესებით
  • პოდებისა და სერვისების ეტიკეტირება ზუსტი მიმართულებისთვის

ეს საშუალებას აძლევს მოქნილი მართვა წვდომისა და ტრეფიკის მიმართულების Kubernetes-ში Nginx-ის გამოყენებით.