eval $(minikube -p minikube docker-env)
RFC 1123 Label Names Some resource types require their names to follow the DNS label standard as defined in RFC 1123. This means the name must:
- contain at most 63 characters
- contain only lowercase alphanumeric characters or '-'
- start with an alphanumeric character
- end with an alphanumeric character
Generate a pod yaml file
kubectl run --image nginx nginx --dry-run=client -oyaml nginx
kubectl run --image nginx nginx --dry-run=client -oyaml nginx > pod.yaml
Create a pod using the yaml file
kubectl apply -f pod.yaml
Get the pod
kubectl get pods -A
Get logs from the pod
kubectl logs pods/nginx
Get the pod's IP address
kubectl get pods -o wide
DNS do Pod:
<pod-ip-address>.<namespace>.pod.cluster.local
Create deployment file
kubectl create deployment --image nginx nginx --dry-run=client -oyaml > deployment.yaml
Update the deployment image
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1
Obter detalhes do deployment
kubectl describe deployment nginx-deployment
Rollback the deployment
kubectl rollout status deployment/nginx-deployment
kubectl rollout history deployment/nginx-deployment
kubectl rollout history deployment/nginx-deployment --revision=2
kubectl rollout undo deployment/nginx-deployment
kubectl rollout undo deployment/nginx-deployment --to-revision=2
Redimensionar o deployment
kubectl scale deployment/nginx-deployment --replicas=10
Autoescalar o deployment (Necessário habilitar o escalonamento automático horizontal de pods no cluster - HPA)
kubectl autoscale deployment/nginx-deployment --min=10 --max=15 --cpu-percent=80
DNS do Service:
<service-name>.<namespace>.svc.cluster.local
kubectl describe node <node-name>
Access etcd
kubectl -n kube-system exec -it etcd-minikube -- sh -c "ETCDCTL_API=3 ETCDCTL_CACERT=/var/lib/minikube/certs/etcd/ca.crt ETCDCTL_CERT=/var/lib/minikube/certs/etcd/server.crt ETCDCTL_KEY=/var/lib/minikube/certs/etcd/server.key etcdctl get /registry/deployments/default/nginx-deployment"
kubectl expose deployment/nginx-deployment --type=NodePort
minikube service --all
Verbosidade lvl 6
kubectl get pods -v6
Obter o OpenAPI do cluster
kubectl proxy --port=8080
curl http://localhost:8080/openapi/v3 > openapi.json
Obter a lista de pods através da API Rest
curl http://127.0.0.1:8080/api/v1/namespaces/default/pods