2.4. API サーバーをプライベートに制限する
クラスターを Amazon Web Services (AWS) または Microsoft Azure にデプロイした後に、プライベートゾーンのみを使用するように API サーバーを再設定することができます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
admin
権限を持つユーザーとして Web コンソールにアクセスできること。
手順
クラウドプロバイダーの Web ポータルまたはコンソールで、次の操作を行います。
適切なロードバランサーコンポーネントを見つけて削除します。
- AWS の場合は、外部ロードバランサーを削除します。プライベートゾーンの API DNS エントリーは、同一の設定を使用する内部ロードバランサーをすでに参照するため、内部ロードバランサーを変更する必要はありません。
-
Azure の場合、ロードバランサーの
api-internal
ルールを削除します。
-
パブリックゾーンの
api.$clustername.$yourdomain
DNS エントリーを削除します。
外部ロードバランサーを削除します。
重要以下の手順は、installer-provisioned infrastructure (IPI) のクラスターでのみ実行できます。user-provisioned infrastructure (UPI) のクラスターの場合は、外部ロードバランサーを手動で削除するか、無効にする必要があります。
クラスターでコントロールプレーンマシンセットを使用している場合は、コントロールプレーンマシンセットのカスタムリソースで次の行を削除します。
providerSpec: value: loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
クラスターがコントロールプレーンマシンセットを使用しない場合は、各コントロールプレーンマシンから外部ロードバランサーを削除する必要があります。
ターミナルから、次のコマンドを実行してクラスターマシンを一覧表示します。
$ oc get machine -n openshift-machine-api
出力例
NAME STATE TYPE REGION ZONE AGE lk4pj-master-0 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-master-1 running m4.xlarge us-east-1 us-east-1b 17m lk4pj-master-2 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-worker-us-east-1a-5fzfj running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1a-vbghs running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1b-zgpzg running m4.xlarge us-east-1 us-east-1b 15m
コントロールプレーンマシンの名前には
master
が含まれています。各コントロールプレーンマシンから外部ロードバランサーを削除します。
次のコマンドを実行して、コントロールプレーンマシンオブジェクトを編集します。
$ oc edit machines -n openshift-machine-api <control_plane_name> 1
- 1
- 変更するコントロールプレーンマシンオブジェクトの名前を指定します。
次の例でマークされている、外部ロードバランサーを説明する行を削除します。
providerSpec: value: loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
- 変更を保存して、オブジェクト仕様を終了します。
- コントロールプレーンマシンごとに、このプロセスを繰り返します。