Rancher2.1安装部署
基础环境配置
1、操作系统选择
- Ubuntu 16.04(64位 Server版)
- Centos/RedHat Linux 7.5+(64位)
2、Docker版本选择
- 1.12.6
- 1.13.1
- 17.03.2
3、主机名配置
因为K8S的规定,主机名只支持包含 -
和 .
(中横线和点)两种特殊符号,并且主机名不能出现重复。
4、配置Hosts
配置每台主机的hosts(/etc/hosts),添加host_ip $hostname
到/etc/hosts
文件中。
5、CentOS关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
6、关闭防火墙
关闭防火墙
1、Centos
systemctl stop firewalld.service && systemctl disable firewalld.service
2、Ubuntu
ufw disable
7、配置主机时间、时区、系统语言
查看时区
date -R 或者 timedatectl
修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改系统语言环境
sudo echo 'LANG="en_US.UTF-8"' >> /etc/profile;source /etc/profile
8、Kernel性能调优
cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=
net.bridge.bridge-nf-call-iptables=
net.ipv4.neigh.default.gc_thresh1=
net.ipv4.neigh.default.gc_thresh2=
net.ipv4.neigh.default.gc_thresh3=
EOF sysctl –p
Docker安装配置
1、各系统的安装方法
Ubuntu安装方法
1、修改系统源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
EOF
2、Docker-ce 安装
# 定义安装版本
export docker_version=17.03.
# step : 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common bash-completion
# step : 安装GPG证书
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step : 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step : 更新并安装 Docker-CE
sudo apt-get -y update
version=$(apt-cache madison docker-ce|grep ${docker_version}|awk '{print $3}')
# --allow-downgrades 允许降级安装
sudo apt-get -y install docker-ce=${version} --allow-downgrades
# 设置开机启动
sudo systemctl enable docker
Centos 安装方法
1、修改系统源
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
cat > /etc/yum.repos.d/CentOS-Base.repo << EOF
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=
enabled=
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=
enabled=
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
EOF
2、安装Docker-ce
# 添加用户(可选)
sudo adduser `<user>`
# 为新用户设置密码
sudo passwd `<user>`
# 为新用户添加sudo权限
sudo echo '<user> ALL=(ALL) ALL' >> /etc/sudoers
# 卸载旧版本Docker软件
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
container*
# 定义安装版本
export docker_version=17.03.
# step : 安装必要的一些系统工具
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion
# Step : 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step : 更新并安装 Docker-CE
sudo yum makecache all
version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}')
sudo yum -y install --setopt=obsoletes= docker-ce-${version} docker-ce-selinux-${version}
# 如果已经安装高版本Docker,可进行降级安装(可选)
yum downgrade --setopt=obsoletes= -y docker-ce-${version} docker-ce-selinux-${version}
# 把当前用户加入docker组
sudo usermod -aG docker `<new_user>`
# 设置开机启动
sudo systemctl enable docker
2、Docker配置
配置镜像加速地址
可以配置多条,以数组的形式编写,地址需要添加协议头。编辑/etc/docker/daemon.json
加入以下内容
{
"registry-mirrors": ["https://z34wtdhg.mirror.aliyuncs.com","https://$IP:$PROT"]
}
配置私有仓库
Docker默认只信任TLS加密的仓库地址(https),所有非https仓库默认无法登陆也无法拉取镜像。insecure-registries
字面意思为不安全的仓库,通过添加这个参数对非https仓库进行授信。可以设置多个insecure-registries
地址,以数组形式书写,地址不能添加协议头(http)。编辑/etc/docker/daemon.json
加入以下内容:
{
"insecure-registries":["harbor.httpshop.com","bh-harbor.suixingpay.com"]
}
配置Docker存储驱动
存储驱动有很多种,例如:overlay、overlay2、devicemapper等,前两者是OverlayFS类型的,是一个新一代的联合文件系统,类似于AUFS,但速度更快,更加稳定。这里推荐新版的overlay2。
要求:
- overlay2: Linux内核版本4.0或更高版本,或使用内核版本3.10.0-514+的RHEL或CentOS
- 支持的磁盘文件系统:ext4(仅限RHEL 7.1),xfs(RHEL7.2及更高版本),需要启用d_type=true
编辑/etc/docker/daemon.json
加入以下内容
{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
配置日志驱动
容器在运行时会产生大量日志文件,很容易占满磁盘空间。通过配置日志驱动来限制文件大小与文件的数量。 >限制单个日志文件为100M
,最多产生3
个日志文件
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": ""
}
}
daemon.json的
样例
{
"registry-mirrors": ["https://z34wtdhg.mirror.aliyuncs.com"],
"insecure-registries":["harbor.httpshop.com","bh-harbor.suixingpay.com"],
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": ""
}
}
单节点安装
使用默认自签名证书
默认情况下,Rancher会自动生成一个用于加密的自签名证书。从你的Linux主机运行Docker命令来安装Rancher,而不需要任何其他参数:
docker run -d --restart=unless-stopped \
-p : -p : \
-v /root/var/log/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL= \
rancher/rancher:latest
HA集群安装
前提条件
- kubectl kubernetes客户端工具
- rke 用于构建kubernetes集群
- helm kubernetes包管理工具
创建四层负载均衡器
我们将使用Nginx作为四层负载均衡器,Nginx会将所有的连接转发到rancher节点之一。注意:不要使用任何rancher节点作为负载均衡器,会出现端口冲突。
1、安装nginx
需要定制的话,就自己源码安装即可,这里就使用yum或者apt-get
yum install nginx
2、编制nginx配置文件
#复制下面的代码到文本编辑器,保存为nginx.conf。
worker_processes ;
worker_rlimit_nofile ; events {
worker_connections ;
} http {
server {
listen ;
return https://$host$request_uri;
}
} stream {
upstream rancher_servers {
least_conn;
server <IP_NODE_1>: max_fails= fail_timeout=5s;
server <IP_NODE_2>: max_fails= fail_timeout=5s;
server <IP_NODE_3>: max_fails= fail_timeout=5s;
}
server {
listen ;
proxy_pass rancher_servers;
}
}
这里的IP_NODE_1、IP_NODE_2、IP_NODE_3替换成真实环境中的Rancher节点的IP地址。
3、加载配置文件
nginx -s reload
RKE安装kubernetes集群
下载rke工具
wget https://github.com/rancher/rke/releases/download/v0.1.11/rke_linux-amd64
mv rke_linux-amd64 rke && chmod 755 rke && mv rke /usr/local/bin
rke --version
修改hosts(所有节点)
cat << EOF >>/etc/hosts
> 10.10.3.201 rancher-master01
> 10.10.3.202 rancher-master02
> 10.10.3.204 rancher-master03
> EOF
免密操作
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@10.10.3.201
ssh-copy-id -i .ssh/id_rsa.pub root@10.10.3.202
ssh-copy-id -i .ssh/id_rsa.pub root@10.10.3.204
创建rancher-cluster.yml
文件
使用下面的示例创建rancher-cluster.yml
文件,使用创建的3个节点的IP地址替换列表中的IP地址。
nodes:
- address: 10.10.3.201
user: root
role: [controlplane,worker,etcd]
- address: 10.10.3.202
user: root
role: [controlplane,worker,etcd]
- address: 10.10.3.204
user: root
role: [controlplane,worker,etcd] services:
etcd:
snapshot: true
creation: 6h
retention: 24h
运行rke安装
rke up --config ./rancher-cluster.yml
测试集群
安装完成后,会产生一个kube_config_rancher-cluster.yml文件,这个是集群的认证文件。
mkdir ~/.kube
cat kube_config_rancher-cluster.yml >> ~/.kube/config
通过kubectl 测试连接集群,查看所有节点状态
$ kubectl get nodes
NAME STATUS AGE VERSION
10.10.3.201 Ready 19m v1.11.3
10.10.3.202 Ready 19m v1.11.3
10.10.3.204 Ready 19m v1.11.3
安装Helm
配置Helm客户端访问权限
Helm在集群上安装tiller
服务以管理charts
. 由于RKE默认启用RBAC, 因此我们需要使用kubectl
来创建一个serviceaccount
,clusterrolebinding
才能让tiller
具有部署到集群的权限。
kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
安装Helm客户端
二进制安装方法:
1、下载预期的版本 releases
2、解压缩
tar zxvf helm-v2.11.0-linux-amd64.tar.gz
3、把helm二进制文件拷贝到系统环境里
mv linux-amd64/helm /usr/bin/
安装Helm Server(Tiller)
Helm的服务器端部分Tiller,通常运行在Kubernetes集群内部。但是对于开发,它也可以在本地运行,并配置为与远程Kubernetes集群通信。
快速集群内安装
helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.11.0 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
安装Tiller金丝雀版本
helm init --service-account tiller --canary-image
Helm安装Rancher
1、添加chart仓库
使用helm repo add
命令添加Rancher chart仓库地址
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
2、安装证书管理器
从Helm stable目录安装cert-manager
helm install stable/cert-manager \
--name cert-manager \
--namespace kube-system
3、选择SSL配置方式并安装Rancher server
Rancher server设计默认需要开启SSL/TLS配置来保证安全。
helm install rancher-latest/rancher \
--name rancher \
--namespace cattle-system \
--set hostname=rancher.httpshop.com
hostname根据自己情况定义
到此为止Rancher-server 已经安装完成。
Rancher中安装kuberntes
1、自定义节点创建集群
主机类型:
- 云主机
- 内部虚拟机
- 裸机服务器
创建自定义集群
1、从"集群"页面,单击"添加集群"。
2、选择“CUSTOM”
3、输入“集群名称”
4、使用“成员角色”配置集群用户的授权
5、使用“集群选项”,选择Docker版本、kubernetes版本、网络组件等相关配置,点击下一步。
6、从主机角色列表中选择节点所要添加的角色。
7、将屏幕上显示的命令复制到剪贴板。
8、使用首选shell登录Linux主机,例如PuTTy或远程终端连接。运行复制到剪贴板的命令。
9、在Linux主机上运行完命令后,单击“完成”。
2、导入kuebernetes集群
您可以导入现有的Kubernetes集群,然后使用Rancher进行管理。
前提
如果现有Kubernetes集群已cluster-admin
定义角色,则必须具有此cluster-admin
权限才能将集群导入Rancher。要应用权限,您需要kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user [USER_ACCOUNT]
在运行kubectl
命令之前运行以导入群集。
1、从“ 群集”页面中,单击“ 添加群集”。
2、选择“Import”
3、输入集群名称
4、使用“ 成员角色”配置群集的用户授权。
- 单击“ 添加成员”以添加可以访问群集的用户。
- 使用“ 角色”下拉列表为每个用户设置权限。
5、单击创建
6、将显示的第一个命令复制到剪贴板。
7、使用首选shell(例如PuTTy或远程终端连接)登录到其中一个群集节点。运行复制到剪贴板的命令。
8、如果收到消息certificate signed by unknown authority
,请将Rancher中显示的第二个命令复制到剪贴板。然后在群集节点上运行该命令。
9、在Linux主机上运行完命令后,单击“完成”。
Rancher2.1安装部署的更多相关文章
- [原]CentOS7安装Rancher2.1并部署kubernetes (三)---解决登录kubernets超时和部署测试Pod和Containter[nginx为例]
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
随机推荐
- android WebView技术笔记(存储技术)
作为刚刚开始工作的新手程序猿,各种知识还不算熟练,所以将学习到的知识记录一下以免以后忘记. WebView加载h5的知识现在可以说非常的常用,通过加载h5的网页可以在不更新app的情况下来更新app的 ...
- 荣耀7.0系统手机最简单激活Xposed框架的步骤
对于喜欢玩手机的小伙伴来说,很多时候会使用到Xposed框架及各类功能彪悍的模块,对于5.0以下的系统版本,只要手机能获得Root权限,安装和激活Xposed框架是比较简便的,但随着系统版本的不断更新 ...
- 打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践
导读:传统ETL方案让企业难以承受数据集成之重,基于Kafka Connect构建的新型实时数据集成平台被寄予厚望. 在4月21日的Kafka Beijing Meetup第四场活动上,DataPip ...
- ASP.NET基础知识汇总之WebConfig自定义节点详细介绍
之前介绍过Webconfig的具体知识ASP.NET基础知识汇总之WebConfig各节点介绍.今天准备封装一个ConfigHelper类,涉及到了自定义节点的东东,平时虽然一直用,但也没有系统的总结 ...
- 算法学习之BFS、DFS入门
算法学习之BFS.DFS入门 0x1 问题描述 迷宫的最短路径 给定一个大小为N*M的迷宫.迷宫由通道和墙壁组成,每一步可以向相邻的上下左右四格的通道移动.请求出从起点到终点所需的最小步数.如果不能到 ...
- QTableWidget class
Help on class QTableWidget in module PyQt5.QtWidgets: class QTableWidget(QTableView) | QTableWidge ...
- JAVA如何利用Swiger获取Linux系统电脑配置相关信息
最近开发java应用程序,涉及到获取Linux服务器相关配置的问题,特地网上搜寻了下,采用Swiger包可以直接获取,再次小结一下,以便于以后能方便使用,也便于其他童鞋们学习. 推荐大家参考链接:ht ...
- vim命令:编辑模式和命令模式
vim:编辑模式 从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R).当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样.从编辑模式回到一般模 ...
- 工具(2): 极简MarkDown排版介绍(How to)
如何切换编辑器 切换博客园编辑器为MarkDown:MarkDown Editor 选择一个在线编辑和预览站点:StackEdit 如何排版章节 MarkDown: 大标题 ========== 小标 ...
- dell服务器raid设置
dell服务器raid设置 配置说明: 开机自检按ctrl+R键进入配置界面 如果服务器有raid卡,而不想做磁盘阵列时,需要做单盘RAID0,主要是为了让卡来识别一下硬盘 对raid进行操作很可能会 ...