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 comoSingleMachineCluster
.- 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 paracalico
. - 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.ServiceIPRangeSize
, eNetwork.InternetDisabled
.
Etapa 2: criar um cluster de máquina única
- 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:
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 ServiceIPRangeSize
arquivo .
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