Configuration du contrôleur de trafic entrant natif OCI dans une grappe Kubernetes
Découvrez comment configurer le contrôleur de trafic entrant natif OCI pour mettre en oeuvre les règles et les options de configuration définies dans une ressource de trafic entrant Kubernetes afin d'équilibrer la charge et d'acheminer le trafic entrant vers les pods de service exécutés sur les noeuds de travail d'une grappe.
Le contrôleur de trafic entrant natif OCI met en oeuvre les règles et les options de configuration définies dans une ressource de trafic entrant Kubernetes 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. Le contrôleur de trafic entrant natif OCI crée un équilibreur de charge flexible OCI pour traiter les demandes et configure l'équilibreur de charge OCI pour qu'il achemine les demandes en fonction des règles définies dans la ressource de trafic entrant. En cas de modification des règles de routage ou d'autres ressources de prise en charge, le contrôleur de trafic entrant natif OCI met à jour la configuration de l'équilibreur de charge en conséquence. Le contrôleur de trafic entrant natif OCI s'exécute en tant que module de réseautage unique, sur un noeud de travail sélectionné aléatoirement dans la grappe.
Le contrôleur de trafic entrant natif OCI crée les ressources d'équilibreur de charge OCI comme suit :
- Équilibreur de charge pour chaque ressource
IngressClass
où vous avez spécifié le contrôleur de trafic entrant natif OCI comme contrôleur. - Jeu dorsal d'équilibreur de charge pour chaque combinaison unique de nom de service Kubernetes et de numéro de port que vous incluez dans les règles de routage des ressources
Ingress
de la grappe. - Un module d'écoute d'équilibreur de charge pour chaque port unique que vous incluez dans les règles de routage des ressources
Ingress
de la grappe. Le contrôleur de trafic entrant natif OCI détermine le protocole (HTTP, HTTPS, HTTP/2) pour chaque module d'écoute en fonction de la configuration dorsale de trafic entrant.
Le contrôleur de trafic entrant natif OCI ajoute en tant que serveurs dorsaux à un jeu dorsal les pods qui servent de points d'extrémité pour le nom et le port de service Kubernetes respectifs, ou les noeuds de travail sur lesquels ces pods peuvent s'exécuter, selon le plugiciel CNI utilisé par la grappe pour le réseau de pods :
- Si la grappe utilise le plugiciel CNI de réseau de pods natif du VCN pour OCI pour le réseau de pods, le contrôleur de trafic entrant natif d'OCI ajoute les pods en tant que serveurs dorsaux.
- Si la grappe utilise le plugiciel CNI flanal pour le réseau de pods, le contrôleur de trafic entrant natif OCI ajoute les noeuds de travail en tant que serveurs dorsaux. Dans ce cas, le contrôleur de trafic entrant natif OCI utilise le paramètre
externalTrafficPolicy
dans le manifeste du service pour déterminer les noeuds de travail à ajouter au jeu dorsal, comme suit :- Si
externalTrafficPolicy: Cluster
, le contrôleur de trafic entrant natif OCI ajoute au jeu dorsal tous les noeuds de travail de la grappe. - Si
externalTrafficPolicy: Local
, le contrôleur de trafic entrant natif OCI ajoute au jeu dorsal uniquement les noeuds de travail sur lesquels les pods du service ont été déployés.
- Si
Le contrôleur de trafic entrant natif OCI crée des ressources d'équilibreur de charge OCI soumises aux limites de service normales de l'équilibreur de charge en ce qui concerne le nombre total d'adresses IP, de jeux dorsaux, de modules d'écoute et de serveurs dorsaux. Pour plus d'informations, voir Limites des ressources d'équilibrage de charge.
Vous pouvez déployer le contrôleur de trafic entrant natif OCI sur une grappe Kubernetes de l'une ou l'autre des façons suivantes :
- en tant que programme autonome (voir Utilisation du contrôleur de trafic entrant natif OCI en tant que programme autonome)
- en tant que module complémentaire de grappe (voir Utilisation du contrôleur de trafic entrant natif OCI en tant que module complémentaire de grappe)
Lors de l'utilisation du contrôleur de trafic entrant natif OCI pour équilibrer la charge et acheminer le trafic entrant, notez les points suivants :
- Si vous installez le contrôleur de trafic entrant natif OCI en tant que programme autonome, la grappe doit exécuter Kubernetes version 1.26 ou ultérieure. Si vous installez le contrôleur de trafic entrant natif OCI en tant que module complémentaire de grappe, la grappe doit exécuter Kubernetes version 1.28 ou ultérieure.
- Des règles de sécurité de sous-réseau d'équilibreurs de charge doivent être configurées pour la grappe.
- La grappe peut utiliser le plugiciel CNI de réseau de pods natif du VCN pour OCI ou le plugiciel CNI flannel pour la gestion de réseau de pods. Notez que si la grappe utilise le plugiciel CNI flannel pour le réseau de pods, le contrôleur de trafic entrant natif OCI ne prend en charge que les services dorsaux de
type: NodePort
, comme spécifié dans le manifeste du service. - 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.
- Vous pouvez spécifier des principaux d'identité de charge de travail avec des grappes améliorées, mais pas avec des grappes de base.
- Si le contrôleur de trafic entrant natif OCI a déjà été déployé sur une grappe en tant que programme autonome, ne déployez pas également le module complémentaire de grappe du contrôleur de trafic entrant natif OCI sur la grappe.