Compartilhar via


Implantação de máquina única

Você pode implantar o AKS Edge Essentials em um único computador ou em vários computadores. Em uma implantação do Kubernetes de máquina única, o nó de controle do Kubernetes e o nó de trabalho são executados na mesma máquina. Este artigo descreve como criar o nó de controle do Kubernetes em sua máquina em uma rede privada.

Pré-requisitos

Configure sua máquina principal conforme descrito em Configurar a máquina.

Etapa 1: parâmetros de configuração de máquina única

Você pode gerar os parâmetros necessários para criar um único cluster de máquina usando o seguinte comando:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null

Esse comando cria um arquivo de configuração chamado aksedge-config.json que inclui a configuração necessária para criar um cluster de máquina única com um nó do Linux. O arquivo é criado em seu diretório de trabalho atual. Consulte os exemplos a seguir para obter mais opções para criar o arquivo de configuração. Uma descrição detalhada dos parâmetros de configuração está disponível aqui.

Os principais parâmetros para implantação de máquina única são:

  • DeploymentType: Este parâmetro define o tipo de implantação e é especificado como SingleMachineCluster.
  • O Network.NetworkPlugin padrão é flannel. Esse é o padrão para um cluster K3S. Se você estiver usando um cluster K8S, altere o CNI para calico.
  • Você pode definir os seguintes parâmetros de acordo com sua configuração de implantação, conforme descrito aqui: LinuxNode.CpuCount, LinuxNode.MemoryInMB, LinuxNode.DataSizeInGB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, Init.ServiceIPRangeSizee Network.InternetDisabled.

Etapa 2: criar um único cluster de computador

  1. Agora você pode executar o New-AksEdgeDeployment cmdlet para implantar um cluster do AKS Edge de computador único com um único nó do plano de controle do Linux:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Etapa 3: validar seu cluster

Confirme se a implantação foi bem-sucedida executando:

kubectl get nodes -o wide
kubectl get pods -A -o wide

A imagem a seguir mostra pods em um cluster K3S:

Captura de tela mostrando todos os pods em execução.

Etapa 4: Adicionar um nó de trabalho do Windows (opcional)

Cuidado

Os nós de trabalho do Windows são um recurso experimental nesta versão. Estamos trabalhando ativamente nesse recurso.

Se você quiser adicionar um nó do Windows a um cluster de máquina única somente Linux existente, primeiro crie o arquivo de configuração usando o seguinte comando:

New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -outFile .\ScaleConfig.json | Out-Null

Isso cria o arquivo de configuração ScaleConfig.json no diretório de trabalho atual. Você também pode modificar os parâmetros do nó do Windows no arquivo de configuração para especificar os recursos que precisam ser alocados para o nó do Windows. Com o arquivo de configuração, você pode executar o seguinte comando para adicionar o nó ao cluster de máquina única:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Exemplo de opções de implantação

Criar um objeto JSON com os parâmetros de configuração

Você pode editar programaticamente o objeto JSON e passá-lo como uma cadeia de caracteres:

$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096

New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)

Criar um cluster simples com o serviço NodePort

Você pode criar um cluster simples sem IPs de serviço (ServiceIPRangeSize definido como 0):

New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)

Alocar recursos para seus nós

Para se conectar ao Arc e implantar seus aplicativos com o GitOps, aloque quatro CPUs ou mais para o LinuxNode.CpuCount (poder de processamento), 4 GB ou mais para LinuxNode.MemoryinMB (RAM) e atribua um número maior que 0 ao ServiceIpRangeSize. Aqui, alocamos 10 endereços IP para seus serviços Kubernetes:

{
  "SchemaVersion": "1.5",
  "Version": "1.0",
  "DeploymentType": "SingleMachineCluster",
  "Init": {
    "ServiceIPRangeSize": 10
  },
  "Network": {
      "NetworkPlugin": "flannel"
  },
  "User": {
      "AcceptEula": true,
      "AcceptOptionalTelemetry": true
  },
  "Machines": [
       {
         "LinuxNode": {
              "CpuCount": 4,
              "MemoryInMB": 4096
          }
       }
   ]
}

Observação

O AKS Edge Essentials aloca endereços IP do comutador interno para executar os serviços do Kubernetes se você especificou um ServiceIPRangeSizearquivo .

Você também pode optar por passar os parâmetros como uma string JSON, conforme descrito anteriormente:

$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096

New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)

Criar um cluster de carga de trabalho mista

Você pode criar um cluster com nós Linux e Windows. Você pode criar o arquivo de configuração usando o comando:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null

Depois que o arquivo de configuração for criado, você poderá implantar o cluster usando o seguinte comando:

New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Próximas etapas