ロード・バランサへのタグの適用

Container Engine for Kubernetes (OKE)を使用するときにロード・バランサ・リソースにタグを適用する方法、および初期ロード・バランサ・タグをオーバーライドする方法をご紹介します。

ノート

この項のロード・バランサへの参照は、特に明記されていないかぎり、OCIロード・バランサ・リソースとOCIネットワーク・ロード・バランサ・リソースの両方に適用されます。

クラスタの作成時に、オプションで、タイプLoadBalancerのKubernetesサービスの定義時に作成されるロード・バランサ・リソースに適用するタグを定義できます。これらのタグは、初期ロード・バランサ・タグと呼ばれます。定義済タグとフリーフォーム・タグの両方を初期ロード・バランサ・タグとして指定できます。

Kubernetesサービスの注釈を使用して、初期ロード・バランサ・タグをオーバーライドできます(初期Load Balancerタグのオーバーライドを参照)。Kubernetesサービスを定義するときに注釈を指定すると、クラスタ定義で指定された初期ロード・バランサ・タグはいずれもロード・バランサ・リソースに適用されません。かわりに、注釈で指定されたタグがロード・バランサ・リソースに適用されます。

コンパートメントに指定されたデフォルト値を持つタグのデフォルトは、ロード・バランサ・リソースにも自動的に適用されます。Container Engine for Kubernetesでは、現在、ユーザーが適用した値を持つタグのデフォルトはサポートされていません。

次の点に注意してください:

  • タグは、ロード・バランサが最初に作成された場合にのみロード・バランサに適用されます。初期ロード・バランサ・タグを更新する場合、変更は新しいロード・バランサにのみ適用されます(タグがKubernetesサービスの注釈によってオーバーライドされない場合)。既存のロード・バランサに適用されるタグは影響を受けません。
  • コスト・トラッキング定義済タグをロード・バランサ・リソースに適用する場合、ロード・バランサ使用量を予算に含めることができます(コスト・トラッキング・タグの使用を参照)。
  • あるコンパートメントに属するタグ・ネームスペースから別のコンパートメントに属するロード・バランサ・リソースに定義済タグを適用するには、クラスタでタグ・ネームスペースを使用できるようにするポリシー・ステートメントを含める必要があります。クラスタおよびタグ・ネームスペースが異なるコンパートメントにある場合の追加のIAMポリシーを参照してください。

コンソールを使用した初期Load Balancerタグの指定

新しいクラスタ用に作成されたロード・バランサ・リソースに適用する初期ロード・バランサ・タグを指定するには:

  1. コンソールを使用した、カスタム作成ワークフローでの明示的に定義した設定でのクラスタの作成の手順に従って、新しいクラスタを作成します。
  2. 「クラスタの作成」ページの「初期ロード・バランサ・タグ」セクションを表示します。
  3. 定義済のタグをロード・バランサ・リソースに追加するには:
    • タグ・ネームスペース:タグが属するタグ・ネームスペースを選択します。
    • タグ・キー:ロード・バランサ・リソースに適用する定義済タグの名前を選択します。
    • タグ値:事前定義された値リストからタグの値を選択するか、新しい値を入力するか、(定義されたタグの設定方法に応じて)空白のままにします。
  4. フリーフォーム・タグをロード・バランサ・リソースに追加するには:
    • タグ・ネームスペース:「なし」に設定します(フリーフォーム・タグはタグ・ネームスペースに属しません)。
    • タグ・キー:ロード・バランサ・リソースに適用するフリーフォーム・タグの名前を入力します。
    • タグ値:ロード・バランサ・リソースに適用するタグの値を入力します。

初期ロード・バランサ・タグを更新して、クラスタ用に作成された新しいロード・バランサ・リソースに適用するには:

  1. クラスタの更新の手順に従って、既存のクラスタを更新します。
  2. 「クラスタの詳細」ページの「初期Load Balancerタグ」タブを表示します。
  3. 「タグの追加」をクリックして、新しいロード・バランサ・リソースに適用される定義済タグおよびフリーフォーム・タグの値を追加、削除および変更します。

    タグは、ロード・バランサが最初に作成されたときにのみロード・バランサに適用されます。そのため、初期ロード・バランサ・タグを更新する場合、変更は新しいロード・バランサ・リソースにのみ適用されます。既存のロード・バランサ・リソースにすでに適用されているタグは影響を受けません。

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サービスを作成する必要があります。

ロード・バランサに適用されるタグ

この図は、Container Engine for KubernetesがLoadBalancerタイプのKubernetesサービス用に作成されたロード・バランサ・リソースにタグを適用する方法を示すフローチャートを示しています。周囲のテキストにも同じ情報が表示されます。