Kubertenetes usa un fichero de configuración llamado Kubernetes Deployment Object, donde describimos en formato YAML el despliegue a realizar.
un ejemplo del mismo sería el siguiente fichero nginx-despliegue.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
apiVersion : apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metada: labels: app: nginx spec: containers: - name : nginx image: nginx : 1.7.9 ports: - containerPort : 80 |
Para realizar este despliegue ejecutaríamos en el manager
1 |
kubectl apply -f nginx-despliegue.yaml |
Para comprobar lo que ha realizado ejecutaríamos
1 |
kubectl deescribe deployment nginx-despliegue |
Para comprobar los pods
1 |
kubectl get pods -l app=nginx |
1 |
kubectl describe pod nginx-despliegue-75654585 |
Para quitar el despliegue
1 |
kubectl delete deployment nginx-despliegue |
Vamos a desplegar un servidor NGINX directamente
1 |
kubectl create deployment nginx --image=nginx |
1 |
kubectl create service nodeport nginx --tcp=80:80 |
1 2 3 4 |
kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4m nginx NodePort 10.96.25.233 <none> 80:32746/TCP 6s |
Finalmente,abrimos nuestro navegador y conectamos a la url http://xxx.xxx.xxx:32746 (IP del nodo manager:puerto por donde lo expone). Al conectar desde el navegador deberías de ver la imagen de bienvenida del servidor ngnix