Accéder à un cluster

Vous pouvez accéder à vos clusters en utilisant l’outil kubectl standard, ou tout autre outil de console ou outil GUI avec lequel il est compatible.

Accéder à un cluster avec OKS CLI

Avant de commencer : Installez OKS CLI et kubectl. Pour en savoir plus, voir Installer et configurer OKS CLI.

Utiliser kubectl

Vous pouvez utiliser OKS CLI pour exécuter n’importe quelle commande kubectl directement sur votre cluster. Pour cela, utilisez la commande cluster kubectl, suivie de vos paramètres OKS CLI et d’une commande kubectl. OKS CLI se connecte alors au cluster souhaité, récupère son fichier de configuration, le déchiffre et lance la commande souhaitée :

Exemple de requête
$ oks-cli cluster kubectl \
    --project-name NAME_OF_PROJECT \
    --cluster-name NAME_OF_CLUSTER \
    get nodes

Cette commande contient les options suivantes que vous devez spécifier :

  • cluster-name : Le nom du cluster, d’une longueur maximale de 40 caractères alphanumériques et tirets (-). Ce nom ne doit pas commencer ou finir par un tiret, et il doit être unique dans le projet.

  • (optionnel) project-name : Le nom du projet dans lequel vous voulez créer le cluster.

Utiliser des fichiers kubeconfig

Vous pouvez travailler avec des certificats d’authentification de cluster à l’aide de fichiers de configuration Kubernetes, aussi appelés fichiers kubeconfig. OKS CLI télécharge et met en cache localement les fichiers kubeconfig de vos clusters.

Obtenir des fichiers kubeconfig

La commande cluster kubeconfig affiche le fichier kubeconfig actuel.

Exemple de requête
$ oks-cli cluster kubeconfig \
    --project-name NAME_OF_PROJECT \
    --cluster-name NAME_OF_CLUSTER

Cette commande contient les options suivantes que vous devez spécifier :

  • cluster-name : Le nom du cluster, d’une longueur maximale de 40 caractères alphanumériques et tirets (-). Ce nom ne doit pas commencer ou finir par un tiret, et il doit être unique dans le projet.

  • (optionnel) project-name : Le nom du projet dans lequel vous voulez créer le cluster.

Définir la variable d’environnement kubeconfig

Pour permettre à kubectl d’authentifier et de configurer le cluster, vous devez exporter le fichier vers le fichier kubeconfig en tant que variable d’environnement.

  1. Trouvez le chemin vers le fichier kubeconfig de votre cluster.

    Exemple de requête
    $ oks-cli cluster kubeconfig \
        --project-name NAME_OF_PROJECT \
        --cluster-name NAME_OF_CLUSTER \
        --print-path

    Le chemin vers le fichier est renvoyé dans la réponse.

  2. Insérez le chemin vers le fichier dans la commande export KUBECONFIG= pour définir la variable d’environnement.

    Exemple de requête
    $ export KUBECONFIG='PATH/TO/FILE'

Modifier des fichiers kubeconfig

Configurer un certificat TTL

Par défaut, la période de validité du certificat est de 7 jours. Vous pouvez modifier cette période de validité en spécifiant une durée de vie différente (ou « time to live » (TTL) en anglais). Pour cela, utilisez la syntaxe suivante :

Exemple de requête
$ oks-cli cluster kubeconfig \
    --project-name NAME_OF_PROJECT \
    --cluster-name NAME_OF_CLUSTER \
    --print-path \
    --ttl 2h

Rafraîchir un certificat

Vous pouvez remplacer un certificat en le rafraîchissant. Cette action génère et télécharge un nouveau certificat au même emplacement dans votre cache local. Pour rafraîchir votre certificat, ajouter l’option --refresh à la suite d’une commande cluster kubeconfig en suivant cette syntaxe :

Exemple de requête
$ oks-cli cluster kubeconfig \
    --project-name NAME_OF_PROJECT \
    --cluster-name NAME_OF_CLUSTER \
    --print-path \
    --refresh
Exemple de réponse
2025-01-01 15:00:00 WARNING  cluster.py:cluster_kubeconfig_command extracting kubeconfig by api
/home/USER/.oks_cli/cache/ee46b46c-c20a-4c56-a791-74e523ec17ae-6f226690-76a0-4bd0-acc3-7ae078a31bf3/default/default/kubeconfig

Travailler avec le chiffrement de fichiers kubeconfig

OKS utilise PyNaCl (Python binding to the Networking and Cryptography library) pour chiffrer les fichiers kubeconfig. Pour en savoir plus sur PyNaCl, voir le site Python Package Index (anglais uniquement). Le fichier est chiffré à partir de sa génération sur le cluster, jusqu’à sa réception sur votre ordinateur. Vous seul pouvez accéder à votre fichier kubeconfig.

Pour plus de sécurité, vous pouvez générer la clé de chiffrement sur votre ordinateur local, plutôt que via API. Pour cela, ajoutez l’option --nacl à votre commande :

Exemple de requête
$ oks-cli cluster kubeconfig \
    --project-name NAME_OF_PROJECT \
    --cluster-name NAME_OF_CLUSTER \
    --print-path \
    --refresh \
    --nacl

Une fois reçu, le fichier kubeconfig est automatiquement chiffré et stocké dans le répertoire ~/.oks_cli/cache, afin que vous puissiez l’utiliser pour accéder à votre cluster.

Votre fichier kubeconfig est uniquement chiffré lors du transfert vers votre ordinateur. Une fois reçu, il est stocké localement en texte brut, et il vous appartient de stocker ce fichier kubeconfig de manière sécurisée.

Travailler avec le cache

Lister des fichiers kubeconfig mis en cache

Tous les fichiers kubeconfig qui ont été demandés sont stockés localement dans le dossier $HOME/.oks_cli/cache/. Après avoir téléchargé et écrit le fichier kubeconfig, OKS CLI lui applique le umask 600.

Pour lister les fichiers kubeconfigs de votre cache qui sont disponibles pour un cluster, utilisez la commande cache kubeconfigs en suivant cette syntaxe :

Exemple de requête
$ oks-cli cache kubeconfigs \
    --project-name NAME_OF_PROJECT \
    --cluster-name NAME_OF_CLUSTER

Le RoleBinding ne peut pas être renvoyé dans la réponse, puisque cette information n’est pas disponible localement et qu’elle peut être modifée dans le cluster à tout moment.

Exemple de résultat
+---------+---------+---------------------+
|   user  |  group  |   expiration date   |
+---------+---------+---------------------+
| default | default | 2025-01-01 01:01:10 |
+---------+---------+---------------------+

Vider le cache

Vous pouvez vider le cache à tout moment en utilisant la commande cache clear.

Utiliser cette commande vide le cache de tous vos projets et clusters. Cette action ne peut pas être annulée.

Exemple de requête
$ oks-cli cache clear

Traiter les avertissements de récupération kubeconfig

Des avertissements peuvent apparaître lors du processus de récupération de kubeconfig. Vous pouvez ignorer ces avertissements en utilisant la commande 2>/dev/null sur Linux et MacOS, ou la commande 2>$null sur Windows.

Exemple de réponse
2025-01-01 10:00:00 WARNING  utils.py:get_cache cache item ee46b46c-c20a kubeconfig not found

Le message d’erreur kubeconfig not found indique que le fichier kubeconfig du cluster n’a pas pu être trouvé dans votre cache local, ce qui correspond au comportement attendu des clusters nouvellement créés.

Exemple de réponse
2025-01-01 10:00:00 WARNING  cluster.py:cluster_kubeconfig_command extracting kubeconfig by api

Le message d’erreur extracting kubeconfig by api indique qu’OKS CLI demande le fichier à OKS.

Pages connexes