Kubernetes Engine (OKE)のポリシー

ディザスタ・リカバリ(DR)が、アプリケーション・スタックの一部であるKubernetesエンジン(OKE)を管理できるようにする方法を示します。

リソース・プリンシパルを使用して構成するポリシー

Allow dynamic-group <Dynamic_group_Name> to manage compute-container-family in compartment <cluster_compartment>
Allow dynamic-group <Dynamic_group_Name> to manage object-family in compartment <compartment>
Allow dynamic-group <Dynamic_group_Name> to manage cluster-family in comparment <>
allow dynamic-group <Dynamic_group_Name> to manage cluster-virtualnode-pools in comparment <>

Virtual Node Pool

Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload',
request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader',
request.principal.cluster_id = '<Cluster_OCID>'}
Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload',
request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator',
request.principal.cluster_id = '<Cluster_OCID>'}

ユーザー認証を使用して構成するポリシー:

OKEからのオブジェクト・ストレージ・バケット・アクセスのポリシー:

このポリシーにより、フル・スタックDRサービスはオブジェクト・ストレージ・バケットにアクセスして構成バックアップをアップロードできます。OKEクラスタからのオブジェクト・ストレージ・バケット・アクセスのポリシーは、クラスタ・タイプによって異なります。

管理されたノードプール:

動的グループ<cluster1_dg>の作成

All {instance.compartment.id = '<compartment_ocid>'}

ポリシーの作成:

Allow dynamic-group cluster1_dg to manage object-family in compartment <compartment>
Allow dynamic-group cluster1_dg to manage cluster-family in compartment <compartment>

仮想ノードプール:

次のポリシーを作成します。

Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload',
request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader',
request.principal.cluster_id = '<Cluster_OCID>'}
Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload',
request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator',
request.principal.cluster_id = '<Cluster_OCID>'}

これらのポリシーは、サービス・アカウントbrie-readerまたはbrie-creatorを使用してbrieネームスペースで実行されているポッドに、オブジェクト・ストレージ・バケットへの読取りおよび書込みを付与します。

コンテナ・インスタンスのポリシー:

このポリシーにより、フル・スタックDRサービスによって作成されたランタイム・コンテナ・インスタンスは、OKEクラスタおよびオブジェクト・ストレージ・バケットにアクセスできます。次を使用して動的グループ<bastion1_dg>を作成します:

All {resource.type='computecontainerinstance'}

ポリシーの作成:

Allow dynamic-group bastion1_dg to manage object-family in compartment <compartment>
Allow dynamic-group bastion1_dg to manage cluster-family in compartment <compartment>

ジャンプ・ホストのポリシー

ジャンプ・ホストを使用している場合、このポリシーにより、フル・スタックDRがOKEクラスタおよびオブジェクト・ストレージ・バケットにアクセスできるようになります。

ジャンプ・ホストとクラスタが同じコンパートメントにある場合は、オブジェクト・ストレージ・バケットへのアクセスを提供する新しい動的グループおよびポリシーを作成するステップを回避できます。

次を使用して動的グループ<bastion1_dg>を作成します:

All {instance.compartment.id = '<compartment_ocid>'}

ポリシーの作成:

Allow dynamic-group bastion1_dg to manage cluster-family in compartment <compartment>Allow dynamic-group bastion1_dg to manage cluster in compartment
    <compartment>

ジャンプ・ホストがなく、コンテナ・インスタンスを起動する必要がある場合は、次のポリシーを作成します:

Allow group <> to manage compute-container-family in compartment <cluster_compartment>
Allow group <> to use virtual-network-family in compartment <cluster_network_compartment>
Allow group <> to read repos in tenancy

関連トピック