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 auquel vous voulez accéder.

  • (optionnel) group : Le nom du groupe.

  • (optionnel) project-name : Le nom du projet contenant le cluster.

  • (optionnel) user : Le nom de l’utilisateur.

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 pour lequel vous voulez obtenir le fichier kubeconfig.

  • (optionnel) group : Le nom du groupe.

  • (optionnel) print-path : La possibilité d’imprimer le chemin d’accès du fichier kubeconfig enregistré.

  • (optionnel) project-name : Le nom du projet contenant le cluster.

  • (optionnel) refresh | force : La possibilité de rafraîchir de force le fichier kubeconfig enregistré.

  • (optionnel) ttl: La durée de vie (ou « time to live » (TTL) en anglais) du certificat, dans le format suivant : 3h, 2d, 1w.

  • (optionnel) user : Le nom de l’utilisateur.

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. 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
/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 à l’aide d’une clé publique. Pour en savoir plus sur PyNaCl, voir le site Python Package Index (anglais uniquement).

Le fichier est chiffré par défaut, à partir de sa génération sur le cluster jusqu’à sa réception sur votre ordinateur. Vous seul pouvez accéder à votre fichier kubeconfig.

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

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

  • cluster-name : Le nom du cluster.

  • (optionnel) project-name : Le nom du projet contenant le 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.

Cette commande contient l’option suivante que vous pouvez avoir besoin de spécifier :

  • (optionnel) force : La possibilité de forcer la suppression du cache sans confirmation.

Exemple de requête
$ oks-cli cache clear

Pages connexes

Méthodes API correspondantes