Azure CLI를 사용하여 클러스터 확장 배포 및 관리
업데이트 및 구성과 관련된 옵션을 포함하여 필수 및 선택적 매개 변수를 설정하여 AKS 클러스터에서 확장 인스턴스를 만들 수 있습니다. 확장 인스턴스를 보고, 나열하고, 업데이트하고, 삭제할 수도 있습니다.
시작하기 전에 클러스터 확장에 대해 알아봅니다.
참고 항목
이 문서에서 제공하는 예제는 완전되지 않으며 기능을 보여 주기 위한 것일 뿐입니다. 명령 및 해당 매개 변수의 전체 목록은 az k8s-extension CLI 참조를 참조하세요.
필수 구성 요소
Azure 구독 Azure 구독이 없는 경우 무료 계정을 만들 수 있습니다.
Microsoft.ContainerService
및Microsoft.KubernetesConfiguration
리소스 공급자는 구독에 등록되어 있어야 합니다. 이러한 공급자를 등록하려면 다음 명령을 실행합니다.az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --wait
AKS 클러스터. 클러스터 확장이 서비스 주체 기반 클러스터에서 작동하지 않으므로 이 클러스터는 관리 ID를 사용하여 만들어야 합니다.
az aks create
를 사용하여 만든 새 클러스터의 경우 관리 ID는 기본적으로 구성됩니다. 기존 서비스 주체 기반 클러스터의 경우--enable-managed-identity
플래그로az aks update
를 실행하여 ID를 관리하도록 전환합니다. 자세한 내용은 관리 ID 사용을 참조하세요.Azure CLI 버전 >= 2.16.0이 설치되었습니다. 최신 버전을 사용하는 것이 좋습니다.
k8s-extension
Azure CLI 확장의 최신 버전입니다. 다음 명령을 실행하여 확장을 설치합니다.az extension add --name k8s-extension
확장이 이미 설치된 경우 다음 명령을 사용하여 최신 버전을 실행하고 있는지 확인합니다.
az extension update --name k8s-extension
확장 인스턴스 만들기
필수 매개 변수에 대한 값을 전달하면서 k8s-extension create
를 사용하여 새 확장 인스턴스를 만듭니다. 이 예제 명령은 AKS 클러스터에 Azure Machine Learning 확장 인스턴스를 만듭니다.
az k8s-extension create --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True inferenceRouterServiceType=LoadBalancer
이 예제 명령은 AKS 클러스터에 샘플 Kubernetes 애플리케이션(Marketplace에 게시됨)을 만듭니다.
az k8s-extension create --name voteapp --extension-type Contoso.AzureVoteKubernetesAppTest --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --plan-name testPlanID --plan-product testOfferID --plan-publisher testPublisherID --configuration-settings title=VoteAnimal value1=Cats value2=Dogs
참고 항목
클러스터 확장 서비스는 48시간 이상 중요한 정보를 유지할 수 없습니다. 클러스터 확장 에이전트가 48시간 이상 네트워크에 연결되지 않고 클러스터에서 확장을 만들지 여부를 결정할 수 없는 경우 확장은 Failed
상태로 전환됩니다. Failed
상태가 되면 k8s-extension create
를 다시 실행하여 새로운 확장 인스턴스를 만들어야 합니다.
필수 매개 변수
매개 변수 이름 | 설명 |
---|---|
--name |
확장의 이름입니다. |
--extension-type |
클러스터에 설치하려는 확장의 유형입니다. 예: Microsoft.AzureML.Kubernetes |
--cluster-name |
확장 인스턴스를 만들어야 하는 AKS 클러스터의 이름 |
--resource-group |
AKS 클러스터를 포함하는 리소스 그룹 |
--cluster-type |
확장 인스턴스를 만들어야 하는 클러스터 유형입니다. AKS 클러스터에 매핑할 때 managedClusters 를 지정합니다. |
선택적 매개 변수
매개 변수 이름 | 설명 |
---|---|
--auto-upgrade-minor-version |
확장 부 버전이 자동으로 업그레이드될지 여부를 지정하는 부울 속성입니다. 기본값: true . 이 매개 변수를 true로 설정하면 버전이 동적으로 업데이트되므로 version 매개 변수를 설정할 수 없습니다. false 로 설정된 경우 확장은 패치 버전에 대해서도 자동으로 업그레이드되지 않습니다. |
--version |
설치할 확장의 버전(확장 인스턴스를 고정할 특정 버전)입니다. auto-upgrade-minor-version이 true 로 설정된 경우에는 제공되지 않아야 합니다. |
--configuration-settings |
기능을 제어하기 위해 확장에 전달할 수 있는 설정입니다. 매개 변수 이름 다음에 공백으로 구분된 key=value 쌍으로 값을 전달합니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-settings-file 를 사용할 수 없습니다. |
--configuration-settings-file |
구성 설정을 확장에 전달하는 데 사용되는 키 값 쌍이 포함된 JSON 파일의 경로입니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-settings 를 사용할 수 없습니다. |
--configuration-protected-settings |
이러한 설정은 GET API 호출 또는 az k8s-extension show 명령을 사용하여 검색할 수 없으므로 중요한 설정을 전달하는 데 사용됩니다. 매개 변수 이름 다음에 공백으로 구분된 key=value 쌍으로 값을 전달합니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-protected-settings-file 를 사용할 수 없습니다. |
--configuration-protected-settings-file |
중요한 설정을 확장에 전달하는 데 사용되는 키 값 쌍이 포함된 JSON 파일의 경로입니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-protected-settings 를 사용할 수 없습니다. |
--scope |
cluster 또는 namespace 확장에 대한 설치 범위 |
--release-namespace |
이 매개 변수는 릴리스가 생성될 네임스페이스를 나타냅니다. 이 매개 변수는 scope 매개 변수가 cluster 로 설정되어 있는 경우에만 적용됩니다. |
--release-train |
확장 작성자는 Stable , Preview 등의 다양한 릴리스 학습으로 버전을 게시할 수 있습니다. 이 매개 변수를 명시적으로 설정하지 않으면 Stable 이 기본값으로 사용됩니다. --auto-upgrade-minor-version 매개 변수가 false 로 설정된 경우에는 이 매개 변수를 사용할 수 없습니다. |
--target-namespace |
이 매개 변수는 릴리스가 생성되는 네임스페이스를 나타냅니다. 이 확장 인스턴스에 대해 만든 시스템 계정의 사용 권한은 이 네임스페이스로 제한됩니다. 이 매개 변수는 scope 매개 변수가 namespace 로 설정되어 있는 경우에만 적용됩니다. |
--plan-name |
사용량 정보 + 지원 아래 Azure Portal의 Marketplace 페이지에 있는 확장의 계획 ID입니다. |
--plan-product |
사용량 정보 + 지원 아래 Azure Portal의 Marketplace 페이지에 있는 확장의 제품 ID입니다. 이 예제는 사용된 ISV 제품의 이름입니다. |
--plan-publisher |
사용량 정보 + 지원 아래 Azure Portal의 Marketplace 페이지에 있는 확장의 게시자 ID입니다. |
확장 인스턴스의 세부 정보 표시
필수 매개 변수에 대한 값을 전달하면서 k8s-extension show
를 사용하여 현재 설치된 확장 인스턴스를 확인합니다.
az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
클러스터에 설치된 모든 확장 나열
클러스터에 설치된 모든 확장을 나열하려면 k8s-extension list
를 사용하여 필수 매개 변수에 대한 값을 전달합니다.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
확장 인스턴스 업데이트
참고 항목
업데이트할 수 있는 --configuration-settings
및 --configuration-protected-settings
의 특정 설정을 이해하려면 특정 확장 유형에 대한 설명서를 참조하세요. --configuration-protected-settings
의 경우 하나의 설정만 업데이트되더라도 모든 설정이 제공되어야 합니다. 이러한 설정 중 하나라도 생략되면 해당 설정은 사용되지 않는 것으로 간주되어 삭제됩니다.
기존 확장 인스턴스를 업데이트하려면 k8s-extension update
를 사용하여 필수 매개 변수에 대한 값을 전달합니다. 다음 명령은 Azure Machine Learning 확장 인스턴스에 대한 자동 업그레이드 설정을 업데이트합니다.
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
업데이트에 필요한 매개 변수
매개 변수 이름 | 설명 |
---|---|
--name |
확장의 이름입니다. |
--extension-type |
클러스터에 설치하려는 확장의 유형입니다. 예: Microsoft.AzureML.Kubernetes |
--cluster-name |
확장 인스턴스를 만들어야 하는 AKS 클러스터의 이름 |
--resource-group |
AKS 클러스터를 포함하는 리소스 그룹 |
--cluster-type |
확장 인스턴스를 만들어야 하는 클러스터 유형입니다. AKS 클러스터에 매핑할 때 managedClusters 를 지정합니다. |
Marketplace를 통해 조달된 Kubernetes 애플리케이션을 업데이트하는 경우 다음 매개 변수도 필요합니다.
매개 변수 이름 | 설명 |
---|---|
--plan-name |
사용량 정보 + 지원 아래 Azure Portal의 Marketplace 페이지에 있는 확장의 계획 ID입니다. |
--plan-product |
사용량 정보 + 지원 아래 Azure Portal의 Marketplace 페이지에 있는 확장의 제품 ID입니다. 이 예제는 사용된 ISV 제품의 이름입니다. |
--plan-publisher |
사용량 정보 + 지원 아래 Azure Portal의 Marketplace 페이지에 있는 확장의 게시자 ID입니다. |
업데이트에 대한 선택적 매개 변수
매개 변수 이름 | 설명 |
---|---|
--auto-upgrade-minor-version |
확장 부 버전이 자동으로 업그레이드될지 여부를 지정하는 부울 속성입니다. 기본값: true . 이 매개 변수를 true로 설정하면 버전이 동적으로 업데이트되므로 version 매개 변수를 설정할 수 없습니다. false 로 설정된 경우 확장은 패치 버전에 대해서도 자동으로 업그레이드되지 않습니다. |
--version |
설치할 확장의 버전(확장 인스턴스를 고정할 특정 버전)입니다. auto-upgrade-minor-version이 true 로 설정된 경우에는 제공되지 않아야 합니다. |
--configuration-settings |
기능을 제어하기 위해 확장에 전달할 수 있는 설정입니다. 업데이트가 필요한 설정만 제공하면 됩니다. 제공된 설정은 제공된 값으로 대체됩니다. 매개 변수 이름 다음에 공백으로 구분된 key=value 쌍으로 값을 전달합니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-settings-file 를 사용할 수 없습니다. |
--configuration-settings-file |
구성 설정을 확장에 전달하는 데 사용되는 키 값 쌍이 포함된 JSON 파일의 경로입니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-settings 를 사용할 수 없습니다. |
--configuration-protected-settings |
이러한 설정은 GET API 호출 또는 az k8s-extension show 명령을 사용하여 검색할 수 없으므로 중요한 설정을 전달하는 데 사용됩니다. 설정을 업데이트할 때 모든 설정을 지정해야 합니다. 일부 설정을 생략하면 이러한 설정이 사용되지 않는 것으로 간주되어 삭제됩니다. 매개 변수 이름 다음에 공백으로 구분된 key=value 쌍으로 값을 전달합니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-protected-settings-file 를 사용할 수 없습니다. |
--configuration-protected-settings-file |
중요한 설정을 확장에 전달하는 데 사용되는 키 값 쌍이 포함된 JSON 파일의 경로입니다. 이 매개 변수를 명령에 사용하는 경우에는 동일한 명령에서 --configuration-protected-settings 를 사용할 수 없습니다. |
--scope |
cluster 또는 namespace 확장에 대한 설치 범위 |
--release-train |
확장 작성자는 Stable , Preview 등의 다양한 릴리스 학습으로 버전을 게시할 수 있습니다. 이 매개 변수를 명시적으로 설정하지 않으면 Stable 이 기본값으로 사용됩니다. autoUpgradeMinorVersion 매개 변수가 false 로 설정된 경우에는 이 매개 변수를 사용할 수 없습니다. |
확장 인스턴스 삭제
필수 매개 변수에 대한 값을 전달하면서 k8s-extension-delete
를 사용하여 클러스터에서 확장 인스턴스를 삭제합니다.
az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
참고 항목
이 확장을 나타내는 Azure 리소스는 즉시 삭제됩니다. 이 확장과 연결된 클러스터의 Helm 릴리스는 Kubernetes 클러스터에서 실행 중인 에이전트가 네트워크에 연결되어 있고 Azure 서비스에 다시 연결하여 원하는 상태를 가져올 수 있는 경우에만 삭제됩니다.
다음 단계
- 현재 사용 가능한 클러스터 확장 목록을 봅니다.
- Marketplace를 통해 사용할 수 있는 Kubernetes 애플리케이션에 대해 알아봅니다.
Azure Kubernetes Service