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

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

为什么要使用Rancher

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

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

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

下图展示了Rancher的主要组件和功能:
Rancher的部署安装(编排选用K8S)第2张

版本选择

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

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

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

软件

版本

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
sudosystemctl restart docke
# 检查防火墙是否启动
systemctl list-unit-files | grep enable | grepufw
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-fileauthConfigFile.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
Rancher的部署安装(编排选用K8S)第4张
Rancher的部署安装(编排选用K8S)第5张
Rancher的部署安装(编排选用K8S)第6张

配置环境

进入环境管理,准备添加环境模板
Rancher的部署安装(编排选用K8S)第7张
点击添加环境模板
Rancher的部署安装(编排选用K8S)第8张
Rancher的部署安装(编排选用K8S)第9张

点击编辑设置后,在弹出的页面中,更改如下几个参数:
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
Rancher的部署安装(编排选用K8S)第10张

参数设置完,点击页面下方的设置按钮返回环境模板编辑页面,保持环境模板其他参数不变,点击页面下方的创建按钮。
Rancher的部署安装(编排选用K8S)第11张

回到环境管理,点击添加环境
Rancher的部署安装(编排选用K8S)第12张

选择新创建的环境模板后点击创建
Rancher的部署安装(编排选用K8S)第13张

这样就用刚刚创建的模板创建了一个K8S环境
Rancher的部署安装(编排选用K8S)第14张

设置为默认环境并切换到此环境
Rancher的部署安装(编排选用K8S)第15张
Rancher的部署安装(编排选用K8S)第16张

添加主机

因为是第一次添加主机,系统会要求你确认节点注册地址,我们直接点击保存。
Rancher的部署安装(编排选用K8S)第17张
Rancher的部署安装(编排选用K8S)第18张

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

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

经历较长时间后,添加成功
Rancher的部署安装(编排选用K8S)第19张
Rancher的部署安装(编排选用K8S)第20张

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

k8s仪表板
Rancher的部署安装(编排选用K8S)第21张
Rancher的部署安装(编排选用K8S)第22张

k8s命令行
Rancher的部署安装(编排选用K8S)第23张

k8s基础设施(点击+可查看详细内容)
Rancher的部署安装(编排选用K8S)第24张

主机视图
Rancher的部署安装(编排选用K8S)第25张

正常状态,非系统容器应该有14个
Rancher的部署安装(编排选用K8S)第26张

因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 rme5ff13a96eef
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

免责声明:文章转载自《Rancher的部署安装(编排选用K8S)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SAP MRP的计算步骤给虚拟机发送键盘按键key下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker笔记

suse环境采用二进制文件安装docker后,执行systemctl start docker提示docker.service不存在。 解决办法,/usr/lib/systemd/system目录下增加docker.service文件,内容如下: [Unit] Description=Docker Application Container Engine...

Kubernetes核心原理(四)之Kubelet

1. kubelet简介 在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】...

阿里云(linux Centos7)安装mysql

一、linux centos7 安装MySQL 1、下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2、安装mysql源,若结尾出现complete!,则说明MySQL源安装完成 yum localinstall mysql57-com...

LVS实现Kubernetes集群高可用

一、环境说明 1.操作系统:centos 7.5 x86_64 2.三台k8s-master                                                 3.两台lvs                                       k8s01:10.10.10.206                    ...

深度学习Tensorflow生产环境部署(下·模型部署篇)

前一篇讲过环境的部署篇,这一次就讲讲从代码角度如何导出pb模型,如何进行服务调用。 1 hello world篇 部署完docker后,如果是cpu环境,可以直接拉取tensorflow/serving,如果是GPU环境则麻烦点,具体参考前一篇,这里就不再赘述了。 cpu版本的可以直接拉取tensorflow/serving,docker会自动拉取late...

-bash: Chmod: command not found

是增加该文件的所有者拥有运行权限如果所有者是root ,还要加sudochmod u+x drlinuxclient.bin(sudo) chmod u+x drlinuxclient.bin  (sudo) chmod u+x drlinuxclient.bin 正确命令: sudo chmod 744 perfCheck.sh...