Annexe A

Annexe A: Kubectl Command CheatSheet

Pour lister les ressources API de Kubernetes:

``kubectl api-resources`

Pour accéder aux contextes de votre KUBECONFIG:

kubectl config get-contexts OR kubie ctx

Pour changer de contexte:

kubectl config use-context minikube OR kubie ctx minikube

Pouyr récupérer le nom des containers running sur le pod:

kubectl get pod MYPOD -o 'jsonpath={.spec.containers[*].name}'

Pour récupérer la valeur de la clé d'un secret:

kubectl -n mynamespace get secret MYSECRET \
    -o 'jsonpath={.data.DB_PASSWORD}' | base64 -d
SuperSecretPassword

Si vous n'avez pas la commande base64 vous pouvez utiliser go-template:

kubectl -n mynamespace get secret MYSECRET \
	-o ‘go-template={{.data.DB_PASSWORD | base64decode}}’

Un exemple de filtre de recherche dans jsonpath:

kubectl get pod nginx \
    -o 'jsonpath={.spec.containers[?(@.name=="nginx")].image}'
nginx:1.9.1

Pour créer un secret depuis vos credentials Docker actuels pour récupérer les images depuis un registry privé:

kubectl create secret generic SECRETNAME \
    --from-file=.dockerconfigjson=$HOME/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson

Pour forward le port 8080 sur le port local 8888 du poste de travail:

kubectl port-forward MYPOD 8888:8080

Pour tester des règles RBAC:

kubectl --as=system:serviceaccount:MYNS:MYSA auth can-i get configmap/MYCM
yes