Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

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