在OpenShift 4.x CoreOS服务器中配置静态IPv4地址

时间:2020-02-23 14:30:18  来源:igfitidea点击:

我们刚刚完成了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地址。