Košík je prázdný

Kubernetes Ingress je API objekt, který umožňuje jednoduché směrování externího HTTP a HTTPS provozu do služeb v Kubernetes clusteru. Ingress umožňuje uživatelům jednoduše definovat pravidla přístupu k jejich aplikacím bez nutnosti konfigurace externích load balancerů nebo Proxy serverů. V tomto článku se dozvíte, jak krok za krokem nastavit Kubernetes Ingress na CentOS 7, což je populární distribuce Linuxu vhodná pro provozování produkčních Kubernetes clusterů.

Předpoklady

  • Funkční Kubernetes cluster na CentOS 7.
  • Kubectl nainstalovaný a nakonfigurovaný pro komunikaci s vaším clusterem.
  • Administrátorské práva na clusteru.

Krok 1: Instalace Ingress Controlleru

Prvním krokem je instalace Ingress Controlleru, který bude spravovat přístup k aplikacím na základě definovaných pravidel Ingress. Pro tento návod použijeme Nginx Ingress Controller.

  1. Přidejte oficiální helm chart repozitář pro Nginx Ingress:

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
    helm repo update
    
  2. Instalujte Nginx Ingress Controller pomocí Helm:

    helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true
    

 

Krok 2: Konfigurace Ingress pravidel

Po instalaci Ingress Controlleru je potřeba definovat pravidla Ingress, která určí, jaký provoz bude směrován do kterých služeb.

  1. Vytvořte soubor my-ingress.yaml s následující definicí:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: example-ingress
      annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /
    spec:
      rules:
      - host: mojedomena.cz
        http:
          paths:
          - path: /testpath
            pathType: Prefix
            backend:
              service:
                name: test-service
                port:
                  number: 80
    
  2. Aplikujte konfiguraci:

    kubectl apply -f my-ingress.yaml
    

 

Krok 3: Testování Ingress

Po konfiguraci Ingress pravidel je dobré otestovat, jestli je provoz směrován správně.

  1. Zjistěte externí IP adresu Ingress Controlleru:

    kubectl get svc -n ingress-nginx
    
  2. Upravte soubor /etc/hosts na vašem počítači, aby doména mojedomena.cz směřovala na zjištěnou IP adresu.

  3. Otevřete prohlížeč a přejděte na http://mojedomena.cz/testpath. Měli byste být přesměrováni na službu test-service ve vašem clusteru.

 

Ingress představuje efektivní způsob, jak řídit přístup k aplikacím běžícím v Kubernetes clusteru z externího prostředí. S pomocí Nginx Ingress Controlleru a správně definovaných pravidel Ingress lze snadno dosáhnout požadovaného směrování provozu. Tento návod představil základní postup konfigurace na systému CentOS 7, který lze dále přizpůsobit specifickým potřebám vaší aplikace.