本次实验环境采用master + node两个节点部署
1、前期准备与说明
安装运行环境系统要求为CentOS7.5,内核版本不低于3.10。
Docker版本为docker-ce-19.03.13。
Kubernetes版本为1.18.1
2、master、node硬件配置
虚拟化引擎建议都打上勾
第一项是开启嵌套虚拟化支持,需要在虚拟机中继续安装虚拟机时才需要开启。(这个一定要打上√)
第二项会降低虚拟化性能,其本质是用于debug时使用。(可以选择不打√)
第三项会提升io性能,但需要物理机支持io虚拟化,对于bios和主板、CPU有一定要求。(可以选择不打√)
3、配置网络、主机名
(1)master节点
#vi /etc/sysconfig/network-scripts/ifcfg-en*(具体的网口)文件
配置网络:
改:
ONBOOT=yes
BOOTPROTO=static
添:
IPADDR=192.168.200.50
PREFIX=24
GATEWAY=192.168.200.1
重启网卡
#systemctl restart NetworkManager
配置主机名:
#hostnamectl set-hostname master
(2)node 节点
配置网络
#vi /etc/sysconfig/network-scripts/ifcfg-en*(具体的网口)文件
改:
ONBOOT=yes
BOOTPROTO=static
添:
IPADDR=192.168.200.60
PREFIX=24
GATEWAY=192.168.200.1
重启网卡
#systemctl restart NetworkManager
配置主机名:
#hostnamectl set-hostname node
按ctrl+d 退出, master和node都重新登陆
在这里说明一下,我这里的IP为什么设置为master:192.168.200.50 和node:192.168.200.60,因为我NAT网络模式的网卡IP是192.168.200.0,master和node可以根据NAT网络模式的网卡IP来自行设置
以上操作在虚拟机本机上操作
以下操作在远程连接工具上操作(连接后先把下面三个镜像传到master中的/root 下)
1.Centos7.5镜像
2.chinaskills_cloud_iaas.iso镜像
3.chinaskills_cloud_paas.iso镜像
5、主机名映射(master和node都要操作)
#vi /etc/hosts
添:
192.168.200.50 master
192.168.200.60 node
在这里可以对上面的操作验证一下,在master中执行 ( ping node ) 和在node中执行 ( ping master ) 看是否都通
6.关闭SELinux和防火墙(master和node都要操作)
所有节点关闭SELinux:
#sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
#setenforce 0
所有节点关闭防火墙:
#systemctl stop firewalld.service
#systemctl disable firewalld.service
删除iptables防火墙规则
所有节点清除iptables规则:
#iptables –F
#iptables –X
#iptables –Z
#iptables-save
7.配置yum源
master节点:
#mkdir /opt/centos
#mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
#cp -rfv /mnt/* /opt/centos
#umount /mnt/#mount -o loop chinaskills_cloud_iaas.iso /mnt/
#cp -rfv /mnt/* /opt/
#umount /mnt/#mount -o loop chinaskills_cloud_paas.iso /mnt/
#cp -rfv /mnt/* /opt/
#umount /mnt/rm -rf /etc/yum.repos.d/CentOS-*
vi /etc/yum.repos.d/local.repo
添:
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
[k8s]
name=k8s
baseurl=file:///opt/kubernetes-repo
gpgcheck=0
enabled=1master节点安装ftp服务器:
#yum install -y vsftpd
#vi /etc/vsftpd/vsftpd.conf
添:
anon_root=/opt
#systemctl start vsftpd && systemctl enable vsftpdnode结点:
rm -rf /etc/yum.repos.d/CentOS-*
vi /etc/yum.repos.d/local.repo
添:
[centos]
name=centos
baseurl=ftp://master/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://master/iaas-repo
gpgcheck=0
enabled=1
[k8s]
name=k8s
baseurl=ftp://master/kubernetes-repo
gpgcheck=0
enabled=1
8.部署Harbor仓库(master中操作)
在opt目录下跑 k8s_harbor_install.sh 脚本
在 k8s_harbor_install.sh 执行完成且没有报错的情况下:
登录Harbor仓库(http://192.168.200.50)
账号:admin
密码:Harbor12345登录成功后:
上传镜像:
在opt目录下跑 k8s_image_push.sh 脚本
输入镜像仓库地址(不加http/https): 192.168.200.50
输入镜像仓库用户名: admin
输入镜像仓库用户密码: Harbor12345
您设置的仓库地址为: 192.168.200.50,用户名: admin,密码: xxx
是否确认(Y/N): Y
上传完镜像,查看Harbor:
镜像仓库数为27,则上传成功
9.部署Kubernetes集群(master中操作)
在opt目录下跑 k8s_master_install.sh 脚本
在k8s_master_install.sh 执行完成且没有报错的情况下:
登录dashboard:https://192.168.200.50:30000
登录后 https://192.168.200.50:30000 的页面:
10.node节点加入集群(node中操作)
要先把k8s_node_install.sh这个脚本从master的/opt复制到node的/root下:
scp /opt/k8s_node_install.sh 192.168.200.60:/root
在/root目录下跑 k8s_node_install.sh
在 k8s_node_install.sh 执行完成且没有报错的情况下:
至此,K8s和Docker部署成功!!