Sobes.tech
Middle

Kā piekļūt ārējai IP adresei, kas balstīta uz slodzes līdzsvarotāja pakalpojumu (load balancer service) Ingress kontrolierī?

sobes.tech AI

Atbilde no AI

Ingress kontrolierī tieši ārējo IP adresi LoadBalancer veida pakalpojumam nesazinās. Ingress kontrolieris pats ir ieejas punkts un maršrutizē trafiku pēc noteikumiem, kas ir noteikti Ingress resursā.

Lai piekļūtu LoadBalancer veida pakalpojumam caur Ingress, ir jāizdara šādi:

  1. Izveidot LoadBalancer veida pakalpojumu jūsu lietojumprogrammai. Kubernetes pakalpojumu sniedzējs piešķirs šim pakalpojumam ārējo IP adresi.

    // service.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: my-app-service
    spec:
      selector:
        app: my-app
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: LoadBalancer
    
  2. Izveidot Ingress resursu, kas maršrutēs trafiku uz šo pakalpojumu.

    // ingress.yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: my-app-ingress
    spec:
      rules:
      - host: myapp.example.com # vai cits domēns/ceļš, kur būs pieejama lietojumprogramma
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-app-service # Jūsu LoadBalancer pakalpojuma nosaukums
                port:
                  number: 80 # Pakalpojuma ports, uz kuru tiks novirzīts trafiks
    
  3. Pārliecinieties, ka Ingress kontrolieris ir uzstādīts un darbojas klasterī. Ingress kontrolieris (piemēram, Nginx Ingress Controller, Traefik) klausīs ārējo IP un novirzīs pieprasījumus uz myapp.example.com uz my-app-service.

Tādējādi piekļuve lietojumprogrammai tiek nodrošināta caur Ingress kontroliera ārējo IP, nevis tieši caur ārējo IP (lai gan Ingress var izmantot šo LoadBalancer, lai piekļūtu podiem).