Rancher的部署安装(编排选用K8S)

为什么要使用Rancher

Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。

Rancher的官方文档:https://rancher.com/docs/rancher/latest/en/

下图展示了Rancher的主要组件和功能:

版本选择

版本选择参照官方文档:supported version of Docker

根据上图,本文选用以下符合要求的最新版本

软件

版本

github项目地址

rancher

1.6.14

https://github.com/rancher/rancher

docker

17.03.2-ce

https://github.com/docker/docker-ce

kubernetes

1.8.5

https://github.com/kubernetes/kubernetes


系统准备

主机名

IP地址

用途说明

操作系统

rancher1

10.245.231.119

server管理节点

Ubuntu 16.04.3 LTS

docker201

10.245.231.201

agent工作节点

Ubuntu 16.04.3 LTS

docker201

10.245.231.202

agent工作节点

Ubuntu 16.04.3 LTS


禁用IPV6

sudo vi /etc/sysctl.d/99-sysctl.conf
# 添加以下内容
#------------------------------------------
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
#------------------------------------------

sudo sysctl -p

 


禁用虚拟内存swap

# 不重启电脑,禁用启用swap,立刻生效
sudo swapoff -a

# 启用命令
sudo swapon -a

# 查看交换分区的状态
sudo free -m

# 永久禁用Swap,在/etc/fstab中swap分区这行前加 #
sudo vi /etc/fstab
#------------------------------------------
# /dev/mapper/docker201--vg-swap_1 none            swap    sw              0       0
#------------------------------------------

 

安装指定版本的docker

在以上三台主机上,安装指定版本的docker,参照docker的部署安装-Ubuntu配置阿里镜像加速器

查看docker信息能看到以下内容:

sudo docker info 
#------------------------------------------
Registry Mirrors:
 https://lwdxerv9.mirror.aliyuncs.com
#------------------------------------------

# 重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docke

# 检查防火墙是否启动
systemctl list-unit-files | grep enable | grep ufw
ufw.service                                enabled

 

安装Rancher管理端

在rancher1上操作

sudo docker run -d --name rancher -v /etc/localtime:/etc/localtime -v /opt/rancher/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server

$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
4aba45218a7a        rancher/server      "/usr/bin/entry /u..."   6 minutes ago       Up 5 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher

$ sudo docker exec -it rancher /bin/bash

root@4aba45218a7a:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 15:03 ?        00:00:00 /usr/bin/s6-svscan /service
root         7     1  0 15:03 ?        00:00:00 s6-supervise cattle
root         8     1  0 15:03 ?        00:00:00 s6-supervise graphite_exporter
root         9     1  0 15:03 ?        00:00:00 s6-supervise mysql
root        10     7 22 15:03 ?        00:01:41 java -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xms128m -Xmx2g -XX:+HeapDumpOnOutOfMemoryErr
mysql      113     9  1 15:03 ?        00:00:07 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql
root       249    10  0 15:03 ?        00:00:03 rancher-catalog-service --config repo.json --refresh-interval 300
root       284    10  0 15:04 ?        00:00:01 websocket-proxy
root       298    10  1 15:04 ?        00:00:04 go-machine-service
root       306    10  0 15:04 ?        00:00:00 secrets-api server --enc-key-path .
root       307    10  0 15:04 ?        00:00:00 webhook-service
root       325    10  0 15:04 ?        00:00:00 rancher-compose-executor
root       332    10  0 15:04 ?        00:00:00 rancher-auth-service --auth-config-file authConfigFile.txt
root       425     0  0 15:07 ?        00:00:00 /bin/bash
root       440     0  0 15:07 ?        00:00:00 /bin/bash
root       507     0  0 15:10 ?        00:00:00 /bin/bash
root       523   507  0 15:10 ?        00:00:00 ps -ef

# 使用以下命令可以查看rancher容器日志
sudo docker logs -f rancher

 

访问 http://10.245.231.119:8080


配置环境

进入环境管理,准备添加环境模板

点击添加环境模板

点击编辑设置后,在弹出的页面中,更改如下几个参数:
Private Registry for Add-Ons and Pod infra Container Images(修改私有仓库地址):registry.cn-shenzhen.aliyuncs.com
Image namespace for Add-ons and Pod infra Container Images(修改AAONS组件命名空间):rancher_cn
Image namespace for kubernetes-helm (修改kubernetes-helm命名空间):rancher_cn
Pod Infra Container Image (修改默认的pause镜像名):rancher_cn/pause-amd64:3.0

参数设置完,点击页面下方的设置按钮返回环境模板编辑页面,保持环境模板其他参数不变,点击页面下方的创建按钮。

回到环境管理,点击添加环境

选择新创建的环境模板后点击创建

这样就用刚刚创建的模板创建了一个K8S环境

设置为默认环境并切换到此环境

添加主机

因为是第一次添加主机,系统会要求你确认节点注册地址,我们直接点击保存。

依次登陆各个宿主机,执行5里面的脚本。

如果需要把rancher1加为宿主机,那么需要在4里面填写管理端和宿主主机之间互通的内网IP地址,建议不要添加rancher1为宿主机,方便后续做rancher server集群高可用。

 

 

经历较长时间后,添加成功

按此办法可添加多台宿主机

k8s仪表板

k8s命令行

k8s基础设施(点击+可查看详细内容)

主机视图

正常状态,非系统容器应该有14个

因k8s管理复杂,本文只是演示如何配置k8s,后续文章的环境将继续使用rancher默认的Cattle,并且将docker升级到最新版本

参考文档

升级rancher

 

# 升级前
组件  版本
Rancher v1.6.14
Cattle  v0.183.37
用户界面    v1.6.37
Rancher CLI v0.6.7
Rancher Compose v0.12.5


# 升级系统及相关软件包(含docker)
apt update
apte upgrade

uname -r
4.4.0-116-generic

docker -v
Docker version 18.03.1-ce, build 9ee9f40

# 升级rancher
docker pull rancher/server
docker pull rancher/server:stable

docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
e5ff13a96eef        rancher/server      "/usr/bin/entry /usr鈥   5 months ago        Up 8 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher

docker stop e5ff13a96eef
docker rm e5ff13a96eef

sudo docker run -d --name rancher -v /etc/localtime:/etc/localtime -v /opt/rancher/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server

# 删除原有的容器

# 删除镜像
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
rancher/server      latest              85b3b338d0be        3 weeks ago         1.08GB
rancher/server      <none>              d63b9b4bd205        5 months ago        1.08GB

docker rmi d63b9b4bd205

# 升级后
组件  版本
Rancher v1.6.18
Cattle  v0.183.52
用户界面    v1.6.43
Rancher CLI v0.6.10
Rancher Compose v0.12.5

 

 

posted @ 2019-06-15 17:26  paymob  阅读(9389)  评论(0编辑  收藏  举报