Os pods em clusters do Alibaba Cloud Container Compute Service (ACS) suportam IPv4 e IPv6. Adicione annotations aos metadados do pod para atribuir um endereço IPv6. Opcionalmente, configure a largura de banda pública de Internet para esse endereço.
Informações básicas
Embora os endereços IPv4 sejam amplamente utilizados, o espaço limitado de endereçamento restringe o desenvolvimento da Internet. Os endereços IPv6 resolvem essa limitação e permitem que mais tipos de dispositivos acessem a rede. Para obter mais informações, consulte O que é um gateway IPv6?.
Limitações
Um endereço por pod: Cada pod suporta apenas um endereço IPv6.
Especificações de recursos obrigatórias: Só é possível atribuir endereços IPv6 a pods com especificações explícitas de recursos de vCPU e memória.
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster ACS com pilha dupla IPv6 ativada. Consulte Crie um cluster ACS
Annotations
Adicione annotations aos metadados do pod para atribuir um endereço IPv6 e, opcionalmente, configurar a largura de banda de Internet para esse endereço.
|
Annotation |
Valor de exemplo |
Obrigatório |
Descrição |
|
|
|
Sim |
Atribui um endereço IPv6 ao pod. |
|
|
|
Não |
Ative o acesso público à Internet via IPv6 para o pod. Defina como |
|
|
|
Não |
Defina a largura de banda máxima de Internet para o endereço IPv6, em Mbit/s. Os intervalos válidos dependem do método de faturamento do gateway IPv6: pagamento por largura de banda permite de 1 a 2.000 Mbit/s; pagamento por tráfego permite de 1 a 1.000 Mbit/s. Se omitido quando |
Adicione as annotations na seção de metadados do pod, não nos metadados de nível superior do Deployment. Em um Deployment, insira-as em spec.template.metadata.annotations. As annotations só entram em vigor durante a criação do pod — adicioná-las ou modificá-las em um pod existente não surte efeito.
Atribuir um endereço IPv6 a um pod
-
Crie um arquivo chamado
nginx.yamlcom o seguinte conteúdo:apiVersion: apps/v1 kind: Deployment metadata: name: nginx labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx annotations: network.alibabacloud.com/enable-ipv6: "true" # Assign an IPv6 address to the pod. network.alibabacloud.com/ipv6-bandwidth-enable: "true" # Enable public Internet access over IPv6. network.alibabacloud.com/ipv6-bandwidth: 100M # Set peak Internet bandwidth to 100 Mbit/s. spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest ports: - containerPort: 80 -
Implante o Deployment:
kubectl apply -f nginx.yaml -
Verifique se o pod recebeu um endereço IPv6:
kubectl describe pod nginx-xxxxx-xxxxx | grep ipv6-addressA saída exibe o endereço IPv6 atribuído na annotation
network.alibabacloud.com/allocated-ipv6-address:network.alibabacloud.com/allocated-ipv6-address: 2408:4005:317:301:c870:xxxx:xxxx:xxxxCaso a annotation não apareça, verifique se:
O cluster ACS tem a pilha dupla IPv6 ativada.
O pod foi criado (não atualizado) com a annotation
network.alibabacloud.com/enable-ipv6: "true".