Share via


Implementação de máquina única

Pode implementar o AKS Edge Essentials num único computador ou em vários computadores. Numa implementação do Kubernetes num único computador, o nó de controlo do Kubernetes e o nó de trabalho são executados no mesmo computador. Este artigo descreve como criar o nó de controlo do Kubernetes no seu computador numa rede privada.

Pré-requisitos

Configure o computador principal conforme descrito no artigo Configurar computador .

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

Pode gerar os parâmetros necessários para criar um cluster de máquina única com o seguinte comando:

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

Este comando cria um ficheiro 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 ficheiro é criado no seu diretório de trabalho atual. Veja os exemplos seguintes para obter mais opções para criar o ficheiro de configuração. Está disponível aqui uma descrição detalhada dos parâmetros de configuração.

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

  • DeploymentType: este parâmetro define o tipo de implementação e é especificado como SingleMachineCluster.
  • A Network.NetworkPlugin predefinição é flannel. Esta é a predefinição para um cluster K3S. Se estiver a utilizar um cluster K8S, altere o CNI para calico.
  • Pode definir os seguintes parâmetros de acordo com a configuração de implementação , conforme descrito aqui: LinuxNode.CpuCount, LinuxNode.MemoryInMB, LinuxNode.DataSizeInGB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, Init.ServiceIPRangeSizee Network.InternetDisabled.

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

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

Passo 3: validar o cluster

Confirme que a implementação foi bem-sucedida ao executar:

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

A imagem seguinte mostra pods num cluster K3S:

Captura de ecrã a mostrar todos os pods em execução.

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

Atenção

Os nós de trabalho do Windows são uma funcionalidade experimental nesta versão. Estamos a trabalhar ativamente nesta funcionalidade.

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

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

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

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Opções de implementação de exemplo

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

Pode editar programaticamente o objeto JSON e transmiti-lo como uma cadeia:

$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

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 aos nós

Para ligar ao Arc e implementar as suas aplicações com o GitOps, aloque quatro CPUs ou mais para o LinuxNode.CpuCount (poder de processamento), 4 GB ou mais para LinuxNode.MemoryinMB (RAM) e para atribuir um número superior a 0 ao ServiceIpRangeSize. Aqui, alocamos 10 endereços IP para os seus serviços do 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 comutador interno para executar os seus serviços do Kubernetes, se tiver especificado um ServiceIPRangeSize.

Também pode optar por transmitir os parâmetros como uma cadeia 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 cargas de trabalho mistas

Pode criar um cluster com nós do Linux e do Windows. Pode criar o ficheiro de configuração com o comando :

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

Assim que o ficheiro de configuração for criado, pode implementar o cluster com o seguinte comando:

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

Passos seguintes