Configurer Policy Controller pour la haute disponibilité

Vous pouvez définir des configurations au niveau du déploiement pour Policy Controller qui remplacent les exigences en termes de ressources et configurer des paramètres pour la haute disponibilité.

Pour obtenir la liste de toutes les options de configuration, exécutez la commande gcloud container fleet policycontroller deployment set --help.

Les commandes de cette page utilisent l'option --all-memberships pour appliquer une configuration à tous les clusters enregistrés dans un parc. Pour appliquer une commande à un seul cluster enregistré, utilisez --membership=MEMBERSHIP_NAME, en remplaçant MEMBERSHIP_NAME par le nom d'appartenance du cluster enregistré.

Configurer le nombre d'instances répliquées

Vous pouvez configurer vos déploiements Policy Controller pour un ReplicaSet en définissant un nombre d'instances répliquées.

Pour définir un nombre d'instances répliquées, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE replica-count QUANTITY \
  --all-memberships

Remplacez les éléments suivants :

  • DEPLOYMENT_TYPE : type de déploiement pour lequel vous souhaitez définir un nombre d'instances répliquées. La valeur est mutation ou admission.
  • QUANTITY : nombre d'instances répliquées que vous souhaitez définir (par exemple, 3).

Pour supprimer un nombre d'instances répliquées, exécutez la commande suivante :

gcloud container fleet policycontroller deployment remove DEPLOYMENT_TYPE replica-count \
  --all-memberships

Remplacez DEPLOYMENT_TYPE par le type de déploiement à partir duquel vous supprimez les instances répliquées. Cette valeur est mutation ou admission.

Définir les besoins en ressources

Vous pouvez spécifier des limites et des demandes en termes de mémoire et de processeur.

Définir des limites et des demandes de mémoire

Pour définir une limite de mémoire, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE memory-limit QUANTITY \
  --all-memberships

Remplacez les éléments suivants :

  • DEPLOYMENT_TYPE : type de déploiement sur lequel vous souhaitez définir une limite de mémoire. L'une des valeurs suivantes : audit, mutation ou admission.
  • QUANTITY : quantité que vous souhaitez définir avec un suffixe de quantité (par exemple, 4Gi).

Pour définir une requête de mémoire, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE memory-request QUANTITY \
  --all-memberships

Remplacez les éléments suivants :

  • DEPLOYMENT_TYPE : type de déploiement sur lequel vous souhaitez définir une demande de mémoire. L'une des valeurs suivantes : audit, mutation ou admission.
  • QUANTITY : quantité que vous souhaitez définir avec un suffixe de quantité (par exemple, 2Gi).

Définir des limites et des demandes de processeur

Pour définir une limite de processeur, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE cpu-limit QUANTITY \
  --all-memberships

Remplacez les éléments suivants :

  • DEPLOYMENT_TYPE : type de déploiement sur lequel vous souhaitez définir une limite de processeur. L'une des valeurs suivantes : audit, mutation ou admission.
  • QUANTITY : quantité de processeurs que vous souhaitez définir (par exemple, 500 mCore).

Pour définir une demande de processeur, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE cpu-request QUANTITY \
  --all-memberships

Remplacez les éléments suivants :

  • DEPLOYMENT_TYPE : type de déploiement sur lequel vous souhaitez définir une demande de processeur. L'une des valeurs suivantes : audit, mutation ou admission.
  • QUANTITY : quantité que vous souhaitez définir (par exemple, 250 mCore).

Supprimer les limites et les requêtes

Pour supprimer une configuration, exécutez la commande suivante :

gcloud container fleet policycontroller deployment remove DEPLOYMENT_TYPE RESOURCE_TYPE \
  --all-memberships

Remplacez les éléments suivants :

  • DEPLOYMENT_TYPE : type de déploiement sur lequel vous supprimez la demande ou la limite. L'une des valeurs suivantes : audit, mutation ou admission.
  • RESOURCE_TYPE : type de ressource que vous souhaitez supprimer. L'une des valeurs suivantes : memory-limit, memory-request, cpu-limit, cpu-request.

Configurer les tolérances

Vous pouvez définir des tolérances sur vos déploiements Policy Controller.

Vous pouvez définir une tolérance à l'aide de l'une des méthodes suivantes :

  • Pour définir une tolérance avec une clé, exécutez la commande suivante :

    gcloud container fleet policycontroller deployment set admission toleration KEY \
      --all-memberships
    

    Remplacez KEY par votre clé-valeur (par exemple, key1).

  • Pour définir une tolérance avec une clé et une valeur, exécutez la commande suivante :

    gcloud container fleet policycontroller deployment set admission toleration KEY=VALUE \
      --all-memberships
    

    Remplacez les éléments suivants :

    • KEY : votre clé-valeur (par exemple, key1).
    • VALUE : votre clé-valeur (par exemple, value1).
  • Pour définir une tolérance avec une clé et une valeur, et l'effet NoSchedule, exécutez la commande suivante :

    gcloud container fleet policycontroller deployment set admission toleration KEY=VALUE \
      --all-memberships \
      --effect=NoSchedule
    

    Remplacez les éléments suivants :

    • KEY : votre clé-valeur (par exemple, key1).
    • VALUE : votre clé-valeur (par exemple, value1).

Si vous devez modifier une tolérance, vous devez supprimer la tolérance existante, puis définir une nouvelle tolérance avec l'une des commandes précédentes. Pour supprimer une tolérance, exécutez la commande précédente avec remove au lieu de set. Exemple :

gcloud container fleet policycontroller deployment remove admission toleration KEY=VALUE \
  --all-memberships

Configurer l'affinité

Vous pouvez définir l'affinité de pods sur vos déploiements Policy Controller. Les paramètres disponibles sont anti (correspondant à l'anti-affinité) et none (correspondant à aucune affinité). Pour le déploiement admissions, la valeur par défaut est anti. Pour tous les autres déploiements, la valeur par défaut est none.

Pour définir l'anti-affinité de pod, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set mutation pod-affinity anti \
  --all-memberships

Pour supprimer l'affinité de pod, exécutez la commande suivante :

gcloud container fleet policycontroller deployment set mutation pod-affinity none \
  --all-memberships