Implantação de uma única máquina

Você pode implantar o AKS Edge Essentials em uma única máquina ou em várias máquinas. Em uma única implantação do Kubernetes, 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 Kubernetes em sua máquina em uma rede privada.

Pré-requisitos

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

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

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

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

Este 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ó 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.

Consulte Configuração JSON de implantação para obter uma descrição detalhada dos parâmetros de configuração.

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

  • DeploymentType: Este parâmetro define o tipo de implantação e é especificado como SingleMachineCluster.
  • O Network.NetworkPlugin por padrão é flannel. Este é o padrão para um cluster K3S. Se você estiver usando um cluster K8S, altere a 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.MemoryInMBInit.ServiceIPRangeSize, e Network.InternetDisabled.

Etapa 2: criar um cluster de máquina única

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

Importante

O Kubernetes pod cidr é 10.42.0.0/16 para K3s e 10.244.0.0/24 para K8s. O Kubernetes service cidr é 10.43.0.0/16 para K3s e 10.96.0.0/12 para K8s.

Etapa 3: validar o 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)

Atenção

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 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)

Gorjeta

Consulte Configuração JSON de implantação para todas as opções disponíveis, incluindo configurações de rede, como configurações de proxy.

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
          }
       }
   ]
}

Nota

O AKS Edge Essentials aloca endereços IP do seu switch interno para executar seus serviços Kubernetes se você tiver especificado um ServiceIPRangeSizearquivo .

Você também pode optar por passar os parâmetros como uma cadeia de caracteres 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 misto

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óximos passos