機械翻訳について

このドキュメントで説明されているソフトウェアは、サポートされなくなったか、拡張サポートされています。
Oracleでは、現在サポートされているリリースにアップグレードすることをお勧めします。

第8章 KubernetesサービスのexternalIPsへのアクセスの設定

この章では、KubernetesサービスでのexternalIPsへのアクセス権の設定について説明します。 externalIPsの詳細は、次の場所にあるアップストリームのドキュメントを参照してください:

https://kubernetes.io/docs/concepts/services-networking/service/#external-ips

Kubernetesをデプロイすると、KubernetesサービスのexternalIPsへのアクセスを制御するクラスタにサービスがデプロイされます。 このサービスはexternalip-validation-webhook-serviceという名前で、externalip-validation-systemネームスペースで実行されます。

Kubernetesのデプロイ後、次を使用してサービスが実行されていることを確認できます:

kubectl get services --namespace externalip-validation-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE externalip-validation-webhook-service ClusterIP 10.100.79.236 <none> 443/TCP 15m

このKubernetesサービスでは、Kubernetesをデプロイする前にX.509証明書を設定する必要があります。 Vaultによって生成された証明書または独自の証明書を使用することも、gen-certs-helper.shスクリプトを使用して証明書を生成することもできます。 これらの証明書の設定の詳細は、スタート・ガイドを参照してください。

Kubernetesをデプロイする場合、olcnectl module createコマンドでこれらの証明書のロケーションを指定する必要があります。 Kubernetesモジュールの作成および証明書のロケーションの設定の例を第2.1項、「に関する項「Kubernetesモジュールの作成」に示します。

8.1 CIDRブロックへのアクセスの有効化

オプションで、モジュールの作成時にKubernetesサービスがアクセスできる外部IPアドレスを設定できます。 これを設定するには、olcnectl module createコマンドの--restrict-service-externalip-cidrsオプションを使用します。 この例では、許可されるIP範囲は192.0.2.0/24および198.51.100.0/24 CIDRブロック内です。

olcnectl module create \
--environment-name myenvironment \
--module kubernetes \
--name mycluster \
...
--restrict-service-externalip-ca-cert /etc/olcne/certificates/restrict_external_ip/ca.cert \
--restrict-service-externalip-tls-cert /etc/olcne/certificates/restrict_external_ip/node.cert \
--restrict-service-externalip-tls-key /etc/olcne/certificates/restrict_external_ip/node.key \
--restrict-service-externalip-cidrs 192.0.2.0/24,198.51.100.0/24

8.2 CIDRブロックへのアクセス権の変更

CIDRブロックが許可されるように構成されているKubernetesモジュールがある場合、olcnectl module updateコマンドの--restrict-service-externalip-cidrsオプションを使用してこの構成を変更できます。 これにより、構成されているCIDRSを変更できます。 たとえば、既存のKubernetesモジュールの192.0.2.0/24にアクセスできるCIDRブロックを設定するには、次のようにします:

olcnectl module update \
--environment-name myenvironment \
--name mycluster \
--restrict-service-externalip-cidrs 192.0.2.0/24

CIDRブロックへのアクセスを削除する(つまり、externalIPsへのアクセスが許可されない)には、--restrict-service-externalip-cidrsオプションをnullに設定します。次に例を示します:

olcnectl module update \
--environment-name myenvironment \
--name mycluster \
--restrict-service-externalip-cidrs ""

8.3 externalIPsへのアクセスの無効化

KubernetesサービスによるexternalIPsへのアクセスを制限する場合は、Kubernetesモジュールの作成時に許可されるCIDRブロックを設定しないでください。 つまり、olcnectl module createコマンドの--restrict-service-externalip-cidrsオプションは使用しないでください。 externalip-validation-webhook-service Kubernetesサービスはデプロイされていますが、どのexternalIPsにもアクセスできません。 たとえば:

olcnectl module create \
--environment-name myenvironment \
--module kubernetes \
--name mycluster \
...
--restrict-service-externalip-ca-cert /etc/olcne/certificates/restrict_external_ip/ca.cert \
--restrict-service-externalip-tls-cert /etc/olcne/certificates/restrict_external_ip/node.cert \
--restrict-service-externalip-tls-key /etc/olcne/certificates/restrict_external_ip/node.key

既存のKubernetesモジュールがあり、構成されている可能性のあるすべてのCIDRブロックへのアクセスを削除する場合は、第8.2項、「CIDRブロックへのアクセス権の変更」に示すように、モジュールを更新し、--restrict-service-externalip-cidrsオプションをnullに設定します。

8.4 すべてのexternalIPsへのアクセスの有効化

すべてのKubernetesサービスがすべてのexternalIPsにアクセスできるようにする場合は、olcnectl module createコマンドの--restrict-service-externalip falseオプションを使用してこの機能を無効にできます。 この機能を無効にすると、すべてのKubernetesサービスがクラスタ内のすべてのexternalIPsにアクセスできるようになります。

この機能を無効にすると、externalip-validation-webhook-service Kubernetesサービスはクラスタにデプロイされません。つまり、Kubernetesサービスに対して外部IPアドレスの検証は実行されず、すべてのCIDRブロックに対してアクセスが許可されます。 たとえば、Kubernetesモジュールを作成する場合は、--restrict-service-externalip falseオプションを含めます:

olcnectl module create \
--environment-name myenvironment \
--module kubernetes \
--name mycluster \
...
--restrict-service-externalip false 

Kubernetesクラスタでこの機能を無効にするには、olcnectl module updateコマンドの--restrict-service-externalip falseオプションを使用します。 この方法でKubernetesモジュールを変更すると、クラスタからexternalip-validation-webhook-service Kubernetesサービスが削除されるため、検証は実行されません。 たとえば:

olcnectl module update \
--environment-name myenvironment \
--name mycluster \
--restrict-service-externalip false 

逆に、olcnectl module updateコマンドの--restrict-service-externalip trueオプションを使用してKubernetesクラスタでこの機能を有効にすると、externalip-validation-webhook-service Kubernetesサービスがクラスタにデプロイされるため、検証が実行されます。 たとえば:

olcnectl module update \
--environment-name myenvironment \
--name mycluster \
--restrict-service-externalip true