条件:
1. 准备至少3台机器;
2. 三台机器需要有网络;
3. 安装rancher和K8S集群;
# master节点
[root@localhost ~]# hostnamectl set-hostname k8s-master && bash
[root@k8s-master ~]# hostname
k8s-master
[root@k8s-master ~]# ip add|grep eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.0.241/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0
[root@k8s-master ~]#
# node1 节点
[root@localhost ~]# hostnamectl set-hostname k8s-node1 && bash
[root@k8s-node1 ~]# hostname
k8s-node1
[root@k8s-node1 ~]# ip add|grep eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.0.117/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0
[root@k8s-node1 ~]#
# node2 节点
[root@localhost ~]# hostnamectl set-hostname k8s-node2 && bash
[root@k8s-node2 ~]# hostname
k8s-node2
[root@k8s-node2 ~]# ip add|grep eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.0.3/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0
[root@k8s-node2 ~]#
1. 系统基础优化,全部节点操作
cat >> /etc/hosts << EOF
192.168.0.241 k8s-master
192.168.0.117 k8s-node1
192.168.0.3 k8s-node2
EOF
systemctl stop firewalld && systemctl disable firewalld # 关闭防火墙
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0 #关闭selinux
swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab ##关闭swap
##将桥接的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 # 生效
2.安装docker,所有节点都需要安装
2.1 集群所有节点安装时间同步
curl -fsSL get.docker.com -o get-docker.sh #下载脚本
sh get-docker.sh #安装docker最新版
systemctl enable docker && systemctl start docker && systemctl status docker
docker --version
2.2 集群所有节点安装docker
mkdir /etc/docker
cat >/etc/docker/daemon.json <<EOF
{
"registry-mirrors" : ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"insecure-registries":["192.168.0.241:5000"],
"data-root": "/data/docker"
}
EOF
systemctl restart docker && systemctl status docker
3.安装rancher
#安装rancher服务,192.168.0.241:5000是内网的仓库地址,请修改
docker run -d --restart=unless-stopped --privileged \
-p 8080:80 -p 8443:443 \
-v /opt/rancher:/var/lib/rancher \
-v /var/log/rancher/auditlog:/var/log/auditlog \
--name rancher2 rancher/rancher:v2.4.17
#稍等几分钟访问服务路径:https://192.168.0.241:8443,现场请访问对应的路径,就可以看到rancher2.4的页面
4. 页面登录rancher
4.1 设置密码,勾选同意
用户是:admin
4.2 一般保持默认(除非是公网云,需要填写公网IP)
4.3 这里可以调整为中文模式
4.4 设置为中文看着舒服多了
5.进入页面,添加K8S节点
5.1. 添加master节点
5.2.添加node1节点
5.3.添加node2节点
6.集群添加完毕后
7.安装监控
需要等待很长一段时间,看到如下图片说明监控安装成功了
8.利用rancher部署一个服务
8.1 部署一个nginx服务,对外访问
8.2 对外访问测试
看到这里就完成了