Les pods ECI prennent en charge les protocoles IPv4 et IPv6. Pour attribuer une adresse IPv6 à un pod, ajoutez des annotations aux métadonnées du pod lors de sa création.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé les blocs CIDR IPv6 pour le Virtual Private Cloud (VPC) dans lequel réside le pod. Consultez la rubrique Activation d'IPv6 pour un VPC.
Activé les blocs CIDR IPv6 pour le vSwitch auquel le pod est connecté. Consultez la rubrique Activation d'IPv6 pour un vSwitch.
Limites
Une seule adresse IPv6 par pod : Chaque pod ne peut recevoir qu'une seule adresse IPv6.
Compatibilité des types d'instance : Toutes les instances ECI créées en spécifiant le nombre de vCPU et la taille de la mémoire prennent en charge IPv6. Pour les instances créées en spécifiant des types d'instance Elastic Compute Service (ECS), vérifiez que le type d'instance sélectionné prend en charge IPv6 avant de poursuivre. Consultez la rubrique Présentation des familles d'instances.
Annotations applicables uniquement à la création : Les annotations ECI ne prennent effet que lors de la création d'un pod. L'ajout ou la modification d'annotations lors de la mise à jour d'un pod n'a aucun effet.
Annotations
Ajoutez des annotations à la section metadata de la configuration de votre pod. Pour un Deployment, ajoutez-les sous spec.template.metadata.annotations.
| Annotation | Exemple de valeur | Obligatoire | Description |
|---|---|---|---|
k8s.aliyun.com/eci-enable-ipv6 |
"true" |
Oui | Attribue une adresse IPv6 au pod |
k8s.aliyun.com/eci-ipv6-bandwidth-enable |
"true" |
Non | Active l'accès Internet via IPv6 pour le pod |
k8s.aliyun.com/eci-ipv6-bandwidth |
200 |
Non | Définit la bande passante Internet maximale (Mbit/s) pour l'adresse IPv6. Plage valide : 1–2 000 Mbit/s (facturation par bande passante) ou 1–1 000 Mbit/s (facturation par trafic). Si omis, la bande passante correspond par défaut au maximum pris en charge par la passerelle IPv6. |
Attribution d'une adresse IPv6
-
Ajoutez l'annotation requise à la configuration de votre pod. L'exemple suivant crée un Deployment avec IPv6 activé et un accès Internet configuré à 100 Mbit/s.
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-enable-ipv6: "true" # Assigns an IPv6 address to the pod. k8s.aliyun.com/eci-ipv6-bandwidth-enable: "true" # Enables Internet access over IPv6. k8s.aliyun.com/eci-ipv6-bandwidth: 100M # Sets the peak Internet bandwidth. spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80 -
Appliquez la configuration.
kubectl apply -f deployment.yaml
Vérification de l'adresse IPv6
Une fois le pod en cours d'exécution, exécutez la commande suivante pour afficher les détails du pod :
kubectl describe pod <pod-name>
Recherchez le champ k8s.aliyun.com/allocated-ipv6Address dans la section des annotations. Il contient l'adresse IPv6 attribuée.