Servizi e loro tipi
Modo imperativo
Comando:
kubectl expose rs web-rs \
--name=hello-svc \
--target-port=8080 \
--type=NodePort
service/hello-svc exposed
Tipi di servizio:
- ClusterIP - Indirizzo IP stabile nel cluster. Non visibile dall’esterno
- NodePort - Visibile dall’esterno del cluster, a livello nodi
- LoadBalancer - Visibile dall'esterno del cluster, fornisce un bilanciamento di carico sui nodi
Descrizione del servizio:
kubectl describe svc hello-svc
Rimuovere il servizio:
kubectl delete service hello-svc
Modo dichiarativo
File di specifiche:
vim svc.yml
apiVersion: v1
kind: Service
metadata:
name: hello-svc
labels:
app: hello-world
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30001
protocol: TCP
selector:
app: hello-world
Creazione del servizio:
kubectl create -f svc.yml
Ispezione del servizio:
kubectl get svc hello-svc
kubectl describe svc hello-svc
Descrizione degli endpoints:
kubectl get ep hello-svc
Rimozione del servizio:
kubectl delete -f svc.yml
Rimozione del replicaset:
kubectl delete -f rs.yml