클러스터 관리자: Operator Nexus에서 클러스터 관리자를 관리하는 방법
클러스터 관리자는 Operator Nexus 인프라 클러스터의 수명 주기를 관리하기 위해 운영자의 Azure 구독에 배포됩니다.
시작하기 전에
다음 정보가 있는지 확인합니다.
- Azure 구독 ID - 클러스터 관리자를 만들어야 하는 Azure 구독 ID입니다(네트워크 패브릭 컨트롤러의 구독 ID와 동일해야 함).
- 네트워크 패브릭 컨트롤러 ID - 네트워크 패브릭 컨트롤러와 클러스터 관리자는 1:1로 연결됩니다. Network Fabric 컨트롤러의 리소스 ID를 클러스터 관리자와 연결해야 합니다.
- Log Analytics 작업 영역 ID - 로그 수집에 사용되는 Log Analytics 작업 영역의 리소스 ID입니다.
- Azure 지역 - 클러스터 관리자는 네트워크 패브릭 컨트롤러와 동일한 Azure 지역에 만들어야 합니다.
이 Azure 지역은 클러스터 관리자 및 모든 연결된 Operator Nexus 인스턴스의
Location
필드에서 사용해야 합니다.
제한 사항
- 명명 - 명명 규칙은 여기에서 찾을 수 있습니다.
전역 인수
모든 Azure CLI 명령에 사용할 수 있는 일부 인수는 다음과 같습니다.
- --debug - 디버깅 목적으로 사용되는 CLI 작업에 대한 훨씬 더 자세한 정보를 출력합니다. 버그가 발견된 경우, 버그 보고서를 제출할 때
--debug
플래그를 사용해서 생성된 출력을 제공하십시오. - --help -h - 명령 및 해당 인수에 대한 CLI 참조 정보를 출력하고 사용 가능한 하위 그룹 및 명령을 나열합니다.
- --only-show-errors - 오류만 표시하고 경고는 표시하지 않습니다.
- --output -o - 출력 형식을 지정합니다. 사용 가능한 출력 형식은 Json, Jsonc(색이 지정된 JSON), tsv(탭으로 구분된 값), table(사람이 읽을 수 있는 ASCII 테이블) 및 yaml입니다. 기본적으로 CLI는 Json을 출력합니다.
- --query - JMESPath 쿼리 언어를 사용하여 Azure 서비스에서 반환되는 출력을 필터링합니다.
- --verbose - 작업 중에 Azure에서 만든 리소스에 대한 정보 및 기타 유용한 정보를 출력합니다.
클러스터 관리자 속성
속성 이름 | 설명 |
---|---|
name, ID, location, tags, type | name: 사용자 식별 이름 ID: <리소스 ID> location: 클러스터 관리자가 만들어지는 Azure 지역입니다. 값 출처: az account list -locations .tags: 리소스 태그 type: Microsoft.NetworkCloud/clusterManagers |
managerExtendedLocation | 클러스터 관리자와 연결된 ExtendedLocation |
managedResourceGroupConfiguration | 관리되는 리소스 그룹에 대한 정보 |
fabricControllerId | 이 클러스터 관리자를 사용하여 1:1인 Network Fabric 컨트롤러에 대한 참조 |
analyticsWorkspaceId | 고객과 관련된 로그가 릴레이되는 Log Analytics 작업 영역입니다. |
clusterVersions[] | 클러스터 관리자가 지원하는 클러스터 버전 목록입니다. 클러스터 clusterVersion 속성의 입력으로 사용됩니다. |
provisioningState | 클러스터 관리자에 대한 최신 작업의 프로비전 상태입니다. 다음 중 하나: 성공, 실패, 취소됨, 프로비전, 수락됨, 업데이트 |
detailedStatus | 클러스터 관리자의 상태에 대한 추가 정보를 제공하는 자세한 상태입니다. |
detailedStatusMessage | 현재 상세 상태에 대한 설명 메시지입니다. |
클러스터 관리자 ID
2024-07-01 API 버전부터 고객은 관리 ID를 클러스터 관리자에 할당할 수 있습니다. 시스템 할당 및 사용자 할당 관리 ID가 모두 지원됩니다.
사용자 할당 관리 ID를 사용하여 클러스터 관리자를 만드는 경우 고객은 Nexus 플랫폼에 대한 해당 ID에 대한 액세스를 프로비전해야 합니다.
특히 Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Microsoft Entra ID에 대한 사용자 할당 ID에 AFOI-NC-MGMT-PME-PROD
권한을 추가해야 합니다. 향후 해결될 플랫폼의 알려진 제한 사항입니다.
역할 할당은 Azure Portal을 통해 수행할 수 있습니다.
- Azure Portal을 열고 해당 사용자 할당 ID를 찾습니다.
- 프로비전된 여러 관리 ID가 예상되는 경우 리소스 그룹 또는 구독 수준에서 역할을 대신 추가할 수 있습니다.
- 아래에서
Access control (IAM)
새 역할 할당 추가를 클릭합니다. - 역할 선택:
Managed Identity Operator
. 역할이 제공하는 사용 권한을 참조하세요. - 액세스 할당 대상: 사용자, 그룹 또는 서비스 주체
- 멤버 선택:
AFOI-NC-MGMT-PME-PROD
애플리케이션 - 검토 및 할당
클러스터 관리자 만들기
Azure CLI를 사용하여 클러스터 관리자를 만듭니다.
az networkcloud clustermanager create
명령을 사용하여 클러스터 관리자를 만듭니다. 이 명령은 새 클러스터 관리자를 만들거나 클러스터 관리자가 있는 경우 해당 속성을 업데이트합니다. 여러 Azure 구독이 있는 경우 az account set 명령을 사용하여 적절한 구독 ID를 선택합니다.
az networkcloud clustermanager create \
--name "$CLUSTER_MANAGER_NAME" \
--location "$LOCATION" \
--analytics-workspace-id "$LAW_NAME" \
--fabric-controller-id "$NFC_ID" \
--managed-resource-group-configuration name="$MRG_NAME" location="$MRG_LOCATION" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"
--resource-group "$CLUSTER_MANAGER_RG"
--subscription "$SUB_ID"
- 인수
- --name -n [필수] - 클러스터 관리자의 이름
- --fabric-controller-id [Required] - 클러스터 관리자와 연결된 네트워크 패브릭 컨트롤러의 리소스 ID
- --resource-group -g [Required] - 리소스 그룹의 이름. 기본 리소스 그룹은
az configure --defaults group=<name>
을 사용하여 구성할 수 있습니다. - --analytics-workspace-id - 로그 수집에 사용되는 Log Analytics 작업 영역의 리소스 ID
- --location -l - 위치. 클러스터 관리자가 만들어지는 Azure 지역입니다. 값 출처:
az account list -locations
.az configure --defaults location="$LOCATION"
을 사용하여 기본 위치를 구성할 수 있습니다. - --managed-resource-group-configuration - 리소스와 연결된 관리되는 리소스 그룹의 구성
- 사용법: --managed-resource-group-configuration location=XX name=XX
- location: 관리되는 리소스 그룹의 지역. 지정하지 않으면 부모 리소스의 지역이 선택됩니다.
- name: 관리되는 리소스 그룹의 이름. 지정하지 않으면 고유한 이름이 자동으로 생성됩니다.
- wait/--no-wait - 명령이 완료될 때까지 기다리거나 장기 실행 작업이 완료될 때까지 기다리지 않습니다.
- --tags - 공백으로 구분된 태그: key[=value] [key[=value]...]. 기존 태그를 지우려면 ''를 사용합니다.
- --subscription - 구독의 이름 또는 ID.
az account set -s NAME_OR_ID
를 사용하여 기본 위치를 구성할 수 있습니다. - --mi-system-assigned - 시스템 할당 관리 ID를 사용하도록 설정합니다. 추가된 후에는 현재 API 호출을 통해서만 ID를 제거할 수 있습니다.
- --mi-user-assigned - 추가할 사용자 할당 관리 ID의 공백으로 구분된 리소스 ID입니다. 추가된 후에는 현재 API 호출을 통해서만 ID를 제거할 수 있습니다.
Azure Resource Manager 템플릿 편집기를 사용하여 클러스터 관리자를 만듭니다.
클러스터 관리자를 만드는 또 다른 방법은 ARM 템플릿 편집기를 사용하는 것입니다.
이러한 방식으로 클러스터를 만들려면 템플릿 파일(clusterManager.jsonc) 및 매개 변수 파일(clusterManager.parameters.jsonc)을 제공해야 합니다.
여기에서 이 두 파일의 예를 찾을 수 있습니다.
clusterManager.jsonc , clusterManager.parameters.jsonc
참고 항목
올바른 서식을 가져오려면 원시 코드 파일을 복사합니다. ClusterManager.parameters.jsonc 파일 내의 값은 고객별로 다르며 전체 목록이 아닐 수도 있습니다. 특정 환경에 대한 값 필드를 업데이트하세요.
- 웹 브라우저에서 Azure Portal로 이동한 후 로그인합니다.
- Azure Portal 검색 창에서 '사용자 지정 템플릿 배포'를 검색한 다음, 사용 가능한 서비스에서 선택합니다.
- 편집기에서 사용자 고유의 템플릿 만들기를 클릭합니다.
- 파일 로드를 클릭합니다. ClusterManager.jsonc 템플릿 파일을 찾아서 업로드합니다.
- 저장을 클릭합니다.
- 매개 변수 편집을 클릭합니다.
- 파일 로드를 클릭합니다. ClusterManager.parameters.jsonc 매개 변수 파일을 찾아서 업로드합니다.
- 저장을 클릭합니다.
- 올바른 구독을 선택합니다.
- 이미 존재하는 경우 리소스 그룹을 검색하거나 새로 만듭니다.
- 모든 인스턴스 세부 정보가 올바른지 확인합니다.
- 검토 + 만들기를 클릭합니다.
클러스터 관리자 나열/표시
list 및 show 명령은 기존 클러스터 관리자 목록 또는 특정 클러스터 관리자의 속성을 가져오는 데 사용됩니다.
리소스 그룹의 클러스터 관리자 나열
이 명령은 지정된 리소스 그룹의 클러스터 관리자를 나열합니다.
az networkcloud clustermanager list --resource-group "$CLUSTER_MANAGER_RG"
구독의 클러스터 관리자 나열
이 명령은 지정된 구독의 클러스터 관리자를 나열합니다.
az networkcloud clustermanager list --subscription "$SUB_ID"
클러스터 관리자 속성 표시
이 명령은 지정된 클러스터 관리자의 속성을 나열합니다.
az networkcloud clustermanager show \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
list 및 show 명령 인수
- --name -n - 클러스터 관리자의 이름
- --IDs - 하나 이상의 리소스 ID(공백으로 구분). '리소스 ID' 인수의 모든 정보가 포함된 완전한 리소스 ID여야 합니다.
- --resource-group -g - 리소스 그룹의 이름.
az configure --defaults group=<name>
을 사용하여 기본 그룹을 구성할 수 있습니다. - --subscription - 구독의 이름 또는 ID.
az account set -s NAME_OR_ID
를 사용하여 기본 위치를 구성할 수 있습니다.
클러스터 관리자 업데이트
이 명령은 제공된 클러스터 관리자의 속성을 패치하거나 클러스터 관리자에 할당된 태그를 업데이트하는 데 사용됩니다. 속성 및 태그 업데이트는 독립적으로 수행할 수 있습니다.
az networkcloud clustermanager update \
--name "$CLUSTER_MANAGER_NAME" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- 인수
- --tags - 공백으로 구분된 태그: key[=value] [key[=value] ...]. 기존 태그를 지우려면 ''를 사용합니다.
- --name -n - 클러스터 관리자의 이름
- --IDs - 하나 이상의 리소스 ID(공백으로 구분). '리소스 ID' 인수의 모든 정보가 포함된 완전한 리소스 ID여야 합니다.
- --resource-group -g - 리소스 그룹의 이름.
az configure --defaults group=<name>
을 사용하여 기본 그룹을 구성할 수 있습니다. - --subscription - 구독의 이름 또는 ID.
az account set -s NAME_OR_ID
를 사용하여 기본 위치를 구성할 수 있습니다. - --mi-system-assigned - 시스템 할당 관리 ID를 사용하도록 설정합니다. 추가된 후에는 현재 API 호출을 통해서만 ID를 제거할 수 있습니다.
- --mi-user-assigned - 추가할 사용자 할당 관리 ID의 공백으로 구분된 리소스 ID입니다. 추가된 후에는 현재 API 호출을 통해서만 ID를 제거할 수 있습니다.
API를 통해 클러스터 관리자 ID 업데이트
클러스터 관리자 관리 ID는 CLI를 통해 할당할 수 있습니다. ID 할당 취소는 API 호출을 통해 수행할 수 있습니다.
<APIVersion>
API 버전 2024-07-01 이상입니다.
모든 관리 ID를 제거하려면 다음을 실행합니다.
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
사용자 할당 및 시스템 할당 관리 ID가 모두 추가된 경우 다음을 업데이트하여 사용자 할당을
type
SystemAssigned
제거할 수 있습니다.az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
요청 본문(uai-body.json) 예제:
{ "identity": { "type": "SystemAssigned" } }
사용자 할당 및 시스템 할당 관리 ID가 모두 추가된 경우 다음을 업데이트
type
UserAssigned
하여 시스템 할당을 제거할 수 있습니다.az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
요청 본문(uai-body.json) 예제:
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {} } } }
여러 사용자 할당 관리 ID가 추가된 경우 다음을 실행하여 해당 ID 중 하나를 제거할 수 있습니다.
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
요청 본문(uai-body.json) 예제:
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null } } }
클러스터 관리자 삭제
이 명령은 제공된 클러스터 관리자를 삭제하는 데 사용됩니다.
Warning
기존 연결된 네트워크 패브릭 컨트롤러가 있는 클러스터 관리자 또는 이 클러스터 관리자를 참조하는 클러스터는 삭제되지 않을 수 있습니다.
az networkcloud clustermanager delete \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- 인수
- --no-wait - 장기 실행 작업이 완료될 때까지 기다리지 않습니다.
- --yes -y - 확인 메시지를 표시하지 않습니다.
- --name -n - 클러스터 관리자의 이름
- --IDs - 하나 이상의 리소스 ID(공백으로 구분). '리소스 ID' 인수의 모든 정보가 포함된 완전한 리소스 ID여야 합니다.
- --resource-group -g - 리소스 그룹의 이름.
az configure --defaults group=<name>
을 사용하여 기본 그룹을 구성할 수 있습니다. - --subscription - 구독의 이름 또는 ID.
az account set -s NAME_OR_ID
를 사용하여 기본 위치를 구성할 수 있습니다.
다음 단계
Network Fabric 컨트롤러 및 클러스터 관리자를 성공적으로 만든 후 다음 단계는 Network Fabric을 만드는 것입니다.