K8S:Rancher管理 Kubernetes 集群

文章目录

  • 一.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地址
控制节点master01192.168.198.11
工作节点node01192.168.198.12
工作节点node02192.168.198.13
Rancher节点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 <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 作为业界流行的容器编排系统,支持更多的扩展和功能。选择哪种方案取决于具体需求和资源限制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/105740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于OpenCV的灰度图的图片相似度计算

from skimage.metrics import structural_similarity as ssim import matplotlib.pyplot as plt import cv2 def picture_recognization(imagname):# 读取两张图片image1 cv2.imread(D:/AutoTest/PythonProject/standard_img/ imagname)image2 cv2.imread(D:/AutoTest/Pytho…

使用pdfjs实现在线预览pdf

在工作中可能会遇到前端展示pdf文件进行预览并提供下载的需求场景,例如操作指引,这个时候需要寻找一款实现该功能的插件,以pdjjs举例子 1. 安装pdf.js npm install pdfjs-dist2. 引入pdf.js import pdfjsLib from pdfjs-dist3.加载pdf文件流 这个地方区分是请求后端接口还是…

考研人考研魂——英语单词篇(20231010)

下一站&#xff0c;上岸 transplanttransportstorestoragestockstridestrikestringstructurestrikingstunprimaryprimeprimitiveprincipalpsychiatryprinciplepsychologyliableliberal transplant n. &#xff08;器官等的&#xff09;移植&#xff1b;移植的器官 vt. 移植&a…

grep批量筛选指定目录下的所有日志并写入文件内

背景&#xff1a;在指定目录下&#xff0c;该目录下有上百个日志文件&#xff0c;这些文件以.log结尾 需求&#xff1a;遍历这些日志文件&#xff0c;对每个日志文件进行grep筛选&#xff0c;筛选出包含namexxx和 "server_port":"8088"的内容&#xff0c;并…

MongoDB学习笔记

MongoDB学习笔记 MongoDB 概念解析 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 primary key primary k…

WorkPlus AI智能助理,基于GPT为企业提供专属的私有化部署解决方案

在当今数字时代&#xff0c;优质的客户服务是企业取得成功的重要因素之一。随着人工智能技术的不断发展&#xff0c;私有化部署AI智能客服成为企业提高客户体验、提升服务效率的新途径。WorkPlus作为领先的品牌&#xff0c;专注于提供可信赖的私有化部署解决方案&#xff0c;助…

unity2022版本 实现加减进度条

简介 在现代游戏开发中&#xff0c;用户界面 (UI) 扮演着至关重要的角色&#xff0c;它不仅为玩家提供信息&#xff0c;还增强了游戏的可玩性。加减进度条是一种常见的UI元素&#xff0c;它可以用于显示游戏中的进度、倒计时、资源管理和其他关键信息。在这篇博客中&#xff0…

JMeter定时器

一. 同步定时器&#xff08;Synchronizing Timer) &#xff08;在Loadrunner中叫做集合点&#xff09; 思考&#xff1a; 如何模拟多个用户同时抢一个红包&#xff1f;如何测试电商网站中抢购活动、秒杀活动&#xff1f; 1.1 介绍 Sync Timer的目的是阻塞线程&#xff0c;直…

C. JoyboardCodeforces Round 902

C. Joyboard 样例1列表找规律&#xff1a; #include<iostream> #define int long long using namespace std; signed main() {int T;cin>>T;while(T--){int n,m,k;cin>>n>>m>>k;if(k1){cout<<1<<endl;}else if(k2){cout<<m…

劣币驱良币的 pacing 之殇

都说 pacing 好 burst 孬(参见&#xff1a;为啥 pacing)&#xff0c;就像都知道金币好&#xff0c;掺铁金币孬一样。可现实中掺铁的金币流通性却更好&#xff0c;劣币驱良币。劣币流通性好在卖方希望收到别人的良币而储存&#xff0c;而自己作为买方只使用劣币。 burst 和 pac…

vue图表制作

Vue.js是一个非常流行的JavaScript框架&#xff0c;可以用于开发交互式Web应用程序。Vue.js的优点之一是它的灵活性和可扩展性。因此&#xff0c;可以使用Vue.js与许多其他库和框架集成&#xff0c;包括图表库。 下面是使用Vue.js制作图表的一些步骤&#xff1a; 1.选择一个适…

告前端同学书

告前端同学书 一年前&#xff0c;InfoQ的编辑约请我对前端技术做了些回顾总结&#xff0c;说了三个方面的话题&#xff1a;其一&#xff0c;前端过去的15年大致可以怎样划分&#xff1b;其二&#xff0c;前端的现状以及面临的挑战&#xff1b;其三&#xff0c;前端会有怎样的未…

LocalDate的用法

日期时间转换 2023-03-30 14:25:00.000 DateTimeFormat(pattern "yyyy-MM-dd HH:mm:ss:sss")private LocalDateTime requestTimeStamp; 2021-06-18T10:46:19.67378508:00 new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss:sssXXX");yyyy-mm-dd hh:mm:ss.sss 05…

关于javascript数组方法reduce的理解

JavaScript中的 reduce 是一个数组方法&#xff0c;它用于对数组中的元素进行累积操作&#xff0c;将数组的每个元素应用到指定的累积器函数&#xff0c;然后返回累积的结果。 reduce 方法的技术原理可以简单地概括为以下几个步骤&#xff1a; &#xff08;PS:累积器函数指的是…

解析找不到msvcp140.dll的5个解决方法,快速修复dll丢失问题

​在使用计算机过程中&#xff0c;我们也会遇到各种各样的问题。其中&#xff0c;找不到msvcp140.dll修复方法是一个非常普遍的问题。msvcp140.dll是一个动态链接库文件&#xff0c;它是Microsoft Visual C 2015 Redistributable的一部分。这个文件包含了许多用于运行C程序的函…

传输层 | UDP协议、TCP协议

之前讲过的http与https都是应用层协议&#xff0c;当应用层协议将报文构建好之后就要将报文往下层传输层进行传递&#xff0c;而传输层就是负责将数据能够从发送端传到接收端。 再谈端口号 端口号(port)标识了一个主机上进行通信的不同的应用程序&#xff0c;在TCP/IP协议中&…

进阶JAVA篇- LocalDate 类与 LocalTime 类、LocalDateTime 类的常用API(六)

目录 API 1.0 LocalDate 类与 LocalTime 类、LocalDateTime 类的API说明 1.1 如何创建LocalDate 类与 LocalTime 类、LocalDateTime 类的对象 1.2 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 get 开头实例方法 1.3 LocalDateTime 类中的 toLocalDat…

Vu3中样式穿透不生效处理

Vu3中样式穿透不生效处理 代码查看F12处理- 方法一父组件修改为单根组件 代码 App.vue <template><p>父组件</p><hello-world></hello-world> </template><script setup> import HelloWorld from "./components/HelloWorld.v…

蓝桥杯 第 1 场算法双周赛 第三题 分组【算法赛】c++ 贪心+双指针

题目 分组【算法赛】 难度: 中等 问题描述 蓝桥小学要进行弹弹球游戏&#xff0c;二年级一班总共有 n 个同学&#xff0c;要求分成 k 个队伍&#xff0c;由于弹弹球游戏要求队员的身高差不能太大&#xff0c;小蓝是班长&#xff0c;他对这个事情正在发愁&#xff0c;他想问…

【多媒体技术与实践】使用OpenCV处理图像(实验三.上)

1&#xff1a;图像直方图 将原彩色图像转成灰度图像&#xff0c;得到该灰度图像的灰度直方图&#xff0c;并对灰度直方图进行直方图均衡化&#xff0c;将原图、灰度图、直方图及均衡化后的直方图一起拼接为一张图片 import cv2 import numpy as np import matplotlib.pyp…