Kubernetes : .kube/config

kubectl impose, lorsque l’on est sur une autre machine qu’un master ou lorsque le service kube-apiserver n’écoute pas sur loopback, de préciser l’adresse du serveur :

kubectl --server=http://192.168.56.103:8080 get nodes

L’utilisation d’un fichier ~/.kube/config va nous permettre d’éviter de répéter l’argument –server à chaque fois.

Deux méthodes sont possibles : créer manuellement le fichier (c’est du YAML) ou passer par la commande kubectl config. Nous utiliserons la deuxième, moins source d’erreur.

Pour commencer, déclarons le cluster :

kubectl config set-cluster kube --server=http://192.168.56.103:8080

Le nom du cluster, ici kube, permet d’en déclarer plusieurs.

On créé ensuite un contexte, ici default-context, en précisant le cluster rattaché :

kubectl config set-context default-context --cluster=kube

Ne reste plus qu’à le définir par défaut :

kubectl config use-context default-context

Le fichier .kube/config aura pour contenu :

apiVersion: v1
clusters:
- cluster:
server: http://192.168.56.103:8080
name: kube
contexts:
- context:
cluster: kube
user: ""
name: default-context
current-context: default-context
kind: Config
preferences: {}
users: []

Authentification

kubectl config set-credentials permet d’enregistrer des informations de connexions, qu’il s’agisse d’un couple nom d’utilisateur / mot de passe ou d’un certificat.

Exemples tirés de la documentation :

kubectl config set-credentials cluster-admin --client-key=~/.kube/admin.key

# Set basic auth for the "cluster-admin" entry
kubectl config set-credentials cluster-admin --username=admin --password=uXFGweU9l35qcif

# Embed client certificate data in the "cluster-admin" entry
kubectl config set-credentials cluster-admin --client-certificate=~/.kube/admin.crt --embed-certs=true

On affectera ensuite l’utilisateur au contexte précédemment créé :

kubectl config set-context default-context --user=cluster-admin

Plusieurs contextes

Si plusieurs contextes sont déclarés, on pourra le préciser à kubectl avec l’option --context :

kubectl --context=default-context get nodes

Source : http://kubernetes.io/docs/user-guide/kubeconfig-file/

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s