文章目录
- 一.Rancher 简介
- 1.Rancher概念
- 2.Rancher 和 k8s 的区别
- 二.Rancher 安装及配置
- 1.安装 rancher
- 2.登录 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地址 |
---|---|---|
控制节点 | master01 | 192.168.198.11 |
工作节点 | node01 | 192.168.198.12 |
工作节点 | node02 | 192.168.198.13 |
Rancher节点 | rancher | 192.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 <container_id> #停止容器
docker rm <container_id> #删除容器
此处使用停止容器
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 rancher4ce02f66eed2 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 wideNAME 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 <none> <none>
kubectl get pods -n fleet-system -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
fleet-agent-55bfc495bd-zd864 1/1 Running 0 55s 10.244.1.79 node02 <none> <none>
点击仪表盘可以查看集群的相关信息
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 作为业界流行的容器编排系统,支持更多的扩展和功能。选择哪种方案取决于具体需求和资源限制。