【云原生】k8s图形化管理工具之rancher

 内容预知

 前言

 1. Rancher的相关知识

1.1 Rancher的简介 

  1.2 Rancher与k8s的关系及区别

1.3 Rancher具有的优势 

 2. Rancher的安装部署

 2.1 实验环境与部署图分配

2.2 具体的部署操作 

 (1)在 rancher 节点下载 rancher 镜像

(2)在所有k8s的node节点上下载 rancher-agent 镜像 

(3)在rancher主机上启动rancher镜像,映射端口 

(4)进行客户机登录rancher 

(5)Rancher 管理已存在的 k8s 集群 

 3. Rancher图形化界面的基本操作

3.1  Rancher 部署监控系统

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

(1)创建名称空间 namespace 

(2)创建 Deployment 资源 

(3)创建 service 


 前言

在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群,大大提高工作效率。 

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

【云原生】k8s图形化管理工具之rancher_第1张图片

 1. Rancher的相关知识

1.1 Rancher的简介 

 Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理, 以确保集群的安全性,加速企业数字化转型。超过 40000 家企业每天使用 Rancher 快速创新。 

  1.2 Rancher与k8s的关系及区别

 Rancher和K8s的关系,Rancher和K8s区别对比。简单来说,K8s(Kubernetes)为企业提供了一种一致的方式来管理任何计算基础架构,Rancher则是用于管理位于任何位置的Kubernetes集群的完整平台。如果用户是自己手动部署K8s集群,流程还是比较复杂的,需要掌握一定的技术知识,所以为了简化Kubernetes操作,一些Kubernetes管理平台应运而生,例如Rancher。 

Rancher完美解决了Kubernetes用户安装和配置Kubernetes集群的难题,用户可以将集群配置定义为代码,Rancher将通过Kubernetes分发和配置引擎RKE在任何基础架构上构建和扩展Kubernetes。 

【云原生】k8s图形化管理工具之rancher_第2张图片

而k8s与Rancher最大区别:

Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重要的一点是能够管理 k8s 集群。 Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。

1.3 Rancher具有的优势 

  • 简化Kubernetes学习曲线,推动企业采用Kubernetes
  • 快速构建、集成和自动化CI/CD流水线
  • 管理复杂的微服务应用程序
  • 提供基于Helm的应用商店,打造一站式应用程序部署
  • 集群监控和集群安全的最佳实践
  • 在任何云上、VMware集群或物理机上构建和运行Kubernetes集群

 2. Rancher的安装部署

 2.1 实验环境与部署图分配

至少准备一个二进制或其他方式部署好的k8s集群,准备一台初始化的虚拟机(实现安装好docker并且调整好仓库源)作为rancher的服务机。

Rancher节点/rancher  192.168.73.108
 控制节点/master01  192.168.73.105
工作节点/node01   192.168.73.106
工作节点/node02   192.168.73.107

 【云原生】k8s图形化管理工具之rancher_第3张图片

2.2 具体的部署操作 

 (1)在 rancher 节点下载 rancher 镜像

docker load -i rancher.tar

#如果没有提前下载好镜像tar包,也可以采用直接拉取镜像
docker pull rancher/rancher:v2.5.7

【云原生】k8s图形化管理工具之rancher_第4张图片

(2)在所有k8s的node节点上下载 rancher-agent 镜像 

#将rancher-agent:v2.5.7包上传到master上,在传给其他node节点
scp rancher-agent:v2.5.7 [email protected]:`pwd`
scp rancher-agent:v2.5.7 [email protected]:`pwd`
#拉取本地镜像
docker load -i rancher-agent:v2.5.7



#如果没有本地镜像就用每台node主机拉取官方镜像
docker pull rancher/rancher-agent:v2.5.7

【云原生】k8s图形化管理工具之rancher_第5张图片

(3)在rancher主机上启动rancher镜像,映射端口 

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

 【云原生】k8s图形化管理工具之rancher_第6张图片

(4)进行客户机登录rancher 

 【云原生】k8s图形化管理工具之rancher_第7张图片

【云原生】k8s图形化管理工具之rancher_第8张图片

【云原生】k8s图形化管理工具之rancher_第9张图片

(5)Rancher 管理已存在的 k8s 集群 

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

【云原生】k8s图形化管理工具之rancher_第10张图片

 【云原生】k8s图形化管理工具之rancher_第11张图片

 【云原生】k8s图形化管理工具之rancher_第12张图片

 【云原生】k8s图形化管理工具之rancher_第13张图片

在 k8s 控制节点 master01 上执行刚才复制的命令,如第一次执行报错,再执行一次即可 

curl --insecure -sfL https://192.168.73.108/v3/import/c7kj7vrz6rzn899pwdzmcbw89sv5bcnhlmk8s2j2h4s894sdjth6gt_c-g2b75.yaml | kubectl apply -f -

 【云原生】k8s图形化管理工具之rancher_第14张图片

 【云原生】k8s图形化管理工具之rancher_第15张图片

kubectl get pods -n cattle-system -o wide

 【云原生】k8s图形化管理工具之rancher_第16张图片

 3. Rancher图形化界面的基本操作

3.1  Rancher 部署监控系统

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

 【云原生】k8s图形化管理工具之rancher_第17张图片

 【云原生】k8s图形化管理工具之rancher_第18张图片

 【云原生】k8s图形化管理工具之rancher_第19张图片

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

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

(1)创建名称空间 namespace 

 点击左侧菜单【Namespaces】,再点击右侧【Create】
【Name】输入 dev,【Description】选填可自定义
点击右下角【Create】

【云原生】k8s图形化管理工具之rancher_第20张图片

 【云原生】k8s图形化管理工具之rancher_第21张图片

 【云原生】k8s图形化管理工具之rancher_第22张图片

【云原生】k8s图形化管理工具之rancher_第23张图片

(2)创建 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】

 【云原生】k8s图形化管理工具之rancher_第24张图片

 【云原生】k8s图形化管理工具之rancher_第25张图片

【云原生】k8s图形化管理工具之rancher_第26张图片

 【云原生】k8s图形化管理工具之rancher_第27张图片

【云原生】k8s图形化管理工具之rancher_第28张图片

 【云原生】k8s图形化管理工具之rancher_第29张图片

(3)创建 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

 【云原生】k8s图形化管理工具之rancher_第30张图片

【云原生】k8s图形化管理工具之rancher_第31张图片

 【云原生】k8s图形化管理工具之rancher_第32张图片

【云原生】k8s图形化管理工具之rancher_第33张图片

【云原生】k8s图形化管理工具之rancher_第34张图片

 【云原生】k8s图形化管理工具之rancher_第35张图片

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

【云原生】k8s图形化管理工具之rancher_第36张图片

【云原生】k8s图形化管理工具之rancher_第37张图片

你可能感兴趣的:(容器,云原生,云原生,kubernetes,rancher)