Aller au contenu principal
Sommaire de la formation

Contexts kubernetes

coolibra326 vues

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

  1. 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).

  2. 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).

  3. 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

  1. 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.

  2. 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.

  3. Dans un environnement multi-cloud, les contextes facilitent la gestion des connexions à plusieurs clusters Kubernetes répartis sur différents fournisseurs cloud.

 

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.