淘先锋技术网

首页 1 2 3 4 5 6 7

0. Rancher 2.X 简介

Rancher是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。

rancher1.x 支持docker compose、swarm、kubernetes等集成,镜像名为rancher/server

rancher2.15支持kubernates,镜像名为rancher/rancher

中文官网

官方文档

当前stable版为2.6.3。

OS & Docker

TYPEVERSIONVALIDATED/CERTIFIED ON
CentOS7.5, 7.6, 7.7, 7.8Docker 17.03.2, 18.06.2, 18.09.x, 19.03.x
Oracle Linux7.6, 7.7Docker 19.03.x
RancherOS1.5.6Docker 17.03.2, 18.06.2, 18.09.x (up to 18.09.8), 19.03.x
RHEL7.5, 7.6, 7.7, 7.8RHEL Docker 1.13.x Docker 17.03.2, 18.06.2, 18.09.x, 19.03.x
SLES12 SP5, 15 SP1Docker 19.03.x
Ubuntu16.04, 18.04, 20.04Docker 17.03.2, 18.06.2, 18.09.x, 19.03.x
Windows Server1809, 1903Docker 19.03.x EE For worker nodes only

Rancher Kubernetes

TYPEUPSTREAM VERSIONVALIDATED/CERTIFIED ON2,3,4,5
Rancher Launched1.18.6etcd: v3.4.3 flannel: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0
Rancher Launched1.17.9etcd: v3.4.3 flannel: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0
Rancher Launched1.16.13etcd: v3.3.15 flannel: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0
Rancher Launched1.15.12etcd: v3.3.10 flannel: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0

本次选用:CentOS 7.8、Docker 19.03.12、RKE默认

1. Rancher 安装

1.1 机器准备

从公有云上申请了三台CentOS 7.8的云主机

IP地址主机名硬件需求角色
116.239.3x.75rancher2C、2Grancher/rancher:stable
116.239.3x.78k8s-master4C、8Grancher/rancher-agent:v2.4.8、Etcd、Controller Manager、Scheduler、Worker、业务service
116.239.3x.83k8s-node4C、8Grancher/rancher-agent:v2.4.8、Worker、业务service

注意:rancher不要作为k8s集群的worker节点,避免rancher和nginx-ingress-controller端口冲突(均是80和443端口)。

1.2 docker安装

1.2.1 yum 源配置

将CentOS的源配置为163 的源

yum install -y wget
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum makecache

1.2.2 基础软件下载

yum install -y curl vim gcc gcc-c++
yum install -y yum-utils device-mapper-persistent-data lvm2

1.2.3 增加 docker yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.2.4 查看docker-ce版本并下载

yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce
docker --version

1.2.5 设置docker 服务开机启动

systemctl start docker
systemctl enable docker
systemctl list-unit-files --all --type=service | grep docker

1.2.6 设置docker iamges 镜像源

sudo tee  /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://l040g3fw.mirror.aliyuncs.com"]
}
EOF

#重启守护进程及docker服务
systemctl daemon-reload
systemctl restart docker

国内其他镜像

在这里插入代码片多个国内镜像地址使用英文逗号分隔:
http://hub-mirror.c.163.com
https://l040g3fw.mirror.aliyuncs.com (个人申请的阿里云docker专属加速镜像源)
https://registry.docker-cn.com
https://docker.mirrors.ustc.edu.cn

1.2.7安装docker-compose容器编排服务

yum install -y epel-release
yum makecache
yum install -y docker-compose
docker-compose version

1.2.8 docker远程部署(根据需要开启远程部署)

vim /lib/systemd/system/docker.service
#修改
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

systemctl daemon-reload
systemctl restart docker

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload

**备注:**docker镜像源推荐使用网易163的镜像。

1.3 Rancher安装

在Rancher主机上执行如下操作:

# 设置hostname
hostname rancher && hostnamectl set-hostname rancher
mkdir -p /home/rancher/rancher
mkdir -p /home/rancher/auditlog
docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 -v /home/rancher/rancher:/var/lib/rancher -v /home/rancher/auditlog:/var/log/auditlog --name rancher rancher/rancher:stable
# 防火墙设置
firewall-cmd --add-port 80/tcp --permanent
firewall-cmd --add-port 443/tcp --permanent
firewall-cmd --reload
# 或者
systemctl stop firewalld && systemctl disable firewalld

访问rancher主机的地址,http://116.239.3x.75/,初次登陆需要更改密码,可以通过用户设置将页面改为中文简体

注意:
1.构建k8s过程中会自动拉取docker镜像,比较耗时,根据网速情况,一般需要10分钟左右。

2.若网络正常的情况下,一直失败,查看错误日志。

2. Rancher简单使用

2.1 登录并开始使用Rancher

打开浏览器,输入https://<server_ip>,server_ip替换为运行Rancher容器主机的ip;
因为是自动使用的自签名证书,在第一次登录会提示安全授信问题,信任即可;
在这里插入图片描述
第一次登录会要求设置管理员密码,默认管理员账号为: admin。
在这里插入图片描述
设置Rancher Server URL:Rancher Server URL是agent节点注册到Rancher Serverd的地址,需要保证这个地址能够被agent主机访问,不要设置为127.0.0.1或者localhost。

点击这里可以将系统设置为简体中文
在这里插入图片描述

2.2 创建K8S集群

现在创建第一个Kubernetes集群,可以使用自定义选项。您可以添加云主机、内部虚拟机或物理主机作为集群节点,节点可以运行任何一种或多种主流Linux发行版。

在全局视图下,点击菜单中的集群 , 并点击添加集群在这里插入图片描述
选择 自定义,并设置集群名称,其他参数可不用修改,点击下一步;
在这里插入图片描述
在这里插入图片描述

选择节点运行的角色:默认会勾选Worker角色,根据需要可以一次勾选多种角色。比如,假设我只有一个节点,那就需要把所有角色都选择上,选择后面的命令行会自动添加相应的命令参数。

设置不同角色,并将这些命令复制到K8S-Master、K8S-Slave节点上执行,可以将这个集群添加进来。
在这里插入图片描述
在这里插入图片描述
例如:本人建立K8S机器过程中,一直失败提示etcd健康检查失败: [etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy,查看日志发现,证书验证未通过!可以通过关闭K8S-Master、K8S-Slave上的防火墙来解决,再不行的话,在三台云主机上安装NTP服务就可以解决,这里不再赘述。

下图是已经添加好的集群
在这里插入图片描述
7. 部署工作负载服务
工作负载是一个对象,包括pod以及部署应用程序所需的其他文件和信息。我们以nginx作为例:在集群视图下,点击Deployment——>部署服务
在这里插入图片描述
然后部署一个Nginx服务,之后可以尝试正常访问这个服务
在这里插入图片描述