2.8.50. RHBA-2020:3695 - OpenShift Container Platform 3.11.286 バグ修正の更新
発行日: 2020-09-16
OpenShift Container Platform リリース 3.11.286 が公開されました。この更新に含まれるパッケージおよびバグ修正の一覧は、RHBA-2020:3695 アドバイザリーにまとめられています。この更新に含まれるコンテナーイメージは、RHBA-2020:3694 アドバイザリーで提供されています。
2.8.50.1. 機能
2.8.50.1.1. OpenStack において Floating IP 割り当てのロールベースのアクセス制御機能を追加
今回のリリースにより、OpenStack クラウドプロビジョニングの Floating IP アドレスの割り当てを制御できるようになりました。
以前は、OpenStack 仮想サーバーを作成する Playbook では、OpenShift Container Platform ノードに対応する各仮想マシンに Floating IP アドレスが常に関連付けられていました。この動作には、以下の影響があります。
- OpenShift Container Platform クラスターサイズは、OpenStack ユーザーが利用できる Floating IP アドレスの数によって制限されます。
- すべての OpenShift Container Platform ノードは外部から直接アクセスでき、攻撃のリスクが拡大します。
これらの問題を解決するために、今回のリリースでは、ノードに Floating IP アドレスが割り当てられているかどうかを判断するためのロールベースのアクセス制御が導入されました。この動作は、以下のブール値のインベントリー変数で制御されます。デフォルトは true
に設定されます。
-
openshift_openstack_master_floating_ip
-
openshift_openstack_infra_floating_ip
-
openshift_openstack_compute_floating_ip
-
openshift_openstack_load_balancer_floating_ip
ロールベースのアクセス制御では、以下のようなユースケースが可能です。
-
master
およびinfra
インフラストラクチャーノードに Floating IP アドレスがあるが、compute
ノードにはないクラスター。 - Floating IP アドレスが割り当てられたノードはないが、Floating IP がロードバランサーに割り当てられているクラスター。この設定では、OpenShift Container Platform はロードバランサー経由で使用されますが、ノードには直接アクセスできません。
Floating IP アドレスのないサーバーは、そのネットワークからしかアクセスできません。ノードに Floating IP アドレスがない場合には、openshift-ansible
Playbook うぃノードのネットワーク内から実行する必要があります。この設定を使用する一般的な方法として、ノードネットワークおよびサブネットを事前に作成し、そこに bastion ホストを作成してそのホストで Ansible を実行できます。
Bastion ホストを作成する手順の例
$ openstack network create openshift $ openstack subnet create --subnet-range 192.168.0.0/24 --dns-nameserver \ 10.20.30.40 --network openshift openshift $ openstack router create openshift-router $ openstack router set --external-gateway public openshift-router $ openstack router add subnet openshift-router openshift $ openstack server create --wait --image RHEL7 --flavor m1.medium \ --key-name openshift --network openshift bastion $ openstack floating ip create public $ openstack server add floating ip bastion 172.24.4.10 $ ping 172.24.4.10 $ ssh cloud-user@172.24.4.10
bastion ホストを作成したら、openshift-ansible
をインストールし、希望の設定を inventory/group_vars/all.yml
ファイルに追加します。
インベントリー設定の例
openshift_openstack_node_network_name: openshift openshift_openstack_router_name: openshift-router openshift_openstack_node_subnet_name: openshift openshift_openstack_master_floating_ip: false openshift_openstack_infra_floating_ip: false openshift_openstack_compute_floating_ip: false openshift_openstack_load_balancer_floating_ip: false