Les clusters hybrides utilisent des plug-ins de réseau de conteneurs à la fois sur les nœuds du centre de données local et sur les nœuds de calcul cloud. Cette rubrique explique comment déployer et configurer le plug-in de réseau Terway sur les nœuds cloud.
Prérequis
Assurez-vous d'avoir :
Configuré les plug-ins de réseau de conteneurs pour les nœuds cloud et locaux. Consultez Configurer les plug-ins de réseau de conteneurs pour les nœuds cloud et locaux.
-
Pour le Scénario 2 : Réseau BGP et le Scénario 3 : Réseau hôte, configuré les paramètres de réseau Terway suivants lors de la création du cluster enregistré. Consultez Créer un cluster enregistré ACK One.
Cochez ou décochez la case IPvlanIPvlan selon vos besoins.
Configuré le vSwitch des pods.
Configuré le bloc CIDR de service.
Choisir un scénario
Choisissez le scénario qui correspond à votre réseau de conteneurs local.
|
Scénario |
Type de réseau local |
Exigence pour les nœuds cloud |
|
Flannel VXLAN, Calico IPIP ou Cilium VXLAN |
Aucune configuration supplémentaire requise — les nœuds cloud peuvent utiliser le même mode |
|
|
Border Gateway Protocol (BGP) |
Doit utiliser Terway. Suivez les étapes d'installation ci-dessous. |
|
|
Réseau hôte |
Doit utiliser Terway. Suivez les étapes d'installation ci-dessous. |
Scénario 1 : Réseau overlay
Si votre réseau local utilise un overlay, les nœuds cloud peuvent utiliser le même mode. Assurez-vous que les nœuds cloud peuvent extraire les images requises par le DaemonSet du plug-in de réseau.
Les modes de réseau overlay courants incluent :
Flannel VXLAN
Calico IPIP
Cilium VXLAN
Aucune installation supplémentaire n'est requise pour ce scénario.
Scénario 2 : Réseau BGP
Si votre réseau local utilise BGP, les nœuds cloud doivent utiliser Terway. Pour activer la communication réseau entre le cloud et l'environnement local, consultez Configurer BGP sur un routeur de bordure virtuelle (VBR).
Les nœuds cloud ajoutés par l'extension du pool de nœuds reçoivent le libellé alibabacloud.com/external=true. Par défaut, Terway est planifié uniquement sur ces nœuds.
Pour éviter les conflits de planification :
Le DaemonSet CNI local (par exemple, Calico en mode réflecteur de routes BGP) n'est pas planifié sur les nœuds cloud.
Le DaemonSet Terway n'est pas planifié sur les nœuds locaux.
Empêcher le CNI local de s'exécuter sur les nœuds cloud
Utilisez nodeAffinity pour empêcher le DaemonSet Calico d'être planifié sur les nœuds portant le libellé alibabacloud.com/external=true. Appliquez cette configuration à toute charge de travail qui doit rester dans l'environnement local.
La mise à jour correctrice du DaemonSet Calico le redémarre sur tous les nœuds concernés. Une affinité mal configurée peut perturber la mise en réseau des pods sur les nœuds locaux. Vérifiez le correctif avant de l'appliquer.
Mettez à jour le DaemonSet Calico :
cat <<EOF > calico-ds.patch
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: alibabacloud.com/external
operator: NotIn
values:
- "true"
EOF
kubectl -n kube-system patch ds calico-node -p "$(cat calico-ds.patch)"
Après l'application de ce correctif, le DaemonSet Calico (calico-node dans kube-system) s'exécute uniquement sur les nœuds locaux. Terway continue de s'exécuter uniquement sur les nœuds cloud.
Une fois les contraintes de planification vérifiées, passez à l'installation et la configuration du plug-in Terway.
Scénario 3 : Réseau hôte
Si votre réseau local utilise la mise en réseau hôte, assurez-vous que le DaemonSet Terway n'est pas planifié sur les nœuds locaux. Par défaut, Terway s'exécute uniquement sur les nœuds cloud portant le libellé alibabacloud.com/external=true, donc aucune configuration supplémentaire n'est nécessaire.
Passez à l'installation et la configuration du plug-in Terway.
Installer et configurer le plug-in Terway
Suivez ces étapes pour le Scénario 2 ou le Scénario 3. Chaque étape propose deux méthodes : la console ou l'interface CLI onectl.
Conseil : Utilisez onectl pour l'automatisation et les déploiements scriptés. Utilisez la console pour les configurations ponctuelles.
Étape 1 : Configurer les permissions RAM
Terway a besoin des permissions Resource Access Management (RAM) pour gérer les interfaces réseau élastiques (ENI) sur les instances Elastic Compute Service (ECS).
Configurer dans la console
-
Créez un utilisateur RAM et attachez la politique personnalisée suivante. Consultez Utiliser RAM pour accorder des permissions d'accès aux clusters et aux ressources cloud.
{ "Version": "1", "Statement": [ { "Action": [ "ecs:CreateNetworkInterface", "ecs:DescribeNetworkInterfaces", "ecs:AttachNetworkInterface", "ecs:DetachNetworkInterface", "ecs:DeleteNetworkInterface", "ecs:DescribeInstanceAttribute", "ecs:AssignPrivateIpAddresses", "ecs:UnassignPrivateIpAddresses", "ecs:DescribeInstances", "ecs:ModifyNetworkInterfaceAttribute" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "vpc:DescribeVSwitches" ], "Resource": [ "*" ], "Effect": "Allow" } ] } Connectez-vous à la console de gestion Container Service. Dans le volet de navigation de gauche, cliquez sur ClustersClusters.
Sur la page ClustersClusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, choisissez ConfigurationsConfigurations > SecretsSecrets.
-
Sur la page SecretsSecrets, cliquez sur Créer à partir de YAMLCreate from YAML. Saisissez le code YAML suivant pour créer un secret nommé
alibaba-addon-secret.Terway utilise la paire AccessKey de ce secret pour accéder aux services cloud. Ignorez cette étape si le secret existe déjà.
apiVersion: v1 kind: Secret metadata: name: alibaba-addon-secret namespace: kube-system type: Opaque stringData: access-key-id: <AccessKey ID of the RAM user> access-key-secret: <AccessKey secret of the RAM user>
Configurer avec onectl
Installez onectl sur votre machine locale. Consultez Utiliser onectl pour gérer les clusters enregistrés.
-
Accordez les permissions RAM à Terway :
onectl ram-user grant --addon terway-eniipSortie attendue :
Ram policy ack-one-registered-cluster-policy-terway-eniip granted to ram user ack-one-user-ce313528c3 successfully.
Étape 2 : Installer le plug-in Terway
Installer depuis la console
Connectez-vous à la console de gestion Container Service. Dans le volet de navigation de gauche, cliquez sur ClustersClusters.
Sur la page ClustersClusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Composants et modules complémentairesComponents and Add-ons.
-
Sur la page Composants et modules complémentairesComponents and Add-ons, cliquez sur l'onglet RéseauNetwork. Dans la section terway-eniipterway-eniip, cliquez sur InstallerInstall.
Installer avec onectl
Installez Terway :
onectl addon install terway-eniip
Sortie attendue :
Addon terway-eniip, version **** installed.
Étapes suivantes
Pour configurer la connectivité BGP entre les conteneurs cloud et locaux, consultez Configurer BGP sur un VBR.