O recurso de EIP do Terway foi descontinuado e não recebe mais manutenção. Utilize o add-on ack-extend-network-controller para gerenciar EIPs. Este tópico orienta você na migração de EIPs do Terway para o ack-extend-network-controller sem interromper os serviços.
Pré-requisitos
É necessário ter um cluster gerenciado pelo ACK ou um cluster dedicado do ACK com o Terway como plugin de rede. Consulte Criar um cluster gerenciado pelo ACK e Criar um cluster dedicado do ACK (não mais disponível).
Impacto
A migração não causa interrupções e não afeta as informações de EIP nem as cargas de trabalho.
Caso seu cluster utilize EIPs do Terway, siga este guia para migrar para o ack-extend-network-controller.
Se o seu cluster não usar EIPs do Terway, ignore esta migração.
Visão geral da migração
Ao ativar a migração de EIP no Terway, ele cria um resource PodEIP para cada EIP associado a um pod. O PodEIP gerencia as informações de EIP desse pod. Após a migração, o ack-extend-network-controller assume o gerenciamento dos EIPs.
Para ativar o recurso de EIP no Terway, consulte Casos de uso de atribuição automática de EIP.
Procedimento
-
Verifique se o ack-extend-network-controller está instalado no seu cluster. Em caso afirmativo, desinstale-o.
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em .
Na página Helm, localize o Release Name ack-extend-network-controller. Se existir, clique em Delete na coluna Actions para desinstalá-lo.
-
Atualize o plugin de rede Terway para a versão v1.6.0 ou posterior.
Consulte Gerenciar componentes.
-
Modifique o ConfigMap do Terway para ativar a migração de EIP.
ImportanteAo ativar a migração de EIP, o Terway cria um resource PodEIP para cada EIP associado a um pod e deixa de gerenciar os EIPs.
-
Edite o ConfigMap do Terway:
kubectl edit cm eni-config -n kube-system -
Altere a configuração em eni_conf.
Parâmetro
Valor
Descrição
enable_eip_pool
"true"
Se não estiver configurado ou definido como
"false", o recursoeipnão estará ativado e nenhuma migração será necessária.enable_eip_migrate
true
Defina como
truepara ativar a migração.Exemplo de configuração. Não modifique outros parâmetros.
# The preceding content is omitted. eni_conf: | { "version": "1", "enable_eip_pool": "true", "enable_eip_migrate": true, "vswitch_selection_policy": "ordered" } # The following content is omitted.
-
Após modificar a configuração, reinicie os pods do Terway:
kubectl delete pod -n kube-system -l app=terway-eniipDepois que os pods forem reiniciados, o Terway migra automaticamente os EIPs do cluster para o ack-extend-network-controller.
-
-
Verifique o status da migração nos logs do Terway. A saída
eip migrate finishedindica sucesso.-
Obtenha os nomes dos pods do Terway:
kubectl get pods -n kube-system | grep terwayA saída lista os nomes dos pods do Terway.
-
Visualize os logs de um pod do Terway:
kubectl logs -n kube-system <pod_name> # Replace <pod_name> with the name of your Terway pod.A presença de
eip migrate finishedna saída confirma que a migração foi concluída.Ds:[sg-2ze360hfgjtsemo2wyyj] InstanceID:i-2zed 5 VSwitchSelectionPolic I1013 03:44:40.082505 daemon.go:1596] subSys=network-service eip migrate finished
-
-
Confirme se os custom resources (CRs) PodEIP foram criados no cluster.
Consulte um CR migrado. Cada CR compartilha o nome e o namespace do seu pod correspondente.
kubectl get podeip -n {namespace} {name} # Replace {namespace} and {name} with the namespace and name of the pod associated with an EIP. Instale o ack-extend-network-controller pelo Marketplace e ative o recurso de EIP. Consulte Instalar ack-extend-network-controller pelo Marketplace.
-
Verifique se o status do resource PodEIP foi atualizado:
kubectl get podeip -n {namespace} {name} -o yaml # Replace {namespace} and {name} with the namespace and name of the pod associated with an EIP.Um campo
statusnão vazio indica que a função de EIP está operando corretamente.Um campo
statusvazio indica um problema. Verifique a configuração e os logs do ack-extend-network-controller.
Exemplo de saída:
Parâmetros:
Parâmetro
Descrição
spec.allocationType.type
-
Static: O pod utiliza um ID de EIP especificado. -
Auto: O Terway cria o EIP automaticamente.
spec.allocationType.releaseStrategy
-
Follow: O EIP é liberado quando o pod é excluído. Para cargas de trabalho stateless, a associação entre EIP e pod não é mantida. -
TTL: O EIP é liberado após uma duração especificada. Utilize esta opção para manter a associação entre EIP e pod em cargas de trabalho stateful.
-
Para desativar o recurso de EIP no Terway:
Defina
enable_eip_migratecomofalseou exclua esse parâmetro.Defina
enable_eip_poolcomo"false"ou exclua esse parâmetro.Reinicie os pods do Terway.