REST Resource: projects.locations.awsClusters

리소스: AwsCluster

AWS에서 실행되는 Anthos 클러스터

JSON 표현
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "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)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
필드
name

string

이 리소스의 이름입니다.

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

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

description

string

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

networking

object (AwsClusterNetworking)

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

awsRegion

string

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

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

controlPlane

object (AwsControlPlane)

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

authorization

object (AwsAuthorization)

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

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 구성입니다.

loggingConfig

object (LoggingConfig)

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

errors[]

object (AwsClusterError)

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

monitoringConfig

object (MonitoringConfig)

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

binaryAuthorization

object (BinaryAuthorization)

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

AwsClusterNetworking

ClusterNetworking은 클러스터 전체 네트워킹 구성을 정의합니다.

AWS용 Anthos 클러스터는 단일 VPC에서 실행됩니다. 여기에는 컨트롤 플레인 복제본과 노드 풀 노드가 포함됩니다.

JSON 표현
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
필드
vpcId

string

필수 항목입니다. 클러스터와 연결된 VPC입니다. 모든 구성요소 클러스터(즉, 제어 영역과 노드 풀)가 단일 VPC에서 실행됩니다.

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

podAddressCidrBlocks[]

string

필수 항목입니다. 클러스터의 모든 포드에 이 범위의 IPv4 주소가 할당됩니다. 단일 범위만 지원됩니다. 이 필드는 생성 후 변경할 수 없습니다.

serviceAddressCidrBlocks[]

string

필수 항목입니다. 클러스터의 모든 서비스에 이 범위의 IPv4 주소가 할당됩니다. 단일 범위만 지원됩니다. 이 필드는 생성 후 변경할 수 없습니다.

perNodePoolSgRulesDisabled

boolean

선택사항입니다. 컨트롤 플레인 보안 그룹에서 노드 풀별 서브넷 보안 그룹 규칙을 사용 중지합니다. true로 설정하면 노드 풀이 TCP/443 및 TCP/8132의 컨트롤 플레인에 요청을 보낼 수 있도록 하는 보안 그룹을 하나 이상 제공해야 합니다. 이렇게 하지 않으면 노드 풀을 사용하지 못할 수 있습니다.

AwsControlPlane

ControlPlane은 컨트롤 플레인 노드 간의 공통 매개변수를 정의합니다.

JSON 표현
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
필드
version

string

필수 항목입니다. 컨트롤 플레인 복제본에서 실행할 Kubernetes 버전입니다(예: 1.19.10-gke.1000).

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

instanceType

string

선택사항입니다. AWS 인스턴스 유형입니다.

지정하지 않으면 클러스터 버전에 따라 기본값이 사용됩니다.

sshConfig

object (AwsSshConfig)

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

subnetIds[]

string

필수 항목입니다. 제어 영역 복제본이 실행되는 서브넷의 목록입니다. 복제본은 각 서브넷에 프로비저닝되고 최대 3개까지 값을 제공할 수 있습니다. 각 서브넷은 서로 다른 AWS 가용성 영역(AZ)에 있어야 합니다.

securityGroupIds[]

string

선택사항입니다. 제어 영역 복제본에 추가할 추가적인 보안 그룹의 ID입니다. Anthos Multi-Cloud API가 작동하는 클러스터에 필요한 최소 규칙을 사용해서 보안 그룹을 자동으로 만들고 관리합니다.

iamInstanceProfile

string

필수 항목입니다. 각 컨트롤 플레인 복제본에 할당할 AWS IAM 인스턴스 프로필의 이름 또는 ARN입니다.

rootVolume

object (AwsVolumeTemplate)

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

볼륨이 해당 서브넷과 연결된 가용성 영역에 프로비저닝됩니다.

지정하지 않으면 기본적으로 GP2 볼륨 유형의 32GiB로 설정됩니다.

mainVolume

object (AwsVolumeTemplate)

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

볼륨이 해당 서브넷과 연결된 가용성 영역에 프로비저닝됩니다.

지정하지 않으면 기본적으로 GP2 볼륨 유형의 8GiB로 설정됩니다.

databaseEncryption

object (AwsDatabaseEncryption)

필수 항목입니다. 클러스터 보안 비밀을 암호화하는 데 사용되는 AWS KMS 키의 ARN입니다.

tags

map (key: string, value: string)

선택사항입니다. 모든 기본 관리 AWS 리소스에 전파되는 AWS 리소스 그룹 집합입니다.

영숫자, 공백, 기호(.+-=_:@/)를 포함하여 최대 50개의 쌍을 지정합니다. 키는 최대 127개의 유니코드 문자일 수 있습니다. 값은 최대 255개의 유니코드 문자일 수 있습니다.

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

awsServicesAuthentication

object (AwsServicesAuthentication)

필수 항목입니다. AWS 리소스 관리를 위한 인증 구성입니다.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

필수 항목입니다. 사용자 데이터의 구성 암호화입니다.

instancePlacement

object (AwsInstancePlacement)

선택사항입니다. 컨트롤 플레인 인스턴스에 사용할 배치입니다. 지정하지 않으면 VPC의 기본 테넌시가 사용됩니다.

AwsDatabaseEncryption

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

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

string

필수 항목입니다. 클러스터 보안 비밀을 암호화하는 데 사용되는 AWS KMS 키의 ARN입니다.

AwsServicesAuthentication

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

JSON 표현
{
  "roleArn": string,
  "roleSessionName": string
}
필드
roleArn

string

필수 항목입니다. 계정에서 AWS 리소스를 관리할 때 Anthos 멀티 클라우드 API가 가정하는 역할의 Amazon 리소스 이름(ARN)입니다.

roleSessionName

string

선택사항. 가정한 역할 세션의 식별자입니다.

지정하지 않은 경우 기본값은 multicloud-service-agent입니다.

AwsAuthorization

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

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

object (AwsClusterUser)

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

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

adminGroups[]

object (AwsClusterGroup)

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

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

AwsClusterUser

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

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

string

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

AwsClusterGroup

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

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

string

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

상태

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

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

AwsClusterError

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

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

string

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

방법

create

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

delete

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

generateAwsAccessToken

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

generateAwsClusterAgentToken

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

get

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

getJwks

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

list

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

patch

AwsCluster를 업데이트합니다.