ロード・バランサへのタグの適用
Container Engine for Kubernetes (OKE)を使用するときにロード・バランサ・リソースにタグを適用する方法、および初期ロード・バランサ・タグをオーバーライドする方法をご紹介します。
この項のロード・バランサへの参照は、特に明記されていないかぎり、OCIロード・バランサ・リソースとOCIネットワーク・ロード・バランサ・リソースの両方に適用されます。
クラスタの作成時に、オプションで、タイプLoadBalancerのKubernetesサービスの定義時に作成されるロード・バランサ・リソースに適用するタグを定義できます。これらのタグは、初期ロード・バランサ・タグと呼ばれます。定義済タグとフリーフォーム・タグの両方を初期ロード・バランサ・タグとして指定できます。
Kubernetesサービスの注釈を使用して、初期ロード・バランサ・タグをオーバーライドできます(初期Load Balancerタグのオーバーライドを参照)。Kubernetesサービスを定義するときに注釈を指定すると、クラスタ定義で指定された初期ロード・バランサ・タグはいずれもロード・バランサ・リソースに適用されません。かわりに、注釈で指定されたタグがロード・バランサ・リソースに適用されます。
コンパートメントに指定されたデフォルト値を持つタグのデフォルトは、ロード・バランサ・リソースにも自動的に適用されます。Container Engine for Kubernetesでは、現在、ユーザーが適用した値を持つタグのデフォルトはサポートされていません。
次の点に注意してください:
- タグは、ロード・バランサが最初に作成された場合にのみロード・バランサに適用されます。初期ロード・バランサ・タグを更新する場合、変更は新しいロード・バランサにのみ適用されます(タグがKubernetesサービスの注釈によってオーバーライドされない場合)。既存のロード・バランサに適用されるタグは影響を受けません。
- コスト・トラッキング定義済タグをロード・バランサ・リソースに適用する場合、ロード・バランサ使用量を予算に含めることができます(コスト・トラッキング・タグの使用を参照)。
- あるコンパートメントに属するタグ・ネームスペースから別のコンパートメントに属するロード・バランサ・リソースに定義済タグを適用するには、クラスタでタグ・ネームスペースを使用できるようにするポリシー・ステートメントを含める必要があります。クラスタおよびタグ・ネームスペースが異なるコンパートメントにある場合の追加のIAMポリシーを参照してください。
コンソールを使用した初期Load Balancerタグの指定
新しいクラスタ用に作成されたロード・バランサ・リソースに適用する初期ロード・バランサ・タグを指定するには:
- コンソールを使用した、カスタム作成ワークフローでの明示的に定義した設定でのクラスタの作成の手順に従って、新しいクラスタを作成します。
- 「クラスタの作成」ページの「初期ロード・バランサ・タグ」セクションを表示します。
- 定義済のタグをロード・バランサ・リソースに追加するには:
- タグ・ネームスペース:タグが属するタグ・ネームスペースを選択します。
- タグ・キー:ロード・バランサ・リソースに適用する定義済タグの名前を選択します。
- タグ値:事前定義された値リストからタグの値を選択するか、新しい値を入力するか、(定義されたタグの設定方法に応じて)空白のままにします。
- フリーフォーム・タグをロード・バランサ・リソースに追加するには:
- タグ・ネームスペース:「なし」に設定します(フリーフォーム・タグはタグ・ネームスペースに属しません)。
- タグ・キー:ロード・バランサ・リソースに適用するフリーフォーム・タグの名前を入力します。
- タグ値:ロード・バランサ・リソースに適用するタグの値を入力します。
初期ロード・バランサ・タグを更新して、クラスタ用に作成された新しいロード・バランサ・リソースに適用するには:
- クラスタの更新の手順に従って、既存のクラスタを更新します。
- 「クラスタの詳細」ページの「初期Load Balancerタグ」タブを表示します。
- 「タグの追加」をクリックして、新しいロード・バランサ・リソースに適用される定義済タグおよびフリーフォーム・タグの値を追加、削除および変更します。
タグは、ロード・バランサが最初に作成されたときにのみロード・バランサに適用されます。そのため、初期ロード・バランサ・タグを更新する場合、変更は新しいロード・バランサ・リソースにのみ適用されます。既存のロード・バランサ・リソースにすでに適用されているタグは影響を受けません。
CLIを使用した初期Load Balancerタグの指定
oci ce node-pool create \
--cluster-id <cluster-ocid> \
--compartment-id <compartment-ocid> \
--kubernetes-version <kubernetes-version> \
--name <node-pool-name> \
--node-shape <node-shape> \
--service-lb-defined-tags <json-name-value-pairs> \
--service-lb-freeform-tags <json-name-value-pairs>
例:
oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd \
--compartment-id ocid1.compartment.oc1..aaaaaaaay______t6q \
--kubernetes-version v1.20.11 \
--name Finance-Node-Pool \
--node-shape VM.Standard2.1 \
--service-lb-defined-tags {"Operations": {"CostCenter": "42"}} \
--service-lb-freeform-tags {"Department": "Finance"}
APIを使用した初期Load Balancerタグの指定
初期ロード・バランサ・タグを追加および更新するには、CreateClusterおよびクラスタの更新操作で使用されるServiceLbConfigDetails
オブジェクトのfreeformTags
およびdefinedTags
属性を使用します。
初期Load Balancerタグの上書き
次のように、LoadBalancerタイプのKubernetesサービスの定義で注釈を使用して、クラスタに指定された初期ロード・バランサ・タグをオーバーライドできます:
- ロード・バランサ・リソースの場合:
-
ロード・バランサ・リソースの定義済初期ロード・バランサ・タグをオーバーライドするには、マニフェスト・ファイルのメタデータ・セクションに次の注釈を追加します:
oci.oraclecloud.com/initial-defined-tags-override: '{"<tag-namespace>": {"<tag-key>": "<tag-value>"}}'
-
ロード・バランサ・リソースのフリーフォーム初期ロード・バランサ・タグをオーバーライドするには、マニフェスト・ファイルのメタデータ・セクションに次の注釈を追加します:
oci.oraclecloud.com/initial-freeform-tags-override: '{"<tag-key>": "<tag-value>"}'
-
- ネットワーク・ロード・バランサ・リソースの場合:
-
ネットワーク・ロード・バランサ・リソースの定義済初期ロード・バランサ・タグをオーバーライドするには、マニフェスト・ファイルのメタデータ・セクションに次の注釈を追加します:
oci-network-load-balancer.oraclecloud.com/initial-defined-tags-override: '{"<tag-namespace>": {"<tag-key>": "<tag-value>"}}'
-
ネットワーク・ロード・バランサ・リソースのフリーフォーム初期ロード・バランサ・タグをオーバーライドするには、マニフェスト・ファイルのメタデータ・セクションに次の注釈を追加します:
oci-network-load-balancer.oraclecloud.com/initial-freeform-tags-override: '{"<tag-key>": "<tag-value>"}'
-
例:
apiVersion: v1
kind: Service
metadata:
name: my-nginx-svc
labels:
app: nginx
annotations:
oci.oraclecloud.com/initial-defined-tags-override: '{"Operations": {"CostCenter": "42"}}'
oci.oraclecloud.com/initial-freeform-tags-override: '{"Department": "Finance"}'
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: nginx
次の点に注意してください:
- 前述のアノテーションを指定すると、クラスタに設定された初期ロード・バランサ・タグはいずれもロード・バランサ・リソースに適用されません。注釈で指定されたタグのみが、タグのデフォルトとともにロード・バランサ・リソースに適用されます。
- マニフェスト・ファイルで注釈を変更した場合、変更は新しいロード・バランサ・リソースにのみ適用されます。既存のロード・バランサ・リソースにすでに適用されているタグは影響を受けません。注釈を変更することによって、既存のロード・バランサ・リソースに適用されるタグを変更することはできません。かわりに、必要なタグのアノテーションを含むLoadBalancerタイプの新しいKubernetesサービスを作成する必要があります。