文章目录

一.Rancher 简介1.Rancher概念2.Rancher 和 k8s 的区别

二.Rancher 安装及配置1.安装 rancher2.登录 Rancher 平台3.Rancher 管理已存在的 k8s 集群4.Rancher 部署监控系统5.使用 Rancher 仪表盘管理 k8s 集群

三.拓展1.Rancher和kubesphere相比较2.K3S和K8S相比较

一.Rancher 简介

1.Rancher概念

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

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

2.Rancher 和 k8s 的区别

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

Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。

二.Rancher 安装及配置

实验环境

节点主机名IP地址控制节点master01192.168.198.11工作节点node01192.168.198.12工作节点node02192.168.198.13Rancher节点rancher192.168.198.14

1.安装 rancher

#在 master01 节点下载 rancher-agent 镜像

docker pull rancher/rancher-agent:v2.5.7

#在 rancher 节点下载 rancher 镜像,rancher这台机器需要有docker容器

docker pull rancher/rancher:v2.5.7

#在 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 run -d --restart=unless-stopped -p 80:80 -p 8443:443 --privileged --name rancher rancher/rancher:v2.5.7 6631fe2a0f913dde14b7b650738dab5ef85f34ee918e6341204f7fb4a8bc0471 docker: Error response from daemon: driver failed programming external connectivity on endpoint rancher (cedbda15ce8b48fc5e90c5ca2262958d5fb0dc731bad30bfdb430e505d9cd8c6): Bind for 0.0.0.0:80 failed: port is already allocated.

是端口号被占用了,可以停止删除之前的端口号或者换其他的端口即可,此处是将之前的端口号停止删除

docker ps #查看存在容器并找到端口号

docker stop #停止容器

docker rm #删除容器

此处使用停止容器

docker stop e531c7774eb8

docker ps #查看已经没有80端口及443端口的容器存在

再次创建即可

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7

docker ps -a|grep rancher

4ce02f66eed2 rancher/rancher:v2.5.7 "entrypoint.sh" 46 seconds ago Up 44 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp rancher

2.登录 Rancher 平台

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

如果等待刷新还不可以,输入init 6重启虚拟机再次访问刷新

登入输入密码有两种方式:

(1)自定义密码

(2)随机生成密码,生成密码后需复制随机生成的密码(kG1mk!@&Mgv9VE5X)

此处使用第二种

3.Rancher 管理已存在的 k8s 集群

选择【添加集群】,点击【导入】

【集群名称】设置为 k8s-cluster,点击【创建】

选择复制第三条命令绕过证书检查导入 k8s 集群

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

curl --insecure -sfL https://192.168.198.14/v3/import/d6mtqc4kwcv82jp925gpk28sgfpdsl8dbgjr6v8x9kz2wnr6klbh7k_c-lrcc4.yaml | kubectl apply -f -

kubectl get ns

kubectl get pods -n cattle-system -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

cattle-cluster-agent-cbf67657c-48hx4 1/1 Running 0 2m4s 10.244.0.5 master01

kubectl get pods -n fleet-system -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

fleet-agent-55bfc495bd-zd864 1/1 Running 0 55s 10.244.1.79 node02

点击仪表盘可以查看集群的相关信息

4.Rancher 部署监控系统

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

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

//以创建 nginx 服务为例

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

#创建名称空间 namespace

点击左侧菜单【Namespaces】,再点击右侧【Create】

【Name】输入 rain-depl,【Description】选填可自定义

点击右下角【Create】

#创建 Deployment 资源

点击左侧菜单【Deployments】,再点击右侧【Create】

【Namespace】下拉选择 rain-depl,【Name】输入 nginx-rain-depl,【Replicas】输入 3

点击中间选项【Container】,【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent

在【Pod Labels】下点击【Add Lable】,【Key】输入 app 【Value】输入 nginx

点击右下角【Create】

#创建 service

点击左侧菜单【Services】,再点击右侧【Create】

点击【Node Port】

【Namespace】下拉选择 rain-depl,【Name】输入 nginx-rain-depl

【Port Name】输入 nginx,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 30180(30000以上)

点击中间选项【Selectors】,【Key】输入 app,【Value】输入 nginx

点击右下角【Create】

点击【nginx-dev】查看 service 是否已关联上 Pod

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

三.拓展

1.Rancher和kubesphere相比较

(1)KubeSphere 和 Rancher 都是用于管理和操作 Kubernetes 集群的平台,它们在概念和功能上有一些区别。以下是它们的区别概述:

①KubeSphere: KubeSphere 是一个开源的容器平台,旨在提供全面的解决方案,用于部署、管理和运行容器化应用程序。它提供了一个集成的界面和工具,使用户能够轻松地构建、编排和监控容器化应用程序。

主要特点包括:

一站式平台:KubeSphere 提供了从应用程序开发、CI/CD、容器编排、多租户管理、监测告警、日志记录等一系列功能,使用户能够在一个平台上完成大部分任务。多租户管理:KubeSphere 支持多租户模式,可以为不同的团队或项目提供隔离的环境和权限管理。安全和策略:KubeSphere 提供了安全审计、访问控制、镜像安全扫描等功能,帮助用户保护容器环境的安全。

②Rancher: Rancher 是一个开源的容器管理平台,旨在简化 Kubernetes 的部署、管理和监控。它提供了一个集中式管理界面,使用户能够轻松地配置和操作 Kubernetes 集群。

主要特点包括:

多集群管理:Rancher 支持在一个界面中管理多个 Kubernetes 集群,无论这些集群是部署在本地、云端还是边缘节点上。声明式配置:Rancher 使用声明式配置模型,允许用户通过 YAML 文件定义基础架构和应用程序的配置,并且能够自动化应用程序的部署和更新。第三方集成:Rancher 提供了与各种第三方工具和服务的集成,包括监控、日志记录、认证等,帮助用户将 Kubernetes 与其他系统集成在一起。

总结: KubeSphere 和 Rancher 都是功能强大的容器管理平台,但它们的定位和重点略有不同。KubeSphere 更加注重提供一站式的容器解决方案,包括开发、构建、编排、监测等各个环节;而 Rancher 则专注于多集群管理和声明式配置,使用户能够更方便地操作和管理 Kubernetes 集群。选择哪个平台取决于需求和偏好。

2.K3S和K8S相比较

K3s 和 Kubernetes (K8s) 都是用于容器编排和管理的工具,但有些区别:

(1)大小和复杂度:K3s 是一种轻量级的 Kubernetes 发行版,适用于资源受限的环境,它比 K8s 小得多,仅需要约 512MB 的 RAM 和 1 CPU 核心即可运行。K8s 是一个更复杂的系统,需要更多的资源才能正常运行。

(2)安装和配置:K3s 的安装非常简单,通常只需要运行一行命令即可完成。相比之下,K8s 的安装过程较为复杂,需要一些额外的步骤和配置。

(3)扩展性:K8s 作为业界流行的容器编排系统,拥有广泛的扩展程序和插件,可以满足各种不同的需求。而 K3s 虽然也支持扩展,但由于是要保持轻量级,可能不会提供所有功能。

(4)性能:由于 K3s 是一个轻量级的 Kubernetes 变体,因此在启动时间和资源使用方面表现更好。也就是说,它适用于部署在资源有限的边缘设备或 IoT 设备上。

(5)社区和支持:K8s 有一个庞大的社区,并且由 CNCF 维护,可以获得广泛的支持和资源。而 K3s 的社区较小,但它仍然有一些活跃的贡献者和用户,可以获得一定程度的支持。

总之,K3s 是一个更简单、更轻量级的 Kubernetes 变体,适合部署在边缘设备或 IoT 设备上。而 K8s 作为业界流行的容器编排系统,支持更多的扩展和功能。选择哪种方案取决于具体需求和资源限制。

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: