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

省略可。このクラスタの説明(人が読める形式)。255 UTF-8 エンコード バイト以下にする必要があります。

azureRegion

string

必須。クラスタが稼働している Azure リージョン。

Google Cloud の各リージョンは、付近の Azure リージョンのサブセットをサポートします。locations.getAzureServerConfig を呼び出して、指定した Google Cloud リージョン内でサポートされているすべての Azure リージョンを一覧表示できます。

resourceGroupId

string

必須。クラスタ リソースがデプロイされているリソース グループの ARM ID(例: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

省略可。Anthos Multi-Cloud 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)

出力専用。このクラスタが作成された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。このクラスタが最後に更新された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

クライアントがオプティミスティック同時実行制御で一貫した読み取り - 修正 - 書き込みを行えるようにします。

更新リクエストと削除リクエストで送信して、クライアントが最新の値を保持していることを続行する前に確認できます。

annotations

map (key: string, value: string)

省略可。クラスタのアノテーション。

このフィールドには、Kubernetes アノテーションと同じ制限があります。結合されたすべてのキーと値の合計サイズは 256k に制限されています。キーには、スラッシュ(/)で区切られる、接頭辞(省略可)と名前(必須)の 2 つのセグメントを配置できます。接頭辞は DNS サブドメインにする必要があります。名前は 63 文字以下にしてください。先頭と末尾には英数字を使用し、先頭と末尾の間にはダッシュ(-)、アンダースコア(_)、ドット(.)、英数字を使用します。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

workloadIdentityConfig

object (WorkloadIdentityConfig)

出力専用。Workload Identity 設定。

clusterCaCertificate

string

出力専用。クラスタのルート オブ トラストの PEM でエンコードされた x509 証明書。

fleet

object (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

必須。このクラスタ内の Pod の IP アドレス範囲。CIDR 表記で指定(例: 10.96.0.0/14)。

クラスタ内のすべての Pod には、これらの範囲から一意の IPv4 アドレスが割り当てられます。単一の範囲のみがサポートされます。

作成後にこのフィールドを変更することはできません。

serviceAddressCidrBlocks[]

string

必須。このクラスタ内のサービスの IP アドレス範囲。CIDR 表記で指定(例: 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)

省略可。各コントロール プレーン レプリカにプロビジョニングされたルート ボリュームに関連する構成。

指定しない場合は、デフォルトで 32 GiB の Azure ディスクになります。

mainVolume

object (AzureDiskTemplate)

省略可。各コントロール プレーン レプリカにプロビジョニングされたメイン ボリュームに関連する構成。メイン ボリュームは、すべてのクラスタの etcd の状態の保存に関わっています。

指定しない場合は、デフォルトで 8 GiB Azure ディスクになります。

databaseEncryption

object (AzureDatabaseEncryption)

省略可。アプリケーション レイヤでの Secret の暗号化に関連する構成。

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

アプリケーション レイヤでの Secret の暗号化に関連する構成。

Anthos clusters on Azure は、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
(deprecated)

指定された Google Cloud Platform プロジェクトとリージョンに新しい AzureCluster リソースを作成します。

delete
(deprecated)

特定の AzureCluster リソースを削除します。

generateAzureAccessToken
(deprecated)

指定された AzureCluster リソースに対する認証を行うための有効期間の短いアクセス トークンを生成します。

generateAzureClusterAgentToken
(deprecated)

クラスタ エージェントのアクセス トークンを生成します。

get
(deprecated)

特定の AzureCluster リソースについて説明します。

getJwks
(deprecated)

クラスタ署名鍵の公開コンポーネントを JSON Web Key 形式で取得します。

list
(deprecated)

指定された Google Cloud プロジェクトとリージョンのすべての AzureCluster リソースを一覧表示します。

patch
(deprecated)

AzureCluster を更新します。