このドキュメントで説明されているソフトウェアは、サポートされなくなったか、拡張サポートされています。
Oracleでは、現在サポートされているリリースにアップグレードすることをお勧めします。
第8章 Kubernetes Servicesでの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/configs/certificates/restrict_external_ip/production/ca.cert \ --restrict-service-externalip-tls-cert=/etc/olcne/configs/certificates/restrict_external_ip/production/node.cert \ --restrict-service-externalip-tls-key=/etc/olcne/configs/certificates/restrict_external_ip/production/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/configs/certificates/restrict_external_ip/production/ca.cert \ --restrict-service-externalip-tls-cert=/etc/olcne/configs/certificates/restrict_external_ip/production/node.cert \ --restrict-service-externalip-tls-key=/etc/olcne/configs/certificates/restrict_external_ip/production/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