Contrôleur d'entrée natif OCI
Lorsque vous activez l'extension de cluster de contrôleurs entrants natifs OCI, vous pouvez transmettre les paires clé/valeur suivantes en tant qu'arguments.
| 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:
Equivalents possibles :
|
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 Format JSON en texte brut ou encodé Base64. Non utilisé par:
Equivalents possibles :
|
Facultatif | NULL | {"foo":"bar", "foo2": "bar2"}Le pod s'exécutera uniquement sur les noeuds possédant le libellé |
numOfReplicas |
numOfReplicas | Nombre de répliques du déploiement de l'extension. Non utilisé par:
Equivalents possibles :
|
Requis | 1Crée une réplique du déploiement d'extension par cluster. |
2Cré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:
Equivalents possibles :
|
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 Format JSON en texte brut ou encodé Base64. Equivalents possibles :
|
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 |
topologySpreadConstraints |
topologySpreadConstraints |
Comment répartir les pods correspondants entre la topologie donnée. Format JSON en texte brut ou encodé Base64. Non utilisé par:
|
Facultatif | NULL | NULL |
| Clé (API et CLI) | Nom d'affichage de la clé (console) | Description | Obligatoire/Facultatif | Valeur par défaut | Exemple de valeur |
|---|---|---|---|---|---|
authSecretName
|
authSecretName | Nom de la clé secrète Kubernetes à utiliser pour l'authentification utilisateur lorsque authType est défini sur user. |
Facultatif |
""
|
oci-config
|
authType
|
authType | Type d'authentification utilisé par le contrôleur d'entrée natif OCI lors de l'envoi de demandes, parmi les suivants :
|
Facultatif |
instance
|
workloadIdentity
|
certDeletionGracePeriodInDays
|
certDeletionGracePeriodInDays |
Nombre de jours pendant lesquels le contrôleur d'entrée natif OCI attend avant de supprimer les ressources de service OCI Certificates non utilisées. S'applique lorsque le contrôleur d'entrée natif OCI obtient un certificat du service Certificates à l'aide d'une clé secrète Kubernetes. Doit être une valeur entière. Si la valeur est inférieure ou égale à zéro, le contrôleur d'entrée natif OCI ne supprime pas les ressources de service OCI Certificates inutilisées. |
Facultatif |
0
|
1
|
compartmentId
|
compartmentId | OCID du compartiment dans lequel le contrôleur d'entrée natif OCI doit créer l'équilibreur de charge OCI (et le certificat, si l'argument d'extension useLbCompartmentForCertificates est défini sur false). |
Requis |
""
|
ocid1.compartment.oc1..aaaaaaaa______ddq
|
controllerClass
|
controllerClass | Nom du contrôleur spécifié dans votre ingressClass qui doit être géré par le contrôleur oci-native-ingress-controller. | Facultatif |
oci.oraclecloud.com/native-ingress-controller
|
oci.oraclecloud.com/native-ingress-controller
|
emitEvents
|
emitEvents |
Indique si des événements Kubernetes doivent être émis pour les erreurs entrantes et IngressClass observées lors du rapprochement. Si la valeur est |
Facultatif |
false
|
false
|
leaseLockName
|
leaseLockName | Nom du bail à utiliser pour l'élection du leader. | Facultatif |
oci-native-ingress-controller
|
oci-native-ingress-controller
|
leaseLockNamespace
|
leaseLockNamespace | Espace de noms du bail. | Facultatif |
native-ingress-controller-system
|
native-ingress-controller-system
|
loadBalancerSubnetId
|
loadBalancerSubnetId | OCID du sous-réseau de l'équilibreur de charge. | Requis |
""
|
ocid1.subnet.oc1.iad.aaaaaaaa______dba
|
logVerbosity
|
logVerbosity | Numéro de niveau de détail de la journalisation. | Facultatif |
4
|
2
|
metricsBackend
|
metricsBackend | Nom du back-end de mesures. | Facultatif |
prometheus
|
prometheus
|
metricsPort
|
metricsPort | Port des mesures. | Facultatif |
2223
|
2223
|
oci-native-ingress-controller.ContainerResources
|
ressources de conteneur native-ingress-controller |
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. |
useLbCompartmentForCertificates
|
useLbCompartmentForCertificates |
Indique si le compartiment indiqué pour l'équilibreur de charge OCI (dans la ressource IngressClassParameters associée) doit être utilisé pour gérer les ressources du service OCI Certificates lors de l'utilisation d'une clé secrète Kubernetes pour obtenir un certificat et un package d'autorité de certification. Reportez-vous à Option 1 : le contrôleur d'entrée natif OCI obtient un certificat du service Certificates à l'aide d'une clé secrète Kubernetes. Si elle est définie sur |
Facultatif |
false
|
false
|
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 le placement des pods Native Ingress Controller en fonction des règles d'affinité de pod et d'anti-affinité de pod. |
Non applicable | Non applicable | Non applicable |
nodeSelectors
|
N |
Contrôle le placement des pods Native Ingress Controller en fonction des étiquettes de noeud. |
Non applicable | Non applicable | Non applicable |
numOfReplicas
|
N |
Contrôle le nombre de répliques dans le déploiement du contrôleur d'entrée natif. |
Non applicable | Non applicable | Non applicable |
rollingUpdate
|
N |
Contrôle la stratégie de mise à jour du déploiement, y compris les paramètres tels que |
Non applicable | Non applicable | Non applicable |
tolerations
|
N |
Contrôle si les pods Native Ingress Controller peuvent être exécutés sur des noeuds endommagés. |
Non applicable | Non applicable | Non applicable |
topologySpreadConstraints
|
N |
Contrôle la façon dont les pods Native Ingress Controller correspondants sont distribués dans la topologie de cluster à l'aide de paramètres tels que |
Non applicable | Non applicable | Non applicable |
oci-native-ingress-controller.ContainerResources
|
Y (Oui) |
Définit les demandes et les limites de CPU et de mémoire pour le pod Native Ingress Controller. |
Le contrôleur examine les noeuds pour identifier les back-ends d'équilibreur de charge disponibles. L'utilisation de la CPU et de la mémoire augmente donc à mesure que le nombre de noeuds augmente.
Lorsque
Lorsque |
|
Une CPU et une limite élevées sont attendues avec |
routingStrategies.hostBasedRouting
|
N |
Achemine les demandes vers un service en fonction du nom de domaine dans la demande. |
Non applicable | Non applicable | Non applicable |
routingStrategies.pathBasedRouting
|
N |
Achemine les demandes vers un service en fonction du chemin de demande ou de l'adresse d'API. |
Non applicable | Non applicable | Non applicable |
routingStrategies.defaultRouting
|
N |
Achemine les demandes qui ne correspondent pas à une autre règle vers le service back-end par défaut. |
Non applicable | Non applicable | Non applicable |
NIC annotations
|
Y (Oui) |
Configurez le contrôleur entrant natif et le comportement de l'équilibreur de charge, y compris les paramètres de vérification de l'état du back-end. |
Les performances de routage de l'équilibreur de charge restent limitées par le nombre maximal de back-ends 512 plutôt que par le nombre total de noeuds de cluster. Cependant, la stratégie de trafic externe sélectionnée affecte l'utilisation des ressources du contrôleur :
|
|
Reportez-vous aux meilleures pratiques en matière de vérification de l'état du back-end et de l'équilibreur de charge. |