다음을 통해 공유


단일 컴퓨터 배포

AKS Edge Essentials를 단일 컴퓨터 또는 여러 컴퓨터에 배포할 수 있습니다. 단일 머신 Kubernetes 배포에서 Kubernetes 제어 노드와 작업자 노드는 모두 동일한 컴퓨터에서 실행됩니다. 이 문서에서는 프라이빗 네트워크의 컴퓨터에서 Kubernetes 제어 노드를 만드는 방법을 설명합니다.

필수 조건

컴퓨터 설정에 설명된 대로 기본 컴퓨터를 설정합니다.

1단계: 단일 컴퓨터 구성 매개 변수

다음 명령을 사용하여 단일 컴퓨터 클러스터를 만드는 데 필요한 매개 변수를 생성할 수 있습니다.

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

이 명령은 Linux 노드를 사용하여 단일 머신 클러스터를 만드는 데 필요한 구성을 포함하는 aksedge-config.json라는 구성 파일을 만듭니다. 파일이 현재 작업 디렉터리에 만들어집니다. 구성 파일을 만들기 위한 추가 옵션은 다음 예제를 참조하세요.

구성 매개 변수에 대한 자세한 설명은 배포 JSON 구성을 참조하세요.

단일 머신 배포의 주요 매개 변수는 다음과 같습니다.

2단계: 단일 컴퓨터 클러스터 만들기

  1. 이제 cmdlet을 New-AksEdgeDeployment 실행하여 단일 Linux 컨트롤 플레인 노드가 있는 단일 컴퓨터 AKS Edge 클러스터를 배포할 수 있습니다.
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Important

Kubernetes pod cidr10.42.0.0/16 K3 및 10.244.0.0/24 K8용입니다. Kubernetes service cidr10.43.0.0/16 K3 및 10.96.0.0/12 K8용입니다.

3단계: 클러스터 유효성 검사

다음을 실행하여 배포가 성공했는지 확인합니다.

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

다음 이미지는 K3S 클러스터의 Pod를 보여 줍니다.

실행 중인 모든 Pod를 보여 주는 스크린샷

4단계: Windows 작업자 노드 추가(선택 사항)

주의

Windows 작업자 노드는 이 릴리스의 실험적 기능입니다. 이 기능에 대해 적극적으로 작업하고 있습니다.

기존 Linux 전용 단일 컴퓨터 클러스터에 Windows 노드를 추가하려면 먼저 다음 명령을 사용하여 구성 파일을 만듭니다.

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

그러면 현재 작업 디렉터리에 ScaleConfig.json 구성 파일이 만들어집니다. 구성 파일에서 Windows 노드 매개 변수를 수정하여 Windows 노드에 할당해야 하는 리소스를 지정할 수도 있습니다. 구성 파일을 사용하여 다음 명령을 실행하여 노드를 단일 컴퓨터 클러스터에 추가할 수 있습니다.

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

배포 옵션 예제

구성 매개 변수를 사용하여 JSON 개체 만들기

프로그래밍 방식으로 JSON 개체를 편집하고 문자열로 전달할 수 있습니다.

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

프록시 설정과 같은 네트워크 설정을 포함하여 사용 가능한 모든 옵션에 대한 배포 JSON 구성을 참조하세요.

NodePort 서비스를 사용하여 간단한 클러스터 만들기

서비스 IP(ServiceIPRangeSize 0으로 설정)가 없는 간단한 클러스터를 만들 수 있습니다.

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

노드에 리소스 할당

Arc에 연결하고 GitOps를 사용하여 앱을 배포하려면 4개 이상의 LinuxNode.CpuCount CPU(처리 능력), 4GB 이상 LinuxNode.MemoryinMB (RAM)을 할당하고 0보다 큰 숫자를 할당합니다 ServiceIpRangeSize. 여기서는 Kubernetes 서비스에 대해 10개의 IP 주소를 할당합니다.

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

참고 항목

AKS Edge Essentials는 내부 스위치에서 IP 주소를 할당하여 지정된 경우 ServiceIPRangeSizeKubernetes 서비스를 실행합니다.

앞에서 설명한 대로 매개 변수를 JSON 문자열로 전달하도록 선택할 수도 있습니다.

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

혼합 워크로드 클러스터 만들기

Linux 및 Windows 노드를 모두 사용하여 클러스터를 만들 수 있습니다. 다음 명령을 사용하여 구성 파일을 만들 수 있습니다.

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

구성 파일이 만들어지면 다음 명령을 사용하여 클러스터를 배포할 수 있습니다.

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

다음 단계