Rancher 使用指南
Rancher 使用指南
- Rancher 是什么?
- Rancher 与 OpenShift / Kubesphere 主要区别对比
- Rancher
- OpenShift
- Kubesphere 对比 Rancher 和 OpenShift
- Rancher 安装
Rancher 是什么?
企业级Kubernetes管理平台
Rancher 是供采用容器的团队使用的完整软件堆栈。它解决了管理多个Kubernetes集群的运营和安全挑战,并为DevOps团队提供用于运行容器化工作负载的集成工具。
- Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。
- Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。
- Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。
- 此外,Rancher 可以为集群和资源提供更精细的监控和告警,将日志发送到外部提供商,并通过应用商店(Application Catalog)直接集成 Helm。如果你拥有外部 CI/CD 系统,你可以将其与 Rancher 对接。没有的话,你也可以使用 Rancher 提供的 Fleet 自动部署和升级工作负载。
- Rancher 是一个 全栈式 的 Kubernetes 容器管理平台,为你提供在任何地方都能成功运行 Kubernetes 的工具。
详细可查看 https://ranchermanager.docs.rancher.com/zh/getting-started/overview
Rancher 与 OpenShift / Kubesphere 主要区别对比
OpenShift 与 Rancher 本质上都是基于 k8s 进行功能扩展,形态更接近 K8S Dashboard,而不是容器平台。
如果熟悉 k8s 且对 k8s 有完全的掌控力,选择哪个都可以。
Rancher
-
Rancher 侧重运维,DevOps 领域功能较少。
-
Rancher 的重心还是在多集群管理方面,支持 4 种类型
- 从提供 K8S 托管服务的云厂商创建集群
- 导入已有的集群
- 使用云厂商提供的主机创建集群
- 使用已有的主机创建集群
- 另外 Rancher 提供了开源的跨集群通信方案 Submariner
-
Rancher 的主要功能:
-
Rancher 优点
- 采用图形化方式:
易用的 Web 管理界面,在 Docker 易用性的基础上,再一次降低了使用容器技术部署容器应用的难度。 - 支持多种调度器:
通过环境模板,很容易地创建和部署 Cattle、Swarm、K8S、Mesos 容器集群管理调度平台。 - 管理主机集群:
管理对象是多台主机的集群,而不仅仅是单台容器主机,创建和管理几台、几十台应用服务器集群,只需要Ctrl+C、Ctrl+V,复制粘贴就解决了。 - 内置应用商店:
使用其中的 WordPress 模板,创建一个 WordPress 博客系统,只需点点鼠标,部署难度不高于申请一个免费的电子邮箱! - 资源弹性分配:
内置应用负载均衡器,“服务”最小只需 1 个容器实例,当负载不够/或过剩时,只需点点鼠标,增加/减少“服务”中容器的实例数,即可解决问题,应用系统具有天生的弹性扩容能力。
- 采用图形化方式:
-
不足
- K8S 部署的问题:
由于国内网络和国外网络访问的问题,在国内部署 K8S 集群,有点不方便; - 应用商店的问题:
默认的 Rancher 官方认证和社区贡献的应用商店内容有限,应用还不够丰富,基本上都是网络和存储等基础的应用;个别应用部署后,无法通过相同的操作,再部署同样的另一套应用,比如 Rancher NFS;
- K8S 部署的问题:
OpenShift
-
OpenShift 侧重应用。
OpenShift 在 k8s 基础上扩展了一些功能,如构建镜像、主机组管理等,其他如监控、告警、日志等等。
DevOps 领域相关功能均使用开源方案且无扩展增强。
-
一些内置的功能特性如下:
- Operator 市场
- 自研服务与发现 Route
- 构建镜像
- 集成 Promethus 监控告警
- 机器(主机)管理
-
Openshift 的主要功能:
Kubesphere 对比 Rancher 和 OpenShift
KubeSphere定位是以应用为中心的容器平台,提供简单易用的操作界面,一定程度上降低了学习成本,同时集成了原生istio等功能,更加符合开发的使用习惯。总的来说Rancher注重于对K8s的管理,KubeSphere对应用的管理。
-
优点
- 贴近原生 K8S,运维人员无需学习新东西,kubesphere 更像是 k8s 的前端。
- 图形化强,直观,美观,赏心悦目。
- 便于没有运维能力的开发人员,学习成本低,零基础运维。
- 集成灰度发布,镜像构建器,S2I,prometheus,istio,Jenkins, ES, sonarqube,日志,事件查询,操作审计,资源消费统计,监控等等自动功能,能够称之为“云原生全栈系统”,无需开发人员另外学习这些运维技术。
- 商业版相对于 openshift 经济实惠得多。
- 相对于 rancher 客户服务好,因为是国产产品,符合国情,而且客户服务沟通无障碍,rancher 商业版网上信息较少。
-
缺点
- 多集群管理逊色于 rancher 和 openshift,多集群功能是 3.0 版本才新增的。
- rancher 提供了极其简便的K8s部署及管理能力。
- kubesphere 安装比较麻烦,困难,特别是离线安装。
- 起步晚,系统稳定程度比不上 rancher 和 openshift。
- 国际影响力不强,K8S 发行版位列第三,github 上没有 rancher 和 openshift 知名。
- 相对 rancher 比较消耗资源。
- 客户服务和技术支持当然没有商业版的 OpenShift 牛,但是 OpenShift 价格不菲,系统稳定性需求大于预算限制的用户建议 openshift,反之则酌情考虑 kubesphere 或 rancher。
Rancher 安装
本次我们按照官网安装本地版的rancher
- 准备Linux主机
准备一台已安装64位Ubuntu 20.04或18.04的Linux主机(或其他Rancher所支持的Linux发行版),要求至少4GB内存。在该主机上安装Rancher支持的Docker版本。 - 运行Server
在主机上执行以下Docker命令,完成Rancher的安装与运行:
之后,打开浏览器,输入sudo docker run --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
https://<安装容器的主机名或IP地址>
,您即可以访问Rancher Server的UI了。跟随用户界面给您的引导,即可设置完成您的第一个Rancher集群。 - 查找登录密码
[root@node-138 ~]# docker logs container-id 2>&1 | grep "Bootstrap Password:"
[root@node-138 ~]# docker logs f12 2>&1 | grep "Bootstrap Password:"
2023/10/10 02:13:38 [INFO] Bootstrap Password: c5mnjh6rsj96v8d2xnpgbnmgkhx82zgvzfvf2twz4fwvm29qkwqqvc
- 登录
password:SrNCv6wOkN6bzVaA
登陆成功后,需要手动配置新的密码和url,这些都跳过,继续,自动跳转到dashboard
- 体验
创建个nginx的服务进行体验
进入rancher容器
f1201320cf49:/var/lib/rancher # crictl ps
WARN[0000] runtime connect using default endpoints: [unix:///run/k3s/containerd/containerd.sock unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.
WARN[0000] image connect using default endpoints: [unix:///run/k3s/containerd/containerd.sock unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.
CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD
f7e7a5175fadc 61395b4c586da About an hour ago Running container-0 0 b8bfc5e898216 nginx-vfcw6
e623538be0d03 ead0a4a53df89 2 hours ago Running coredns 3 80d1409730642 coredns-59b4f5bbd5-dx6tz
f1201320cf49:/var/lib/rancher # crictl images
WARN[0000] image connect using default endpoints: [unix:///run/k3s/containerd/containerd.sock unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.
IMAGE TAG IMAGE ID SIZE
docker.io/library/nginx latest 61395b4c586da 70.5MB
docker.io/rancher/mirrored-coredns-coredns 1.10.1 ead0a4a53df89 53.6MB
docker.io/rancher/mirrored-pause 3.6 6270bb605e12e 686kB
f1201320cf49:/var/lib/rancher # curl 127.0.0.1:80
<a href="https://127.0.0.1/">Found</a>.
可以看到容器是contarinerd,服务可以正常开启
相关文章:

Rancher 使用指南
Rancher 使用指南 Rancher 是什么?Rancher 与 OpenShift / Kubesphere 主要区别对比RancherOpenShiftKubesphere 对比 Rancher 和 OpenShift Rancher 安装 Rancher 是什么? 企业级Kubernetes管理平台 Rancher 是供采用容器的团队使用的完整软件堆栈。它解决了管理多个Kuber…...

百度SEO优化全攻略(提高网站排名的5个方面)
百度SEO入门介绍: 随着互联网的不断发展,SEO已经成为网站优化的重要一环。而百度作为中国最大的搜索引擎,其SEO优化更是至关重要。SEO不仅能够提高网站排名,还能够提高网站流量、用户体验以及品牌知名度。因此,掌握百…...

华为云云耀云服务器L实例评测|华为云耀云服务器L实例私有库搭建verdaccio(八)
九、华为云耀云服务器L实例私有库搭建verdaccio: Verdaccio 是一个简单的、零配置本地私有 npm 软件包代理注册表。Verdaccio 开箱即用,拥有自己的小型数据库,能够代理其它注册表(例如 npmjs.org),缓存下载…...

C语言之动态内存管理_柔性数组篇(2)
目录 柔性数组的特点 柔性数组的使用 动态内存函数增容柔性数组模拟实现 柔性数组的优势 今天接着来讲解一下柔性数组知识。 柔性数组的特点 C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做【柔性数组】成员。 结构体中最后一个成员未…...

vue基础
引入vue文件 <div id"app"><!--{{}}插值表达式,绑定vue中的data数据-->{{message}} </div><script src"vue.min.js"></script> <script>new Vue({el:#app,data:{message:Hello Vue}}) </script>单项…...

访问量突破1W,纪念一下~
Mr.kanglong, 继续加油!...

C# 处理TCP数据的类(服务端)
using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; using System.Threading;namespace TestDemo {/// <summary>/// 处理TCP数据的类(服务端)/// </summary>public class TcpService{/// <s…...

【Jenkins】调用API构建并钉钉通知
文章目录 Jenkins API介绍提交作业带参数的作业API 令牌 Shell调用代码 Jenkins API介绍 Jenkins 提供了远程访问 API。目前它有三种格式: XML JSON Python 远程访问 API 形式为"…/api/" 例如, Jenkins 安装位于https://ci.jenkins.io&a…...

Java NIO三大核心组件
文章目录 一、Buffer1、重要属性2、重要方法1)allocate()创建缓冲区2)put()写入到缓冲区3)flip()翻转4)get()从缓冲区读取5)rewind()倒带6)mark()和reset()7)clear()清空缓冲区8)使用…...

js数据排序方法(sort)?
在JavaScript中,可以使用Array的sort()方法对数据进行排序。下面是一个基本的例子,它展示了如何对一个数组进行升序和降序排序: // 创建一个数字数组 let numbers [2, 9, 1, 5, 8, 6];// 升序排序 let ascending numbers.sort(function(a,…...

若依框架学习笔记_mybatis
一、 在框架中引用的先后顺序 在ruoyi-system的resources下的xml中定义方法在java下的mapper包中引用方法在java下的service包中再引用mapper的方法 二、xml中的写法 标签: resultMap 返回数据sql 查询语句 可包含在其他操作中select 查询insert 插入update 更新…...

虚拟机的发展史:从分时系统到容器化
一、前世 早期计算机的价格非常昂贵,一台计算机可能需要花费几十万甚至上百万美元。例如,ENIAC计算机,作为世界上第一台通用电子数字计算机,当时的造价约为48万美元。科学家或者工程师们需要计算机的能力,但是买不起整…...

季涨约3~8%,DRAM合约价大幅回升 | 百能云芯
据TrendForce的研究显示,第4季DRAM与NAND Flash均价将开始全面上涨。特别是DRAM,预计第4季的合约价将季涨幅约在3%到8%之间。然而,这波上涨是否能持续,取决于供应商是否坚守减产策略以及实际需求的回升程度,尤其值得关…...

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…...

React通过ref获取子组件的数据和方法
父组件 1) ref必须传值, 否则childRef拿不到子组件的数据和方法 注意: 不一定使用app组件, 其他的任何父组件都可以 import "./App.css"; import React, { useEffect, useRef } from "react"; import RefToGetChild from "./components/RefToGetCh…...

Enhancing Self-Consistency and Performance of Pre-Trained Language Model
本文是LLM系列文章,针对《Enhancing Self-Consistency and Performance of Pre-Trained Language Models through Natural Language Inference》的翻译。 通过自然语言推理增强预训练语言模型的自一致性和性能 摘要1 引言2 相关工作3 通过关系检测进行一致性校正4 …...

安防监控视频汇聚平台EasyCVR视频广场搜索异常,报错“通道未开启”的问题排查与解决
安防视频监控系统EasyCVR视频汇聚平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、…...

css 星星闪烁加载框
今天带来的是普灵普灵的loader闪烁加载框 效果如下 开源精神给我们带来了源码 ,源码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…...

代码随想录算法训练营第二十二天丨 二叉树part09
669. 修剪二叉搜索树 思路 递归法 从图中可以看出需要重构二叉树,想想是不是本题就有点复杂了。 其实不用重构那么复杂。 在上图中我们发现节点0并不符合区间要求,那么将节点0的右孩子 节点2 直接赋给 节点3的左孩子就可以了(就是把节点…...

Apipost连接数据库详解
Apipost提供了数据库连接功能,在接口调试时可以使用数据库获取入参或进行断言校验。目前的Apipost支持:Mysql、SQL Sever、Oracle、Clickhouse、达梦数据库、PostgreSQL、Redis、MongoDB 8种数据库的连接操作 新建数据库连接: 在「项目设置…...

让 Visual Studio 用上 ChatGPT
一、简介 Visual chatGPT Studio 是 Visual Studio 的一个免费扩展,它直接在 IDE 中添加了 chatGPT 功能。它允许用户以可以根据菜单功能的方式使用 chatGPT。 二、功能介绍 该扩展提供了一组使用 ChatGPT 命令,可以在编辑器中选择你需要处理的代码或…...

如何删除错误堆栈里的数据
修改某个主数据。然后发现N年前,某位开发在DTP上做了一个错误堆栈。 这里面有很多历史错误信息,有几千条了,一条条删肯定不可能。 如果不删除,DTP增量无法激活,明天处理链肯定出问题。 于是找到一位印度大神的方法&a…...

k8s使用minio分布式集群作为存储--基础配置篇
背景:minio分布式集群是单独的服务,并没有被k8s管理,k8s与minio集群在不同的服务器上部署,k8s需要使用minio分布式集群作为k8s集群的配置文件及其他文件的存储介质。 1、安装fuse: sudo yum install fuse1.1查询是否有fusemount3 sudo find / -name fusermount31.2确认…...

@Autowired 到底是怎么把变量注入进来的?
[toc] 在 Spring 容器中,当我们想给某一个属性注入值的时候,有多种不同的方式,例如可以通过构造器注入、可以通过 set 方法注入,也可以使用 Autowired、Inject、Resource 等注解注入。 今天我就来和小伙伴们聊一聊,Au…...

【Python学习笔记】函数
1. 函数组成 Python中,我们是这样定义函数的: def function(para1, para2):print("func start")print(para1)print(para2)print("func end")print("让技术总监面试 求职者")return "func return"def 是关键字…...

简单实现一个todoList(上移、下移、置顶、置底)
演示 html部分 <!DOCTYPE html> <html> <head><title>表格示例</title> </head> <body><table border"1"><thead><tr><th>更新时间</th><th>操作</th></tr></thead…...

计算机视觉:池化层的作用是什么?
本文重点 在深度学习中,卷积神经网络(CNN)是一种非常强大的模型,广泛应用于图像识别、目标检测、自然语言处理等领域。而池化层作为CNN中的一个关键步骤,扮演着优化神经网络、提升深度学习性能的重要角色。本文将深入探讨池化层的作用及其重要性,帮助读者更好地理解和应…...

luffy项目前端创建、配置、解决跨域问题、后端数据库迁移
前端 创建前端vue 使用vue-cil创建前端将无用的东西删除 配置 跟后端交互:axios 安装插件:cnpm install -S axios在main.js中写import axios from "axios"; Vue.prototype.$axios axios后续使用就直接this.$axios即可 操作cookie&am…...

电商数据API接口:新服务下电商网站、跨境电商独立站,移动APP的新型拉新武器
互联网的发展改变了我们的生活方式,也改变了企业商家们的营销方式,越来越多的企业商家把产品营销从线下转到线上,选择在线商城、移动APP、微信公众号等互联网工具进行营销活动。而随着营销模式的多元化和电子支付渠道的进一步发展,…...

多线程并发篇---第十一篇
系列文章目录 文章目录 系列文章目录前言一、CAS的原理二、CAS有什么缺点吗?三、引用类型有哪些?有什么区别?前言 一、CAS的原理 CAS叫做CompareAndSwap,比较并交换,主要是通过处理器的指令来保证操作的原子性,它包含 三个操作数: 变量内存地址,V表示旧的预期值,A表示…...