Kubernetesサービス・メッシュのOCIサービス・オペレータの構成
OCI Service Operator for Kubernetesは、コンテナ・ネイティブ・アプリケーションでOCIサービスの管理と接続におけるシームレスなエクスペリエンスを提供します。OCI Service Operator for Kubernetesは、OCIサービスのオペレータのライブラリです。Kubernetesユーザーは、Kubernetes APIを使用して、オペレータをインストールし、サービス・メッシュなどのOCIリソースに対してアクションを実行できます。オペレータは、OCI CLIまたはその他のOCI開発者ツールを使用してサービスAPIと対話する必要性を排除します。この項では、OCI Service Operator for Kubernetesのサービス・メッシュで使用される構成について説明します。
ポッドのSidecar注入
OCI Service Operator for Kubernetesバンドルのインストール中に、MutatingWebhookConfiguration
コールバックはネームスペース・セレクタを設定して、ネームスペース内のすべてのポッドに対するサイドカー・インジェクションを有効または無効にします。ネームスペース・レベルおよびポッド・レベルでのservicemesh.oci.oracle.com/sidecar-injection
ラベルの存在に基づいて、サイドカー・インジェクションは有効または無効になります。次の例は、ネームスペースおよびポッド・レベルでのラベル付けを示しています。
- ラベルが存在しないため、ネームスペースを作成してもサイドカー・インジェクションは起動されません。
kubectl create namespace <your-namespace>
- ネームスペース・レベルでサイドカー・インジェクションを有効にするには、ラベルを
enabled
に設定します。kubectl label namespace <your-namespace> servicemesh.oci.oracle.com/sidecar-injection=enabled
- ネームスペース・レベルでサイドカー・インジェクションを無効にするには、ラベルを
disabled
に設定します。kubectl label namespace <your-namespace> servicemesh.oci.oracle.com/sidecar-injection=disabled
- ポッドを作成してもラベルは追加されず、ラベルはネームスペースから継承されます。ポッド・レベルでサイドカー・インジェクションを有効にするには、ラベルを
enabled
に設定します。kubectl label pods <pod-name> -n <your-namespace> servicemesh.oci.oracle.com/sidecar-injection=enabled
- ポッド・レベルでサイドカー・インジェクションを無効にするには、ラベルを
disabled
に設定します。kubectl label pods <pod-name> -n <your-namespace> servicemesh.oci.oracle.com/sidecar-injection=disabled
重要
sidecar-injection
ラベルのロジックは次のように機能します。 sidecar-injection
ラベルがポッド・レベルに設定されている場合、ポッド・ラベル値に基づいてサイドカー・インジェクションが有効または無効になります。- ポッド・レベルで
sidecar-injection
ラベルが設定されていない場合、sidecar-injection
はネームスペース・ラベル値に基づいて有効または無効になります。 - ラベルが設定されていない場合、デフォルトではサイドカーの注入は無効になります。
サービス・メッシュ・プロキシ・サーバーの構成
サービス・メッシュ・プロキシ・サービスの構成の詳細は、次を参照してください。