Tutoriel : Créer un cluster avec une configuration CNI personnalisée
Les clusters OKS sont déployés avec une interface réseau de conteneur (Container Network Interface ou CNI) par défaut afin d’assurer la communication réseau entre les pods Kubernetes.
Par défaut, OKS installe Cilium comme CNI du cluster. Cilium est déployé en remplacement complet de kube-proxy, ce qui signifie que kube-proxy n’est pas déployé sur les worker nodes.
La plupart des composants du cluster sont gérés par OKS et ne sont pas personnalisables. Cependant, la configuration de la CNI peut être personnalisée lors de la création du cluster. Vous pouvez donc soit :
-
Choisir la version de Cilium à installer,
-
Désactiver l’installation par défaut de CNI pour installer et configurer votre propre CNI.
|
Comprendre la configuration du CNI
Une interface réseau de conteneur (CNI) est un plugin réseau utilisé par Kubernetes pour assurer la connectivité réseau entre les pods et les autres composants du cluster.
Kubernetes nécessite un plugin CNI afin que :
-
Les pods puissent communiquer entre eux.
-
Les pods puissent communiquer avec les services.
-
Les politiques réseau puissent être appliquées.
-
La mise en réseau du cluster puisse fonctionner entre les worker nodes.
Cilium est installé par défaut en tant que CNI du cluster. Cilium est un plugin réseau Kubernetes qui assure la connectivité réseau, le routage des services et l’application des politiques réseau pour les charges de travail du cluster. Dans OKS, Cilium remplace également kube-proxy, ce qui signifie que le routage des services est géré directement par Cilium plutôt que par un composant kube-proxy distinct.
Versions de Cilium prises en charge
Lors de la création d’un cluster, vous pouvez choisir une version spécifique de Cilium prise en charge par OKS.
Les valeurs prises en charge sont les suivantes :
-
cilium-1.16 -
cilium-1.17 -
cilium-1.18 -
cilium-1.19
OKS déploie la version de Cilium sélectionnée et continue de la gérer.
Configurer un CNI sur votre cluster
Créer un cluster avec une version spécifique de Cilium avec OKS CLI
Avant de commencer :
|
Pour créer un cluster avec une version spécifique de Cilium, utilisez la commande cluster create avec l’option set cni :
$ oks-cli cluster create \
--profile NAME_OF_PROFILE \
--cluster-name NAME_OF_CLUSTER \
--project-name NAME_OF_PROJECT \
--set cni=CILIUM_VERSION
|
Pour en savoir plus, voir Créer un cluster et Versions de Cilum prises en charge. |
Installer manuellement un CNI sur un cluster
Désactiver le CNI par défaut sur votre cluster
Pour installer et configurer votre propre CNI, vous devez d’abord désactiver l’installation par défaut du CNI en créant un cluster avec l’option set cni définie sur none :
|
Désactiver l’installation par défaut du CNI est une option de configuration avancée :
|
$ oks-cli cluster create \
--profile NAME_OF_PROFILE \
--cluster-name NAME_OF_CLUSTER \
--project-name NAME_OF_PROJECT \
--set cni=none
|
Pour en savoir plus, voir Créer un cluster. |
Installer Cilium manuellement sur votre cluster
Avant de commencer :
|
Une fois votre cluster créé avec l’option cni définie sur none, vous pouvez y installer manuellement une version de Cilium. Dans ce cas, vous serez responsable du déploiement, de la configuration, de la mise à jour et de la maintenance de Cilium.
|
-
Installez la version souhaitée de Cilium :
Exemple de requête$ cilium install --version CILIUM_VERSIONCilium détecte automatiquement que
kube-proxyn’est pas installé et remplace intégralement ses fonctionnalités.Pour en savoir plus, voir Versions de Cilum prises en charge.
-
Appliquez un manifeste de node pool pour créer des worker nodes pour le cluster :
Exemple de requête$ kubectl apply -f NODEPOOL_MANIFEST.yaml-
Pour en savoir plus sur la rédaction d’un manifeste de node pool, voir Référence des manifestes de node pool.
-
Les pods Cilium restent à l’état
Pendingjusqu’à ce que des worker nodes soient disponibles dans le cluster.
-
-
Vérifiez que les worker nodes sont à l’état
Ready:Exemple de requête$ kubectl get nodes -
Vérifiez que Cilium fonctionne correctement :
Exemple de requête$ cilium statusCilium est correctement installé lorsque les composants
Cilium,OperatoretEnvoy DaemonSetsont à l’étatOK. -
Vérifiez la connectivité réseau :
Exemple de requête$ cilium connectivity test
Vérifier votre configuration CNI avec kubectl
-
Une fois la configuration mise en place sur votre cluster, quelle que soit la méthode utilisée, vous pouvez vérifier la configuration CNI en récupérant votre fichier
kubeconfig:Exemple de requête$ export KUBECONFIG=`oks-cli cluster kubeconfig \ --project-name NOM_DU_PROJET \ --cluster-name NOM_DU_CLUSTER \ --print-path` -
Vérifiez les ressources déployées dans le namespace
kube-system:Exemple de requête$ kubectl get deployment -n kube-system
Si le CNI par défaut est installé, les ressources Cilium seront présentes dans le cluster.
|
Vous pouvez également vérifier son état à l’aide de la commande suivante : Exemple de requête
|
Pages connexes