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 release 3.11.286 现已正式发布。其软件包列表和程序错误修正信息包括在 RHBA-2020:3695 公告中。此更新包括的容器镜像由 RHBA-2020:3694 公告提供。

2.8.50.1. 功能

2.8.50.1.1. 添加了 OpenStack 中对浮动 IP 分配进行基于角色的控制

在这个版本中,您可以控制 OpenStack 云调配的浮动 IP 地址的分配。

在以前的版本中,负责创建 OpenStack 虚拟服务器的 playbook 始终将浮动 IP 地址与对应于 OpenShift Container Platform 节点的每个虚拟机关联。这个行为会产生以下结果:

  • OpenShift Container Platform 集群大小受 OpenStack 用户可用的浮动 IP 地址数量的限制。
  • 所有 OpenShift Container Platform 节点都可以直接从外部访问,这增加了潜在的攻击面。

为了解决这些问题,本发行版本引入了基于角色的控件,以确定是否为节点分配了浮动 IP 地址。该行为由以下布尔值清单变量控制,这些变量默认设置为 true

  • openshift_openstack_master_floating_ip
  • openshift_openstack_infra_floating_ip
  • openshift_openstack_compute_floating_ip
  • openshift_openstack_load_balancer_floating_ip

基于角色的控件可用于处理以下用例,例如:

  • masterinfra 节点具有浮动 IP 地址的集群,但 compute 节点没有。
  • 没有节点具有浮动 IP 地址但负载均衡器有的集群。在此配置中,OpenShift Container Platform 通过负载均衡器使用,但任何节点都无法直接访问。

没有浮动 IP 地址的服务器只能从它所在的网络访问。如果有任何节点没有浮动 IP 地址,则必须从节点网络内部运行 openshift-ansible playbook。使用此配置的一种常见方法是预先创建节点网络和子网,在其中创建一个堡垒主机,并在其中运行 Ansible。

创建堡垒主机的步骤示例

$ 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

创建堡垒主机后,安装 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