K8S:Rancher管理 Kubernetes 集群

文章目录

  • [一.Rancher 简介](#一.Rancher 简介)
    • 1.Rancher概念
    • [2.Rancher 和 k8s 的区别](#2.Rancher 和 k8s 的区别)
  • [二.Rancher 安装及配置](#二.Rancher 安装及配置)
    • [1.安装 rancher](#1.安装 rancher)
    • [2.登录 Rancher 平台](#2.登录 Rancher 平台)
    • [3.Rancher 管理已存在的 k8s 集群](#3.Rancher 管理已存在的 k8s 集群)
    • [4.Rancher 部署监控系统](#4.Rancher 部署监控系统)
    • [5.使用 Rancher 仪表盘管理 k8s 集群](#5.使用 Rancher 仪表盘管理 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 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   <none>           <none>

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   <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 作为业界流行的容器编排系统,支持更多的扩展和功能。选择哪种方案取决于具体需求和资源限制。

相关推荐
wowocpp4 分钟前
查看 linux ubuntu 分区 和 挂载 情况 lsblk
linux·运维·ubuntu
_.Switch4 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410834 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.4 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
芯盾时代4 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方5 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘5 小时前
NFS服务器
运维·服务器
南猿北者6 小时前
docker容器
docker·容器
苹果醋36 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰6 小时前
[linux]docker基础
linux·运维·docker