什么是 Rancher?

Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。

Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。

Rancher 是一个 全栈式 的 Kubernetes 容器管理平台,为你提供在任何地方都能成功运行 Kubernetes 的工具。

1.安装前的准备

我们先装备三台机器,一台master,两台worker,在安装之前,对三台机器先准备好基础环境。

先打开机器的转发功能

vi /etc/sysctl.conf 加入如下内容
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

导入配置,引入桥接包过滤模块

modprobe br_netfilter
sysctl -p /etc/sysctl.conf

关闭防火墙

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

关闭selinux

永久关闭,一定要重启操作系统后生效。
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
临时关闭,不重启操作系统,即刻生效。
setenforce 0

三台机器分别修改hostname

hostnamectl set-hostname master
hostnamectl set-hostname worker1
hostnamectl set-hostname worker2

在host增加这三个hostname的IP访问,分别把如下内容的/etc/hosts文件拷贝到三台机器上

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.162.55 master
10.10.162.56 worker1
10.10.162.57 worker2

完成以上基础步骤,按时安装rancher2.6.9

安装docker

这里安装的docker 版本是20.10.5

yum -y install  yum-utils device-mapper-persistent-data lvm2

#导入docker安装库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
#按指定版本安装好docker
yum install docker-ce-20.10.5 docker-ce-cli-20.10.5 docker-ce-rootless-extras-20.10.5 -y

安装Rancher

在master上,安装Rancher

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.9

如果怕网络报错,进行一下下面的操作

modprobe ip_tables
modprobe iptable_filter
docker restart rancher

k8s helm安装elk_容器

稍等片刻,用浏览器访问master ip的8443端口https://10.10.162.55:8443/,在红色箭头位置,可以切换成中文,由于不知道密码,我们要登录master主机,用命令重置密码。

k8s helm安装elk_容器_02


例如下面重置的密码就是:l835-kB6jaQ5z1KtOYL2

k8s helm安装elk_rancher_03


我们用上面的密码,登录Rancher.

k8s helm安装elk_k8s helm安装elk_04


k8s helm安装elk_云原生_05


接下来,开始创建K8S集群

k8s helm安装elk_云原生_06


k8s helm安装elk_容器_07


k8s helm安装elk_rancher_08


填上集群名称,选择k8s对应版本,这里网络插件我用的是Flannel

k8s helm安装elk_容器_09


这里没有选择Ingress,其他的参数默认。

k8s helm安装elk_云原生_10


最后点击下一步,就得到集群的安装脚本了,我们现在安装Master,然后安装worker节点。

k8s helm安装elk_容器_11


然后我们用下面的shell语句在master机器上运行。

k8s helm安装elk_容器_12


用woker的shell在worker的机器上运行。

k8s helm安装elk_kubernetes_13


k8s helm安装elk_kubernetes_14


然后整个k8s集群开始初始化,这个配置时间有点点长,因为毕竟要下载很多镜像。当在集群的日志中,看到如下的显示时,集群配置成功。

k8s helm安装elk_kubernetes_15


k8s helm安装elk_kubernetes_16


k8s helm安装elk_kubernetes_17


集群配置成功后,我们可以在master上,部署一个kubectl的客户端工具,来进行命令是的访问集群。

yum -y install kubernetes-client
mkdir ~/.kube
cd ~/.kube
vi config

上面编辑config的内容从这里获得,在集群仪表盘上面下载KubeConfig,把KubeConfig的内容放入上面的config文件

k8s helm安装elk_kubernetes_18


配置完成后,就可以用下面的命令来查看集群了

k8s helm安装elk_容器_19


至此,安装Rancher完毕,现在我们部署一个Mysql5.7来用一下。

k8s helm安装elk_rancher_20


k8s helm安装elk_kubernetes_21


k8s helm安装elk_kubernetes_22


等待下载镜像完毕后,mysql5.7开始运行。

k8s helm安装elk_容器_23