REST Resource: projects.locations.vmwareClusters

리소스: VmwareCluster

VMware 사용자 클러스터를 나타내는 리소스입니다.

##

JSON 표현
{
  "name": string,
  "adminClusterMembership": string,
  "description": string,
  "onPremVersion": string,
  "uid": string,
  "state": enum (State),
  "endpoint": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "localName": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "controlPlaneNode": {
    object (VmwareControlPlaneNodeConfig)
  },
  "antiAffinityGroups": {
    object (VmwareAAGConfig)
  },
  "storage": {
    object (VmwareStorageConfig)
  },
  "networkConfig": {
    object (VmwareNetworkConfig)
  },
  "loadBalancer": {
    object (VmwareLoadBalancerConfig)
  },
  "vcenter": {
    object (VmwareVCenterConfig)
  },
  "status": {
    object (ResourceStatus)
  },
  "dataplaneV2": {
    object (VmwareDataplaneV2Config)
  },
  "vmTrackingEnabled": boolean,
  "autoRepairConfig": {
    object (VmwareAutoRepairConfig)
  },
  "fleet": {
    object (Fleet)
  },
  "authorization": {
    object (Authorization)
  },
  "deleteTime": string,
  "validationCheck": {
    object (ValidationCheck)
  },
  "adminClusterName": string,
  "enableControlPlaneV2": boolean,
  "binaryAuthorization": {
    object (BinaryAuthorization)
  },
  "upgradePolicy": {
    object (VmwareClusterUpgradePolicy)
  },
  "disableBundledIngress": boolean
}
필드
name

string

변경할 수 없습니다. VMware 사용자 클러스터 리소스 이름입니다.

adminClusterMembership

string

필수 입력란입니다. 이 VMware 사용자 클러스터가 속한 관리자 클러스터입니다. 관리자 클러스터의 Fleet 멤버십의 전체 리소스 이름입니다. 향후 관리 클러스터가 자체 리소스로 모델링되면 다른 리소스 유형에 대한 참조가 허용될 수 있습니다.

description

string

이 VMware 사용자 클러스터에 대한 인간이 읽을 수 있는 설명입니다.

onPremVersion

string

필수 입력란입니다. 사용자 클러스터의 VMware 버전의 Anthos 클러스터입니다.

uid

string

출력 전용입니다. VMware 사용자 클러스터의 고유 식별자입니다.

state

enum (State)

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

endpoint

string

출력 전용입니다. VMware 사용자 클러스터의 API 서버의 DNS 이름입니다.

reconciling

boolean

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

createTime

string (Timestamp format)

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

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다.예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다.예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30".

localName

string

출력 전용입니다. 연결된 관리자 클러스터의 VMware OnPremUserCluster 커스텀 리소스의 객체 이름입니다. 이 필드는 기존 클러스터를 API에 등록할 때 충돌하는 이름을 지원하는 데 사용됩니다. 클러스터 등록의 일부로 사용되는 경우 이 필드는 리소스 이름의 ID와 다릅니다. 새 클러스터의 경우 이 필드는 사용자가 제공한 클러스터 이름과 일치하며 리소스 이름의 마지막 구성요소에 표시됩니다. 수정할 수 없습니다.

모든 사용자는 이 이름을 사용하여 gkectl 또는 kubectl을 통해 클러스터에 액세스해야 하며 관리 클러스터 컨트롤러 로그를 볼 때 로컬 이름이 표시될 것으로 예상해야 합니다.

etag

string

이 체크섬은 다른 필드의 값을 기준으로 서버에서 계산되며, 처리 전 클라이언트에 최신 값이 적용되도록 업데이트 및 삭제 요청이 있을 때 전송될 수 있습니다. 클라이언트가 낙관적 동시 실행 제어를 통해 일관적인 읽기-수정-쓰기를 수행하도록 허용합니다.

annotations

map (key: string, value: string)

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

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

controlPlaneNode

object (VmwareControlPlaneNodeConfig)

VMware 사용자 클러스터 제어 영역 노드에는 복제본이 1개 또는 3개 있어야 합니다.

antiAffinityGroups

object (VmwareAAGConfig)

AAGConfig는 VMware 사용자 클러스터 노드를 데이터 센터의 3개 이상의 물리적 호스트에 분산할지 지정합니다.

storage

object (VmwareStorageConfig)

스토리지 구성

networkConfig

object (VmwareNetworkConfig)

VMware 사용자 클러스터 네트워크 구성

loadBalancer

object (VmwareLoadBalancerConfig)

부하 분산기 구성

vcenter

object (VmwareVCenterConfig)

VmwareVCenterConfig는 사용자 클러스터의 vCenter 구성을 지정합니다. 지정하지 않으면 관리자 클러스터에서 상속됩니다.

status

object (ResourceStatus)

출력 전용입니다. 자세한 클러스터 상태를 나타내는 ResourceStatus입니다.

dataplaneV2

object (VmwareDataplaneV2Config)

VmwareDataplaneV2Config는 Dataplane V2의 구성을 지정합니다.

vmTrackingEnabled

boolean

VM 추적을 사용 설정합니다.

autoRepairConfig

object (VmwareAutoRepairConfig)

자동 복구 구성입니다.

fleet

object (Fleet)

출력 전용입니다. 클러스터의 Fleet 구성입니다.

authorization

object (Authorization)

Anthos On-Prem API에서 적용하고 관리할 RBAC 정책입니다.

deleteTime

string (Timestamp format)

출력 전용입니다. VMware 사용자 클러스터가 삭제된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다.예: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30".

validationCheck

object (ValidationCheck)

출력 전용입니다. ValidationCheck는 실행 전 검사 작업의 결과를 나타냅니다.

adminClusterName

string

출력 전용입니다. 이 사용자 클러스터를 호스팅하는 VMware 관리 클러스터의 리소스 이름입니다.

enableControlPlaneV2

boolean

컨트롤 플레인 V2를 사용 설정합니다. 기본값은 false입니다.

binaryAuthorization

object (BinaryAuthorization)

Binary Authorization 관련 구성입니다.

upgradePolicy

object (VmwareClusterUpgradePolicy)

클러스터의 업그레이드 정책을 지정합니다.

disableBundledIngress

boolean

번들 인그레스를 사용 중지합니다.

VMware 사용자 클러스터의 수명 주기 상태입니다.

열거형
STATE_UNSPECIFIED 설정되지 않았습니다.
PROVISIONING PROVISIONING 상태는 클러스터가 생성 중임을 나타냅니다.
RUNNING RUNNING 상태는 클러스터가 생성되었고 완전히 사용 가능한 상태임을 나타냅니다.
RECONCILING RECONCILING 상태는 클러스터가 업데이트 중임을 나타냅니다. 계속 사용할 수 있지만 성능이 저하될 수 있습니다.
STOPPING STOPPING 상태는 클러스터가 삭제 중임을 나타냅니다.
ERROR ERROR 상태는 클러스터가 손상되어 복구 불가 상태임을 나타냅니다.
DEGRADED DEGRADED 상태는 전체 기능을 복원하려면 클러스터에 사용자 작업이 필요함을 나타냅니다.

VmwareControlPlaneNodeConfig

VMware 사용자 클러스터의 제어 영역 노드 구성을 지정합니다.

JSON 표현
{
  "cpus": string,
  "memory": string,
  "replicas": string,
  "autoResizeConfig": {
    object (VmwareAutoResizeConfig)
  },
  "vsphereConfig": {
    object (VmwareControlPlaneVsphereConfig)
  }
}
필드
cpus

string (int64 format)

이 VMware 사용자 클러스터의 제어 영역 역할을 하는 각 관리자 클러스터 노드의 CPU 수입니다. (기본값: CPU 4개)

memory

string (int64 format)

이 VMware 사용자 클러스터의 제어 영역 역할을 하는 각 관리자 클러스터 노드의 메모리 크기 (MB, 기본값: 8,192MB 메모리)입니다.

replicas

string (int64 format)

이 VMware 사용자 클러스터의 제어 영역 노드 수입니다. (기본값: 복제본 1개)

autoResizeConfig

object (VmwareAutoResizeConfig)

AutoResizeConfig는 자동 크기 조절 구성을 제공합니다.

vsphereConfig

object (VmwareControlPlaneVsphereConfig)

Vsphere 관련 구성입니다.

VmwareControlPlaneVsphereConfig

제어 영역 노드 구성을 지정합니다.

JSON 표현
{
  "datastore": string,
  "storagePolicyName": string
}
필드
datastore

string

제어 영역 노드에서 사용하는 vSphere Datastore입니다.

storagePolicyName

string

제어 영역 노드에서 사용하는 vSphere 스토리지 정책입니다.

VmwareStorageConfig

VMware 사용자 클러스터에서 vSphere CSI 구성요소 배포 구성을 지정합니다.

JSON 표현
{
  "vsphereCsiDisabled": boolean
}
필드
vsphereCsiDisabled

boolean

VMware 사용자 클러스터에 vSphere CSI 구성요소를 배포할지 여부입니다. 기본적으로 사용 설정됩니다.

VmwareNetworkConfig

VMware 사용자 클러스터의 네트워크 구성을 지정합니다.

JSON 표현
{
  "serviceAddressCidrBlocks": [
    string
  ],
  "podAddressCidrBlocks": [
    string
  ],
  "vcenterNetwork": string,
  "hostConfig": {
    object (VmwareHostConfig)
  },
  "controlPlaneV2Config": {
    object (VmwareControlPlaneV2Config)
  },

  // Union field ip_configuration can be only one of the following:
  "staticIpConfig": {
    object (VmwareStaticIpConfig)
  },
  "dhcpIpConfig": {
    object (VmwareDhcpIpConfig)
  }
  // End of list of possible types for union field ip_configuration.
}
필드
serviceAddressCidrBlocks[]

string

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

podAddressCidrBlocks[]

string

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

vcenterNetwork

string

vcenterNetwork는 vCenter 네트워크 이름을 지정합니다. 관리자 클러스터에서 상속됩니다.

hostConfig

object (VmwareHostConfig)

호스트의 IP 주소와 관계없이 공통적인 네트워크 설정을 나타냅니다.

controlPlaneV2Config

object (VmwareControlPlaneV2Config)

제어 영역 V2 모드의 구성입니다.

통합 필드 ip_configuration. VMware 사용자 클러스터에서 사용하는 IP 구성 유형입니다. ip_configuration은 다음 중 하나여야 합니다.
staticIpConfig

object (VmwareStaticIpConfig)

고정 IP 구성의 구성 설정입니다.

dhcpIpConfig

object (VmwareDhcpIpConfig)

DHCP IP 구성의 구성 설정입니다.

VmwareControlPlaneV2Config

제어 영역 V2 구성을 지정합니다.

JSON 표현
{
  "controlPlaneIpBlock": {
    object (VmwareIpBlock)
  }
}
필드
controlPlaneIpBlock

object (VmwareIpBlock)

컨트롤 플레인 노드의 고정 IP 주소입니다.

VmwareLoadBalancerConfig

VMware 사용자 클러스터의 로컬 부하 분산기 구성을 지정합니다.

JSON 표현
{
  "vipConfig": {
    object (VmwareVipConfig)
  },

  // Union field load_balancer_configuration can be only one of the following:
  "f5Config": {
    object (VmwareF5BigIpConfig)
  },
  "manualLbConfig": {
    object (VmwareManualLbConfig)
  },
  "seesawConfig": {
    object (VmwareSeesawConfig)
  },
  "metalLbConfig": {
    object (VmwareMetalLbConfig)
  }
  // End of list of possible types for union field load_balancer_configuration.
}
필드
vipConfig

object (VmwareVipConfig)

부하 분산기에서 사용하는 VIP입니다.

통합 필드 load_balancer_configuration. 사용자 클러스터에서 사용할 부하 분산기 구성입니다. load_balancer_configuration은 다음 중 하나여야 합니다.
f5Config

object (VmwareF5BigIpConfig)

F5 Big IP 유형 부하 분산기의 구성

manualLbConfig

object (VmwareManualLbConfig)

수동으로 구성된 부하 분산기

seesawConfig

object (VmwareSeesawConfig)

출력 전용입니다. Seesaw 유형 부하 분산기의 구성

metalLbConfig

object (VmwareMetalLbConfig)

MetalLB 유형 부하 분산기의 구성입니다.

VmwareVipConfig

VMware 사용자 클러스터 부하 분산기의 VIP 구성을 지정합니다.

JSON 표현
{
  "controlPlaneVip": string,
  "ingressVip": string
}
필드
controlPlaneVip

string

이 클러스터의 Kubernetes API에 대해 이전에 별도로 설정한 VIP입니다.

ingressVip

string

이전에 이 클러스터로의 인그레스 트래픽을 위해 별도로 설정한 VIP입니다.

VmwareF5BigIpConfig

F5 BIG-IP 부하 분산기의 구성 매개변수를 나타냅니다.

JSON 표현
{
  "address": string,
  "partition": string,
  "snatPool": string
}
필드
address

string

부하 분산기의 IP 주소입니다.

partition

string

부하 분산기에서 사용할 기존 파티션입니다. 이 파티션은 일반적으로 관리자 클러스터용으로 생성됩니다(예: 'my-f5-admin-partition').

snatPool

string

풀 이름입니다. SNAT를 사용하는 경우에만 필요합니다.

VmwareManualLbConfig

이미 존재하는 수동 부하 분산기의 구성 매개변수를 나타냅니다. 수동 부하 분산기의 특성을 고려할 때 해당 부하 분산기는 사용자가 완전히 관리할 것으로 예상됩니다.

중요: Anthos On-Prem API는 ManualLB 구성을 생성하거나 업데이트하지 않으며 기존 구성을 새 VMware 사용자 클러스터에만 바인딩할 수 있습니다.

JSON 표현
{
  "ingressHttpNodePort": integer,
  "ingressHttpsNodePort": integer,
  "controlPlaneNodePort": integer,
  "konnectivityServerNodePort": integer
}
필드
ingressHttpNodePort

integer

인그레스 서비스의 HTTP용 NodePort입니다. 관리자 클러스터의 인그레스 서비스는 NodePort 유형의 서비스 (예: 32527).

ingressHttpsNodePort

integer

인그레스 서비스의 HTTPS용 NodePort입니다. 관리자 클러스터의 인그레스 서비스는 NodePort 유형의 서비스 (예: 30139).

controlPlaneNodePort

integer

컨트롤 플레인 서비스의 NodePort입니다. 관리자 클러스터의 Kubernetes API 서버는 NodePort 유형의 서비스 (예: 30968).

konnectivityServerNodePort

integer

각 kube-apiserver 포드에서 사이드카로 실행되는 연결 서버 서비스의 NodePort입니다 (예: 30564).

VmwareSeesawConfig

VmwareSeesawConfig는 이미 존재하는 Seesaw 부하 분산기의 구성 매개변수를 나타냅니다.

중요: Anthos On-Prem API는 Seesaw 구성을 생성하거나 업데이트하지 않으며, 기존 구성을 새 사용자 클러스터에만 바인딩할 수 있습니다.

중요: 기존 Seesaw 부하 분산기로 사용자 클러스터를 만들려고 할 때는 'vmwareClusters.create' API 메서드를 호출하기 전에 몇 가지 준비 단계를 따라야 합니다. 먼저 kubectl을 통해 사용자 클러스터의 네임스페이스를 만들어야 합니다. 네임스페이스는 다음 이름 지정 규칙을 사용해야 합니다. -gke-onprem-mgmt 또는 -gke-onprem-mgmt('VmwareCluster.local_name'을 사용하여 충돌을 구분했는지 여부에 따라 다름). 자세한 내용은 'VmwareCluster.local_name' 문서를 참고하세요. 네임스페이스가 생성되면 kubectl을 통해 보안 비밀 리소스를 만들어야 합니다. 이 시크릿에는 Seesaw 사용자 인증 정보 사본이 포함됩니다. 보안 비밀의 이름은 'user-cluster-creds'여야 하며 Seesaw의 SSH 및 인증서 사용자 인증 정보가 포함되어야 합니다. 사용자 인증 정보는 'seesaw-ssh-private-key', 'seesaw-ssh-public-key', 'seesaw-ssh-ca-key', 'seesaw-ssh-ca-cert'라는 이름으로 키를 지정해야 합니다.

JSON 표현
{
  "group": string,
  "masterIp": string,
  "ipBlocks": [
    {
      object (VmwareIpBlock)
    }
  ],
  "enableHa": boolean,
  "vms": [
    string
  ],
  "stackdriverName": string
}
필드
group

string

필수 입력란입니다. 일반적으로 Seesaw 그룹 이름에는 seesaw-for-[clusterName] 형식을 사용해야 합니다.

masterIp

string

필수 입력란입니다. MasterIP는 Seesaw 그룹의 마스터가 공지한 IP입니다.

ipBlocks[]

object (VmwareIpBlock)

필수 입력란입니다. Seesaw 부하 분산기에서 사용할 IP 블록

enableHa

boolean

고가용성 Seesaw 부하 분산기를 사용하려면 두 개의 부하 분산기 VM을 사용 설정합니다.

vms[]

string

이 Seesaw 그룹에 대해 생성된 VM의 이름입니다.

stackdriverName

string

Stackdriver에서 사용할 이름입니다.

VmwareMetalLbConfig

MetalLB 부하 분산기의 구성 매개변수를 나타냅니다.

JSON 표현
{
  "addressPools": [
    {
      object (VmwareAddressPool)
    }
  ]
}
필드
addressPools[]

object (VmwareAddressPool)

필수 입력란입니다. AddressPools는 부하 분산기 유형 서비스에서 사용하는 겹치지 않는 IP 풀 목록입니다. 모든 주소는 부하 분산기 노드로 라우팅할 수 있어야 합니다. IngressVIP가 풀에 포함되어야 합니다.

VmwareAddressPool

부하 분산기에서 사용하는 IP 풀을 나타냅니다.

JSON 표현
{
  "pool": string,
  "addresses": [
    string
  ],
  "avoidBuggyIps": boolean,
  "manualAssign": boolean
}
필드
pool

string

필수 입력란입니다. 주소 풀의 이름입니다.

addresses[]

string

필수 입력란입니다. 이 풀에 포함된 주소입니다. 각 주소는 CIDR 형식 (1.2.3.0/24) 또는 범위 형식 (1.2.3.1~1.2.3.5)이어야 합니다.

avoidBuggyIps

boolean

true인 경우 .0 또는 .255로 끝나는 IP를 사용하지 마세요. 이렇게 하면 버그가 있는 소비자 기기가 특수한 IP 주소의 IPv4 트래픽을 실수로 차단하는 문제를 방지할 수 있습니다.

manualAssign

boolean

이 값이 true이면 IP 주소가 자동으로 할당되지 않습니다.

VmwareVCenterConfig

사용자 클러스터의 VMware VCenter 구성을 나타냅니다.

JSON 표현
{
  "resourcePool": string,
  "datastore": string,
  "datacenter": string,
  "cluster": string,
  "folder": string,
  "caCertData": string,
  "address": string,
  "storagePolicyName": string
}
필드
resourcePool

string

사용자 클러스터의 vCenter 리소스 풀 이름입니다.

datastore

string

사용자 클러스터의 vCenter 데이터 스토어 이름입니다.

datacenter

string

사용자 클러스터의 vCenter 데이터 센터 이름입니다.

cluster

string

사용자 클러스터의 vCenter 클러스터 이름입니다.

folder

string

사용자 클러스터의 vCenter 폴더 이름입니다.

caCertData

string

SSL 확인을 위한 vCenter CA 인증서 공개 키를 포함합니다.

address

string

출력 전용입니다. vCenter IP 주소입니다.

storagePolicyName

string

사용자 클러스터의 vCenter 스토리지 정책 이름입니다.

VmwareDataplaneV2Config

Kubernetes 네트워킹에 최적화된 데이터 영역인 Dataplane V2의 구성을 포함합니다. 자세한 내용은 https://cloud.google.com/kubernetes-engine/docs/concepts/dataplane-v2를 참고하세요.

JSON 표현
{
  "dataplaneV2Enabled": boolean,
  "windowsDataplaneV2Enabled": boolean,
  "advancedNetworking": boolean,
  "forwardMode": string
}
필드
dataplaneV2Enabled

boolean

Dataplane V2를 사용 설정합니다.

windowsDataplaneV2Enabled

boolean

Windows 노드가 있는 클러스터에 Dataplane V2를 사용 설정합니다.

advancedNetworking

boolean

dataplaneV2Enabled를 true로 설정해야 하는 고급 네트워킹을 사용 설정합니다.

forwardMode

string

Dataplane v2의 ForwardMode를 구성합니다.

VmwareClusterUpgradePolicy

VmwareClusterUpgradePolicy는 클러스터 업그레이드 정책을 정의합니다.

JSON 표현
{
  "controlPlaneOnly": boolean
}
필드
controlPlaneOnly

boolean

업그레이드가 컨트롤 플레인에만 적용되는지 여부를 제어합니다.

메서드

create

특정 프로젝트와 위치에 새 VMware 사용자 클러스터를 만듭니다.

delete

단일 VMware 클러스터를 삭제합니다.

enroll

지정된 프로젝트 및 위치 내에서 기존 VMware 사용자 클러스터와 해당 노드 풀을 Anthos On-Prem API에 등록합니다.

get

단일 VMware 클러스터의 세부정보를 가져옵니다.

list

특정 프로젝트 및 위치의 VMware 클러스터를 나열합니다.

patch

단일 VMware 클러스터의 매개변수를 업데이트합니다.

queryVersionConfig

VMware 사용자 클러스터 버전 구성을 쿼리합니다.