Helm Deploy Online Rancher Demo

news2024/11/25 22:54:24

文章目录

    • 简介
    • 预备条件
    • 在线安装 Rancher Helm Chart
    • 选择 SSL 配置
    • 安装 cert-manager
    • Helm 安装 Rancher
    • 验证 Rancher Server 是否部署成功

简介

Rancher 是一个开源的企业级全栈化容器部署及管理平台。已有超过 1900 万次下载,4000+ 生产环境的应用。

简单的说,就是一个可以让你通过 web 界面管理 docker 容器的平台。定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排功能。

特色:

  • 平台部署方便。管理 docker 的平台本身也基于 docker 部署。只要你有 docker ,一句命令就完成平台的部署了。

  • 平台扩展方便。通过 agent 机制,一句 docker 命令完成 agent 部署,快速增加你的物理机。同时也支持 AWS 等云主机, 2.0 版本甚至还支持 K8s 。

  • 服务部署方便。通过应用商店,2 步完成应用部署,而且还是像 docker-compose 那样各个中间件独立编排,可以随时扩容的哦。

  • 自带账户权限。相比 K8s 没有账号管理,rancher 自带账号权限体系。账号可以独立创建,也可以很方便地接入 ldap 等账号体系。对于公司使用是一大利器

预备条件

  • Kubernetes Cluster
  • Ingress Controller
  • helm

在线安装 Rancher Helm Chart

添加 Helm Chart 仓库

Latest:建议用于试用最新功能
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

Stable:建议用于生产环境
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

Alpha:即将发布的实验性预览。
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha

>注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。

为 Rancher 创建命名空间

```bash
kubectl create namespace cattle-system

选择 SSL 配置

Rancher Server 默认设计为安全的,并且需要 SSL/TLS 配置。

如果你想在外部终止 SSL/TLS,请参见外部负载均衡器的 TLS 终止。

你可以从以下三种证书来源中选择一种,用于在 Rancher Server 中终止 TLS:

  • Rancher 生成的 TLS 证书:要求你在集群中安装 cert-manager。Rancher 使用 cert-manager 签发并维护证书。Rancher 会生成自己的 CA 证书,并使用该 CA 签署证书。然后 cert-manager负责管理该证书。
  • Let's Encrypt:Let’s Encrypt 选项也需要使用 cert-manager。但是,在这种情况下,cert-manager 与 Let’s Encrypt 的特殊颁发者相结合,该颁发者执行获取 Let’s Encrypt 颁发的证书所需的所有操作(包括请求和验证)。此配置使用 HTTP 验证(HTTP-01),因此负载均衡器必须具有可以从互联网访问的公共 DNS 记录。
  • 你已有的证书:使用已有的 CA 颁发的公有或私有证书。Rancher 将使用该证书来保护 WebSocket 和 HTTPS 流量。在这种情况下,你必须上传名称分别为 tls.crt 和 tls.key的 PEM 格式的证书以及相关的密钥。如果你使用私有 CA,则还必须上传该 CA 证书。这是由于你的节点可能不信任此私有 CA。Rancher 将获取该 CA 证书,并从中生成一个校验和,各种 Rancher 组件将使用该校验和来验证其与 Rancher 的连接。
配置Helm Chart 选项是否需要 cert-manager
Rancher 生成的证书(默认)ingress.tls.source=rancher
Let’s Encryptingress.tls.source=letsEncrypt
你已有的证书ingress.tls.source=secret

安装 cert-manager

如果你使用自己的证书文件(ingress.tls.source=secret)或使用外部负载均衡器的 TLS 终止,你可以跳过此步骤。

仅在使用 Rancher 生成的证书(ingress.tls.source=rancher)或 Let’s Encrypt 颁发的证书(ingress.tls.source=letsEncrypt)时,才需要安装 cert-manager。

由于 cert-manager 的最新改动,你需要升级 cert-manager 版本。如果你需要升级 Rancher 并使用低于 0.11.0 的 cert-manager 版本,请参见升级文档。

# 如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml

# 添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io

# 更新本地 Helm Chart 仓库缓存
helm repo update

# 安装 cert-manager Helm Chart
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.11.0

安装完 cert-manager 后,你可以通过检查 cert-manager 命名空间中正在运行的 Pod 来验证它是否已正确部署:

kubectl get pods --namespace cert-manager

NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-5c6866597-zw7kh               1/1     Running   0          2m
cert-manager-cainjector-577f6d9fd7-tr77l   1/1     Running   0          2m
cert-manager-webhook-787858fcdb-nlzsq      1/1     Running   0          2m

Helm 安装 Rancher

不同的证书配置需要使用不同的 Rancher 安装命令。

但是,无论证书如何配置,Rancher 在 cattle-system 命名空间中的安装名称应该总是 rancher。

这个安装 Rancher 的最终命令需要一个将流量转发到 Rancher 的域名。如果你使用 Helm CLI 设置概念证明,则可以在传入 hostname 选项时使用伪域名。伪域名的一个例子是 <IP_OF_LINUX_NODE>.sslip.io,这会把 Rancher 暴露在它运行的 IP 上。生产安装中要求填写真实的域名。

默认情况是使用 Rancher 生成 CA,并使用 cert-manager 颁发用于访问 Rancher Server 接口的证书。

由于 rancher 是 ingress.tls.source 的默认选项,因此在执行 helm install 命令时,我们不需要指定 ingress.tls.source。

  • 将 hostname 设置为解析到你的负载均衡器的 DNS 名称。
  • 将 bootstrapPassword 设置为 admin 用户独有的值。
  • 如果你需要安装指定的 Rancher 版本,使用 --version 标志,例如 --version 2.7.0。
  • 对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 global.cattle.psp.enabled 设置为 false。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。
helm install rancher rancher-<CHART_REPO>/rancher \
  --namespace cattle-system \
  --set hostname=rancher.liby.org \
  --set bootstrapPassword=admin

如果你安装的是 alpha 版本,Helm 会要求你在安装命令中添加 --devel 选项:

helm install rancher rancher-alpha/rancher --devel

等待 Rancher 运行:

kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out

Rancher Chart 有许多选项,用于为你的具体环境自定义安装。以下是一些常见的高级方案:

  • HTTP 代理
  • 私有容器镜像仓库
  • 外部负载均衡器上的 TLS 终止

如需获取完整的选项列表,请参见 Chart 选项。

验证 Rancher Server 是否部署成功

添加密文后,检查 Rancher 是否已成功运行:

kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out

如果你看到 error: deployment "rancher" exceeded its progress deadline 这个错误,可运行以下命令来检查 deployment 的状态:

kubectl -n cattle-system get deploy rancher
NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
rancher   3         3         3            3           3m

$ kubectl get pod -n cattle-system
NAME                               READY   STATUS      RESTARTS   AGE
helm-operation-5wcvf               0/2     Completed   0          7m36s
helm-operation-75hp5               0/2     Completed   0          6m33s
helm-operation-8tdf2               0/2     Completed   0          8m38s
helm-operation-rlmbd               0/2     Completed   0          9m41s
helm-operation-zqwst               0/2     Completed   0          5m30s
rancher-569b86c8f5-7gfnh           1/1     Running     0          15m
rancher-569b86c8f5-ckbhx           1/1     Running     0          15m
rancher-569b86c8f5-hnjx9           1/1     Running     0          15m
rancher-webhook-788c48b988-hcgn8   1/1     Running     0          6m23s
$ kubectl get ns
NAME                                     STATUS   AGE
cattle-fleet-clusters-system             Active   8m12s
cattle-fleet-system                      Active   9m50s
cattle-global-data                       Active   10m
cattle-global-nt                         Active   10m
cattle-impersonation-system              Active   10m
cattle-system                            Active   28m
cert-manager                             Active   31m
cluster-fleet-local-local-1a3d67d0a899   Active   6m28s
default                                  Active   51d
fleet-default                            Active   10m
fleet-local                              Active   11m
ingress-nginx                            Active   5h1m
kube-node-lease                          Active   51d
kube-public                              Active   51d
kube-system                              Active   51d
local                                    Active   10m
metrics-server                           Active   40d
p-9dclm                                  Active   10m
p-mqmpd                                  Active   10m

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

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

相关文章

医院如何选择跨网文件交换产品,提升业务效率?

我国医院根据国家信息安全相关法规要求&#xff0c;大多都采用网闸等隔离手段&#xff0c;将网络隔离为内网和外网&#xff0c;但网络隔离后&#xff0c;医院仍需要进行内外网间的文件交换&#xff0c;如患者的检测报告、学术研究等资料。而医院内的不同科室都存在内外网文件交…

被动元件库存“见底”,或迎涨价潮? | 百能云芯

近日&#xff0c;有消息称被动元件可能会涨价&#xff0c;这促使了被动元件相关股票的全面上涨。国内相关供应链表示&#xff0c;虽然目前没有涨价的条件&#xff0c;但经过长时间的库存消化&#xff0c;各种应用的库存几乎已经清空&#xff0c;只等待终端需求的回升。 自2021年…

软件测试/测试开发丨测试用例自动录入 学习笔记

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/27139 测试用例自动录入 测试用例自动录入的价值 省略人工同步的步骤&#xff0c;节省时间 兼容代码版本的自动化测试用例 用例的执行与调度统一化管理…

STM32--蓝牙

本文主要介绍基于STM32F103C8T6和蓝牙模块实现的交互控制 简介 蓝牙&#xff08;Bluetooth&#xff09;是一种用于无线通信的技术标准&#xff0c;允许设备在短距离内进行数据交换和通信。它是由爱立信&#xff08;Ericsson&#xff09;公司在1994年推出的&#xff0c;以取代…

【前端打怪升级日志之CSS篇】position定位

学习链接&#xff1a;阮一峰CSS定位详解 学习总结&#xff1a; 学习应用&#xff1a;待补充。。。

阿里云再推视频生成大模型,2分钟生成高清电影级效果视频

近日&#xff0c;阿里云推出全新视频生成大模型I2VGen-XL&#xff0c;并在魔搭社区开放体验&#xff0c;用户上传一张图片后2分钟左右即可生成一段1280*720的高分辨率视频&#xff0c;该模型研发负责人表示&#xff0c;未来将进一步实现2K超清效果&#xff0c;可应用于短视频内…

懂点心理学 - 踢猫效应

懂点心理学&#xff0c;生活工作两不误&#xff5e; 什么是踢猫效应 某公司董事长为了重整公司事务&#xff0c;许诺自己将早到晚归。有一次&#xff0c;他在家看报太入迷以至于忘记了时间&#xff0c;为了不迟到&#xff0c;他在公路上超速驾驶&#xff0c;结果被警察开了罚单…

Vue + Element UI 实现权限管理系统 前端篇(十四):菜单功能实现菜

Vue Element UI 实现权限管理系统 前端篇&#xff08;十四&#xff09;&#xff1a;菜单功能实现 菜单功能实现 菜单接口封装 菜单管理是一个对菜单树结构的增删改查操作。 提供一个菜单查询接口&#xff0c;查询整颗菜单树形结构。 http/modules/menu.js 添加 findMenu…

微信公众号开发:Vue3+Pinia

步骤一&#xff1a;绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 步骤二&#xff1a;引入JS文件 在需要调用JS接口 &#xff1a;http://res.wx.qq.com/open/js/jweixin-1.6.0.js npm install weixin-js-sdk 这里报错了。 //…

语音识别数据的采集方法:基本流程数据类型

“人工智能是一种模仿人类功能的产品。数据采集的方法需要针对特定的场景需求。”—–Mark Brayan (澳鹏CEO) 我们一直说&#xff0c;对于一个高质量的人工智能产品离不开高质量的训练数据。对于不同的人工智能我们需要不同的数据对其训练。要采集正确的数据去训练特定的模型才…

float浮动布局大战position定位布局

华子目录 布局方式普通文档流布局浮动布局&#xff08;浮动主要针对与black&#xff0c;inline元素&#xff09;float属性浮动用途浮动元素父级高度塌陷 position属性定位篇相对定位&#xff08;relative为属性值&#xff0c;配合left属性&#xff0c;和top属性使用&#xff09…

快速理解DDD领域驱动设计架构思想-基础篇 | 京东物流技术团队

1 前言 本文与大家一起学习并介绍领域驱动设计(Domain Drive Design) 简称DDD&#xff0c;以及为什么我们需要领域驱动设计&#xff0c;它有哪些优缺点&#xff0c;尽量用一些通俗易懂文字来描述讲解领域驱动设计&#xff0c;本篇并不会从深层大论述讲解落地实现&#xff0c;这…

抄底抄在半山腰?散户如何摆脱追涨杀跌的诅咒?【邢不行】

你第一次炒股的经历是不是这样的&#xff1a; 你有一个朋友甚至是群友&#xff0c;他说在XX股票上大赚了一笔&#xff0c;你听后是既羡慕又不服。 于是你下载了炒股软件&#xff0c;看了眼这只股票&#xff0c;有点心动。但是由于没有交易经验&#xff0c;股价又确实涨了不少…

【实战-06】正确设置flink参数,彻底站起来

参数宝典 如何正确设置参数flink Table模式下的参数Table 模式下参数类相关DataStream 模式下怎么设置参数&#xff1f;总结 如何正确设置参数 很多人在应用flink DataStream 或者是Flinksql 的时候对于一些参数设置知道的不是很清晰&#xff0c;本文带领大家彻底搞定这一块。…

企业微信自建应用开发流程

开发需知 1、企业微信后台管理&#xff08;不是小程序管理后台&#xff09;&#xff1a;企业微信 2、企业微信开发者文档&#xff08;不是小程序文档&#xff09;&#xff1a;概述 - 接口文档 - 企业微信开发者中心 3、开发应用的类型&#xff1a;根据开发应用类型选择文档。…

GitHub个人访问凭证在哪看

要查看 GitHub 个人访问凭证&#xff08;Personal Access Token&#xff09;&#xff0c;请按照以下步骤进行操作&#xff1a; 登录到你的 GitHub 帐户。点击右上角的头像&#xff0c;然后选择 “Settings”&#xff08;设置&#xff09;。在左侧导航栏中&#xff0c;选择 “D…

【PowerQuery】PowerQuery导入JSON数据

Json数据是目前使用的最为频繁和广泛的一种数据交换格式,JSON的全称为JavaScript Object Notation。Json 主要用于在互联网的消息的数据交换信息传递,他的格式与XML有什么区别呢?为什么不用XML,用Json有啥好处呢?我们接下来讨论下Json相比XML的优势: XML传递的数据过多服…

华为云云服务器评测|前端都会的文档预览服务

嗨大家好&#xff0c;我是专注前端技术&#xff0c;热衷知识分享的小鑫同学&#xff0c;近期华为云云服务器焕新上线&#xff0c;实付0.03元拥有了一个月的云服务器使用资格&#xff0c;我将利用这台服务器来演示作为前端同学如何部署一个文档预览服务&#xff0c;拒绝将文档解…

HashMap源码分析(JDK1.8)

概述 JDK 1.8 对 HashMap 进行了比较大的优化&#xff0c;底层实现由之前的 “数组链表” 改为 “数组链表红黑树”&#xff0c;本文就 HashMap 的几个常用的重要方法和 JDK 1.8 之前的死循环问题展开学习讨论。 JDK 1.8 的 HashMap 的数据结构如下图所示&#xff0c;当链表节…

从零开始学习 Java:简单易懂的入门指南之泛型及set集合(二十二)

泛型及set集合扩展 1.泛型1.1泛型概述 2.Set集合2.1Set集合概述和特点【应用】2.2Set集合的使用【应用】 3.TreeSet集合3.1TreeSet集合概述和特点【应用】3.2TreeSet集合基本使用【应用】3.3自然排序Comparable的使用【应用】3.4比较器排序Comparator的使用【应用】3.5两种比较…