目录

一、Rancher 简介 

1.1Rancher 定义

1.2Rancher 和 k8s 的区别

1.3Rancher 的关键特性

二、Rancher 安装及配置 

2.1环境准备

2.2安装 rancher

2.3登录 Rancher 平台

2.4Rancher 管理已存在的 k8s 集群

2.5Rancher 部署监控系统

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

2.6.1以创建 nginx 服务为例

2.6.2创建名称空间 namespace

2.6.3创建 Deployment 资源

2.6.4创建 service

2.6.5访问页面


一、Rancher 简介 

1.1Rancher 定义

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

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

1.2Rancher 和 k8s 的区别

Rancher 和 k8s 都是用来作为容器的调度与编排系统。

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

Kubernetes

  • Kubernetes 是一个开源的容器编排平台,它提供了自动化的容器部署、扩展和管理功能。

  • 它主要用于创建、运行和管理容器化应用程序,并确保它们在预定义的状态下运行。

Rancher

  • Rancher 是建立在 Kubernetes 之上的管理平台,它提供了一个用户友好的界面,使得 Kubernetes 更易于使用和理解。
  • Rancher 通过抽象 Kubernetes 的复杂性,允许用户在不了解 Kubernetes 概念的情况下部署和管理容器化应用程序。
  • 它支持多集群管理,使得用户可以在一个集中的位置管理多个 Kubernetes 集群,无论它们位于何处。

1.3Rancher 的关键特性

  • 多集群管理:支持在一个界面中管理多个 Kubernetes 集群,无论它们是在本地、云中还是混合环境中。
  • 应用目录:提供了一个应用目录,用户可以从中选择并部署预配置的应用程序到 Kubernetes 集群。
  • CI/CD 集成:支持与流行的持续集成和持续部署工具集成,如 Jenkins、GitLab CI/CD 等。
  • 安全性:提供了企业级的安全特性,包括 RBAC、网络策略、Pod 安全策略等。
  • 用户友好的界面:提供了一个直观的 Web UI,使得 Kubernetes 的管理变得更加简单和直观。
  • 自动化:支持自动化的集群部署和升级,简化了 Kubernetes 集群的生命周期管理。
  • 监控和日志:集成了监控和日志工具,提供了对集群性能和应用程序状态的实时视图。
  • 支持多种运行环境支持在多种环境中运行 Kubernetes,包括公有云、私有云、边缘计算和混合云环境。

通过使用 Rancher,企业可以更快速、更安全地采用 Kubernetes 技术,同时降低了 Kubernetes 的学习曲线和管理复杂性。Rancher 通过提供额外的工具和服务,增强了 Kubernetes 的功能,使其更适合企业级应用。

二、Rancher 安装及配置 

2.1环境准备

服务器名称IP地址
控制节点(Master01)192.168.246.10
工作节点(Node01)192.168.246.11
工作节点(Node02)192.168.246.12
Rancher节点192.168.246.9

2.2安装 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守护进程启动时就已经停止了的容器
#如果此处报错,可以先看哪些占了80端口,kill它,但是生产要注意,也可以修改端口

docker ps -a|grep rancher

可以看看有没有nginx或httpd占用80端口

2.3登录 Rancher 平台

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

浏览器访问 http://192.168.246.9

初次登入要修改密码,此处我们修改密码为admin123123 

2.4Rancher 管理已存在的 k8s 集群

导入 Kubernetes 集群到 Rancher

添加集群

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

设置集群名称

  • 将导入的集群命名为 k8s-cluster,然后点击【创建】

复制导入命令

  • Rancher 会提供一个命令,用于绕过证书检查并将 Kubernetes 集群导入到 Rancher。

执行导入命令

  • 在 Kubernetes 控制节点 master01 上,执行 Rancher 提供的 curl 命令。
  • 如果第一次执行时出现错误,再次执行该命令通常可以解决问题。

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

curl --insecure -sfL https://192.168.246.9/v3/import/6rqlf4mm6r2kcqmmckc2glmvnd6rlmrwk4phcjr5vkfdsbb85pzmhw_c-f7l8g.yaml | kubectl apply -f -

验证Kubernetes集群状态

kubectl get ns
#查看 Kubernetes 集群中的所有命名空间及其状态
kubectl get pods -n cattle-system -o wide
#命令查看 cattle-system 命名空间中运行的 Pod,包括 cattle-cluster-agent
kubectl get pods -n fleet-system -o wide
#查看 fleet-system 命名空间中运行的 Pod,包括 fleet-agent

2.5Rancher 部署监控系统

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

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

2.6.1以创建 nginx 服务为例

  • 点击【仪表盘】进入 k8s 集群仪表盘界面

2.6.2创建名称空间 namespace

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

2.6.3创建 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】

在这里创建好了之后,直接去xhell命行查看,创建成功,不需要命令创建了哦

2.6.4创建 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

2.6.5访问页面

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


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐