Escalando horizontalmente em vários computadores
Agora que o AKS Edge Essentials está instalado em seu computador primário, este artigo descreve como você pode escalar horizontalmente seu cluster para outros computadores secundários para criar uma implantação de vários computadores.
Cuidado
O dimensionamento para nós adicionais é um recurso experimental.
Pré-requisitos
- Configure seu cluster escalonável do Kubernetes .
- Configure suas máquinas secundárias conforme descrito no artigo Configurar máquina. Você não pode misturar diferentes distribuições do Kubernetes em seu cluster. Se o cluster em sua máquina primária estiver executando o K8s, você também deverá instalar o MSI do K8s nas máquinas secundárias.
Etapa 1: obter a configuração do cluster do computador principal
No computador primário no qual você criou sua implantação escalonável, execute as etapas a seguir em uma janela do PowerShell com privilégios elevados para criar o arquivo de configuração apropriado com base em seus requisitos.
Para dimensionar adicionando um nó de trabalho somente Linux, crie o arquivo de configuração necessário usando o comando a seguir e especifique como
NodeType
"Linux" e forneça um endereço IP exclusivo e disponível para esse nó:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
Para dimensionar adicionando mais nó do plano de controle do Linux, especifique como
NodeType
"Linux", defina oControlPlane
sinalizador como true e forneça um endereço IP exclusivo para o nó do Linux:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
Para dimensionar adicionando um nó de trabalho somente Windows, especifique como
NodeType
"Windows" e forneça um endereço IP exclusivo para o nó Windows:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Windows -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
Para adicionar um nó de trabalho do Linux e do Windows, especifique como
NodeType
"LinuxAndWindows" e forneça um endereço IP exclusivo para os nós do Linux e do Windows:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
Para adicionar um nó do plano de controle do Linux e um nó de trabalho do Windows, especifique como
NodeType
"LinuxAndWindows", defina oControlPlane
sinalizador comotrue
e forneça um endereço IP exclusivo para os nós do Linux e do Windows:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
Esses comandos exportam os dados necessários para ingressar em um cluster no formato JSON, retornam-nos como uma string JSON e armazenam-nos no arquivo especificado via outFile
parâmetro.
Cuidado
Toda vez que você executa o New-AksEdgeScaleConfig
comando, o criado ClusterJoinToken
anteriormente se torna inválido, portanto, você não pode usar um arquivo ScaleConfig.json criado anteriormente. Além disso, ClusterJoinToken
é válido apenas por 24 horas.
Etapa 2: validar os parâmetros de configuração
O arquivo de configuração .\ScaleConfig.json inclui a configuração da máquina primária. Revise e atualize as seções necessárias e forneça detalhes relevantes para o computador para o qual você está dimensionando.
Verifique o
NetworkConnection.AdapterName
com referência à máquina secundária. Se você criou um comutador externo no Hyper-V no computador secundário, poderá optar por especificar os detalhes do vswitch no arquivo ScaleConfig.json . Se você não criar um comutador externo no gerenciador do Hyper-V e executar o comando, oNew-AksEdgeDeployment
AKS Edge Essentials criará automaticamente um comutador externo chamadoaksedgesw-ext
e o usará para sua implantação.Observação
Nesta versão, há um problema conhecido na criação automática de comutadores externos com o
New-AksEdgeDeployment
comando se você estiver usando um adaptador Wi-fi para o comutador. Nesse caso, primeiro crie o comutador externo usando o gerenciador do Hyper-V – Gerenciador de Comutador Virtual e mapeie o comutador para o adaptador Wi-Fi. Em seguida, forneça os detalhes da opção em seu JSON de configuração, conforme descrito nesta seção.O
Network.NetworkPlugin
éflannel
por padrão. Flanela é a CNI padrão para um cluster K3S. Para um cluster K8S, altere oNetworkPlugin
arquivo paracalico
.Verifique a configuração do recurso para os nós secundários. Você pode modificar esses parâmetros conforme necessário. Certifique-se de reservar memória suficiente para cada nó. Se você especificou
MacAddress
em sua máquina primária, verifique e forneça o endereço MAC correto relevante para a máquina secundária.Um número ímpar de nós do plano de controle é a única configuração com suporte. Portanto, se você quiser escalar/reduzir verticalmente seu plano de controle, certifique-se de ter um, três ou cinco nós do plano de controle.
Etapa 3: abrir um nó em sua máquina secundária
Agora você está pronto para ativar nós em suas máquinas secundárias e adicioná-los ao cluster.
Para implantar o nó correspondente no computador secundário, agora você pode usar o arquivo ScaleConfig.json criado na etapa anterior:
New-AksEdgeDeployment -JsonConfigFilePath .\ScaleConfig.json
Etapa 4: validar a configuração do cluster
Em qualquer nó do cluster, execute o seguinte cmdlet:
kubectl get nodes -o wide
Você deve ser capaz de ver todos os nós do cluster.
Etapa 5: adicionar mais nós
Você pode gerar um novo arquivo ScaleConfig com base no nodeType necessário repetindo as etapas de 1 a 4. Certifique-se de fornecer endereços IP disponíveis em sua rede sempre que adicionar um nó.
Etapa 6: adicionar o segundo nó (Linux/Windows) em uma máquina que já tenha um nó (opcional)
Você pode adicionar outro nó a uma máquina existente que já tenha um nó. Por exemplo, se sua máquina estiver executando um nó Linux, você poderá adicionar um nó Windows a ele:
New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -WindowsNodeIp "xxx" -outFile .\ScaleConfig.json | Out-Null
Você também pode especificar parâmetros como CpuCount
e/ou MemoryInMB
para sua VM do Windows.
Observação
Execute New-AksEdgeScaleConfig
somente em computadores que tenham o nó Linux com a função ControlPlane .
Você pode usar o arquivo de configuração gerado e executar o seguinte comando para adicionar o nó do Windows:
Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json
Você também pode especificar parâmetros como CpuCount
e/ou MemoryInMB
para sua VM do Windows aqui.