0%

假如一行的内容如下:

开始 [Hello] 192.168.0.1

我们要删除开始后面所有的内容。

通过Nodepad++的替换功能,查找模式选择正则表达式

查找目标:\[Hello\].*

替换为空格即可。

macOS安装的Vmware Fusion,然后安装了数台CentOS虚拟机。

在mac主机待机和休眠后,虚拟机的时间老是不能和主机保持统一,虚拟机就是不是最新的时间,集群就会出问题。

解决方法就是安装Vmware Tools

在VMware Fusion中,选中虚拟机,点击菜单虚拟机 -> 安装VMware Tools。相当于在虚拟机里插入了安装软件的光盘。

在mac主机环境下,在CentOS7虚拟机里面安装VMware Tools。如果是在Windows主机环境下安装Vmware Tools,请参考:Windows主机环境CentOS7虚拟机安装VMware Tools

1
2
# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载

拷贝安装文件并解压。

1
# tar -xvf /mnt/VMwareTools-10.3.10-13959562.tar.gz -C /tmp/

安装

1
# /tmp/vmware-tools-distrib/vmware-install.pl

如果报如下错误:

1
2
# /tmp/vmware-tools-distrib/vmware-install.pl
-bash: /tmp/vmware-tools-distrib/vmware-install.pl: /usr/bin/perl: 坏的解释器: 没有那个文件或目录

安装一下perl就可以了。

1
# yum install -y perl

再次安装

1
2
3
4
5
# /tmp/vmware-tools-distrib/vmware-install.pl
open-vm-tools packages are available from the OS vendor and VMware recommends
using open-vm-tools packages. See http://kb.vmware.com/kb/2073803 for more
information.
Do you still want to proceed with this installation? [no] yes

然后一路回车即可。

此时,可发现哪怕主机休眠或待机后,虚拟机的时间也和主机保持一致,为最新时间了。

主机操作系统为macOS,在VMware Fusion上安装了数台CentOS7虚拟机,在其上面安装Kubernetes集群。

主机待机或休眠后,再次进入虚拟机时,发现虚拟机的时间并不与主机保持同步。这个问题在mac主机待机后和虚拟机时间不统一的问题中解决。

然后我通过命令date -s把虚拟机延迟的时间统一修改为当前时间。时间是修改好了,却出了一个严重的问题,连到虚拟机的ssh全部断开了,发现虚拟机的IP地址全部变了。随之而来的便是Prometheus的各种报警,监控的Targets
全都变红了。

所以需要把虚拟机从原来的DHCP动态分配IP改为静态固定好的IP。

修改/etc/sysconfig/network-scripts/ifcfg-ens33文件的内容。

1
2
3
4
5
6
BOOTPROTO=static

DNS1=114.114.114.114
IPADDR=172.16.64.233
NETMASK=255.255.255.0
GATEWAY=172.16.64.2

BOOTPROTOdhcp改为static

添加DNS1 Domain Name Server设置为114.114.114.114,这个是全国统一的。
添加IPADDR设置为变化之前的IP地址。

每次安装vmware fusion,自动生成的ip段都不一样。为了保持一致,可以修改vmware fusion的配置文件。

VMnet1: 对应Host-only模式,也就是自定下的“仅供我的Mac专用”

VMnet8:对应NAT模式,也就是网络配置中的Internet共享下的“与我的Mac共享”

VMnet0:对应桥接模式,也就是桥接模式网络链接下的“自动检测”

1
2
3
4
5
6
7
cat /Library/Preferences/VMware\ Fusion/networking
...
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.16.64.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes
...

添加GATEWAY

执行ip route show,获取GATEWAY的地址为:172.16.64.2

1
2
3
4
5
6
7
8
9
10
11
ip route show
default via 172.16.64.2 dev ens33 proto static metric 100
10.244.36.64/26 via 172.16.64.232 dev tunl0 proto bird onlink
10.244.169.128/26 via 172.16.64.235 dev tunl0 proto bird onlink
blackhole 10.244.235.192/26 proto bird
10.244.235.232 dev calia6f6ed2a513 scope link
10.244.235.233 dev cali9716a65ec87 scope link
10.244.235.234 dev cali26873b73fbd scope link
172.16.64.0/24 dev ens33 proto kernel scope link src 172.16.64.233 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.19.0.0/16 dev br-bebfcba064b2 proto kernel scope link src 172.19.0.1

保存退出后,重启网络systemctl restart network。过一会儿,Kubernetes集群又能正常工作了。