Création d'un fichier de configuration Kubernetes

Sur Compute Cloud@Customer, vous pouvez configurer un fichier de configuration Kubernetes pour chaque cluster OKE avec lequel vous travaillez. Le fichier de configuration Kubernetes vous permet d'accéder aux clusters OKE à l'aide de la commande kubectl et du tableau de bord Kubernetes.

Les fichiers de configuration Kubernetes organisent les informations sur les clusters, les utilisateurs, les espaces de noms et les mécanismes d'authentification. Vous pouvez définir des contextes pour basculer facilement entre les clusters et les espaces de noms. L'outil kubectl utilise les fichiers de configuration Kubernetes pour trouver les informations dont il a besoin pour choisir un cluster et communiquer avec le serveur d'API d'un cluster.

Installation de l'outil de ligne de commande Kubernetes

Installez et configurez l'outil de ligne de commande Kubernetes kubectl. L'outil kubectl vous permet d'effectuer des opérations sur des clusters OKE, tels que le déploiement d'applications, l'inspection et la gestion des ressources de cluster et la visualisation des journaux.

Pour installer kubectl, reportez-vous à Outils d'installation de Kubernetes. La version kubectl doit se trouver dans une version mineure de la version de Kubernetes du cluster OKE. Par exemple, un client v1.29 peut communiquer avec les plans de contrôle v1.28, v1.29 et v1.30. Reportez-vous à Versions de Kubernetes prises en charge.

Pour plus d'informations, y compris la liste complète des opérations kubectl, reportez-vous à la page de référence https://kubernetes.io/docs/reference/kubectl/.

Création d'un fichier de configuration Kubernetes

Utilisez l'interface de ligne de commande pour créer votre fichier de configuration Kubernetes.

Conseil

Le bouton Démarrage rapide sur la page de détails d'un cluster de la console Compute Cloud@Customer indique comment créer un fichier de configuration Kubernetes et fournit l'OCID du cluster.

  1. Obtenez l'OCID du cluster : oci ce cluster list

  2. Exécutez la commande oci ce cluster create-kubeconfig comme décrit pour créer le fichier de configuration :

    L'option --cluster-id est requise.

    La valeur par défaut de l'option --file est ~/.kube/config. Si vous disposez déjà d'un fichier à l'emplacement spécifié et que vous souhaitez le remplacer, utilisez l'option --overwrite. Pour gérer plusieurs fichiers de configuration, sélectionnez un autre fichier à l'aide de la variable d'environnement KUBECONFIG ou de l'option --kubeconfig.

    La valeur de l'option --kube-endpoint doit être PUBLIC_ENDPOINT.

    Si vous n'indiquez pas l'option --profile, la valeur en cours de la variable d'environnement OCI_CLI_PROFILE est utilisée. Il est recommandé d'indiquer cette valeur.

    Si cette option est fournie, la valeur de l'option --token-version doit être 2.0.0.

    Exemple :

    Utilisez la commande suivante pour configurer un fichier de configuration Kubernetes pour le cluster indiqué à l'aide de l'adresse publique :

    $ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.unique_ID \
    --file $HOME/.kube/config --kube-endpoint PUBLIC_ENDPOINT --profile profile-name
    New config written to the Kubeconfig file /home/username/.kube/config

    Un fichier de configuration Kubernetes inclut une commande d'interface de ligne de commande qui génère dynamiquement un jeton d'authentification et l'insère lorsque vous exécutez une commande kubectl. Par défaut, la commande d'interface de ligne de commande dans le fichier de configuration Kubernetes utilise le profil d'interface de ligne de commande en cours lors de la génération d'un jeton d'authentification. Si vous avez défini plusieurs profils dans votre fichier de configuration CLI, utilisez l'une des méthodes suivantes pour spécifier le profil à utiliser lors de la génération du jeton d'authentification. La valeur de profile-name est le nom du profil dans le fichier de configuration de l'interface de ligne de commande.

    • Assurez-vous que la variable d'environnement OCI_CLI_PROFILE est définie sur le profil de la location dans laquelle réside ocid1.cluster.unique_ID. Ce paramètre est ignoré si l'une des méthodes suivantes a été utilisée pour indiquer le profil de ce cluster dans le fichier de configuration Kubernetes.

    • Spécifiez l'option --profile sur la ligne de commande create-kubeconfig comme indiqué dans l'exemple de commande précédent.

    • Modifiez le fichier de configuration généré comme indiqué dans l'exemple suivant.

      user:
        exec:
          apiVersion: client.authentication.k8s.io/v1beta1
          args:
          - ce
          - cluster
          - generate-token
          - --cluster-id
          - cluster ocid
          - --profile
          - profile-name
          command: oci
          env: []

    Utilisez la commande suivante pour définir la variable d'environnement KUBECONFIG sur le fichier de configuration Kubernetes que vous avez créé ou mis à jour dans la commande précédente :

    $ export KUBECONFIG=$HOME/.kube/config

    La commande suivante affiche le contenu de votre nouveau fichier de configuration YAML :

    $ kubectl config view

    Si vous réexécutez la commande avec un autre OCID de cluster, les nouvelles informations sont fusionnées avec les informations existantes. Le message suivant apparaît :

    Existing Kubeconfig file found at /home/username/.kube/config and new config merged into it

Etapes suivantes :

Vérification de l'accès au cluster.

Vérification de l'accès au cluster

Avant d'exécuter les commandes kubectl, assurez-vous que la variable d'environnement OCI_CLI_PROFILE est définie sur le nom du profil défini dans le fichier de configuration OCI :

$ export OCI_CLI_PROFILE=<profile-name>

Exécutez la commande suivante pour vérifier que vous pouvez accéder au cluster :

$ kubectl cluster-info

Chaque espace de noms Kubernetes contient au moins un élément ServiceAccount : ServiceAccount par défaut pour cet espace de noms, nommé default. Si vous n'indiquez pas de paramètre ServiceAccount lorsque vous créez un pod, le service OKE affecte automatiquement le paramètre ServiceAccount nommé default dans cet espace de noms.

Une application exécutée dans un pod peut accéder à l'API Kubernetes à l'aide d'informations d'identification de compte de service montées automatiquement.

Etapes suivantes :

Création d'un tableau de bord Kubernetes.

Création d'un tableau de bord Kubernetes

Le tableau de bord vous aide à gérer le cluster, ainsi qu'à gérer et dépanner les applications exécutées dans le cluster.

Sur le site Kubernetes, reportez-vous à Déploiement et accès au tableau de bord Kubernetes

Etapes suivantes :

Création d'un pool de noeuds de processus actif OKE