Rancher 管理 Kubernetes 集群

一 Rancher

 在二进制搭建k8集群时,我们就知道了k8s本身就具有一款原生的k8s集群管理工具,但是原生图形化管理工具dashborad只拥有管理一个集群的能力。而对于现代化生产力公司来讲,一个集群能够做的事情还是太少,所以我们需要引入更强大的集群管理工具。市面上较为常用的有rancher   kubesphere   k9s  K3s。本次我们主要介绍rancher的功能于搭建。

1 Rancher 简介     k3s

Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本

地数据中心的集中部署与管理, 以确保集群的安全性,加速企业数字化转型。超过 40000 家企业

每天使用 Rancher 快速创新。

官网:https://docs.rancher.cn/

2 Rancher 和 k8s 的区别

Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重

要的一点是能够管理 k8s 集群。 Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用

户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。

二 Rancher 安装及配置

实验环境:

控制节点/master01192.168.11.12
工作节点/node01192.168.11.13
工作节点/node02192.168.11.4
Rancher节点/rancher    192.168.11.3

1 安装 rancher

#在 master01 节点下载 rancher-agent 镜像
docker pull rancher/rancher-agent:v2.5.7

#在 rancher 节点下载 rancher 镜像
docker pull rancher/rancher:v2.5.7

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
#--restart=unless-stopped 表示在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

docker ps -a|grep rancher

2 登录 Rancher 平台 

需要先等一会儿,再浏览器访问 http://192.168.11.3 ,由于未使用授信证书,会有报警,忽略即可
登录后如是英文页面,可点击右下角语言选项选择中文
 
别忘记关闭防护

 

3 Rancher 管理已存在的 k8s 集群 

选择【添加集群】,点击【导入】
【集群名称】设置为 k8s-cluster,点击【创建】
选择复制第三条命令绕过证书检查导入 k8s 集群

 

在 k8s 控制节点 master01 上执行刚才复制的命令,如第一次执行报错,再执行一次即可
curl --insecure -sfL https://192.168.10.23/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -

 

kubectl get ns

kubectl get pods -n cattle-system -o wide

kubectl get pods -n fleet-system -o wide

4 Rancher 部署监控系统

点击【启用监控以查看实时监控】
【监控组件版本】选择 0.2.1,其他的默认即可
点击【启用监控】,启动监控时间可能比较长,需要等待10分钟左右

注意:Rancher 机器内存要3G 及以上,不然虚拟机会卡顿 

5 使用 Rancher 仪表盘管理 k8s 集群

//以创建 nginx 服务为例
点击【仪表盘】进入 k8s 集群仪表盘界面

6 创建 Deployment 资源

点击左侧菜单【Deployments】,再点击右侧【Create】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev,【Replicas】输入 3
点击中间选项【Container】,【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent
在【Pod Labels】下点击【Add Lable】,【Key】输入 app,【Value】输入 nginx
点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】

7 创建 service

点击左侧菜单【Services】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev
【Port Name】输入 nginx,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 30180
点击中间选项【Selectors】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】
点击【nginx-dev】查看 service 是否已关联上 Pod

#点击 service 资源的节点端口 30180/TCP,可以访问内部的 nginx 页面了

点击 service 资源的节点端口 30180/TCP,可以访问内部的 nginx 页面了 

 

vim /etc/resolv.conf            可以直接更改DNS

CNI  若有问题就需要 重启K8s集群了

会建还要会删 

三 K8S-高可用集群

高可用集群

1 架构

为了防止Master节点掉线,可用通过一些高可用方案对集群进行改造。

对于apiserver的访问通过Haproxy或Nginx集群进行反向代理,反向代理集群中使用Keepalived。

Haproxy和Nginx

2 Nginx 负载均衡器的特点是:

工作在网络的 7 层之上,可以针对 http 应用做一些分流的策略,比如针对域名、目录结构;

Nginx 安装和配置比较简单,测试起来比较方便;

也可以承担高的负载压力且稳定,一般能支撑超过上万次的并发;

Nginx 可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持 url 来检测;

Nginx 对请求的异步处理可以帮助节点服务器减轻负载;

Nginx 能支持 http 和 Email,这样就在适用范围上面小很多;

默认有三种调度算法: 轮询、weight 以及 ip_hash(可以解决会话保持的问题),还可以支持第三                                     方的 fair 和 url_hash 等调度算法;

3 HAProxy 的特点是:

HAProxy 是工作在网络 7 层之上;

支持 Session 的保持,Cookie 的引导等;

支持 url 检测后端的服务器出问题的检测会有很好的帮助;

支持的负载均衡算法:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权 URL 哈希和加权参数哈希(Weighted Parameter Hash);

单纯从效率上来讲 HAProxy 更会比 Nginx 有更出色的负载均衡速度;

HAProxy 可以对 Mysql 进行负载均衡,对后端的 DB 节点进行检测和负载均衡。

4 Keepalived

Keepalived 的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换,提高系统的可用性。Keepalived以VRRP协议为实现基础,VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个)。

运行原理:keepalived 通过选举(看服务器设置的权重)挑选出一台热备服务器做 MASTER 机器,MASTER 机器会被分配到一个指定的虚拟 ip,外部程序可通过该 ip 访问这台服务器,如果这台服务器出现故障(断网,重启,或者本机器上的 keepalived crash 等),keepalived 会从其他的备份机器上重选(还是看服务器设置的权重)一台机器做 MASTER 并分配同样的虚拟 IP,充当前一台 MASTER 的角色。

选举策略:选举策略是根据 VRRP 协议,完全按照权重大小,权重最大(0~255)的是 MASTER 机器,下面几种情况会触发选举

keepalived 启动的时候;

master 服务器出现故障(断网,重启,或者本机器上的 keepalived crash 等,而本机器上其他应用程序 crash 不算);

有新的备份服务器加入且权重最大。

5 集群构建环境初始化

6 虚拟机Kubeadm部署安装

7 在主节点启动Haproxy和Keepalived容器

8 安装Kubeadm初始化主节点添加其他主节点

9 Etcd集群状态查看

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值