赞
踩
Vagrantfile代码如下:
Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "k8s-node#{i}" do |node| # 设置虚拟机的Box node.vm.box = "centos/7" # 设置虚拟机的主机名 node.vm.hostname="k8s-node#{i}" # 设置虚拟机的IP node.vm.network "private_network", ip: "192.168.56.#{99+i}", netmask: "255.255.255.0" # 设置主机与虚拟机的共享目录 # node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share" # VirtaulBox相关配置 node.vm.provider "virtualbox" do |v| # 设置虚拟机的名称 v.name = "k8s-node#{i}" # 设置虚拟机的内存大小 v.memory = 4096 # 设置虚拟机的CPU个数 v.cpus = 4 end end end end
开启三台虚拟机的账号密码访问权限,这样就可用Xshell等第三方工具来连接:
由于3台虚拟机的默认网络都一样,需要设置NAT网络
查看访问的网卡,查看地址
ip route show
ip addr
增加NAT网络
设置后可发现每台虚拟机地址都不一样,并且互相能ping通,并且能ping通www.baidu.com,能连接外网。
使用NAT模式,虚拟机可以共享主机的vpn(如要使用vpn,网卡1“混杂模式”要改为“全部允许”),如果不是用vagrant创建的,没有指定ip则此时不知道xshell连接虚拟机的ip地址,可以使用此方法为虚拟机增加固定ip:
开启虚拟机,执行如下命令:
cd /etc/sysconfig/network-scripts
# 拷贝文件
cp ifcfg-enp0s3 ifcfg-enp0s8
sudo vi ifcfg-enp0s8
修改如下几处:
service network restart
再ping www.baidu.com试一下,ifconfig也能看到新加的网络,然后用Xshell连接此ip即可:
关闭防火墙(3个节点都执行):
systemctl stop firewalld
systemctl disable firewalld
关闭selinux安全策略:
cat /etc/selinux/config //可以查看一下
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0 //禁全局
关闭swap(内存交换)
cat /etc/fstab //可以查看一下里面的内容
swapoff -a //临时
sed -ri 's/.*swap.*/#&/' /etc/fstab //永久
free -g //验证 swap必须为0
添加主机名与ip对应关系
vi /etc/hosts
10.0.2.6 k8s-node1
10.0.2.4 k8s-node2
10.0.2.5 k8s-node3
hostnamectl set-hostname <newhostname>:指定新的hostname(vagrant创建时已经指定了)
su 切换过来
将桥接的ipv4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
EOF
sysctl --system //应用
mount -o remount rw / //遇到提示是只读文件系统时运行
可选配置
data //查看时间
yum install -y ntpdate
ntpdate time.windows.com //同步最新时间
全部准备好后可以将3台虚拟机备份一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。