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 |
|
docker |
17.03.2-ce |
|
kubernetes |
1.8.5 |
系统准备
主机名 |
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
配置环境
进入环境管理,准备添加环境模板
点击添加环境模板
点击编辑设置后,在弹出的页面中,更改如下几个参数:
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 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)的更多相关文章
- Docker学习笔记_04 Rancher的部署安装(编排选用K8S)
原文地址:http://dbase.cc/2018/01/12/docker/04_rancher的部署安装/ 为什么要使用Rancher Rancher是一个开源的企业级容器管理平台.通过Ranch ...
- 使用Rancher Server部署本地多节点K8S集群
当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...
- 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...
- kubernetes实战(二十五):kubeadm 安装 高可用 k8s v1.13.x
1.系统环境 使用kubeadm安装高可用k8s v.13.x较为简单,相比以往的版本省去了很多步骤. kubeadm安装高可用k8s v.11 和 v1.12 点我 主机信息 主机名 IP地址 说明 ...
- 使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S
使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S 先行条件: 1.了解NetCore项目基础命令,如dotnet publish 等几个常用命令. 2.了解Dock ...
- Docker的部署安装(CentOS)-by paymob
环境准备 通过命令查看系统版本和内核版本等信息 [gmuser@--- ~]$ cat /etc/redhat-release CentOS Linux release (Core) [gmuser@ ...
- Docker的部署安装(CentOS)
环境准备 操作系统需求 为兼容企业级应用,学习选用Centos7做为部署安装Docker的系统平台 # 通过以下命令可查看系统版本和内核版本等信息 cat /etc/redhat-release #- ...
- 容器编排系统K8s之包管理器Helm基础使用
前文我们了解了k8s上的hpa资源的使用,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14293237.html:今天我们来聊一下k8s包管理器helm的相 ...
- Jenkins file一行代码部署.NET程序到K8S
什么是Jenkins共享库 随着微服务的增多,每个项目的都需要pipline文件,这样的话Pipeline代码冗余度高,并且pipeline的功能越来越复杂. jenkins可以使用Shared Li ...
随机推荐
- php速成_day1
一.概述 1.什么是PHP PHP ( Hypertext Preprocessor ),是英文超级文本预处理语言的缩写.PHP 是一种 跨平台.嵌入式的服务器端执行的描述语言,是一种在服务器端执行的 ...
- java实现图片文件与Base64的互转
通过form表单上传图片时,有时候web容器对文件大小的限制会影响我们上传.这时,前端页面可以考虑将图片转换成base64串来实现上传. 图片与Base64的互转,其实就是利用了文件流与Base64的 ...
- image compression with libjpeg
http://www.aaronmr.com/en/2010/03/test/ Working on the project I've seen in the need for compression ...
- win10系统开发环境安装studio 3T(MongoDB桌面客户端)
studio 3T 是mongodb优秀的桌面客户端工具. 下载 https://studio3t.com/download/#windows 本教程基于2020.1.2版本 安装 F:\javawe ...
- UML-类图-箭头
概览 1.泛化 一般理解为 继承.实线+空心箭头 2.依赖 成员变量.局部变量.参数.虚线+箭头 public class Sale { public void updatePriceFor(Prod ...
- java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤
本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 <bean id="multipartResolver" c ...
- Go语言集成开发环境之GoLand安装使用
下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 这里我们下载的是 64 位的开发包,如 ...
- 主流CAD菜单开发
AutoCAD Inventor Solidedge Proe UGNX
- regex(python)
正则表达式 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/7/26 16:39 # @Author : jackendoff ...
- HTTP编码
HTTP编码 不仅仅URL需要编码,HTTP header也需要编码,HTTP body 无特殊要求 一般采用百分号编码:比如一个字节的ascii码值是 0x89 那使用百分号编码之后 输出是 %89 ...