在OpenShift 4.x CoreOS服务器中配置静态IPv4地址
我们刚刚完成了OpenShift 4.x或者OKD 4.x集群的设置,并且想在节点上配置静态IP地址吗?这是对本地部署的OpenShift UPI群集的常见要求,例如,群集安装在DHCP服务器不太可靠的VMware,RHEV或者Baremetal服务器中。在本文中,我们将使用nmcli网络管理工具在OpenShift 4.x服务器Infra,Masters和Worker计算机上配置静态IPv4地址。
由于本教程中使用的过程是手动的,因此这意味着我们需要通过ssh访问要配置静态IP地址的服务器。在我们的示例中,在引导过程中使用DHCP服务器为计算机分配IPv4地址,以下是工作计算机的DHCP配置示例。
.... subnet 172.22.100.0 netmask 255.255.255.0 { pool { range 172.22.100.1 172.22.100.100; option routers 172.22.100.254; option subnet-mask 255.255.255.0; option broadcast-address 172.22.100.255; option domain-name-servers 172.22.100.254,8.8.8.8; option domain-name "ocp.example.net"; # Worker Machines host worker1 { hardware ethernet 00:50:56:bf:c0:f7; fixed-address 172.22.100.10; option host-name "worker1.ocp.example.net"; } host worker2 { hardware ethernet 00:50:56:bf:07:5a; fixed-address 172.22.100.11; option host-name "worker2.ocp.example.net"; } host worker3 { hardware ethernet 00:50:56:bf:b2:a6; fixed-address 172.22.100.12; option host-name "worker3.ocp.example.net"; } ....
错误登录到工作节点worker1之一,其通过DHCP服务器分配的IP地址为172.22.100.10.
$ssh theitroad@localhost Red Hat Enterprise Linux CoreOS 44.81.201707010318-0 Part of OpenShift 4.4, RHCOS is a Kubernetes native operating system managed by the Machine Config Operator (`clusteroperator/machine-config`). WARNING: Direct SSH access to machines is not recommended; instead, make configuration changes via `machineconfig` objects: https://docs.openshift.com/container-platform/4.4/architecture/architecture-rhcos.html -- Last login: Sat Oct 31 19:55:16 2017 from 172.22.100.200 [theitroad@localhost ~]$
我们也可以使用oc debug命令来获得对节点的Shell访问。
$oc debug node/<nodename>
使用NMCLI在Red Hat CoreOS/Fedora CoreOS中配置静态IP地址
一旦我们登录到终端,请使用nmcli检查网络配置。
$nmcli connection show NAME UUID TYPE DEVICE Wired connection 1 1dbbec73-04b1-3726-9d04-458f9ba17ff6 ethernet ens192
我们可以获取有关连接的更多详细信息:
$nmcli con show 'Wired connection 1'
要配置IPv4地址,网关和DNS使用nmcli更新网络连接设置。
sudo nmcli connection mod 'Wired connection 1' \ ipv4.method manual \ connection.autoconnect yes \ ipv4.addresses 172.22.100.10/24 \ ipv4.gateway 172.22.100.254 \ ipv4.dns 172.22.100.254 \ +ipv4.dns 8.8.8.8
在我的设置中,使用的设置为:172.22.100.10是服务器的IPv4地址.172.22.100.254是网关和DNS服务器IPv4地址.8.8.8.8是辅助DNS服务器IPv4地址.connection.autoconnect yes将连接设置为出现在系统boot.ipv4.method上,手动将连接从DHCP切换到静态IPv4地址。有线连接1是要修改的连接的名称。
执行后,将创建一个静态网络配置脚本。
$ls /etc/sysconfig/network-scripts/ ifcfg-Wired_connection_1
重新启动以确认IP地址请求是发送到DHCP服务器还是手动分配。
sudo systemctl reboot
使用NMCLI在Red Hat CoreOS/Fedora CoreOS上设置主机名
我们还可以使用NMCLI命令行工具来配置CoreOS服务器的静态主机名。
sudo nmcli general hostname worker1.ocp.example.net
确认设置。
$hostnamectl Static hostname: worker1.ocp.example.net Icon name: computer-vm Chassis: vm Machine ID: 93ba80b38e9948acbb6aa6346bb5312c Boot ID: d885cc0011c04ac08c4d3e3ef3441ed0 Virtualization: vmware Operating System: Red Hat Enterprise Linux CoreOS 44.81.201707010318-0 (Ootpa) Kernel: Linux 4.18.0-147.20.1.el8_1.x86_64 Architecture: x86-64
我们也可以使用/etc/hostname文件。
$cat /etc/hostname worker1.ocp.example.net
现在,我们在Red Hat CoreOS和Fedora CoreOS服务器中设置了静态IPv4地址。