Kubernetes dla każdego – sztuka konteneryzacji
Endspoints
objectZastosowanie:
Typy:
ClusterIP
(default) Na poziomie klastra tworzony jest wewnętrzny adres IP na którym są eksponowane usługi z danych podówNodePort
Na każdym nodzie/wężle tworzony jest statyczny port i na tym porcie wystawiane są usługi oferowane przez serwis. Automatycznie tworzony jest ClusterIP
z którego korzysta ten typ serwisu. Możliwy jest dostęp z zewnątrz za pomocą <NodeIP>:<NodePort>
LoadBalancer
wystawia usługi na zewnątrz za pomocą LoadBalancera dostarczonego przez cloud providera. Automatycznie tworzy ClusterIP
oraz NodePort
.ExternalName
pozwala zmapować zewnętrzne zasobySą dwie możliwości sprawdzenia pod jakim adresem działa service:
{SVCNAME}_SERVICE_HOST
{SVCNAME}_SERVICE_PORT
Cluster add-on (CoreDNS)
Format: "my-service.my-ns"
kubectl apply -f depl.yaml
tworzenie deploymentukubectl get pods
kubectl apply -f service.yaml
wyeksponowanie utworzonych podów za pomocą servicekubectl get svc
sprawdzenie service
kubectl expose deployment my-nginx
podejście imperatywnekubectl tun curl --image=radial/busyboxplus:curl -i --tty --rm
nslookup my-nginx
env
kubectl get endpoints
endpointy zapisane wewnątrz naszego klastrakubectl get pods
kubectl delete pod my-nginx-b99d5fcd9-n75b6 --force --grace-period=0
kubectl get pods
kubectl get endpoints
stworzony został nowy pod z nowym adresem IPkubectl get svc
kubectl apply -f lb-service.yaml
utworzenie LoadBalancera, np. w Azurekubectl get svc -w