Installation du contrôleur d'entrée natif OCI en tant qu'extension de cluster

Découvrez comment installer le contrôleur d'entrée natif OCI en tant qu'extension de cluster.

Une fois les prérequis remplis, vous pouvez déployer le contrôleur d'entrée natif OCI en tant qu'extension de cluster. Reportez-vous à Déploiement de l'extension de contrôleur d'entrée natif OCI.

Après avoir installé l'extension de cluster de contrôleur d'entrée natif OCI, vous devez également créer les ressources liées à l'entrée Kubernetes nécessaires avant de pouvoir l'utiliser. Reportez-vous à Création de ressources IngressClassParameters, IngressClass et entrantes.

Déploiement de l'extension de contrôleur d'entrée natif OCI

Les instructions des étapes ci-dessous décrivent comment déployer le contrôleur d'entrée natif OCI en tant qu'extension de cluster (l'extension de contrôleur d'entrée natif OCI) pour implémenter les règles et les options de configuration définies dans une ressource entrante Kubernetes afin d'équilibrer la charge et d'acheminer le trafic entrant vers les pods de service exécutés sur les noeuds de processus actif d'un cluster :

Etape 1 : création du fichier de configuration d'extension de contrôleur d'entrée natif OCI

Remarque

Ces instructions décrivent la création d'un fichier de configuration d'extension de contrôleur d'entrée natif OCI pour vous permettre de déployer l'extension de contrôleur d'entrée natif OCI à l'aide de l'interface de ligne de commande. Le fichier de configuration contient des arguments de configuration de paire clé/valeur approuvés. Vous devez créer un fichier de configuration lorsque vous déployez le module complémentaire à l'aide de la CLI (ou de l'API). Vous pouvez également utiliser la console pour déployer l'extension de contrôleur d'entrée natif OCI, auquel cas vous indiquez des arguments de configuration dans l'interface utilisateur. Pour plus d'informations sur le déploiement de l'extension de contrôleur d'entrée native OCI à l'aide de la console, reportez-vous à Installation d'une extension de cluster.

  1. Dans un éditeur approprié, créez un fichier JSON avec le nom de votre choix (ces instructions supposent que le fichier est appelé native-ingress-controller-addon.json) contenant les éléments suivants :

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "<compartment-ocid>"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "<load-balancer-subnet-ocid>"
        }    
      ]
    }

    où :

    • <compartment-id> est l'OCID du compartiment dans lequel le contrôleur d'entrée natif OCI doit créer l'équilibreur de charge et le certificat OCI.
    • <load-balancer-subnet-ocid> est l'OCID du sous-réseau de l'équilibreur de charge.

    Par exemple :

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        }    
      ]
    }
  2. Dans le fichier native-ingress-controller-addon.json que vous venez de créer, utilisez le paramètre authType pour indiquer la façon dont vous avez configuré le contrôleur d'entrée natif OCI pour accéder aux services et ressources OCI :
    • Si vous avez configuré un principal d'instance pour permettre au contrôleur d'entrée natif OCI d'accéder aux services et aux ressources OCI, définissez le paramètre authType sur instance.
    • Si vous avez configuré un principal d'identité de charge globale pour permettre au contrôleur d'entrée natif OCI d'accéder aux services et ressources OCI, définissez le paramètre authType sur workloadIdentity.
    • Si vous avez configuré un principal d'utilisateur pour permettre au contrôleur d'entrée natif OCI d'accéder aux services et ressources OCI, définissez le paramètre authType sur user.

    Par exemple :

          "key": "authType",
          "value": "workloadIdentity"

    instance est la valeur par défaut du paramètre authType. Par conséquent, si vous n'indiquez pas explicitement de valeur pour authType, le contrôleur d'entrée natif OCI utilise l'identité de l'instance sur laquelle il est exécuté pour accéder aux services et aux ressources OCI. Pour plus d'informations, reportez-vous à Configuration d'un principal d'instance, d'un principal utilisateur ou d'un principal d'identité de charge globale afin d'activer l'accès aux services et ressources OCI.

  3. Dans le fichier native-ingress-controller-addon.json que vous avez créé, indiquez d'autres paramètres pour le contrôleur d'entrée natif OCI. Pour plus d'informations sur les paramètres que vous pouvez définir, reportez-vous à Arguments de configuration d'extension du contrôleur d'entrée natif OCI.

    Par exemple :

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        },
        {
          "key": "authType",
          "value": "workloadIdentity"
        },
        {
          "key": "logVerbosity",
          "value": "2"
        }        
      ]
    }
  4. Enregistrez et fermez le fichier native-ingress-controller-addon.json.

Etape 2 : déploiement de l'extension de contrôleur d'entrée native OCI sur le cluster et confirmation du déploiement réussi

Remarque

Ces instructions décrivent le déploiement de l'extension de contrôleur d'entrée native OCI à l'aide de l'interface de ligne de commande et d'un fichier de configuration. Vous pouvez également déployer le module complémentaire à l'aide de la console et de l'API. Pour plus d'informations, reportez-vous à la section Installing a Cluster Add-on.

  1. Si vous ne l'avez pas encore fait, suivez les étapes permettant de configurer le fichier de configuration Kubeconfig du cluster et (si nécessaire) de définir la variable d'environnement KUBECONFIG de sorte qu'elle pointe vers le fichier. Vous devez configurer votre propre fichier Kubeconfig. Vous ne pouvez pas accéder à un cluster à l'aide d'un fichier Kubeconfig configuré par un autre utilisateur. Reportez-vous à Configuration de l'accès à un cluster.
  2. Vérifiez que l'extension de contrôleur d'entrée natif OCI n'a pas déjà été installée sur le cluster en saisissant la commande suivante :
    oci ce cluster list-addons --cluster-id <cluster-ocid>

    <cluster-ocid> est l'OCID du cluster sur lequel déployer l'extension de contrôleur d'entrée natif OCI.

  3. Déployez l'extension de contrôleur d'entrée natif OCI sur le cluster en saisissant ce qui suit :

    oci ce cluster install-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --from-json file://./<path-to-config-file>

    où :

    • --cluster-id <cluster-ocid> est l'OCID du cluster dans lequel déployer l'extension de contrôleur d'entrée natif OCI.
    • --from-json file://<path-to-config-file> indique l'emplacement du fichier de configuration d'extension de contrôleur d'entrée natif OCI que vous avez créé précédemment. Par exemple, --from-json file://./native-ingress-controller-addon.json

    Par exemple :

    oci ce cluster install-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    Une demande de travail est créée pour déployer l'extension de contrôleur d'entrée native OCI.

  4. Vérifiez que le déploiement de l'extension de contrôleur d'entrée natif OCI a réussi en saisissant ce qui suit :

    oci ce cluster list-addons --cluster-id <cluster-ocid>

    En supposant un déploiement réussi, la sortie affiche l'extension de contrôleur d'entrée native OCI avec l'état de cycle de vie ACTIVE. Par exemple :

    {
      "data": [
        {
          "addon-error": null,
          "current-installed-version": "v1.19.0",
          "lifecycle-state": "ACTIVE",
          "name": "NativeIngressController",
          "time-created": "2023-11-06T11:21:11+00:00",
          "version": null
        }
      ]
    }

Mise à jour de l'extension de contrôleur d'entrée natif OCI

Remarque

Ces instructions expliquent comment mettre à jour l'extension de contrôleur d'entrée native OCI à l'aide de l'interface de ligne de commande et d'un fichier de configuration. Vous pouvez également mettre à jour le module à l'aide de la console et de l'API. Pour plus d'informations, reportez-vous à Mise à jour d'une extension de cluster.

  1. Ouvrez le fichier de configuration d'extension de contrôleur d'entrée natif OCI dans un éditeur approprié.

  2. Ajoutez, supprimez ou modifiez les arguments de configuration dans le fichier de configuration, le cas échéant. Pour plus d'informations sur les arguments que vous pouvez définir, reportez-vous à Arguments de configuration de l'extension de contrôleur entrant natif OCI.

  3. Mettez à jour l'extension de contrôleur d'entrée natif OCI à l'aide de la commande OCI ce cluster update-addon, en saisissant la commande suivante :
    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://<path-to-config-file> --cluster-id <cluster-ocid>

    où :

    • --cluster-id <cluster-ocid> est l'OCID du cluster dans lequel vous voulez mettre à jour l'extension de contrôleur d'entrée natif OCI.
    • --from-json file://<path-to-config-file> indique l'emplacement du fichier de configuration d'extension de contrôleur d'entrée natif OCI à utiliser lors de la mise à jour du module. Par exemple, --from-json file://./native-ingress-controller-addon.json

    Par exemple :

    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    Une demande de travail est créée pour mettre à jour l'extension de contrôleur d'entrée natif OCI.

Désactivation (et suppression) du module complémentaire de contrôleur d'entrée natif OCI

Remarque

Ces instructions décrivent la désactivation et la suppression de l'extension de contrôleur d'entrée native OCI à l'aide de l'interface de ligne de commande et d'un fichier de configuration. Vous pouvez également mettre à jour le module à l'aide de la console et de l'API. Pour plus d'informations, reportez-vous à Désactivation (et suppression) d'une extension de cluster.

  1. Désactivez (et enlevez éventuellement) l'extension de contrôleur d'entrée natif OCI à l'aide de la commande OCI ce cluster disable-addon, en saisissant la commande suivante :

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --is-remove-existing-add-on <true|false>

    où :

    • --cluster-id <cluster-ocid> est l'OCID du cluster dans lequel vous voulez désactiver (et éventuellement enlever) l'extension de contrôleur d'entrée natif OCI.
    • --is-remove-existing-add-on <true|false> indique soit d'enlever complètement l'extension de contrôleur d'entrée natif OCI (lorsqu'elle est définie sur true), soit de ne pas enlever l'extension, mais simplement de la désactiver et de ne pas l'utiliser (lorsqu'elle est définie sur false). Si vous désactivez le module, Oracle ne le met plus à jour automatiquement lorsque de nouvelles versions deviennent disponibles.

    Par exemple :

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr --is-remove-existing-add-on true

    Une demande de travail est créée pour désactiver (et éventuellement enlever) l'extension de contrôleur d'entrée natif OCI.

  2. (Facultatif) Enlevez les ressources liées à l'entrée Kubernetes (telles que les ressources IngressClassParameters, IngressClass et entrantes), qui ne sont pas gérées par l'extension de contrôleur d'entrée natif OCI, à l'aide de la commande kubectl delete.