前言:
rancher是一个kubernetes的管理工具,是一个 全栈式 的 Kubernetes 容器管理平台,为你提供在任何地方都能成功运行 Kubernetes 的工具,可以创建来着kuberneters托管服务提供商的集群,创建节点并安装kubernetes,或者导入任何地方运行现有的kuberneters集群,rancher也基于kuberneters增加了新功能,如统一所有集群的身份验证和RBAC(基于角色的权限访问控制 ),让系统管理员从一个位置控制所有集群的访问
任务点:
1.通过外网访问内网
2.基于rancher部署安装kubernetes(k8s)
3.在3个服务器上部署docker
4.在k8s上部署mysql
前提条件:需至少准备3台服务器1.台主节点,2台从节点
为区分那个是主节点,从节点是哪些可将3台服务器分明命名:
查询hostname的命令 : hostname
master节点: hostnamectl set-hostname k8s-master
node从节点1: hostnamectl set-hostname k8s-worker1
node从节点1: hostnamectl set-hostname k8s-worker2
1.master节点
1.安装docker容器
1.关闭防火墙
使用命令
systemctl stop firewalld
停止Firewalld服务。使用命令
systemctl disable firewalld
禁止Firewalld在系统启动时自动启动检查防护墙是否关闭 systemctl status firewalld 显示 inactive (dead) 表示关闭
2.关闭安全服务selinux
临时关闭只执行 sudo setenforce 0 此命令会将selinux置于permissive宽容模式,在此模式下selinux策略不会强制执行,但是违规的行为会被记录下来。如果需要永久关闭则需执行第2点 (查询selinux是否关闭命令: getenforce )
将selinux永久关闭需要编辑
/etc/selinux/config
文件,将其中的SELINUX=enforcing
改为SELINUX=disabled
,然后重启系统 ①直接命令sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ②手动编辑 vi /etc/selinux/config 选择disabled ③重启系统 sudo reboot
在host里面,将上面修改的hostname的三台机器分别增加其ip访问,分别将如下内容的/etc/hosts文件拷贝到三台机器上: vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.5.19 k8s-master 192.168.5.20 k8s-worker1 192.168.5.21 k8s-worker2
2.完成以上基础步骤后,开始正式进入安装docker操作
在每台服务器上分别安装docker,这里安装的docker 版本是20.10.5
1.安装yum里的一些必要工具和程序
yum -y install yum-utils device-mapper-persistent-data lvm2
2.导入docker安装库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
导入成功如下显示
3.按指定版本安装好docker20.10.5
yum install docker-ce-20.10.5 docker-ce-cli-20.10.5 docker-ce-rootless-extras-20.10.5 -y
安装成功后显示
4.然后启动docker服务
systemctl start docker
5. 设置开机自动启动
systemctl enable docker
6.测试是否允许成功
docker run hello-world
成功则显示下面
7. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://bqt8qwqo.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.在master安装Rancher
1.Docker Hub拉取Rancher的v2.6.9版本的Docker镜像:
docker pull rancher/rancher:v2.6.9
docker run -d -p 8055:80 -p 8443:443 \
--restart=unless-stopped \
-v /data/rancherhome/rancher:/var/lib/rancher \
-v /data/rancherhome/auditlog:/var/log/auditlog \
--name rancher \
--privileged=true \
rancher/rancher:v2.6.92.如果怕网络报错,进行一下下面的操作
modprobe ip_tables
modprobe iptable_filter
docker restart rancher
3.稍等片刻,完成后,访问https://<部署主机的ip>:8443 ,进入rancher管理页面。我这是https://192.168.5.19:8443,在English位置,可以切换成中文,由于不知道密码,我们要登录master主机,用命令重置密码。
4.接下来我们要重置rancher的密码
查询docker信息
docker ps
重置密码命令 设置密码为_MrU8tkbSKGe65sqLJij,默认用户名admin
docker exec -ti rancher reset-password
用上面的密码登入rancher
3.接下来就是创建k8s集群
填上集群名称,选择k8s对应版本,这里网络插件我用的是Flannel
这里没有选择lngress,其他参数默认
最后点击下一步,就得到集群的安装脚本了,我们现在安装Master,然后安装worker节点。
然后我们用下面的shell语句在master机器上运行。
完成后,在集群页面点击新创建的k8stest进入详情页
在xshell中的worker的两台机器上执行下列命令
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.6.9 --server https://223.84.238.153:8801 --token m9ffmwh2krqdfl6jvhbvlpkmvlg68gw9dgjnlwnpnfd997qvsm4lbb --ca-checksum 17d8a370c74833d157a891c01b6704a1e29377007447e3fcf84ee16b00262c4a --worker
集群配置成功后,我们可以在master上,部署一个kubectl的客户端工具,来进行命令是的访问集群
yum -y install kubernetes-client
mkdir ~/.kube
cd ~/.kube
vi config
上面编辑config的内容从这里获得,在集群仪表盘上面下载KubeConfig,把KubeConfig的内容放入上面的config文件
配置完成后,就可以用下面的命令来查看集群了
kubectl get nodes
至此,安装Rancher完毕,