VituralBox从零搭建基于CentOS 7(64位)的Kubernetes+docker集群
- 1. 下载CentOS 7官方minimal镜像
- 2. 安装VituralBox(Windows 10 64位)
- 3. 安装Git for windows(Windows 10 64位)
- 4. 安装VituralBox虚拟机并创建CentOS 7 Master主机
- 5. 设置CentOS 7的网络环境和ssh连接(开放22端口)
- 6. 构建CentOS虚拟机局域网
- 7. Master主节点配置kubernetes+docker
- 8. Node子节点配置kubernetes+docker
- 附录
1. 下载CentOS 7官方minimal镜像
- 安装迅雷软件
- 使用迅雷访问官方地址,下载镜像:http://mirrors.huaweicloud.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
2. 安装VituralBox(Windows 10 64位)
- 官方下载地址:https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe
3. 安装Git for windows(Windows 10 64位)
官方下载地址:https://git-scm.com/download/win
下载完成后,直接安装,下一步下一步就好了,主要是用于接上虚拟机输入命令,复制粘贴命令和文本非常方便,安装完成后,点击Git Bash可以看到以下界面:
4.安装VituralBox虚拟机并创建CentOS 7 Master主机
VituralBox是“下一步,下一步”的“傻瓜式安装”,这里注意下,安装位置不要选择C盘,因为会占用硬盘大量的空间,导致系统非常卡顿!
安装完成后,在CMD界面输入“ifconfig”,查看虚拟网卡是否存在,存在就是装好了:
打开VirtualBox主界面,如下图所示,点击新建:
新建虚拟机,
切记保存位置不能选择C盘!,名字为“CentOS7-Master”,点击“下一步”
内存至少分配3.5GB,下一步,创建虚拟硬盘
创建虚拟硬盘->VDI->动态分配->硬盘大小至少分配20G以上,创建
这时我们看到已经创建成功了,点击“启动”,载入下载好的CentOS7 minimal镜像ISO文件
点击设置->显示→显示控制器更改为“VBoxVGA”(这一步是为了防止,启动后无法显示鼠标,就无法安装CentOS7 了)
设置完成后,选择“Install CentOS 7”,这里我们选择“英语”(美国),下一步,点击“安装位置”,选择分配的硬盘空间,下一步,设置用户名和密码,安装完成,点击重启
5. 设置CentOS 7的网络环境和ssh连接(开放22端口)
输入用户名root,root密码,进入CentOS 7,这时我们输入“ping www.baidu.com”发现网卡无法访问外网,这时,输入命令
# 找到 ONBOOT,把 no 改成 yes ,保存退出
重启虚拟机后,执行命令,yum环境可以使用了
# 把 Port 22 前面的#注释去掉
关闭虚拟机,右键点击设置->网络,进行如下配置,主机ip填写windows下虚拟机网卡的ip,子ip填写CentOS里面enp0s3网卡的ip地址,端口填写22
启动虚拟机,打开Git Bash输入命令,发现可以连接进去虚拟机:
6.构建CentOS虚拟机局域网
点击管理->主机网络管理器,新建2个和前面的虚拟网卡统一网段的ip网卡
把之前配置好的虚拟机,右键选择“克隆”
克隆完成后,我们发现多出来了两个新的虚拟机
点击“管理”->"全局设定"->"网络"->新建一个网段为“10.0.3.0/24”的网段,配置如下图
好了,这里我们需要分别设置3个虚拟机的网络,打开主机 Master的设置-网络,网卡1和网卡2配置如下:
Node1的网卡1、网卡2配置:
Node2的网卡1、网卡2配置:
分别开启3台虚拟机,输入”ifconfig“查询到3个ip地址
根据对应的ip地址重新填写各虚拟机网卡1的”端口转发“规则
最后利用git bash 用ssh命令登陆3台虚拟机,然后两两相互ping,如果能ping通,证明局域网CentOS环境已经搭建完成,我们正式进入k8s+docker的环境搭建
7. Master主节点配置kubernetes+docker
目前我们的3台虚拟机如下:
- Master主节点(ip:10.0.3.4)
- Node1子节点(ip:10.0.3.5)
- Node2子节点(ip:10.0.3.6)
输入以下命令关闭防火墙:
setenforce 0systemctl stop firewalld & systemctl disable firewalldsed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinuxswapoff -afirewall-cmd --reload
yum安装k8s和etcd:
sudo vi /etc/etcd/etcd.conf
### # kubernetes system config # # The following values are used to configure the kube-apiserver # # The address on the local server to listen to. KUBE_API_ADDRESS="--address=0.0.0.0" # The port on the local server to listen on. KUBE_API_PORT="--port=8080" # Port minions listen on KUBELET_PORT="--kubelet-port=10250" # Comma separated list of nodes in the etcd cluster KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379" # Address range to use for services KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" # default admission control policies KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,L imitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota" # Add your own! KUBE_API_ARGS=""
- 输入命令:
- 10.0.2.7换成自己主机节点虚拟机的ip
etcdctl -C http://10.0.3.4:2379 set /atomic.io/network/config '{ "Network":"10.1.0.0/16"}'
8. Node子节点配置kubernetes+docker
#安装k8s
修改配置如下,保存退出 , 这里填写的ip是主节点的ip,不是自己的ip!
修改配置如下,保存退出 ,
ip link delete docker0
修改配置如下,保存退出 ,
输入命令:
最后一步,在主机节点(10.0.3.4)输入命令:
大功告成!如果这篇文章可以帮到你,就资助下小弟吧
附录
三篇参考博客:
- vituralbox虚拟机安装及配置(一、二):https://www.jianshu.com/p/78a5afd0c597
- vituralbox搭建局域网虚拟机:https://jingyan.baidu.com/article/22a299b5d5989d9e19376ab7.html
- Kubernetes+docker集群搭建博客:https://blog.csdn.net/real_myth/article/details/78719244
- CentOS minimal刚完成安装无法联网:https://www.cnblogs.com/syscn/p/9802924.html
- CentOS 开放22端口:https://www.cnblogs.com/xxx91hx/p/4374289.html