Helm Deploy Online Rancher Demo

文章目录

    • 简介
    • 预备条件
    • 在线安装 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/latestStable:建议用于生产环境
helm repo add rancher-stable https://releases.rancher.com/server-charts/stableAlpha:即将发布的实验性预览。
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-managerNAME                                       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.rhkb.cn/news/123170.html

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

相关文章

PROSOFT PTQ-PDPMV1网络接口模块

通信接口&#xff1a;PROSOFT PTQ-PDPMV1 网络接口模块通常配备了多种通信接口&#xff0c;以便与不同类型的设备和网络进行通信。常见的接口包括以太网、串行端口&#xff08;如RS-232和RS-485&#xff09;、Profibus、DeviceNet 等。 协议支持&#xff1a;该模块通常支持多种…

基于单片机的八路抢答器(数码管版)(独立按键、四位共阳极数码管、指示灯)

随着科学技术的发展和普及&#xff0c;各种各样的竞赛越来越多&#xff0c;其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计&#xff0c;使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领…

Sui上低Gas费为预言机注入强大动力

在当今世界中&#xff0c;大数据推动了许多真正有用的应用发展&#xff0c;预言机是将这些数据引入区块链的手段。然而&#xff0c;通过预言机进行数据调用需要在区块链上进行交易&#xff0c;并支付相关gas费。Sui保持稳定且低廉gas费的能力&#xff0c;使其成为依赖预言机app…

什么是ETLT?他是新一代数据集成平台?

什么是ETLT&#xff1f; 在现代数据处理和分析的时代&#xff0c;数据集成是一个至关重要的环节。数据集成涉及将来自各种来源的数据合并、清洗、转换&#xff0c;并将其加载到数据仓库或分析平台以供进一步的处理和分析。传统上&#xff0c;数据集成有两种主要方法&#xff0…

13 mysql date/time/datetime/year 的数据存储

前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 datetime/date/time/year 类类型…

对线程池设置做压测

线程池代码 Configuration public class ThreadPoolConfig {// 核心线程池大小private int corePoolSize 24;// 最大可创建的线程数private int maxPoolSize 25;// 队列最大长度private int queueCapacity 100;// 线程池维护线程所允许的空闲时间private int keepAliveSeco…

VMware虚拟机安装CentOS6.9设置静态ip

1.设置虚拟网络编辑器 点击编辑–>虚拟网络编辑器 2.更改系统网络适配器选项 这里的子网掩码与网关&#xff0c;与第一步的一致 3.修改虚拟机主机名 vi /etc/sysconfig/networkNETWORKINGyue HOSTNAMEchen4.配置IP映射 vi /etc/hosts192.168.121.138 chen5.配置网卡…

使用 WebGL 为 HTML5 游戏创建逼真的地形

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 建 模 和 3D 地形 大多数 3D 对象是 使用建模工具创建&#xff0c;这是有充分理由的。创建复杂对象 &#xff08;如飞机甚至建筑物&#xff09;很难在代码中完成。建模工具 几乎总是有意义的&#xff0c;但也有例外&am…

ant-table组件表格数据做合计行,并固定在表格底部

需求描述 某些时候&#xff0c;我们表格展示数值型数据的时候&#xff0c;可能会想做一个合计处理&#xff0c;这样能直观的了解到当前列的总计数据信息。 遍观Table组件&#xff0c;官方是没有提供这个功能的&#xff0c;这就需要我们自己处理了 需求分析 根据表格的特性&a…

Java环境的安装

最近博主也是在学校开始学习了Java&#xff0c;也通过老师知道了可以通过大学生学生证申(bai)请(piao) IDEA的企业版&#xff08;社区版也是够学习用的&#xff09;有很多同学还是没有搞懂便做一下分享。 &#x1f331;博客主页&#xff1a;青竹雾色间. &#x1f618;博客制作…

算法笔记——路径问题

在引入介绍如何写一个算法的时候&#xff0c;我们先引入一个题作为例子 1137. 第 N 个泰波那契数 - 力扣&#xff08;LeetCode&#xff09; 作为刚开始学习算法的我们&#xff0c;看到这个题目的时候&#xff0c;应该想好以下的问题&#xff1a; 1.状态表示 我们要用什么来表…

MFC新建内部消息

提示&#xff1a;记录一下MFC新建内部消息的成功过程 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 先说一下基本情况&#xff0c;因为要在mapview上增加一个显示加载时间的功能。然后发现是要等加载完再显示时间&#xff0c;显示在主…

整理mongodb文档:分页

个人博客 整理mongodb文档:分页 个人博客&#xff0c;求关注&#xff0c;如果文章不够清晰&#xff0c;麻烦指出。 文章概叙 本文主要讲下在聚合以及crud的find方法中如何使用limit还有skip进行排序。 分页的情况很经常出现&#xff0c;这也是这篇博客诞生的理由。 数据准备…

uniapp移动端h5设计稿还原

思路 动态设置html的font-size大小 实现步骤 先创建一个public.css文件&#xff0c;设置初始的font-size大小 /* 注意这样写 只能使用css文件, scss 是不支持的, setProperty 只适用于原生css上 */ html {--gobal-font-size: 0.45px; } .gobal-font-size {font-size: var(--g…

面试中的身体语言:非语言信息的重要性

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Termux配置bashrc,终端长路径改为短路径

Termux配置bashrc termux的bashrc在$HOME/../usr/etc目录下 先使用cd命令进入用户主目录 然后cd ../usr/etc&#xff0c;ls可以发现&#xff0c;存在一个名为bash.bashrc的文件 使用vim或者其它编辑器打开 大概在第15行 PS1\[\e[0;32m\]\w\[\e[0m\] \[\e[0;97m\]\$\[\e[0…

六安RapidSSL泛域名https能保护几个域名

RapidSSL是Geotrust旗下的子品牌&#xff0c;Geotrust是国际知名的CA认证机构&#xff0c;每年都要通过WebTrust年检&#xff0c;而Geotrust旗下的https证书已经应用于市场多年&#xff0c;Geotrust的子品牌RapidSSL证书经营的DV基础型泛域名https证书也受到市场的欢迎。今天就…

如何使用SpringCloud Eureka 创建单机Eureka Server-注册中心

&#x1f600;前言 本篇博文是关于使用SpringCloud Eureka 创建单机Eureka Server-注册中心&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&…

2022年12月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:生理周期 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因…

【已解决】使用xshell来ssh到vmware的虚拟机,请求超时的问题

我的情况&#xff1a; 1.本地ping虚拟机请求超时&#xff0c;但是虚拟机ping本地成功 2.本地和虚拟机的防火墙都关了&#xff0c;ssh服务也开了 3.端口也是正确的 百思不得其解&#xff0c;不知道为什么就是连接不上 当出现这种情况的时候&#xff0c;可以考虑一下vmware的…