Contexts kubernetes
Contexts Kubernetes
Dans Kubernetes, un "context" est une manière de gérer différentes configurations d'accès à des clusters Kubernetes. Un context inclut des informations sur le cluster, l'utilisateur, et l'espace de noms (namespace) par défaut. Lorsque vous travaillez avec plusieurs clusters Kubernetes ou avec plusieurs identités (utilisateurs), les contexts deviennent très utiles pour basculer facilement entre eux. Voici une présentation des contextes et quelques exemples pour mieux comprendre leur utilisation.
Composants d'un context Kubernetes
-
Cluster : Le nom du cluster Kubernetes auquel vous souhaitez accéder. Il s'agit généralement d'un alias pour l'adresse du serveur Kubernetes (API server).
-
Utilisateur : L'identité avec laquelle vous vous authentifiez auprès du cluster Kubernetes. Il peut s'agir de votre utilisateur local ou d'un compte de service (Service Account).
-
Namespace : L'espace de noms par défaut dans lequel vous travaillez lorsque vous utilisez ce context. Cela permet de spécifier un espace de noms différent pour chaque context.
Exemples de contexts Kubernetes
- Le context est dans le fichier .kube/config
mkdir -p ~/.kube
vim ~/.kube/config
Exemple de contenu du fichier config
apiVersion: v1
kind: Config
preferences: {}
clusters:
- name: development
cluster:
server: https://dev.example.com
- name: test
cluster:
server: https://test.example.com
- name: prod
cluster:
server: https://prod.example.com
users:
- name: developer
user:
token: dev-token
- name: experimenter
user:
token: exp-token
- name: prod-user
user:
token: exp-token
contexts:
- name: dev-frontend
context:
cluster: development
user: developer
namespace: frontend
- name: prod-ctx
context:
cluster: prod
user: prod-user
namespace: prod-ns
- name: exp-test
context:
cluster: test
user: experimenter
namespace: test
Commandes utiles
-
Afficher la liste des contextes disponibles :
kubectl config get-contexts
-
Utiliser un contexte spécifique :
kubectl config use-context <nom-du-contexte>
-
Créer un nouveau contexte :
kubectl config set-context <nom-du-contexte> \
--cluster=<nom-du-cluster> \
--user=<nom-de-l-utilisateur> \
--namespace=<nom-de-l-espace-de-noms>
-
Changer le namespace par défaut pour le contexte actuel :
kubectl config set-context --current --namespace=<nouveau-namespace>
-
Supprimer un contexte :
kubectl config delete-context <nom-du-contexte>
-
Renommer un contexte :
kubectl config rename-context <ancien-nom-du-contexte> <nouveau-nom-du-contexte>
Exemples d'utilisation de contextes
-
Vous pouvez créer un contexte distinct pour chaque cluster auquel vous avez accès, puis basculer entre eux pour déployer des applications sur différents clusters.
-
Vous pouvez configurer des contextes distincts pour les environnements de développement, test et production sur le même cluster en utilisant des espaces de noms différents.
-
Dans un environnement multi-cloud, les contextes facilitent la gestion des connexions à plusieurs clusters Kubernetes répartis sur différents fournisseurs cloud.
Commentaires
Aucun commentaire pour le moment.