빠른 시작: PowerShell을 사용 하 여 Azure Stack HCI에서 Azure Kubernetes 서비스 호스트 설정Quickstart: Set up an Azure Kubernetes Service host on Azure Stack HCI using PowerShell

적용 대상: Azure Stack HCI, Windows Server 2019 DatacenterApplies to: Azure Stack HCI, Windows Server 2019 Datacenter

이 빠른 시작에서는 PowerShell을 사용 하 여 Azure Kubernetes Service 호스트를 설정 하는 방법을 알아봅니다.In this quickstart, you'll learn how to set up an Azure Kubernetes Service host using PowerShell. Windows 관리 센터를 대신 사용 하려면 Windows 관리 센터를 사용 하 여 설치를 참조 하세요.To instead use Windows Admin Center, see Set up with Windows Admin Center.

시작하기 전에Before you begin

다음 중 하나가 있는지 확인 합니다.Make sure you have one of the following:

  • 2-4 노드 Azure Stack HCI 클러스터2-4 node Azure Stack HCI cluster
  • Windows Server 2019 Datacenter 장애 조치 (failover) 클러스터Windows Server 2019 Datacenter failover cluster
  • 단일 노드 Windows Server 2019 DatacenterSingle node Windows Server 2019 Datacenter

시작 하기 전에 시스템 요구 사항 페이지에서 모든 필수 구성 요소를 충족 하는지 확인 합니다.Before getting started, make sure you have satisfied all the prerequisites on the system requirements page. 2-4 노드가 HCI 클러스터 Azure Stack 하는 것이 좋습니다.We recommend having a 2-4 node Azure Stack HCI cluster. 위의 내용이 없으면 AZURE STACK HCI 등록 페이지의 지침을 따르세요.If you don't have any of the above, follow instructions on the Azure Stack HCI registration page.

중요

Azure Stack HCI에서 Azure Kubernetes 서비스를 제거 하는 경우 AZURE STACK HCI에서 Azure Kubernetes Service 제거 를 참조 하 고 지침을 따르세요.When removing Azure Kubernetes Service on Azure Stack HCI, see Remove Azure Kubernetes Service on Azure Stack HCI and carefully follow the instructions.

1 단계: AksHci PowerShell 모듈 다운로드 및 설치Step 1: Download and install the AksHci PowerShell module

AKS-HCI-Public-Preview-Dec-2020 Azure Stack HCI 등록 페이지의 Azure Kubernetes 서비스에서를 다운로드 합니다.Download the AKS-HCI-Public-Preview-Dec-2020 from the Azure Kubernetes Service on Azure Stack HCI registration page. Zip 파일은 AksHci.Powershell.zip PowerShell 모듈을 포함 합니다.The zip file AksHci.Powershell.zip contains the PowerShell module.

PowerShell 또는 Windows 관리 센터를 사용 하 여 Azure Stack HCI에 Azure Kubernetes 서비스를 이전에 설치한 경우 새 PowerShell 모듈에 대 한 두 가지 설치 흐름이 있습니다.If you have previously installed Azure Kubernetes Service on Azure Stack HCI using PowerShell or Windows Admin Center, there are two installation flows for the new PowerShell module:

  • PowerShell 모듈을 새로 설치 합니다. 따라서 깨끗 한 시스템에서 시작 하 고 이전에 배포 된 워크 로드는 제거 됩니다.Perform a clean installation of the PowerShell module, so you start with a clean system and your previously deployed workloads are removed. 새로 설치를 수행 하려면 1.1 단계로 이동 합니다.To perform a clean installation, go to Step 1.1.
  • 시스템 및 워크 로드를 유지 하려면 PowerShell 모듈을 업그레이드 합니다.Upgrade the PowerShell module if you want to keep your system and workloads in place. PowerShell 모듈을 업그레이드 하려면 1.2 단계로 이동 합니다.To upgrade the PowerShell module, go to Step 1.2.

1.1 단계: AksHci PowerShell 모듈을 새로 설치 합니다.Step 1.1: Clean install of the AksHci PowerShell module

계속 하기 전에 다음 명령을 실행 합니다.Run the following command before proceeding.

Uninstall-AksHci

모든 PowerShell 창을 닫습니다.Close all PowerShell windows. 경로에 있는 AksHci, AksHci, 모드 및 MSK8sDownloadAgent에 대 한 기존 디렉터리를 삭제 %systemdrive%\program files\windowspowershell\modules 합니다.Delete any existing directories for AksHci, AksHci.UI, MOC, and MSK8sDownloadAgent located in the path %systemdrive%\program files\windowspowershell\modules. 기존 디렉터리를 삭제 한 후에는 새 zip 파일의 내용을 추출할 수 있습니다.Once the existing directories are deleted, you can extract the contents of the new zip file. 올바른 위치 ()에서 zip 파일을 추출 해야 %systemdrive%\program files\windowspowershell\modules 합니다.Make sure to extract the zip file in the correct location (%systemdrive%\program files\windowspowershell\modules). 그런 다음, 다음 명령을 실행 합니다.Then, run the following commands.

Import-Module AksHci

모든 PowerShell 창을 닫았다가 다시 열고 관리 세션을 다시 열고 1.3 단계-업그레이드 된 PowerShell 모듈 유효성 검사를 진행 합니다.Close all PowerShell windows again and reopen an administrative session and proceed to Step 1.3 - Validate upgraded PowerShell module.

1.2 단계: AksHci PowerShell 모듈 업그레이드Step 1.2: Upgrade the AksHci PowerShell module

모든 PowerShell 창을 닫습니다.Close all PowerShell windows. 경로에 있는 AksHci, AksHci, 모드 및 MSK8sDownloadAgent에 대 한 기존 디렉터리를 삭제 %systemdrive%\program files\windowspowershell\modules 합니다.Delete any existing directories for AksHci, AksHci.UI, MOC, and MSK8sDownloadAgent located in the path %systemdrive%\program files\windowspowershell\modules. 이러한 디렉터리가 제거 되 면 새 zip 파일의 내용을 추출할 수 있습니다.Once these directories are removed, you can extract the contents of the new zip file. 올바른 위치 ()에서 zip 파일을 추출 해야 %systemdrive%\program files\windowspowershell\modules 합니다.Make sure to extract the zip file in the correct location (%systemdrive%\program files\windowspowershell\modules). 그런 다음, 다음 명령을 실행 합니다.Then, run the following commands.

Import-Module AksHci

위의 명령을 실행 한 후에는 모든 PowerShell 창을 닫고 관리 세션을 다시 열어 아래에 설명 된 대로 PowerShell 모듈 업그레이드의 유효성을 검사 한 다음 Update-AksHci 문서 뒷부분에 설명 된 대로 명령을 실행 합니다.After running the above commands, close all PowerShell windows and reopen an administrative session to validate PowerShell module upgrade as detailed below and then run the Update-AksHci command as instructed later in the document.

1.3 단계: 업그레이드 된 PowerShell 모듈 유효성 검사Step 1.3: Validate upgraded PowerShell module

Powershell 모듈의 최신 버전이 있는지 확인 하려면 모든 powershell 창을 닫고 새 관리 세션을 다시 엽니다.Close all PowerShell windows and reopen a new administrative session to check if you have the latest version of the PowerShell module.

Get-Command -Module AksHci

출력:Output:

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Initialize-AksHciNode                              0.2.12     AksHci
Function        Get-AksHciCluster                                  0.2.12     AksHci
Function        Get-AksHciConfig                                   0.2.12     AksHci
Function        Get-AksHciCredential                               0.2.12     AksHci
Function        Get-AksHciKubernetesVersion                        0.2.12     AksHci
Function        Get-AksHciLogs                                     0.2.12     AksHci
Function        Get-AksHciUpdates                                  0.2.12     AksHci
Function        Get-AksHciVersion                                  0.2.12     AksHci
Function        Get-AksHciVmSize                                   0.2.12     AksHci
Function        Install-AksHci                                     0.2.12     AksHci
Function        Install-AksHciAdAuth                               0.2.12     AksHci
Function        Install-AksHciArcOnboarding                        0.2.12     AksHci
Function        New-AksHciCluster                                  0.2.12     AksHci
Function        Remove-AksHciCluster                               0.2.12     AksHci
Function        Restart-AksHci                                     0.2.12     AksHci
Function        Set-AksHciClusterNodeCount                         0.2.12     AksHci
Function        Set-AksHciConfig                                   0.2.12     AksHci
Function        Uninstall-AksHci                                   0.2.12     AksHci
Function        Uninstall-AksHciAdAuth                             0.2.12     AksHci
Function        Uninstall-AksHciArcOnboarding                      0.2.12     AksHci
Function        Update-AksHci                                      0.2.12     AksHci
Function        Update-AksHciCluster                               0.2.12     AksHci

2 단계: 배포를 위한 컴퓨터 준비Step 2: Prepare your machine(s) for deployment

모든 실제 노드에서 검사를 실행 하 여 Azure Stack HCI에 Azure Kubernetes Service를 설치 하기 위한 모든 요구 사항이 충족 되는지 확인 합니다.Run checks on every physical node to see if all the requirements are satisfied to install Azure Kubernetes Service on Azure Stack HCI.

관리자 권한으로 PowerShell을 열고 다음 명령을 실행 합니다.Open PowerShell as an administrator and run the following command.

Initialize-AksHciNode

검사가 완료 되 면 녹색 텍스트로 표시 되는 "완료 됨"이 표시 됩니다.When the checks are finished, you'll see "Done" displayed in green text.

3 단계: 배포 구성Step 3: Configure your deployment

Azure Kubernetes 서비스 호스트에 대 한 구성 설정을 설정 합니다.Set the configuration settings for the Azure Kubernetes Service host. 2-4 노드 Azure Stack HCI 클러스터 또는 Windows Server 2019 Datacenter 장애 조치 (failover) 클러스터에 배포 하는 경우 imageDir 및 매개 변수를 지정 해야 합니다 cloudConfigLocation .If you're deploying on a 2-4 node Azure Stack HCI cluster or a Windows Server 2019 Datacenter failover cluster, you must specify the imageDir and cloudConfigLocation parameters. 단일 노드 Windows Server 2019 Datacenter의 경우 모든 매개 변수는 선택 사항이 며 기본값으로 설정 됩니다.For a single node Windows Server 2019 Datacenter, all parameters are optional and set to their default values. 그러나 최적의 성능을 위해서는 2-4 노드 AZURE STACK HCI 클러스터 배포를 사용 하는 것이 좋습니다.However, for optimal performance, we recommend using a 2-4 node Azure Stack HCI cluster deployment.

다음 명령을 사용 하 여 배포를 구성 합니다.Configure your deployment with the following command.

Set-AksHciConfig [-imageDir <String>]
                 [-cloudConfigLocation <String>]
                 [-nodeConfigLocation <String>]
                 [-vnetName <String>]
                 [-controlPlaneVmSize <VmSize>]
                 [-loadBalancerVmSize <VmSize>]
                 [-sshPublicKey <String>]
                 [-vipPoolStartIp <String>]
                 [-vipPoolEndIp <String>]
                 [-macPoolStart <String>]
                 [-macPoolEnd <String>]
                 [-vlanID <int>]
                 [-kvaLoadBalancerType {unstacked_haproxy, stacked_kube_vip}]
                 [-kvaControlPlaneEndpoint <String>]
                 [-proxyServerHTTP <String>]
                 [-proxyServerHTTPS <String>]
                 [-proxyServerNoProxy <String>]
                 [-proxyServerCredential <PSCredential>]
                 [-cloudServiceCidr <String>]
                 [-workingDir <String>]
                 [-version <String>]
                 [-vnetType <String>]
                 [-nodeAgentPort <int>]
                 [-nodeAgentAuthorizerPort <int>]
                 [-clusterRoleName <String>]
                 [-cloudLocation <String>]
                 [-skipHostLimitChecks]
                 [-insecure]
                 [-skipUpdates]
                 [-forceDnsReplication]

예제Example

DHCP 네트워킹을 사용 하 여 2-4 노드 클러스터에 배포 하려면:To deploy on a 2-4 node cluster with DHCP networking:

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config

가상 IP 풀을 사용 하 여 배포 하려면:To deploy with a virtual IP pool:

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vipPoolStartIp 10.0.0.20 -vipPoolEndIp 10.0.0.80

부하 분산 장치를 사용 하 여 배포 하려면 stacked_kube_vip :To deploy with stacked_kube_vip load balancer:

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -kvaLoadBalancerType stacked_kube_vip -kvaControlPlaneEndpoint 10.0.1.10

프록시 서버를 사용 하 여 배포 하려면:To deploy with a proxy server:

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -proxyServerHttp "http://proxy.contoso.com:8888" -proxyServerHttps "http://proxy.contoso.com:8888" -proxyServerNoProxy "localhost,127.0.0.1,.svc,10.96.0.0/12,10.244.0.0/16,10.231.110.0/24,10.68.237.0/24" -proxyServerCredential $credential

선택적 매개 변수Optional parameters

-imageDir

Azure Stack HCI의 Azure Kubernetes Service가 해당 VHD 이미지를 저장 하는 디렉터리의 경로입니다.The path to the directory where Azure Kubernetes Service on Azure Stack HCI will store its VHD images. %systemdrive%\AksHciImageStore단일 노드 배포의 경우 기본적으로로 설정 됩니다.Defaults to %systemdrive%\AksHciImageStore for single node deployments. 다중 노드 배포의 경우이 매개 변수를 지정 해야 합니다.For multi-node deployments, this parameter must be specified. 경로는 같은 공유 저장소 경로를 가리켜야  C:\ClusterStorage\Volume2\ImageStore   하거나와 같은 SMB 공유를 가리켜야 합니다  \\FileShare\ImageStore .The path must point to a shared storage path such as C:\ClusterStorage\Volume2\ImageStore or an SMB share such as \\FileShare\ImageStore.

-cloudConfigLocation

클라우드 에이전트가 구성을 저장할 위치입니다.The location where the cloud agent will store its configuration. %systemdrive%\wssdcloudagent단일 노드 배포의 경우 기본적으로로 설정 됩니다.Defaults to %systemdrive%\wssdcloudagent for single node deployments. 위치는 위의 경로와 동일할 수 있습니다  -imageDir .The location can be the same as the path of -imageDir above.다중 노드 배포의 경우이 매개 변수를 지정 해야 합니다. For *multi-node deployments, this parameter must be specified*. 경로는 같은 공유 저장소 경로를 가리켜야  C:\ClusterStorage\Volume2\ImageStore   하거나와 같은 SMB 공유를 가리켜야 합니다  \\FileShare\ImageStore .The path must point to a shared storage path such as C:\ClusterStorage\Volume2\ImageStore or an SMB share such as \\FileShare\ImageStore. 이 위치는 항상 사용 가능한 공유에 있어야 저장소에 항상 액세스할 수 있습니다.The location needs to be on a highly available share so that the storage will always be accessible.

-nodeConfigLocation

노드 에이전트가 구성을 저장할 위치입니다.The location where the node agents will store their configuration. 모든 노드에는 노드 에이전트가 있으므로 해당 노드에 대 한 구성이 로컬에 있습니다.Every node has a node agent, so its configuration is local to it. 이 위치는 로컬 경로 여야 합니다.This location must be a local path. %systemdrive%\programdata\wssdagent모든 배포에 대해 기본적으로로 설정 됩니다.Defaults to %systemdrive%\programdata\wssdagent for all deployments.

-vnetName

가상 컴퓨터를 연결할 가상 스위치의 이름입니다.The name of the virtual switch to connect the virtual machines to. 호스트에 외부 스위치가 이미 있는 경우 여기에 스위치 이름을 전달 해야 합니다.If you already have an external switch on the host, you should pass the name of the switch here. 스위치가 없으면 생성 됩니다.The switch will be created if it does not exist.기본값은 "외부" 이름입니다. Defaults to “External” name.

-controlPlaneVmSize

컨트롤 평면에 대해 만들 VM의 크기입니다.The size of the VM to create for the control plane. 사용 가능한 VM 크기 목록을 가져오려면를 실행 Get-AksHciVmSize 합니다.To get a list of available VM sizes, run Get-AksHciVmSize.

-loadBalancerVmSize

Load Balancer Vm에 대해 만들 VM의 크기입니다.The size of the VM to create for the Load Balancer VMs. 사용 가능한 VM 크기 목록을 가져오려면를 실행 Get-AksHciVmSize 합니다.To get a list of available VM sizes, run Get-AksHciVmSize.

-sshPublicKey

SSH 공개 키 파일의 경로입니다.Path to an SSH public key file. 이 공개 키를 사용 하 여 Azure Stack HCI 배포에서 Azure Kubernetes 서비스에 의해 생성 된 Vm에 로그인 할 수 있습니다.Using this public key, you will be able to log in to any of the VMs created by the Azure Kubernetes Service on Azure Stack HCI deployment. 사용자 고유의 SSH 공개 키가 있는 경우 여기에 해당 위치를 전달 합니다.If you have your own SSH public key, you will pass its location here. 키를 제공 하지 않으면에서 하나를 찾습니다 %systemdrive%\akshci\.ssh\akshci_rsa.pub .If no key is provided, we will look for one under %systemdrive%\akshci\.ssh\akshci_rsa.pub. 파일이 없으면 위의 위치에 SSH 키 쌍이 생성 되 고 사용 됩니다.If the file does not exist, an SSH key pair in the above location will be generated and used.

-vipPoolStartIp

배포에 VIP 풀을 사용 하는 경우이 매개 변수는 풀의 네트워크 시작을 지정 합니다.When using VIP pools for your deployment, this parameter specifies the network start of the pool. IP 주소 풀이 일관 되 게 유지 되도록 하려면 장기 배포에 VIP 풀을 사용 해야 합니다.You should use VIP pools for long-lived deployments to guarantee that a pool of IP addresses remain consistent. 이는 항상 연결할 수 있어야 하는 작업이 있는 경우에 유용 합니다.This is useful when you have workloads that always need to be reachable. 기본값은 none입니다.Default is none.

-vipPoolEndIp

배포에 VIP 풀을 사용 하는 경우이 매개 변수는 풀의 네트워크 끝을 지정 합니다.When using VIP pools for your deployment, this parameter specifies the network end of the pool. IP 주소 풀이 일관 되 게 유지 되도록 하려면 장기 배포에 VIP 풀을 사용 해야 합니다.You should use VIP pools for long-lived deployments to guarantee that a pool of IP addresses remain consistent. 이는 항상 연결할 수 있어야 하는 작업이 있는 경우에 유용 합니다.This is useful when you have workloads that always need to be reachable. 기본값은 none입니다.Default is none.

-macPoolStart

Azure Kubernetes Service 호스트 VM에 사용할 MAC 풀의 MAC 주소 시작을 지정 하는 데 사용 됩니다.This is used to specify the start of the MAC address of the MAC pool that you wish to use for the Azure Kubernetes Service host VM. MAC 주소 구문을 사용 하려면 첫 번째 바이트의 최하위 비트는 항상 0 이어야 하 고 첫 번째 바이트는 항상 짝수 여야 합니다 (즉, 00, 02, 04, 06 ...). 일반적인 MAC 주소는 02:1E: 2B: 78:00:00과 같을 수 있습니다.The syntax for the MAC address requires that the least significant bit of the first byte should always be 0, and the first byte should always be an even number (that is, 00, 02, 04, 06...). A typical MAC address can look like: 02:1E:2B:78:00:00. 할당 된 MAC 주소가 일관 되도록 수명이 긴 배포에는 MAC 풀을 사용 합니다.Use MAC pools for long-lived deployments so that MAC addresses assigned are consistent. Vm에 특정 MAC 주소가 있어야 한다는 요구 사항이 있는 경우에 유용 합니다.This is useful if you have a requirement that the VMs have specific MAC addresses. 기본값은 none입니다.Default is none.

-macPoolEnd

Azure Kubernetes Service 호스트 VM에 사용 하려는 MAC 풀의 MAC 주소 끝을 지정 하는 데 사용 됩니다.This is used to specify the end of the MAC address of the MAC pool that you wish to use for the Azure Kubernetes Service host VM. MAC 주소 구문을 사용 하려면 첫 번째 바이트의 최하위 비트는 항상 0 이어야 하 고 첫 번째 바이트는 항상 짝수 여야 합니다 (즉, 00, 02, 04, 06 ...). 로 전달 된 주소의 첫 번째 바이트는 -macPoolEnd 로 전달 된 주소의 첫 번째 바이트와 동일 해야 합니다 -macPoolStart .The syntax for the MAC address requires that the least significant bit of the first byte should always be 0, and the first byte should always be an even number (that is, 00, 02, 04, 06...). The first byte of the address passed as the -macPoolEnd should be the same as the first byte of the address passed as the -macPoolStart. 할당 된 MAC 주소가 일관 되도록 수명이 긴 배포에는 MAC 풀을 사용 합니다.Use MAC pools for long-lived deployments so that MAC addresses assigned are consistent. Vm에 특정 MAC 주소가 있어야 한다는 요구 사항이 있는 경우에 유용 합니다.This is useful if you have a requirement that the VMs have specific MAC addresses. 기본값은 none입니다.Default is none.

-vlanID

네트워크 VLAN ID를 지정 하는 데 사용할 수 있습니다.This can be used to specify a network VLAN ID. Azure Kubernetes Service host 및 Kubernetes cluster VM 네트워크 어댑터에는 제공 된 VLAN ID로 태그가 지정 됩니다.Azure Kubernetes Service host and Kubernetes cluster VM network adapters will be tagged with the provided VLAN ID. 올바른 연결을 얻기 위해 태그를 지정 해야 하는 특정 VLAN ID가 있는 경우이를 사용 해야 합니다.This should be used if there is a specific VLAN ID that needs to be tagged to get the right connectivity. 기본값은 none입니다.Default is none.

-kvaLoadBalancerType

이는 또는 중 하나를 사용 unstacked_haproxy stacked_kube_vip 합니다.This takes in either unstacked_haproxy or stacked_kube_vip. unstacked_haproxy 는 별도의 부하 분산 장치 VM이 Azure Kubernetes Service 호스트의 API 서버 끝점으로 HAProxy을 사용 하 여 배포 되는 기본입니다.unstacked_haproxy is the default where a separate load balancer VM is deployed with HAProxy as the Azure Kubernetes Service host's API server endpoint. stacked_kube_vip는 Azure Kubernetes 서비스 호스트에 대 한 부하 분산 장치 솔루션 Kubevip입니다.stacked_kube_vipis a load balancer solution, Kubevip, for the Azure Kubernetes Service host. 이를 통해 호스트의 고정 IP 주소를 제어 평면 노드 전체에서 부동 IP로 지정 하 여 API 서버를 IP를 통해 항상 사용 가능 하 게 유지할 수 있습니다.It allows you to specify a static IP address in the host as a floating IP across the control plane nodes to keep the API server highly available through the IP. 이 옵션을 선택 하는 경우 매개 변수에서 고정 IP 주소를 지정 해야 kvaControlPlaneEndpoint 하 고 별도의 부하 분산 장치 VM은 배포 되지 않습니다.If this option is chosen, you must specify the static IP address in the kvaControlPlaneEndpoint parameter, and no separate load balancer VM is deployed.

stacked_kube_vip 에는 IP 주소가 필요 하며 메모리, CPU 및 배포 시간을 절약 하 여 더 많은 리소스가 필요 합니다.stacked_kube_vip requires an IP address and is more resource friendly by saving memory, CPU, and deployment time. 부동 IP로 사용할 IP 주소가 없는 경우을 사용 해야 unstacked_haproxy 합니다.If you do not have an IP address to use as the floating IP, you should use unstacked_haproxy. 후자 옵션을 사용 하려면 부하 분산 장치 VM이 있어야 합니다.The latter option requires a load balancer VM.

-kvaControlPlaneEndpoint

매개 변수가로 설정 된 경우 Azure Kubernetes Service 호스트 API 서버 주소로 사용할 고정 IP 주소를 지정 합니다 kvaLoadBalancerType stacked_kube_vip .This specifies the static IP address to use as the Azure Kubernetes Service Host API server address when the kvaLoadBalancerType parameter is set to stacked_kube_vip. stacked_kube_vip을 사용 하는 경우이 매개 변수를 지정 해야 합니다.If stacked_kube_vip is used, this parameter must be specified.

-proxyServerHTTP

HTTP 끝점에 도달 해야 하는 모든 구성 요소에서 사용 해야 하는 프록시 서버 URI를 제공 합니다.This provides a proxy server URI that should be used by all components that need to reach HTTP endpoints. Uri 형식에는 URI 스키마, 서버 주소 및 포트 ()가 포함 됩니다 https://server.com:8888) .The URI format includes the URI schema, server address, and port (that is, https://server.com:8888). 기본값은 none입니다.Default is none.

-proxyServerHTTPS

HTTPS 끝점에 도달 해야 하는 모든 구성 요소에서 사용 해야 하는 프록시 서버 URI를 제공 합니다.This provides a proxy server URI that should be used by all components that need to reach HTTPS endpoints. Uri 형식에는 URI 스키마, 서버 주소 및 포트 ()가 포함 됩니다 https://server.com:8888) .The URI format includes the URI schema, server address, and port (that is, https://server.com:8888). 기본값은 none입니다.Default is none.

-proxyServerNoProxy

이는 프록시에서 제외 되는 쉼표로 구분 된 주소 문자열입니다.This is a comma-delimited string of addresses that will be exempt from the proxy. 기본값은 localhost,127.0.0.1,.svc,10.96.0.0/12,10.244.0.0/16여야 합니다.Default value is localhost,127.0.0.1,.svc,10.96.0.0/12,10.244.0.0/16. 그러면 프록시 서버에서 localhost 트래픽 (localhost, 127.0.0.1), 내부 Kubernetes 서비스 트래픽 (.svc), Kubernetes 서비스 CIDR (10.96.0.0/12) 및 Kubernetes POD CIDR (10.244.0.0/16)이 제외 됩니다.This excludes the localhost traffic (localhost, 127.0.0.1), internal Kubernetes service traffic (.svc), the Kubernetes Service CIDR (10.96.0.0/12), and the Kubernetes POD CIDR (10.244.0.0/16) from the proxy server. 이 매개 변수를 사용 하 여 서브넷 범위 또는 이름 예외를 더 추가할 수 있습니다.You can use this parameter to add more subnet ranges or name exemptions. 이 매개 변수에 대 한 설정은 올바르게 구성 되지 않은 경우 내부 Kubernetes 클러스터 트래픽을 예기치 않게 프록시로 라우팅할 수 있으므로 매우 중요 합니다. 이로 인해 네트워크 통신에서 다양 한 오류가 발생할 수 있습니다.The settings for this parameter are very important because, if it's not correctly configured, you may unexpectedly route internal Kubernetes cluster traffic to your proxy. This can cause various failures in network communication.

-proxyServerCredential

HTTP/HTTPS 프록시 서버를 인증 하기 위한 사용자 이름과 암호를 제공 합니다.This provides the username and password to authenticate to your HTTP/HTTPS proxy servers. Get-Credential를 사용 하 여 PSCredential 이 매개 변수에 전달할 개체를 생성할 수 있습니다.You can use Get-Credential to generate a PSCredential object to pass to this parameter. 기본값은 none입니다.Default is none.

-cloudServiceCidr

모드 CloudAgent 서비스에 할당할 고정 IP/네트워크 접두사를 제공 하는 데 사용할 수 있습니다.This can be used to provide a static IP/network prefix to be assigned to the MOC CloudAgent service. 이 값은 CIDR 형식을 사용 하 여 제공 해야 합니다.This value should be provided using the CIDR format. (예: 192.168.1.2/16).(Example: 192.168.1.2/16). IP 주소가 변경 되지 않기 때문에 네트워크에서 중요 한 모든 항목에 액세스할 수 있도록이를 지정 하는 것이 좋습니다.You may want to specify this to ensure that anything important on the network is always accessible because the IP address will not change. 기본값은 none입니다.Default is none.

-workingDir

이 디렉터리는 작은 파일을 저장 하는 데 사용 하는 모듈에 대 한 작업 디렉터리입니다.This is a working directory for the module to use for storing small files. 기본값은로 설정 %PROGRAMFILES%\AksHci   되며 대부분의 배포에서 변경 하면 안 됩니다.Defaults to %PROGRAMFILES%\AksHci and should not be changed for most deployments.기본값을 변경 하지 않는 것이 좋습니다. We do not recommend changing the default.

-version

배포 하려는 Azure Stack HCI의 Azure Kubernetes Service 버전.The version of Azure Kubernetes Service on Azure Stack HCI that you want to deploy. 기본값은 최신 버전입니다.The default is the latest version. 기본값을 변경 하지 않는 것이 좋습니다.We do not recommend changing the default.

-vnetType

연결 하거나 만들 가상 스위치의 유형입니다.The type of virtual switch to connect to or create. 기본값은 "External" 스위치 유형입니다.This defaults to “External” switch type. 기본값을 변경 하지 않는 것이 좋습니다.We do not recommend changing the default.

-nodeAgentPort

노드 에이전트가 수신 해야 하는 TCP/IP 포트 번호입니다.The TCP/IP port number that node agents should listen on. 기본값은 45000입니다.Defaults to 45000.기본값을 변경 하지 않는 것이 좋습니다. We do not recommend changing the default.

-nodeAgentAuthorizerPort

노드 에이전트가 권한 부여 포트에 사용 해야 하는 TCP/IP 포트 번호입니다.The TCP/IP port number that node agents should use for their authorization port. 기본값은 45001입니다.Defaults to 45001. 기본값을 변경 하지 않는 것이 좋습니다.We do not recommend changing the default.

-clusterRoleName

클러스터 내에서 일반 서비스로 클라우드 에이전트를 만들 때 사용할 이름을 지정 합니다.This specifies the name to use when creating cloud agent as a generic service within the cluster. 기본값은 ca 접두사와 guid 접미사를 사용 하는 고유 이름 (예: "9e6eb299-bc0b-4f00-9fd7-942843820c26")입니다.This defaults to a unique name with a prefix of ca- and a guid suffix (for example: “ca-9e6eb299-bc0b-4f00-9fd7-942843820c26”). 기본값을 변경 하지 않는 것이 좋습니다.We do not recommend changing the default.

-cloudLocation

이 매개 변수는 사용자 지정 Microsoft 운영 클라우드 위치 이름을 제공 합니다.This parameter provides a custom Microsoft Operated Cloud location name. 기본 이름은 "MocLocation"입니다.The default name is "MocLocation". 기본값을 변경 하지 않는 것이 좋습니다.We do not recommend changing the default.

-skipHostLimitChecks

에서 메모리를 확인 하 고 디스크 공간을 사용할 수 있는지 확인 하기 위해 스크립트를 요청 하 여 배포를 계속 합니다.Requests the script to skip any checks it does to confirm memory and disk space is available before allowing the deployment to proceed. 이 설정은 사용 하지 않는 것이 좋습니다.We do not recommend using this setting.

-insecure

클라우드 에이전트 및 노드 에이전트와 같은 Azure Stack HCI 구성 요소에 대 한 Azure Kubernetes 서비스를 안전 하지 않은 모드 (TLS 보안 연결 없음)에 배포 합니다.Deploys Azure Kubernetes Service on Azure Stack HCI components such as cloud agent and node agent(s) in insecure mode (no TLS secured connections).프로덕션 환경에서는 안전 하지 않은 모드를 사용 하지 않는 것이 좋습니다.  We do not recommend using insecure mode in production environments.

-skipUpdates

사용 가능한 업데이트를 건너뛰려면이 플래그를 사용 합니다.Use this flag if you want to skip any updates available. 이 설정은 사용 하지 않는 것이 좋습니다.We do not recommend using this setting.

-forceDnsReplication

일부 시스템에서 DNS 복제는 최대 한 시간 정도 걸릴 수 있습니다.DNS replication can take up to an hour on some systems. 이렇게 하면 배포 속도가 느려집니다.This will cause the deployment to be slow. 이 문제가 발생 하면 Install-AksHci 루프에서 중단 되는 것을 알 수 있습니다.If you hit this issue, you'll see that the Install-AksHci will be stuck in a loop. 이 문제를 해결 하려면이 플래그를 사용 하십시오.To get past this issue, try to use this flag. -forceDnsReplication플래그가 보장 된 수정이 아닙니다.The -forceDnsReplication flag is not a guaranteed fix. 플래그 뒤의 논리가 실패 하면 오류가 숨겨지고 플래그가 제공 되지 않은 것 처럼 명령이 실행 됩니다.If the logic behind the flag fails, the error will be hidden, and the command will carry on as if the flag was not provided.

Azure Stack HCI 구성에서 Azure Kubernetes 서비스를 다시 설정 합니다.Reset the Azure Kubernetes Service on Azure Stack HCI configuration

Azure Stack HCI 구성에서 Azure Kubernetes 서비스를 다시 설정 하려면 다음 명령을 실행 합니다.To reset the Azure Kubernetes Service on Azure Stack HCI configuration, run the following commands. 이 명령을 자체적으로 실행 하면 구성이 기본값으로 다시 설정 됩니다.Running this command on its own will reset the configuration to default values.

Set-AksHciConfig

4 단계: 새 배포를 시작 합니다.Step 4: Start a new deployment

배포를 구성한 후 배포를 시작 해야 합니다.After you've configured your deployment, you must start deployment. 그러면 Azure Stack HCI 에이전트/서비스 및 Azure Kubernetes Service 호스트에 Azure Kubernetes 서비스가 설치 됩니다.This will install the Azure Kubernetes Service on Azure Stack HCI agents/services and the Azure Kubernetes Service host.

배포를 시작 하려면 다음 명령을 실행 합니다.To begin deployment, run the following command.

Install-AksHci

배포 된 Azure Kubernetes Service 호스트 확인Verify your deployed Azure Kubernetes Service host

Azure Kubernetes 서비스 호스트가 배포 되었는지 확인 하려면 다음 명령을 실행 합니다.To ensure that your Azure Kubernetes Service host was deployed, run the following command. 또한 배포 후 동일한 명령을 사용 하 여 Kubernetes 클러스터를 가져올 수 있습니다.You will also be able to get Kubernetes clusters using the same command after deploying them.

Get-AksHciCluster

출력:Output:


Name            : clustergroup-management
Version         : v1.18.8
Control Planes  : 1
Linux Workers   : 0
Windows Workers : 0
Phase           : provisioned
Ready           : True

5 단계: kubectl를 사용 하 여 클러스터에 액세스Step 5: Access your clusters using kubectl

Kubectl를 사용 하 여 Azure Kubernetes 서비스 호스트 또는 Kubernetes 클러스터에 액세스 하려면 다음 명령을 실행 합니다.To access your Azure Kubernetes Service host or Kubernetes cluster using kubectl, run the following command. 그러면 지정 된 클러스터의 kubeconfig 파일이 kubectl의 기본 kubeconfig 파일로 사용 됩니다.This will use the specified cluster's kubeconfig file as the default kubeconfig file for kubectl.

Get-AksHciCredential -clusterName <String>
                     [-outputLocation <String>]

예제Example

Get-AksHciCredential -clusterName clustergroup-management

필수 매개 변수Required Parameters

clusterName

클러스터의 이름입니다.The name of the cluster.

선택적 매개 변수Optional Parameters

outputLocation

Kubeconfig를 다운로드 하려는 위치입니다.The location where you want the kubeconfig downloaded. 기본값은 %USERPROFILE%\.kube입니다.Default is %USERPROFILE%\.kube.

로그 가져오기Get logs

모든 pod에서 로그를 가져오려면 다음 명령을 실행 합니다.To get logs from your all your pods, run the following command. 이 명령은 경로에 이라는 출력 압축 폴더를 만듭니다 akshcilogs C:\wssd\akshcilogs .This command will create an output zipped folder called akshcilogs in the path C:\wssd\akshcilogs.

Get-AksHciLogs

Azure Stack HCI에서 Azure Kubernetes Service의 최신 버전으로 업데이트Update to the latest version of Azure Kubernetes Service on Azure Stack HCI

Azure Stack HCI에서 최신 버전의 Azure Kubernetes 서비스를 업데이트 하려면 다음 명령을 실행 합니다.To update to the latest version of Azure Kubernetes Service on Azure Stack HCI, run the following command. 업데이트 명령은 Oct 릴리스를 설치한 경우에만 작동 합니다.The update command only works if you have installed the Oct release. 10 월 릴리스 이전의 릴리스에 대해서는 작동 하지 않습니다.It will not work for releases older than the October release. 이 업데이트 명령은 Azure Kubernetes 서비스 호스트 및 온-프레미스 Microsoft 운영 클라우드 플랫폼을 업데이트 합니다.This update command updates the Azure Kubernetes Service host and the on-premise Microsoft operated cloud platform. 이 미리 보기 릴리스의 경우 Kubernetes version 및 AKS host OS 버전은 여전히 동일 하 게 유지 됩니다.For this preview release, the Kubernetes version and AKS host OS version still remain the same. 이 명령은 기존 작업 클러스터를 업그레이드 하지 않습니다.This command does not upgrade any existing workload clusters. AKS 호스트를 업데이트 한 후 만들어진 새 워크 로드 클러스터는 Windows node OS 버전 및 Kubernetes 버전 측면에서 기존 워크 로드 클러스터와 다릅니다.New workload clusters created after updating the AKS host will differ from existing workload clusters in terms of Windows node OS version and Kubernetes version.

Update-AksHci

Kubernetes 클러스터에서 Windows 노드를 사용 하 여 지원 되지 않는 Windows Server OS 버전을 실행 하지 못하도록 관리 클러스터를 업데이트 한 후 즉시 작업 클러스터를 업데이트 하는 것이 좋습니다.We recommend updating workload clusters immediately after updating the management cluster to prevent running unsupported Windows Server OS versions in your Kubernetes clusters with Windows nodes. 워크 로드 클러스터를 업데이트 하려면 워크 로드 클러스터 업데이트를 참조 하세요.To update your workload cluster, visit update your workload cluster.

Azure Stack HCI에서 Azure Kubernetes 서비스를 다시 시작 합니다.Restart Azure Kubernetes Service on Azure Stack HCI

Azure Stack HCI에서 Azure Kubernetes 서비스를 다시 시작 하면 모든 Kubernetes 클러스터 (있는 경우) 및 Azure Kubernetes Service 호스트가 제거 됩니다.Restarting Azure Kubernetes Service on Azure Stack HCI will remove all of your Kubernetes clusters if any, and the Azure Kubernetes Service host. 또한 노드에서 Azure Stack HCI 에이전트 및 서비스에 대 한 Azure Kubernetes 서비스를 제거 합니다.It will also uninstall the Azure Kubernetes Service on Azure Stack HCI agents and services from the nodes. 그런 다음 호스트를 다시 만들 때까지 원래 설치 프로세스 단계를 진행 합니다.It will then go back through the original install process steps until the host is recreated. 를 통해 구성한 Azure Stack HCI 구성의 Azure Kubernetes 서비스 Set-AksHciConfig 와 다운로드 한 VHDX 이미지가 보존 됩니다.The Azure Kubernetes Service on Azure Stack HCI configuration that you configured via Set-AksHciConfig and the downloaded VHDX images are preserved.

동일한 구성 설정을 사용 하 여 Azure Stack HCI에서 Azure Kubernetes 서비스를 다시 시작 하려면 다음 명령을 실행 합니다.To restart Azure Kubernetes Service on Azure Stack HCI with the same configuration settings, run the following command.

Restart-AksHci

구성 설정을 다시 설정 하 고 Azure Stack HCI에 Azure Kubernetes 서비스를 다시 설치 합니다.Reset configuration settings and reinstall Azure Kubernetes Service on Azure Stack HCI

다른 구성 설정을 사용 하 여 Azure Stack HCI에 Azure Kubernetes 서비스를 다시 설치 하려면 먼저 다음 명령을 실행 합니다.To reinstall Azure Kubernetes Service on Azure Stack HCI with different configuration settings, run the following command first.

Uninstall-AksHci

위의 명령을 실행 한 후 다음 명령을 사용 하 여 구성 설정을 변경할 수 있습니다.After running the above command, you can change the configuration settings with the following command. 매개 변수는 3 단계에 설명 된 것과 동일 하 게 유지 됩니다.The parameters remain the same as described in Step 3. 지정 된 매개 변수 없이이 명령을 실행 하면 매개 변수가 기본값으로 다시 설정 됩니다.If you run this command with no specified parameters, the parameters will be reset to their default values.

Set-AksHciConfig

구성을 원하는 설정으로 변경한 후 다음 명령을 실행 하 여 HCI Azure Stack Kubernetes에 Azure Stack 다시 설치 합니다.After changing the configuration to your desired settings, run the following command to reinstall Azure Stack Kubernetes on Azure Stack HCI.

Install-AksHci

Azure Stack HCI에서 Azure Kubernetes 서비스 제거Remove Azure Kubernetes Service on Azure Stack HCI

Azure Stack HCI에서 Azure Kubernetes 서비스를 제거 하려면 다음 명령을 실행 합니다.To remove Azure Kubernetes Service on Azure Stack HCI, run the following command. PowerShell을 사용 하 여 Windows 관리 센터 배포를 제거 하는 경우 플래그를 사용 하 여 명령을 실행 해야 합니다 -Force .If you are using PowerShell to uninstall a Windows Admin Center deployment, you must run the command with the -Force flag.

Uninstall-AksHci

위의 명령을 실행 한 후 명령을 실행 하 여 이전과 Install-AksHci 동일한 구성으로 Azure Kubernetes Service 호스트를 설치할 수 있습니다.After running the above command, you can run the Install-AksHci command to install the Azure Kubernetes Service host with the same configuration as before. 구성을 변경 하려면 Set-AksHciConfig 설치 명령을 실행 하기 전에 변경 내용을 적용 하 여를 실행 합니다.If you want to change the configuration, run Set-AksHciConfig with the changes you want to make before running the install command.

이전 구성을 유지 하지 않으려면 다음 명령을 실행 합니다.If you don't want to retain the old configuration, run the following command.

Uninstall-AksHci -Force

Windows 관리 센터가 이전에 배포 하는 데 사용 된 클러스터에서 PowerShell 명령이 실행 되는 경우 PowerShell 모듈은 Windows 관리 센터 구성 파일이 있는지 확인 합니다.If PowerShell commands are run on a cluster where Windows Admin Center was previously used to deploy, the PowerShell module checks the existence of the Windows Admin Center configuration file. Windows 관리 센터에서 모든 노드에 Windows 관리 센터 구성 파일을 배치 합니다.Windows Admin Center places the Windows Admin Center configuration file across all nodes. 제거 명령을 사용 하 여 Windows 관리 센터로 돌아가서 위의 uninstall 명령을 플래그와 함께 실행 합니다 -Force . 이 작업을 수행 하지 않으면 PowerShell 및 Windows 관리 센터가 동기화 되지 않습니다.If you use the uninstall command and go back to Windows Admin Center, run the above uninstall command with the -Force flag. If this is not done, PowerShell and Windows Admin Center will be out of sync.

다음 단계Next steps