다음을 통해 공유


여러 컴퓨터에서 스케일 아웃

이제 AKS Edge Essentials가 기본 컴퓨터에 설치되었으므로 이 문서에서는 클러스터를 다른 보조 컴퓨터로 확장하여 다중 머신 배포를 만드는 방법을 설명합니다.

주의

추가 노드로 크기 조정은 실험적 기능입니다.

필수 조건

  • 확장 가능한 Kubernetes 클러스터를 설정합니다.
  • 컴퓨터 설정 문서에 설명된 대로 보조 컴퓨터를 설정합니다. 클러스터에서 다른 Kubernetes 배포를 혼합할 수 없습니다. 기본 컴퓨터의 클러스터가 K8을 실행하는 경우 보조 머신에도 K8s MSI를 설치해야 합니다.

1단계: 기본 컴퓨터에서 클러스터 구성 가져오기

확장 가능한 배포를 만든 기본 컴퓨터에서 관리자 권한 PowerShell 창에서 다음 단계를 실행하여 요구 사항에 따라 적절한 구성 파일을 만듭니다.

  • Linux 전용 작업자 노드를 추가하여 크기를 조정하려면 다음 명령을 사용하여 필요한 구성 파일을 만들고 "Linux"로 지정 NodeType 하고 이 노드에 대해 고유하고 사용 가능한 IP 주소를 제공합니다.

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Linux 컨트롤 플레인 노드를 더 추가하여 크기를 조정하려면 "Linux"로 지정 NodeType 하고 플래그를 ControlPlane true로 설정하고 Linux 노드에 고유한 IP 주소를 제공합니다.

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
    
  • Windows 전용 작업자 노드를 추가하여 크기를 조정하려면 "Windows"로 지정 NodeType 하고 Windows 노드에 대한 고유한 IP 주소를 제공합니다.

      New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Windows -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Linux 및 Windows 작업자 노드를 추가하려면 "LinuxAndWindows"로 지정 NodeType 하고 Linux 및 Windows 노드 모두에 고유한 IP 주소를 제공합니다.

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Linux 컨트롤 플레인 노드와 Windows 작업자 노드를 추가하려면 "LinuxAndWindows"로 지정 NodeType 하고 플래그를 로 true설정하고 ControlPlane Linux 및 Windows 노드 모두에 고유한 IP 주소를 제공합니다.

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x  -ControlPlane -outFile .\ScaleConfig.json | Out-Null
    

이러한 명령은 JSON 형식으로 클러스터를 조인하고, JSON 문자열로 반환하고, 매개 변수를 통해 outFile 지정된 파일에 저장하는 데 필요한 데이터를 내보냅니다.

주의

명령을 실행할 New-AksEdgeScaleConfig 때마다 이전에 만든 ClusterJoinToken 파일이 유효하지 않으므로 이전에 만든 ScaleConfig.json 파일을 사용할 수 없습니다. ClusterJoinToken 또한 24시간 동안만 유효합니다.

2단계: 구성 매개 변수 유효성 검사

.\ScaleConfig.json 구성 파일에는 기본 컴퓨터의 구성이 포함됩니다. 필요한 섹션을 검토하고 업데이트하고 스케일링하는 컴퓨터와 관련된 세부 정보를 제공합니다.

  • NetworkConnection.AdapterName 보조 컴퓨터에 대한 참조를 사용하여 확인합니다. 보조 컴퓨터에서 Hyper-V에 외부 스위치를 만든 경우 ScaleConfig.json 파일에서 vswitch 세부 정보를 지정하도록 선택할 수 있습니다. Hyper-V 관리자에서 외부 스위치를 만들고 명령을 실행 New-AksEdgeDeployment 하지 않으면 AKS Edge Essentials는 자동으로 명명된 aksedgesw-ext 외부 스위치를 만들고 배포에 사용합니다.

    참고 항목

    이 릴리스에서는 스위치에 Wi-Fi 어댑터를 사용하는 경우 명령을 사용하여 외부 스위치 New-AksEdgeDeployment 를 자동으로 만드는 데 알려진 문제가 있습니다. 이 경우 먼저 Hyper-V 관리자 - 가상 스위치 관리자를 사용하여 외부 스위치를 만들고 스위치를 Wi-Fi 어댑터에 매핑합니다. 그런 다음, 이 섹션에 설명된 대로 구성 JSON에 스위치 세부 정보를 제공합니다.

  • 기본 Network.NetworkPlugin 값입니다 flannel . Flannel은 K3S 클러스터의 기본 CNI입니다. K8S 클러스터의 경우 다음으로 NetworkPlugin 변경합니다 calico.

  • 보조 노드에 대한 리소스 구성을 확인합니다. 필요에 따라 이러한 매개 변수를 수정할 수 있습니다. 각 노드에 충분한 메모리를 예약해야 합니다. 기본 컴퓨터에서 지정한 MacAddress 경우 보조 컴퓨터와 관련된 올바른 MAC 주소를 확인하고 제공합니다.

  • 홀수의 컨트롤 플레인 노드가 유일하게 지원되는 설정입니다. 따라서 컨트롤 플레인을 확장/축소하려면 컨트롤 플레인 노드가 하나, 3개 또는 5개 있는지 확인합니다.

3단계: 보조 컴퓨터에서 노드 가져오기

이제 보조 컴퓨터에서 노드를 가져와 클러스터에 추가할 준비가 되었습니다.

보조 컴퓨터에 해당 노드를 배포하려면 이제 이전 단계에서 만든 ScaleConfig.json 파일을 사용할 수 있습니다.

New-AksEdgeDeployment -JsonConfigFilePath .\ScaleConfig.json

4단계: 클러스터 설정 유효성 검사

클러스터의 모든 노드에서 다음 cmdlet을 실행합니다.

kubectl get nodes -o wide

클러스터의 모든 노드를 볼 수 있어야 합니다.

여러 노드를 보여 주는 스크린샷

5단계: 노드 추가

1-4단계를 반복하여 필요한 nodeType에 따라 새 ScaleConfig 파일을 생성할 수 있습니다. 노드를 추가할 때마다 네트워크에서 사용할 수 있는 IP 주소를 제공해야 합니다.

6단계: 노드가 이미 있는 컴퓨터에 두 번째 노드(Linux/Windows) 추가(선택 사항)

이미 노드가 있는 기존 컴퓨터에 다른 노드를 추가할 수 있습니다. 예를 들어 컴퓨터에서 Linux 노드를 실행하는 경우 Windows 노드를 추가할 수 있습니다.

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

Windows VM과 같은 CpuCount 매개 변수 및/또는 MemoryInMB 매개 변수를 지정할 수도 있습니다.

참고 항목

ControlPlane 역할이 있는 Linux 노드가 있는 컴퓨터에서만 실행 New-AksEdgeScaleConfig 합니다.

생성된 구성 파일을 사용하고 다음 명령을 실행하여 Windows 노드를 추가할 수 있습니다.

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

여기에서 Windows VM과 같은 CpuCount 매개 변수 및/또는 MemoryInMB 매개 변수를 지정할 수도 있습니다.

다음 단계