为什么要使用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/-sysctl.conf
# 添加以下内容
#------------------------------------------
net.ipv6.conf.all.disable_ipv6 =
net.ipv6.conf.default.disable_ipv6 =
net.ipv6.conf.lo.disable_ipv6 =
#------------------------------------------ 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
#------------------------------------------

安装指定版本的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 : rancher/server

$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4aba45218a7a rancher/server "/usr/bin/entry /u..." minutes ago Up minutes /tcp, 0.0.0.0:->/tcp rancher $ sudo docker exec -it rancher /bin/bash root@4aba45218a7a:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root : ? :: /usr/bin/s6-svscan /service
root : ? :: s6-supervise cattle
root : ? :: s6-supervise graphite_exporter
root : ? :: s6-supervise mysql
root : ? :: java -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xms128m -Xmx2g -XX:+HeapDumpOnOutOfMemoryErr
mysql : ? :: /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql
root : ? :: rancher-catalog-service --config repo.json --refresh-interval
root : ? :: websocket-proxy
root : ? :: go-machine-service
root : ? :: secrets-api server --enc-key-path .
root : ? :: webhook-service
root : ? :: rancher-compose-executor
root : ? :: rancher-auth-service --auth-config-file authConfigFile.txt
root : ? :: /bin/bash
root : ? :: /bin/bash
root : ? :: /bin/bash
root : ? :: 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.--generic docker -v
Docker version 18.03.-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 : rancher/server # 删除原有的容器 # 删除镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rancher/server latest 85b3b338d0be weeks ago .08GB
rancher/server <none> d63b9b4bd205 months ago .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)的更多相关文章

  1. Docker学习笔记_04 Rancher的部署安装(编排选用K8S)

    原文地址:http://dbase.cc/2018/01/12/docker/04_rancher的部署安装/ 为什么要使用Rancher Rancher是一个开源的企业级容器管理平台.通过Ranch ...

  2. 使用Rancher Server部署本地多节点K8S集群

    当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...

  3. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  4. kubernetes实战(二十五):kubeadm 安装 高可用 k8s v1.13.x

    1.系统环境 使用kubeadm安装高可用k8s v.13.x较为简单,相比以往的版本省去了很多步骤. kubeadm安装高可用k8s v.11 和 v1.12 点我 主机信息 主机名 IP地址 说明 ...

  5. 使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S

    使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S 先行条件: 1.了解NetCore项目基础命令,如dotnet publish   等几个常用命令. 2.了解Dock ...

  6. Docker的部署安装(CentOS)-by paymob

    环境准备 通过命令查看系统版本和内核版本等信息 [gmuser@--- ~]$ cat /etc/redhat-release CentOS Linux release (Core) [gmuser@ ...

  7. Docker的部署安装(CentOS)

    环境准备 操作系统需求 为兼容企业级应用,学习选用Centos7做为部署安装Docker的系统平台 # 通过以下命令可查看系统版本和内核版本等信息 cat /etc/redhat-release #- ...

  8. 容器编排系统K8s之包管理器Helm基础使用

    前文我们了解了k8s上的hpa资源的使用,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14293237.html:今天我们来聊一下k8s包管理器helm的相 ...

  9. Jenkins file一行代码部署.NET程序到K8S

    什么是Jenkins共享库 随着微服务的增多,每个项目的都需要pipline文件,这样的话Pipeline代码冗余度高,并且pipeline的功能越来越复杂. jenkins可以使用Shared Li ...

随机推荐

  1. css改变input输入框placeholder值颜色

    ::-webkit-input-placeholder { /* WebKit browsers */ color: #fff; } :-moz-placeholder { /* Mozilla Fi ...

  2. UVA 10273

    我是用暴力过的,虽然网上说刘汝佳出的这道题考的是堆,我不太懂,..用暴力时间复杂度高一些,但是一样能过 所要注意的就是周期问题,因为只要同时存在某一天超过一头牛产奶量最小,就不会杀牛,而每头牛的周期和 ...

  3. 微信支付第三方sdk使用

    1.引入依赖:(对于依赖冲突自行解决) <dependency> <groupId>com.github.binarywang</groupId> <arti ...

  4. 吴裕雄--天生自然Linux操作系统:Linux 文件与目录管理

    Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/ ...

  5. i++ 和 ++i 的区别和实现

    ++i 和 i++ ++i 和 i++ 的区别 1)i++ 返回的是 i 的值,++i 返回的是 i+1 的值 2)i++ 不能用作左值,++i 可以用作左值 左值和右值的区别是什么? 根本区别是:能 ...

  6. 面向对象 part2 属性的特性

    6.1.1理解对象 创建自定义对象最简单的方式就是创建一个object实例.然后添加方法和实例 var person = new Object() person.name = "hi&quo ...

  7. deque & list

    deque 双向队列 它也是采用动态数组的方式来管理的提供了随机数组 和vector的区别 1.deque头尾两端可以开放,能够进行快速的插入和删除(vector只能在尾部进行快速的插入和删除) 2. ...

  8. 第1章 MYSQL 体系结构和存储引擎

    一.定义数据库和实例 在集群的条件下,存在单个数据库对应多个实例 二.Mysql 体系结构 三.Mysql 存储引擎及各存储引擎之间的比较 命令:show engines; 四.连接 MySQL 4. ...

  9. linux xargs详解

    xargs  [-0prtx] [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null] [-d delimiter] [--delimiter d ...

  10. [GX/GZOI2019]特技飞行(扫描线+置换)

    感觉是6题中最难的一题,其实这题是一个二合一: 第一问:给定平面上若干点和k个关键点,关键点覆盖一个45°倾斜的正方形范围r,求有多少点被至少一个关键点覆盖.这个可以曼哈顿转切比雪夫距离,然后再扫描线 ...