여러 컴퓨터에서 스케일 아웃
이제 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
매개 변수를 지정할 수도 있습니다.
다음 단계
- 애플리케이션 배포 또는 Arc에 연결
- 개요
- AKS 클러스터 제거