4.6. GCP のユーザー定義のラベルとタグの管理
GCP のユーザー定義のラベルとタグのサポートは、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Google Cloud Platform (GCP) は、特定の OpenShift Container Platform クラスター用に作成されたリソースの識別と整理に役立つラベルとタグを提供し、管理を容易にします。
各 GCP リソースのラベルとタグは、OpenShift Container Platform クラスターのインストール中にのみ定義できます。
ユーザー定義のラベルとタグは、OpenShift Container Platform 4.16 にアップグレードされた OpenShift Container Platform クラスターではサポートされません。
すでに追加されているタグを更新することはできません。また、設定されたタグキーまたはタグ値が削除された場合、タグによってサポートされるリソースの新規作成が失敗します。
ユーザー定義のラベル
ユーザー定義のラベルと OpenShift Container Platform 固有のラベルは、OpenShift Container Platform インストールプログラムとそのコアコンポーネントによって作成されたリソースにのみ適用されます。
- GCP ファイルストアの CSI ドライバーオペレーター
- GCP PD CSI Driver Operator
- Image Registry Operator
- GCP 用のマシン API プロバイダー
ユーザー定義のタグは、OpenShift Container Platform インストールプログラム、Image Registry Operator、および Machine API Operator によって作成されたリソースに割り当てられます。ユーザー定義のタグは、他の Operator または Kubernetes のツリー内コンポーネントによって作成されたリソースには割り当てられません。
ユーザー定義のラベルと OpenShift Container Platform ラベルは、次の GCP リソースで使用できます。
- コンピュートディスク
- コンピュートインスタンス
- コンピュートイメージ
- コンピュート転送ルール
- DNS 管理ゾーン
- ファイルストアインスタンス
- ストレージバケット
ユーザー定義ラベルの制限
-
ComputeAddress
のラベルは GCP ベータ版でサポートされています。OpenShift Container Platform はリソースにラベルを追加しません。
ユーザー定義のタグ
ユーザー定義のタグは、OpenShift Container Platform Image Registry Operator によって作成されたリソースに付加され、他の Operator または Kubernetes ツリー内コンポーネントによって作成されたリソースには付加されません。
ユーザー定義のタグは、次の GCP リソースで利用できます。
- ストレージバケット
- コンピュートインスタンス
- コンピュートディスク
ユーザー定義タグの制限事項
以下の商品にはタグはつきません。
- GCP ファイルストア CSI ドライバーオペレーターによって作成されたファイルストアインスタンスリソース
- GCP PD CSI ドライバーオペレーターによって作成されたコンピュートディスクとコンピュートイメージリソース
- Operator は最小限のロールを持つサービスアカウントを作成して使用するため、タグを特定のサービスアカウントに制限してはなりません。
- OpenShift Container Platform は、タグのキーおよび値のリソースを作成しません。
- OpenShift Container Platform 固有のタグはどのリソースにも追加されません。
4.6.1. GCP のユーザー定義のラベルとタグの設定
前提条件
-
インストールプログラムでは、組織レベルとプロジェクトレベルの両方で定義されたタグを使用してプログラムが OpenShift Container Platform クラスターを作成できるように、サービスアカウントに
TagUser
ロールが含まれている必要があります。
手順
install-config.yaml
ファイルを更新して、必要なラベルとタグのリストを定義します。注記ラベルとタグは
install-config.yaml
の作成フェーズ中に定義され、クラスターの作成後に新しいラベルやタグで変更または更新することはできません。install-config.yaml
ファイルのサンプルapiVersion: v1 featureSet: TechPreviewNoUpgrade platform: gcp: userLabels: - key: <label_key> value: <label_value> userTags: - parentID: <OrganizationID/ProjectID> key: <tag_key_short_name> value: <tag_value_short_name>
apiVersion: v1 featureSet: TechPreviewNoUpgrade platform: gcp: userLabels:
1 - key: <label_key>
2 value: <label_value>
3 userTags:
4 - parentID: <OrganizationID/ProjectID>
5 key: <tag_key_short_name> value: <tag_value_short_name>
Copy to Clipboard Copied!
ユーザー定義ラベルの要件は次のとおりです。
- ラベルのキーと値は、最小 1 文字、最大 63 文字である必要があります。
-
ラベルのキーと値には、小文字、数字、アンダースコア (
_
)、およびダッシュ (-
) のみを含める必要があります。 - ラベルキーは小文字で始まる必要があります。
- リソースごとに最大 32 個のラベルを設定できます。各リソースには最大 64 個のラベルを含めることができ、32 個のラベルは OpenShift Container Platform による内部使用のために予約されています。
ユーザー定義タグの要件は次のとおりです。
- タグキーとタグ値はすでに存在している必要があります。OpenShift Container Platform はキーと値を作成しません。
タグの
parentID
は、OrganizationID
またはProjectID
のいずれかになります。-
OrganizationID
は、先行ゼロのない 10 進数で構成されている必要があります。 -
ProjectID
の長さは 6 ~ 30 文字で、小文字、数字、ハイフンのみを含む必要があります。 -
ProjectID
は文字で始まる必要があり、ハイフンで終わることはできません。
-
-
タグキーには、大文字と小文字の英数字、ハイフン (
-
)、アンダースコア (_
)、およびピリオド (.
) のみを含める必要があります。 -
タグ値には、大文字と小文字の英数字、ハイフン (
-
)、アンダースコア (_
)、ピリオド (.
)、アットマーク (@
)、パーセント記号 (%
)、等号 (=
)、プラス記号 (+
)、コロン (:
)、コンマ (,
)、アスタリスク (*
)、ポンド記号 ($
)、アンパサンド (&
)、括弧 (()
)、角中括弧 ([]
)、中括弧 ({}
)、およびスペースのみを含める必要があります。 - タグのキーと値は英数字で始まり、終わる必要があります。
- タグ値は、キーの事前定義された値の 1 つである必要があります。
- 最大 50 個のタグを設定できます。
- 親リソースから継承される既存のタグキーと同じ値で定義されたタグキーが存在してはなりません。
4.6.2. GCP のユーザー定義のラベルとタグのクエリー
OpenShift Container Platform クラスターを作成した後、次のサンプル infrastructure.yaml
ファイルに示すように、infrastructures.config.openshift.io/cluster
オブジェクト内の GCP リソースに定義されたラベルとタグのリストにアクセスできます。
サンプルの infrastructure.yaml
ファイル
apiVersion: config.openshift.io/v1 kind: Infrastructure metadata: name: cluster spec: platformSpec: type: GCP status: infrastructureName: <cluster_id> platform: GCP platformStatus: gcp: resourceLabels: - key: <label_key> value: <label_value> resourceTags: - key: <tag_key_short_name> parentID: <OrganizationID/ProjectID> value: <tag_value_short_name> type: GCP
apiVersion: config.openshift.io/v1
kind: Infrastructure
metadata:
name: cluster
spec:
platformSpec:
type: GCP
status:
infrastructureName: <cluster_id>
platform: GCP
platformStatus:
gcp:
resourceLabels:
- key: <label_key>
value: <label_value>
resourceTags:
- key: <tag_key_short_name>
parentID: <OrganizationID/ProjectID>
value: <tag_value_short_name>
type: GCP
- 1
- クラスターのインストール中に生成されるクラスター ID。
ユーザー定義のラベルに加えて、リソースには OpenShift Container Platform によって定義されたラベルがあります。OpenShift Container Platform ラベルの形式は、kubernetes-io-cluster-<cluster_id>:owned
です。