Opérateur WebLogic Kubernetes

Lorsque vous activez l'extension de cluster d'opérateur Kubernetes WebLogic, vous pouvez transmettre les paires clé/valeur suivantes en tant qu'arguments.

Arguments de configuration communs à la plupart des modules complémentaires de cluster
Clé (API et CLI) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Valeur par défaut Exemple de valeur
affinity affinité

Groupe de règles de programmation d'affinité.

Format JSON en texte brut ou encodé Base64.

Non utilisé par:
  • Opérateur GPU Nvidia
Equivalents possibles :
  • Repérage des fonctionnalités de noeud, utilisez master.affinity
  • Opérateur réseau NVIDIA, utilisez operator.affinity
  • Pilote CSI SMB, utilisez contoller.affinity
  • Opérateur de GPU AMD, utilisez controllerManager.affinity
Facultatif NULL NULL
nodeSelectors Sélecteurs de noeud

Vous pouvez utiliser des sélecteurs de noeud et des libellés de noeud pour contrôler les noeuds de processus actif sur lesquels les pods d'extension sont exécutés.

Pour qu'un pod s'exécute sur un noeud, le sélecteur de noeud du pod doit avoir la même clé/valeur que l'étiquette du noeud.

Définissez nodeSelectors sur une paire clé/valeur correspondant à la fois au sélecteur de noeud du pod et au libellé du noeud de processus actif.

Format JSON en texte brut ou encodé Base64.

Non utilisé par:
  • Opérateur GPU NVIDIA
  • Pilote CSI SMB
Equivalents possibles :
  • Repérage des fonctionnalités de noeud, utilisez worker.nodeSelector
  • Opérateur réseau NVIDIA, utilisez operator.nodeSelectors
  • Opérateur de GPU AMD, utilisez selector ou controllerManager.nodeSelector
Facultatif NULL {"foo":"bar", "foo2": "bar2"}

Le pod s'exécutera uniquement sur les noeuds possédant le libellé foo=bar ou foo2=bar2.

numOfReplicas numOfReplicas Nombre de répliques du déploiement de l'extension.
Non utilisé par:
  • Module d'extension GPU AMD
  • Opérateur GPU NVIDIA
  • Opérateur réseau NVIDIA
  • Pilote CSI SMB
Equivalents possibles :
  • CoreDNS, utilisez nodesPerReplica
  • Repérage des fonctionnalités de noeud, utilisez master.replicaCount
  • Opérateur de GPU AMD, utilisez controllerManager.replicas
Requis 1

Crée une réplique du déploiement d'extension par cluster.

2

Crée deux répliques du déploiement d'extension par cluster.

rollingUpdate rollingUpdate

Contrôle le comportement souhaité de la mise à jour non simultanée par maxSurge et maxUnavailable.

Format JSON en texte brut ou encodé Base64.

Non utilisé par:
  • Repérage des fonctionnalités du noeud
  • Opérateur réseau NVIDIA
  • Pilote CSI SMB
Equivalents possibles :
  • Opérateur de GPU NVIDIA, utilisez daemonsets.rollingUpdate.maxUnavailable
  • Opérateur de GPU AMD, utilisez upgradePolicy dans devicePlugin, metricsExporter, testRunner, configManager ou draDriver
Facultatif NULL NULL
tolerations tolérances

Vous pouvez utiliser des tolérances et des taches pour contrôler les noeuds de processus actif sur lesquels les pods d'extension s'exécutent.

Pour qu'un pod s'exécute sur un noeud présentant une entorse, le pod doit avoir une tolérance correspondante.

Définissez tolerations sur une paire clé/valeur correspondant à la fois à la tolérance du pod et à la tache du noeud de processus actif.

Format JSON en texte brut ou encodé Base64.

Equivalents possibles :
  • Repérage des fonctionnalités de noeud, utilisez master.tolerations et/ou worker.tolerations
  • Opérateur de GPU NVIDIA, utilisez daemonsets.tolerations
  • Opérateur réseau NVIDIA, utilisez operator.tolerations
  • Pilote CSI SMB, utilisez controller.tolerations
  • Opérateur GPU AMD, utilisez les tolérances dans devicePlugin, metricsExporter, testRunner, configManager, draDriver ou controllerManager
Facultatif NULL [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Seuls les pods présentant cette tolérance peuvent être exécutés sur des noeuds de processus actif présentant la tache tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Comment répartir les pods correspondants entre la topologie donnée.

Format JSON en texte brut ou encodé Base64.

Non utilisé par:
  • Repérage des fonctionnalités du noeud
  • Opérateur GPU NVIDIA
  • Opérateur réseau NVIDIA
  • Pilote CSI SMB
  • Opérateur de GPU AMD
Facultatif NULL NULL
Arguments de configuration propres à ce module complémentaire de cluster
Clé (API et CLI) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Valeur par défaut Exemple de valeur
weblogic-operator.ContainerResources ressources de conteneur opérateur web

Vous pouvez spécifier les quantités de ressources demandées par les conteneurs d'extension et définir les limites d'utilisation des ressources que les conteneurs d'extension ne peuvent pas dépasser.

Format JSON en texte brut ou encodé Base64.

Facultatif NULL {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Créez des conteneurs d'extension qui demandent 100 milllicores de CPU et 100 mégaoctets de mémoire. Limitez les conteneurs d'extension à 500 milllicores de CPU et 200 mégaoctets de mémoire.

weblogic-operator-webhook.ContainerResources ressources de conteneur weblogic-operator-webhook

Vous pouvez spécifier les quantités de ressources demandées par les conteneurs d'extension et définir les limites d'utilisation des ressources que les conteneurs d'extension ne peuvent pas dépasser.

Format JSON en texte brut ou encodé Base64.

Facultatif NULL {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Créez des conteneurs d'extension qui demandent 100 milllicores de CPU et 100 mégaoctets de mémoire. Limitez les conteneurs d'extension à 500 milllicores de CPU et 200 mégaoctets de mémoire.

Considérations relatives aux clusters volumineux

Le tableau suivant décrit les considérations relatives à la configuration de ce module complémentaire de cluster dans les clusters volumineux.

Nom d'argument Nombre de noeuds de processus métier de rôles Description à mesure que la taille du cluster augmente Risques Recommandation
affinity N

Contrôle les règles d'affinité de pod pour le déploiement d'opérateur.

Non applicable Non applicable Non applicable
nodeSelectors N

Contrôle les noeuds sur lesquels les pods d'opérateur peuvent s'exécuter.

Non applicable Non applicable Non applicable
numOfReplicas N

Contrôle le nombre de pods d'opérateur Kubernetes WebLogic.

Le nombre de noeuds de cluster n'affecte pas directement le nombre requis de répliques car l'opérateur rapproche les ressources WebLogic plutôt que les noeuds de cluster.

Vous pouvez avoir besoin de plus de répliques si le nombre de serveurs WebLogic augmente également.

Si le nombre est faible, une défaillance de noeud, une panne de pod ou une mise à niveau peut temporairement arrêter le rapprochement. Cela peut retarder le provisionnement, le redimensionnement, les redémarrages non simultanés et les mises à jour de statut d'un domaine WebLogic jusqu'à ce qu'une nouvelle instance d'opérateur soit disponible.

Définissez numOfReplicas sur 3 .

rollingUpdate N

Contrôle la stratégie de mise à jour pour le déploiement d'opérateur.

Non applicable Non applicable Non applicable
tolerations N

Contrôle si les pods d'opérateur peuvent s'exécuter sur des noeuds endommagés.

Non applicable Non applicable Non applicable
topologySpreadConstraints N

Contrôle la façon dont les pods d'opérateur sont distribués dans la topologie de cluster.

Non applicable Non applicable Non applicable
weblogic-operator.ContainerResources Y (Oui)

Définit les demandes et les limites d'UC et de mémoire pour le pod d'opérateur Kubernetes WebLogic.

Le nombre de noeuds de cluster n'affecte pas directement les besoins en ressources car l'opérateur rapproche les ressources WebLogic dans l'espace de noms WebLogic.

Si le nombre de serveurs WebLogic augmente, l'opérateur doit observer et rapprocher davantage de pods de serveur. Cette opération peut entraîner les opérations suivantes :

  • Utilisation plus élevée de l'UC et de la zone mémoire
  • Latence accrue lors des opérations de redimensionnement

Si les ressources sont sous-dimensionnées :

  • Le pod de l'opérateur peut être arrêté car il dépasse sa limite de mémoire.
  • Le rapprochement du nombre de serveurs en cours d'exécution avec l'état attendu peut être retardé.
  • L'attrition des pods peut être traitée plus lentement, ce qui réduit la réactivité.
  • Un arriéré de pods non programmables peut s'accumuler.

Augmentez les ressources de CPU et de mémoire selon les besoins :

  • Augmentez la mémoire pour gérer un grand nombre de serveurs WebLogic.
  • Augmentez la CPU pour améliorer les performances de rapprochement.
weblogic-operator-webhook.ContainerResources Y (Oui)

Définit les demandes d'UC et de mémoire et les limites pour le conteneur de webhook installé avec l'extension d'opérateur WebLogic Kubernetes.

Le nombre de noeuds de cluster n'affecte pas directement le webhook car il traite les ressources WebLogic plutôt que les noeuds de cluster.

Si le nombre de serveurs WebLogic et les opérations de domaine associées augmentent, le webhook devra peut-être traiter davantage de demandes.

Si les ressources sont sous-dimensionnées :

  • Les demandes de webhook peuvent être traitées plus lentement.
  • Les appels du serveur d'API Kubernetes vers le webhook de conversion peuvent présenter une latence supplémentaire.
  • Les opérations de création et de mise à jour de domaine qui dépendent du traitement du webhook peuvent être plus lentes.
  • Une mémoire insuffisante peut entraîner une pression sur la mémoire, des redémarrages de conteneur ou des terminaisons avec manque de mémoire.
  • La disponibilité instable des webhooks peut entraîner des erreurs de webhook ou de conversion pendant les opérations de domaine.
  • Augmentez la CPU lorsque les demandes de webhook sont lentes, que les opérations de création ou de mise à jour de domaine ont augmenté la latence ou que le webhook est limité par la CPU.
  • Augmentez la mémoire lorsque le webhook redémarre, subit une pression sur la mémoire ou approche de sa limite de mémoire.