Préalables au déploiement du contrôleur de trafic entrant natif OCI en tant que programme autonome

Découvrez ce que vous devez faire avant de déployer le contrôleur de trafic entrant natif OCI en tant que programme autonome pour équilibrer la charge et acheminer le trafic entrant vers les pods de service exécutés sur les noeuds de travail d'une grappe Kubernetes.

Avant de déployer le contrôleur de trafic entrant natif OCI en tant que programme autonome :

Configuration d'un principal d'instance, d'utilisateur ou de charge de travail pour activer l'accès aux services et ressources OCI

Pour créer un équilibreur de charge et acheminer le trafic entrant, le contrôleur de trafic entrant natif OCI, qu'il soit installé en tant que programme autonome ou en tant que module complémentaire de grappe, effectue des actions sur d'autres ressources de service Oracle Cloud Infrastructure (y compris le service d'équilibreur de charge et le service de certificats). Pour effectuer ces actions sur les ressources de service OCI, le pod du contrôleur de trafic entrant natif OCI utilise les données d'identification d'un acteur autorisé (ou principal). Vous pouvez actuellement configurer les types de principal suivants pour permettre au contrôleur de trafic entrant natif OCI d'effectuer des actions sur les ressources de service OCI :

Note :

  • L'utilisation de principaux d'instance pour permettre au contrôleur de trafic entrant natif OCI d'accéder aux services et ressources OCI n'est pas prise en charge dans les grappes avec des noeuds virtuels.
  • L'utilisation de principaux d'identité de charge de travail pour permettre au contrôleur de trafic entrant natif OCI d'accéder aux services et ressources OCI est prise en charge avec des grappes améliorées, mais pas avec des grappes de base.

Utilisation des principaux d'instance pour permettre l'accès aux services et ressources OCI

Vous pouvez configurer un principal d'instance pour permettre au contrôleur de trafic entrant natif OCI d'effectuer des actions sur les ressources de service OCI. Notez que vous ne pouvez utiliser des principaux d'instance qu'avec des noeuds gérés.

Pour configurer un principal d'instance :

  1. Créez un nouveau groupe dynamique pour contenir les instances de calcul hébergeant les noeuds de travail de la grappe :
    1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines. Sous Domaine d'identité, sélectionnez Groupes dynamiques.
    2. Sélectionnez le compartiment auquel appartiennent les instances de calcul.

    3. Suivez les instructions sous Pour créer un groupe dynamique et donnez un nom à ce groupe (par exemple, acme-oke-native-ingress-controller-dyn-grp).

    4. Entrez une règle qui inclut les instances de calcul dans le compartiment, dans le format suivant :
      ALL {instance.compartment.id = '<compartment-ocid>'}

      <compartment-ocid> est l'OCID du compartiment dans lequel les groupes de noeuds de grappe sont créés.

      Par exemple :

      ALL {instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa'}
    5. Sélectionnez Créer un groupe dynamique.

Avant de déployer le contrôleur de trafic entrant natif OCI, vous devez :

Utilisation des principaux d'utilisateur pour permettre l'accès aux services et ressources OCI

Vous pouvez configurer un principal d'utilisateur pour permettre au contrôleur de trafic entrant natif OCI d'effectuer des actions sur les ressources de service OCI.

Pour configurer un principal d'utilisateur :

  1. Si aucun utilisateur approprié n'existe déjà, créez un utilisateur dans le service IAM (voir Pour créer un utilisateur).
  2. Si aucun groupe approprié n'existe déjà, créez un groupe dans le service IAM (voir Pour créer un groupe).
  3. Ajoutez l'utilisateur au groupe (voir Pour ajouter un utilisateur à un groupe).
  4. Obtenez les éléments suivants :

  5. Chargez la clé publique à partir de la paire de clés dans la console. Voir Comment charger la clé publique.
  6. Créez un fichier de configuration en tant que fichier .yaml contenant les informations d'identification et de connexion, dans le format suivant :
    auth:
      region: <region-identifier>
      passphrase: <passphrase>
      user: <user-ocid>
      fingerprint: <fingerprint>
      tenancy: <tenancy-ocid>
    où :
    • region: <region-identifier> est la région dans laquelle réside la grappe. Par exemple : us-ashburn-1
    • passphrase: <passphrase> spécifie la phrase secrète utilisée pour la clé si elle est chiffrée.
    • user: <user-ocid> est l'OCID de l'utilisateur que le contrôleur de trafic entrant natif OCI doit utiliser.
    • fingerprint: <fingerprint> est l'empreinte numérique de la clé publique.
    • tenancy: <tenancy-ocid> est l'OCID de la location contenant la grappe.

    Par exemple :

    auth:
      region: us-ashburn-1
      passphrase: examplepass
      user: ocid1.user.oc1..aaaaaaaa_example
      fingerprint: 67:d9:74:4b:21:example
      tenancy: ocid1.tenancy.oc1..aaaaaaaa_example
  7. Créez une ressource de clé secrète Kubernetes dans la grappe en entrant :
    
    kubectl create secret generic <secret-name> \
    --from-file=config=<config-file>.yaml \
    --from-file=private-key=<private-key-file-path>.pem \
    --namespace <namespace>
    où :
    • <secret-name> indique le nom de la clé secrète à créer. Par exemple, oci-config
    • --from-file=config=<config-file>.yaml indique le nom et le chemin du fichier .yaml contenant les informations d'identification que vous avez créées précédemment. Par exemple : user-auth-config.yaml
    • --from-file=private-key=./oci/oci_api_key.pem indique le nom et le chemin du fichier de clé privée téléchargé. Par exemple, ./oci/oci_api_key.pem
    • --namespace <namespace> indique l'espace de noms contenant le contrôleur de trafic entrant natif OCI

    Par exemple :

    
    kubectl create secret generic oci-config \
    --from-file=config=user-auth-config.yaml \
    --from-file=private-key=./oci/oci_api_key.pem \
    --namespace acme-namespace

Avant de déployer le contrôleur de trafic entrant natif OCI, vous devez :

Utilisation des principaux d'identité de charge de travail pour permettre l'accès aux services et ressources OCI

Vous pouvez configurer un principal d'identité de charge de travail pour permettre au contrôleur de trafic entrant natif OCI d'effectuer des actions sur les ressources de service OCI. Notez que vous ne pouvez utiliser des principaux d'identité de charge de travail qu'avec des grappes améliorées.

Pour configurer un principal d'identité de charge de travail :

  1. Obtenez l'OCID de la grappe (par exemple, à l'aide de l'onglet Détails de la grappe dans la console).
  1. Avant de déployer le contrôleur de trafic entrant natif OCI, vous devez :

Octroi d'autorisations au contrôleur de trafic entrant natif OCI en tant que programme autonome

Le contrôleur de trafic entrant natif OCI nécessite des autorisations pour accéder aux ressources créées par d'autres services Oracle Cloud Infrastructure (tels que le service d'équilibreur de charge et le service de certificats). Les autorisations que vous accordez sont les mêmes, que vous installiez le contrôleur de trafic entrant natif OCI en tant que programme autonome ou en tant que module complémentaire de grappe. En outre, les autorisations sont les mêmes, que vous ayez configuré un principal d'instance, un principal d'utilisateur ou un principal d'identité de charge de travail pour le contrôleur de trafic entrant natif OCI. Toutefois, la façon dont vous accordez ces autorisations dépend du type de principal que vous avez configuré :

Pour configurer des autorisations pour le contrôleur de trafic entrant natif OCI, créez une politique pour le groupe (dans le cas des principaux d'utilisateur), pour le groupe dynamique (dans le cas des principaux d'instance) ou pour la charge de travail (dans le cas des principaux d'identité de charge de travail), avec des énoncés de politique pour accéder aux services et aux ressources OCI :

  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques.
  2. Suivez les instructions sous Pour créer une politique et donnez un nom à la politique (par exemple, acme-oke-native-ingress-controller-policy).
  3. Si vous utilisez des principaux d'instance ou d'utilisateur, entrez des énoncés de politique pour autoriser l'accès aux services et ressources OCI utilisés par le contrôleur de trafic entrant natif OCI, dans le format suivant :

    Allow <group|dynamic-group> <subject-name> to <verb> <resource> in <location>   
    

    où :

    • <group|dynamic-group> est group (dans le cas des principaux d'utilisateur) ou dynamic-group (dans le cas des principaux d'instance)
    • <subject-name> est le nom du groupe (dans le cas des principaux d'utilisateur) ou le nom du groupe dynamique (dans le cas des principaux d'instance). Par exemple, acme-oke-nat-ing-cont-dyn-grp. Notez que si un groupe ou un groupe dynamique ne se trouve pas dans le domaine d'identité par défaut, ajoutez le préfixe <group|dynamic-group> '<identity-domain-name>'/'<group-name|dynamic-group-name>' au nom du groupe ou du groupe dynamique. Vous pouvez également spécifier un groupe ou un groupe dynamique à l'aide de son OCID, dans le format group id <group-ocid> ou dynamic-group id <dynamic-group-ocid>.
    • <verb> <resource> est l'un des suivants (toutes ces opérations sont requises dans des énoncés de politique distincts) :
      • manage load-balancers
      • use virtual-network-family
      • manage cabundles
      • manage cabundle-associations
      • manage leaf-certificates
      • read leaf-certificate-bundles
      • manage leaf-certificate-versions
      • manage certificate-associations
      • read certificate-authorities
      • manage certificate-authority-associations
      • read certificate-authority-bundles
      • read public-ips
      • manage floating-ips
      • manage waf-family
      • read cluster-family
      • use tag-namespaces (obligatoire uniquement si vous voulez que le contrôleur de trafic entrant natif OCI applique des marqueurs définis aux équilibreurs de charge, voir Application de marqueurs définis à l'équilibreur de charge)
    • <location> est l'un des suivants :
      • tenancy, si vous voulez que le contrôleur de trafic entrant natif OCI ait accès aux ressources de l'ensemble de la location.
      • compartment <compartment-name> si vous voulez que le contrôleur de trafic entrant natif OCI ait uniquement accès aux ressources du compartiment portant le nom compartment <compartment-name>.

    Par exemple :

    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage load-balancers in compartment acme-oke-cluster-compartment

    La syntaxe de la liste complète des énoncés de politique est la suivante :

    Allow <group|dynamic-group> <subject-name> to manage load-balancers in <location>   
    Allow <group|dynamic-group> <subject-name> to use virtual-network-family in <location>
    Allow <group|dynamic-group> <subject-name> to manage cabundles in <location>
    Allow <group|dynamic-group> <subject-name> to manage cabundle-associations in <location>
    Allow <group|dynamic-group> <subject-name> to manage leaf-certificates in <location>
    Allow <group|dynamic-group> <subject-name> to read leaf-certificate-bundles in <location>
    Allow <group|dynamic-group> <subject-name> to manage leaf-certificate-versions in <location>
    Allow <group|dynamic-group> <subject-name> to manage certificate-associations in <location>
    Allow <group|dynamic-group> <subject-name> to read certificate-authorities in <location>
    Allow <group|dynamic-group> <subject-name> to manage certificate-authority-associations in <location>
    Allow <group|dynamic-group> <subject-name> to read certificate-authority-bundles in <location>
    Allow <group|dynamic-group> <subject-name> to read public-ips in <location>
    Allow <group|dynamic-group> <subject-name> to manage floating-ips in <location>
    Allow <group|dynamic-group> <subject-name> to manage waf-family in <location>
    Allow <group|dynamic-group> <subject-name> to read cluster-family in <location>
    Allow <group|dynamic-group> <subject-name> to use tag-namespaces in <location>

    Exemple de liste complète d'énoncés de politique :

    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage load-balancers in compartment acme-oke-cluster-compartment   
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to use virtual-network-family in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage cabundles in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage cabundle-associations in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage leaf-certificates in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to read leaf-certificate-bundles in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage leaf-certificate-versions in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage certificate-associations in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to read certificate-authorities in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage certificate-authority-associations in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to read certificate-authority-bundles in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to read public-ips in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage floating-ips in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to manage waf-family in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to read cluster-family in compartment acme-oke-cluster-compartment
    Allow dynamic-group acme-oke-nat-ing-cont-dyn-grp to use tag-namespaces in compartment acme-oke-cluster-compartment
  4. Si vous utilisez des principaux d'identité de charge de travail, entrez des énoncés de politique pour autoriser l'accès aux services et ressources OCI utilisés par le contrôleur de trafic entrant natif OCI, dans le format suivant :
    Allow any-user to <verb> <resource> in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}

    où :

    • <verb> <resource> est l'un des suivants (toutes ces opérations sont requises dans des énoncés de politique distincts) :
      • manage load-balancers
      • use virtual-network-family
      • manage cabundles
      • manage cabundle-associations
      • manage leaf-certificates
      • read leaf-certificate-bundles
      • manage leaf-certificate-versions
      • manage certificate-associations
      • read certificate-authorities
      • manage certificate-authority-associations
      • read certificate-authority-bundles
      • read public-ips
      • manage floating-ips
      • manage waf-family
      • read cluster-family
      • use tag-namespaces (obligatoire uniquement si vous voulez que le contrôleur de trafic entrant natif OCI applique des marqueurs définis aux équilibreurs de charge, voir Application de marqueurs définis à l'équilibreur de charge)
    • <location> est l'un des suivants :
      • tenancy, si vous voulez que le contrôleur de trafic entrant natif OCI ait accès aux ressources de l'ensemble de la location.
      • compartment <compartment-name> si vous voulez que le contrôleur de trafic entrant natif OCI ait uniquement accès aux ressources du compartiment portant le nom compartment <compartment-name>.
    • request.principal.namespace = 'native-ingress-controller-system' est le nom de l'espace de noms créé pour le contrôleur de trafic entrant natif OCI lors de l'installation.
    • request.principal.service_account = 'oci-native-ingress-controller' est le nom du compte de service créé pour le contrôleur de trafic entrant natif OCI lors de l'installation.
    • <cluster-ocid> est l'OCID de la grappe que vous avez obtenu précédemment.

    Par exemple :

    Allow any-user to manage load-balancers in tenancy where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = 'ocid1.cluster.oc1.iad.aaaaaaaa______ska'}

    La syntaxe pour la liste complète des énoncés de politique est la suivante :

    Allow any-user to manage load-balancers in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to use virtual-network-family in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage cabundles in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage cabundle-associations in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage leaf-certificates in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to read leaf-certificate-bundles in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage leaf-certificate-versions in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage certificate-associations in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to read certificate-authorities in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage certificate-authority-associations in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to read certificate-authority-bundles in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to read public-ips in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage floating-ips in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to manage waf-family in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to read cluster-family in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}
    Allow any-user to use tag-namespaces in <location> where all {request.principal.type = 'workload', request.principal.namespace = 'native-ingress-controller-system', request.principal.service_account = 'oci-native-ingress-controller', request.principal.cluster_id = '<cluster-ocid>'}

Installation de cert-manager

Le contrôleur de trafic entrant natif OCI, qu'il soit installé en tant que programme autonome ou en tant que module complémentaire de grappe, utilise des webhooks pour injecter des portes de disponibilité des pods dans les spécifications de pod. Pour assurer la sécurité, le serveur webhook doit fonctionner en mode HTTPS, ce qui nécessite une paire de certificats et de clés. Le contrôleur de trafic entrant natif OCI utilise le gestionnaire de certificats (également connu sous le nom de gestionnaire de certificats) pour générer et gérer les certificats et les clés pour le serveur de webhook. Vous devez donc installer le gestionnaire de certificats sur la grappe pour utiliser les portes de disponibilité des pods.

Que vous installiez le contrôleur de trafic entrant natif OCI en tant que programme autonome ou en tant que module complémentaire de grappe, vous pouvez installer et exécuter cert-manager de deux façons :

  • Vous pouvez installer et exécuter cert-manager en tant que produit open source, en entrant :

    kubectl apply -f https://github.com/jetstack/cert-manager/releases/latest/download/cert-manager.yaml
  • Vous pouvez installer et exécuter cert-manager en tant que module complémentaire de grappe. Pour plus d'informations sur l'installation de cert-manager en tant que module complémentaire de grappe, voir Installation d'un module complémentaire de grappe.

Pour plus d'informations sur cert-manager, consultez la documentation sur cert-manager.io.

Installation de l'interface de ligne de commande Helm pour installer le contrôleur de trafic entrant natif OCI en tant que programme autonome

Helm est un gestionnaire d'ensembles pour Kubernetes. Helm est couramment utilisé pour créer, assembler, configurer et déployer des applications Kubernetes en combinant des fichiers de configuration en un seul ensemble réutilisable appelé graphique Helm. Les graphiques sont packagés et distribués dans un format d'archive appelé archive graphique. Un graphique contient les informations nécessaires pour installer un jeu de ressources Kubernetes sur une grappe Kubernetes. Un graphique comprend :

  • un fichier chart.yaml décrivant l'application,
  • un fichier values.yaml, fournissant des valeurs par défaut pour les paramètres d'application
  • modèles de fichiers utilisés par l'application
  • autres dépendances

Helm dispose également d'un client de ligne de commande, l'interface de ligne de commande Helm (parfois appelée barre, toutes en minuscules)

Pour installer le contrôleur de trafic entrant natif OCI en tant que programme autonome, le contrôleur de trafic entrant natif OCI est disponible en tant que graphique Helm. Avant de pouvoir installer le graphique du contrôleur de trafic entrant natif OCI, vous devez d'abord installer l'interface de ligne de commande Helm.

Pour installer l'interface de ligne de commande Helm, suivez les instructions de la documentation sur l'installation de Helm pour télécharger et extraire le fichier d'archive tar.gz ou zip approprié.

Clonage du référentiel du contrôleur de trafic entrant natif OCI et définition des paramètres dans values.yaml

Pour cloner le contrôleur de trafic entrant natif OCI et définir des paramètres dans values.yaml en vue de l'installation du contrôleur de trafic entrant natif OCI en tant que programme autonome :

  1. Cloner le référentiel du contrôleur de trafic entrant natif OCI à partir de GitHub en entrant :
    git clone https://github.com/oracle/oci-native-ingress-controller
  2. Dans le référentiel Git local, naviguez jusqu'au répertoire oci-native-ingress-controller et ouvrez le fichier values.yaml dans un éditeur de texte.
  3. Dans le fichier values.yaml, réglez le paramètre compartment_id à l'OCID du compartiment dans lequel le contrôleur de trafic entrant natif OCI doit créer l'équilibreur de charge et le certificat OCI. Par exemple :
    compartment_id: "ocid1.compartment.oc1..aaaaaaaa______ddq" 
  4. Dans le fichier values.yaml, réglez le paramètre subnet_id à l'OCID du sous-réseau de l'équilibreur de charge. Par exemple :
    subnet_id: "ocid1.subnet.oc1.iad.aaaaaaaa______dba" 
  5. Dans le fichier values.yaml, réglez le paramètre cluster_id à l'OCID de la grappe. Par exemple :
    cluster_id: "ocid1.cluster.oc1.iad.aaaaaaaa______ska" 
  6. Dans le fichier values.yaml, spécifiez comment le contrôleur de trafic entrant natif OCI accède aux services et ressources OCI comme suit :
  7. (Facultatif) Si vous voulez exécuter plusieurs instances du contrôleur de trafic entrant natif OCI pour des raisons de disponibilité, modifiez la valeur de replicaCount dans le fichier values.yaml. Par exemple :
    replicaCount: 3
    Par défaut, replicaCount est réglé à 1, ce qui signifie qu'une instance du contrôleur de trafic entrant natif OCI s'exécute en tant que module de réseautage unique. Pour assurer la disponibilité, vous pouvez augmenter replicaCount (généralement à 2 ou 3) pour exécuter plusieurs instances de contrôleur de trafic entrant OCI natives en tant que pods différents. Un pod est désigné comme chef de file et agit en tant que contrôleur de trafic entrant natif OCI, tandis que les pods restants attendent dans un état passif. Si le responsable devient indisponible par la suite, l'un des autres pods est désigné comme responsable et agit en tant que contrôleur de trafic entrant natif OCI.
  8. Enregistrez les modifications que vous avez apportées dans le fichier values.yaml et fermez le fichier.
  9. Si vous voulez que le contrôleur de trafic entrant natif OCI accède aux services et ressources OCI à l'aide d'un principal d'identité de charge de travail, vous devez définir des variables d'environnement supplémentaires comme suit :
    1. Dans le référentiel Git local, naviguez jusqu'au répertoire oci-native-ingress-controller/templates et ouvrez le fichier deployment.yaml dans un éditeur de texte.
    2. Dans le fichier deployment.yaml, définissez les variables d'environnement suivantes comme indiqué :
        env:
          - name: OCI_RESOURCE_PRINCIPAL_VERSION
            value: "2.2"
          - name: OCI_RESOURCE_PRINCIPAL_REGION
            value: "us-ashburn-1"
    3. Enregistrez les modifications que vous avez apportées dans le fichier deployment.yaml et fermez le fichier.