Kubernetes dla każdego – sztuka konteneryzacji
Ingress - objekt API, który zarządza zewnętrznym dostępem do usługi w ramach klastra (usługi service)
Ingress Controller - implementacja obiektu Ingress w ramach klastra
Do wystawienia usługi na świat poza klaster nie jest konieczny Ingress, można wykorzystać:
Ruch wychodzący z klastra. Do zarządzania ruchem wychodzącym można wykorzystać NetworkPolicy, który definiuje zasady Ingress and Engress
az aks create -g szkchm_k8s_t6_l53 -n IngressDemoAKS --node-count 1 --location westeuropeaz aks get-credentials --name IngressDemoAKS --resource-group szkchm_k8s_t6_l53
kubectl config get-contextsSet-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))choco install kubernetes-helmkubectl create serviceaccount -n kube-system tiller ServiceAccountkubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller ClusterRolehelm init --service-account tiller Inicjalizacja Tillera na klastrzehelm install stable/nginx-ingress --set controller.replicaCount=1 --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux Instalcja NGINX Ingress Controller w klastrze
kubectl get serviceskubectl get services -l app=nginx-ingresskubectl apply -f deployment.yaml utworzenie deploymentu opisującego poda
kubectl get podkubectl get deploymentkubectl apply -f service.yaml
kubectl get svckubectl apply -f route.yaml stworzenie obiektu Ingressu, opisujący powiązanie requestu z serwisem