Os clusters ACK Edge cluster oferecem suporte à autonomia de nós de borda. Esse recurso garante que as aplicações em um nó de borda continuem em execução sem interrupções durante uma desconexão de rede entre a nuvem e a borda, evitando que sejam removidas ou migradas. Caso o nó de borda não seja autônomo, suas aplicações serão removidas após o término do período de tolerância. Este tópico descreve como defina as configurações de autonomia para seus nós de borda.
Pré-requisitos
Informações básicas
A autonomia do nó de borda pode ser ativada ou desativada. Por padrão, os nós de borda não são autônomos quando adicionados a um cluster.
Com a autonomia do nó de borda ativada, as aplicações no nó não são removidas e se recuperam automaticamente caso ocorra uma desconexão do plano de controle. Essa configuração é ideal para cenários de computação de borda com conectividade de rede instável.
Quando a autonomia está desativada, um nó que perde a conexão com o plano de controle deixa de enviar heartbeats. Seu status passa para Unavailable e os Pods no nó são removidos após o fim do período de tolerância.
Ative autonomia do nó
Console
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, clique em .
-
Na página Nodes, localize o nó desejado e escolha na coluna Actions.
NotaO botão Node Autonomy Setting aparece apenas para nós de borda.
Na caixa de diálogo Node Autonomy Setting, clique em OK.
Kubectl
Adicione a seguinte annotation a um nó de borda para ativar a autonomia do nó. Essa configuração se aplica somente a nós de borda.
kubectl annotate node <node-name> node.beta.openyurt.io/autonomy=true --overwrite
Também é possível configure uma duração de autonomia para o nó de borda.
A configuração de duração de autonomia está disponível apenas para clusters ACK Edge cluster que executam Kubernetes 1.28 ou superior. Após defina esse parâmetro, os Pods no nó não serão removidos se uma desconexão de rede entre nuvem e borda durar menos que o tempo especificado. Se a desconexão ultrapassar essa duração, os Pods serão removidos.
kubectl annotate node <node-name> node.alibabacloud.com/autonomy-duration=500s --overwrite
Verifique status de autonomia do nó
Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, clique em .
Na página Nodes, localize o nó desejado e escolha na coluna Actions.
Na aba Basic Information, localize a seção Status. Se o valor de Autonomy for True, a autonomia do nó está ativada.
Configure componente de cache
O EdgeHub armazena em cache os dados que os componentes do nó precisam do API Server para garantir seu funcionamento adequado durante uma desconexão de rede entre nuvem e borda. O diretório de cache em disco é /etc/kubernetes/cache.
Os dados em cache referem-se às informações de recursos trocadas com o API Server, como recursos de Pod e ConfigMap. Eles não incluem dados de negócios.
Caso você tenha componentes que dependam de dados do API Server para funcionar corretamente durante uma desconexão, siga as etapas abaixo:
Obtenha a string User-Agent do seu componente. Para componentes da comunidade, essa informação geralmente está disponível na documentação oficial ou em fóruns da comunidade.
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, clique em .
Altere o Namespace para kube-system, localize o ConfigMap cujo Name seja edge-hub-cfg e clique em Edit YAML à direita.
Inclua seu User-Agent na chave
cache_agentse clique em OK.Acesse o nó e navegue até o diretório
/etc/kubernetes/cachepara confirmar a existência de uma pasta com o nome do seu User-Agent.
Após concluir essa configuração, os dados trocados entre o componente e o API Server serão persistidos no disco do nó. Com a autonomia do nó ativada, o componente poderá recuperar essas informações do disco local para operar normalmente durante uma desconexão.