REST Resource: projects.locations.azureClusters

리소스: AzureCluster

Azure에서 실행되는 Anthos 클러스터입니다.

JSON 표현
{
  "name": string,
  "description": string,
  "azureRegion": string,
  "resourceGroupId": string,
  "azureClient": string,
  "networking": {
    object (AzureClusterNetworking)
  },
  "controlPlane": {
    object (AzureControlPlane)
  },
  "authorization": {
    object (AzureAuthorization)
  },
  "azureServicesAuthentication": {
    object (AzureServicesAuthentication)
  },
  "state": enum (State),
  "endpoint": string,
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "workloadIdentityConfig": {
    object (WorkloadIdentityConfig)
  },
  "clusterCaCertificate": string,
  "fleet": {
    object (Fleet)
  },
  "managedResources": {
    object (AzureClusterResources)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AzureClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  }
}
필드
name

string

이 리소스의 이름입니다.

클러스터 이름은 projects/<project-number>/locations/<region>/azureClusters/<cluster-id> 형식으로 지정됩니다.

Google Cloud Platform 리소스 이름에 대한 자세한 내용은 리소스 이름을 참조하세요.

description

string

선택사항입니다. 이 클러스터에 대한 인간이 읽을 수 있는 설명입니다. UTF-8 인코딩 바이트 수는 255바이트 이하여야 합니다.

azureRegion

string

필수 항목입니다. 클러스터가 실행되는 Azure 리전입니다.

각 Google Cloud 리전은 주변 Azure 리전의 하위 집합을 지원합니다. 제공된 Google Cloud 리전 내에서 지원되는 모든 Azure 리전을 나열하도록 locations.getAzureServerConfig를 호출할 수 있습니다.

resourceGroupId

string

필수 항목입니다. 클러스터 리소스가 배포된 리소스 그룹의 ARM ID입니다. 예: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

선택사항입니다. Anthos 멀티 클라우드 API가 Azure API에 연결되는 방법에 대한 인증 구성이 포함된 AzureClient의 이름입니다.

azureClient 또는 azureServicesAuthentication을 제공해야 합니다.

AzureClient 리소스는 AzureCluster와 동일한 Google Cloud Platform 프로젝트 및 리전에 있어야 합니다.

AzureClient 이름은 projects/<project-number>/locations/<region>/azureClients/<client-id> 형식으로 지정됩니다.

Google Cloud 리소스 이름에 대한 자세한 내용은 리소스 이름을 참조하세요.

networking

object (AzureClusterNetworking)

필수 항목입니다. 클러스터 전체 네트워킹 구성입니다.

controlPlane

object (AzureControlPlane)

필수 항목입니다. 클러스터 제어 영역과 관련된 구성입니다.

authorization

object (AzureAuthorization)

필수 항목입니다. 클러스터 RBAC 설정과 관련된 구성입니다.

azureServicesAuthentication

object (AzureServicesAuthentication)

선택사항입니다. Azure 리소스 관리를 위한 인증 구성입니다.

azureClient 또는 azureServicesAuthentication을 제공해야 합니다.

state

enum (State)

출력 전용입니다. 클러스터의 현재 상태입니다.

endpoint

string

출력 전용입니다. 클러스터 API 서버의 엔드포인트입니다.

uid

string

출력 전용입니다. 클러스터의 전역적으로 고유한 식별자입니다.

reconciling

boolean

출력 전용입니다. 설정된 경우 클러스터에 현재 실행 중인 변경사항이 있습니다.

createTime

string (Timestamp format)

출력 전용입니다. 이 클러스터가 생성된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 이 클러스터가 마지막으로 업데이트된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

etag

string

클라이언트가 낙관적 동시 실행 제어를 통해 일관적인 읽기-수정-쓰기를 수행하도록 허용합니다.

계속하기 전 클라이언트에 최신 값이 포함되었는지 확인하기 위해 업데이트 및 삭제 요청 시에 전송될 수 있습니다.

annotations

map (key: string, value: string)

선택사항입니다. 클러스터의 주석입니다.

이 필드에는 Kubernetes 주석과 동일한 제한사항이 있습니다. 결합된 모든 키와 값의 총 크기는 256k로 제한됩니다. 키에는 슬래시(/)로 구분된 프리픽스(선택사항)와 이름(필수)의 두 가지 세그먼트가 포함될 수 있습니다. 프리픽스는 DNS 하위 도메인이어야 합니다. 이름은 63자 이하여야 하고, 영숫자로 시작해서 영숫자로 끝나야 하고, 그 사이에 대시(-), 밑줄(_), 점(.), 영숫자가 포함되어야 합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

workloadIdentityConfig

object (WorkloadIdentityConfig)

출력 전용입니다. 워크로드 아이덴티티 설정입니다.

clusterCaCertificate

string

출력 전용입니다. 클러스터 신뢰할 수 있는 루트의 PEM 인코딩 x509 인증서입니다.

fleet

object (Fleet)

필수 항목입니다. Fleet 구성입니다.

managedResources

object (AzureClusterResources)

출력 전용입니다. 이 클러스터의 관리형 Azure 리소스입니다.

loggingConfig

object (LoggingConfig)

선택사항입니다. 이 클러스터의 로깅 구성입니다.

errors[]

object (AzureClusterError)

출력 전용입니다. 클러스터에서 발견된 오류 집합입니다.

monitoringConfig

object (MonitoringConfig)

선택사항입니다. 이 클러스터의 모니터링 구성입니다.

AzureClusterNetworking

ClusterNetworking에는 클러스터 전체 네트워킹 구성이 포함됩니다.

JSON 표현
{
  "virtualNetworkId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "serviceLoadBalancerSubnetId": string
}
필드
virtualNetworkId

string

필수 항목입니다. 클러스터와 연결된 VNet의 Azure Resource Manager(ARM) ID입니다.

클러스터의 모든 구성요소(즉, 제어 영역 및 노드 풀)가 단일 VNet에서 실행됩니다.

예: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>

이 필드는 생성 후 변경할 수 없습니다.

podAddressCidrBlocks[]

string

필수 항목입니다. CIDR 표기법으로 표시된 이 클러스터에 있는 포드의 IP 주소 범위(예: 10.96.0.0/14)입니다.

클러스터의 모든 포드에 이 범위의 고유한 IPv4 주소가 할당됩니다. 단일 범위만 지원됩니다.

이 필드는 생성 후 변경할 수 없습니다.

serviceAddressCidrBlocks[]

string

필수 항목입니다. CIDR 표기법으로 표시된 이 클러스터의 서비스에 대한 IP 주소 범위(예: 10.96.0.0/14)입니다.

클러스터의 모든 서비스에 이 범위의 고유한 IPv4 주소가 할당됩니다. 단일 범위만 지원됩니다.

클러스터를 만든 후에는 이 필드를 변경할 수 없습니다.

serviceLoadBalancerSubnetId

string

선택사항입니다. Kubernetes 비공개 서비스 유형 부하 분산기가 배포된 서브넷의 ARM ID입니다. 지정하지 않으면 기본적으로 AzureControlPlane.subnet_id로 설정됩니다.

예: '/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid456'

AzureControlPlane

AzureControlPlane은 제어 영역 구성을 나타냅니다.

JSON 표현
{
  "version": string,
  "subnetId": string,
  "vmSize": string,
  "sshConfig": {
    object (AzureSshConfig)
  },
  "rootVolume": {
    object (AzureDiskTemplate)
  },
  "mainVolume": {
    object (AzureDiskTemplate)
  },
  "databaseEncryption": {
    object (AzureDatabaseEncryption)
  },
  "proxyConfig": {
    object (AzureProxyConfig)
  },
  "configEncryption": {
    object (AzureConfigEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "replicaPlacements": [
    {
      object (ReplicaPlacement)
    }
  ],
  "endpointSubnetId": string
}
필드
version

string

필수 항목입니다. 제어 영역 복제본에서 실행할 Kubernetes 버전입니다(예: 1.19.10-gke.1000).

locations.getAzureServerConfig를 호출하여 제공된 Google Cloud 리전에서 모든 지원되는 버전을 나열할 수 있습니다.

subnetId

string

선택사항입니다. 제어 영역 기본 서브넷의 ARM ID입니다. AzureControlPlane.replica_placements가 지정되지 않으면 제어 영역 VM이 이 서브넷에 배포됩니다. 이 서브넷은 AzureControlPlane.endpoint_subnet_id가 지정되지 않은 경우 AzureControlPlane.endpoint_subnet_id의 기본값으로도 사용됩니다. 마찬가지로 AzureClusterNetworking.service_load_balancer_subnet_id의 기본값으로 사용됩니다.

예: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>/subnets/default

vmSize

string

선택사항입니다. Azure VM 크기 이름입니다. 예: Standard_DS2_v2

사용 가능한 VM 크기는 https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions를 참조하세요.

지정하지 않은 경우 기본값은 Standard_DS2_v2입니다.

sshConfig

object (AzureSshConfig)

필수 항목입니다. 기본 제어 영역 머신에 액세스하는 방법에 대한 SSH 구성입니다.

rootVolume

object (AzureDiskTemplate)

선택사항입니다. 각 제어 영역 복제본에 대해 프로비저닝된 루트 볼륨과 관련된 구성입니다.

지정하지 않은 경우 기본값은 32GiB Azure Disk입니다.

mainVolume

object (AzureDiskTemplate)

선택사항입니다. 각 제어 영역 복제본에 대해 프로비저닝된 기본 볼륨과 관련된 구성입니다. 기본 볼륨은 클러스터의 모든 etcd 상태를 저장합니다.

지정하지 않은 경우 기본값은 8GiB Azure Disk입니다.

databaseEncryption

object (AzureDatabaseEncryption)

선택사항입니다. 애플리케이션 레이어 보안 비밀 암호화와 관련된 구성입니다.

proxyConfig

object (AzureProxyConfig)

선택사항입니다. 아웃바운드 HTTP(S) 트래픽의 프록시 구성입니다.

configEncryption

object (AzureConfigEncryption)

선택사항입니다. VM 구성 암호화와 관련된 구성입니다.

tags

map (key: string, value: string)

선택사항입니다. 모든 기본 제어 영역 Azure 리소스에 적용할 태그 집합입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

replicaPlacements[]

object (ReplicaPlacement)

선택사항입니다. 제어 영역 복제본을 배치할 위치의 구성입니다.

복제본 배치 인스턴스를 최대 3개까지 지정할 수 있습니다. replicaPlacements가 설정되면 복제본 배치 인스턴스가 3개의 제어 영역 복제본에 가능한 한 균일하게 적용됩니다.

endpointSubnetId

string

선택사항입니다. 제어 영역 부하 분산기가 배포된 서브넷의 ARM ID입니다. 지정하지 않으면 기본적으로 AzureControlPlane.subnet_id로 설정됩니다.

예: '/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid123'

AzureDatabaseEncryption

애플리케이션 레이어 보안 비밀 암호화와 관련된 구성입니다.

Azure용 Anthos 클러스터는 Azure Key Vault를 사용하여 etcd의 Kubernetes 저장 데이터를 암호화합니다.

JSON 표현
{
  "keyId": string
}
필드
keyId

string

필수 항목입니다. 데이터를 암호화/복호화할 Azure Key Vault 키의 ARM ID입니다.

예: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name>. 암호화는 항상 최신 버전의 키를 사용하므로 특정 버전은 지원되지 않습니다.

ReplicaPlacement

제어 영역 복제본 배치의 구성입니다.

JSON 표현
{
  "subnetId": string,
  "azureAvailabilityZone": string
}
필드
subnetId

string

필수 항목입니다. 지정된 복제본의 경우 제어 영역 VM이 배포된 서브넷의 ARM ID입니다. 클러스터 구성의 가상 네트워크에 있는 서브넷이어야 합니다.

azureAvailabilityZone

string

필수 항목입니다. 지정된 복제본의 경우 제어 영역 VM 및 ETCD 디스크를 프로비저닝할 Azure 가용성 영역입니다.

AzureAuthorization

클러스터 RBAC 설정과 관련된 구성입니다.

JSON 표현
{
  "adminUsers": [
    {
      object (AzureClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AzureClusterGroup)
    }
  ]
}
필드
adminUsers[]

object (AzureClusterUser)

선택사항입니다. 클러스터 관리자로 작업을 수행할 수 있는 사용자. cluster-admin ClusterRole을 사용자에게 부여하도록 관리형 ClusterRoleBinding이 생성됩니다. 최대 10명의 관리자를 제공할 수 있습니다.

RBAC에 대한 자세한 내용은 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles를 참조하세요.

adminGroups[]

object (AzureClusterGroup)

선택사항입니다. 클러스터 관리자로 작업을 수행할 수 있는 사용자 그룹. cluster-admin ClusterRole을 그룹에 부여하도록 관리형 ClusterRoleBinding이 생성됩니다. 최대 10명의 관리자 그룹을 제공할 수 있습니다.

RBAC에 대한 자세한 내용은 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles를 참조하세요.

AzureClusterUser

Azure 클러스터에 대한 사용자 유형 주체의 ID입니다.

JSON 표현
{
  "username": string
}
필드
username

string

필수 항목입니다. 사용자의 이름입니다(예: my-gcp-id@gmail.com).

AzureClusterGroup

Azure 클러스터에 대한 그룹 유형 주체의 ID입니다.

JSON 표현
{
  "group": string
}
필드
group

string

필수 항목입니다. 그룹의 이름입니다(예: my-group@domain.com).

AzureServicesAuthentication

Azure 리소스 관리를 위한 인증 구성입니다.

JSON 표현
{
  "tenantId": string,
  "applicationId": string
}
필드
tenantId

string

필수 항목입니다. Azure Active Directory 테넌트 ID

applicationId

string

필수 항목입니다. Azure Active Directory 애플리케이션 ID

상태

클러스터의 수명 주기 상태입니다.

열거형
STATE_UNSPECIFIED 설정되지 않았습니다.
PROVISIONING PROVISIONING 상태는 클러스터가 생성 중임을 나타냅니다.
RUNNING RUNNING 상태는 클러스터가 생성되었고 완전히 사용 가능한 상태임을 나타냅니다.
RECONCILING RECONCILING 상태는 제어 영역 복제본 업그레이드와 같은 일부 작업이 클러스터에서 활발하게 수행되고 있음을 나타냅니다.
STOPPING STOPPING 상태는 클러스터가 삭제 중임을 나타냅니다.
ERROR ERROR 상태는 클러스터가 복구할 수 없는 손상된 상태임을 나타냅니다.
DEGRADED DEGRADED 상태는 전체 기능을 복원하려면 클러스터에 사용자 작업이 필요함을 나타냅니다.

AzureClusterResources

클러스터의 관리형 Azure 리소스입니다.

값은 클러스터 상태에 따라 변경될 수 있으며 비어 있을 수 있습니다.

JSON 표현
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
필드
networkSecurityGroupId

string

출력 전용입니다. 클러스터 네트워크 보안 그룹의 ARM ID입니다.

controlPlaneApplicationSecurityGroupId

string

출력 전용입니다. 제어 영역 애플리케이션 보안 그룹의 ARM ID입니다.

AzureClusterError

AzureClusterError는 Azure 클러스터에서 발견된 오류를 설명합니다.

JSON 표현
{
  "message": string
}
필드
message

string

오류에 대한 사용자 친화적인 설명입니다.

방법

create

특정 Google Cloud Platform 프로젝트 및 리전에 새 AzureCluster 리소스를 만듭니다.

delete

특정 AzureCluster 리소스를 삭제합니다.

generateAzureAccessToken

특정 AzureCluster 리소스에 인증을 수행하기 위해 단기 액세스 토큰을 생성합니다.

generateAzureClusterAgentToken

클러스터 에이전트의 액세스 토큰을 생성합니다.

get

특정 AzureCluster 리소스를 설명합니다.

getJwks

JSON 웹 키 형식으로 클러스터 서명 키의 공개 구성요소를 가져옵니다.

list

특정 Google Cloud 프로젝트 및 리전의 모든 AzureCluster 리소스를 나열합니다.

patch

AzureCluster를 업데이트합니다.