首页 > 其他分享 >Helm Deploy Online Rancher Demo

Helm Deploy Online Rancher Demo

时间:2023-10-06 10:07:15浏览次数:87  
标签:证书 manager Rancher cert Online Helm Active rancher



文章目录

  • 简介
  • 预备条件
  • 在线安装 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 Encrypt

ingress.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 有许多选项,用于为你的具体环境自定义安装。以下是一些常见的高级方案:

如需获取完整的选项列表,请参见 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


标签:证书,manager,Rancher,cert,Online,Helm,Active,rancher
From: https://blog.51cto.com/ghostwritten/7721262

相关文章

  • Nacos Helm Chart Deploy Demo
    文章目录介绍准备条件定制values.yaml检查登陆介绍Nacos/nɑ:kəʊs/是DynamicNamingandConfigurationService的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性......
  • The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online (The 2nd Universal Cup
    The2018ACM-ICPCAsiaQingdaoRegionalContest,Online(The2ndUniversalCup.Stage1:Qingdao)J-PresstheButton\(1\leqa,b,c,d\leq10^6\)题解容易发现存在循环节,每次位于\(gcd(a,c)\)的倍数的位置所以我们考虑处理一个循环节内的情况如果\(v\le......
  • SWERC 2022-2023 - Online Mirror (Unrated, ICPC Rules, Teams Preferred)
    Preface纯纯的智商场,只能说老外的出题风格和国内的比赛差异还是挺大的这场开局被签到题H反杀后灰溜溜地下机,结果后面的题出的都还挺顺的等到最后徐神把J过掉后我们都以为D是个大分类讨论(实际上机房里的学长们都是用分类讨论过的),就不想写了挂机到结束后面看题解发现确实是分类......
  • P6190 [NOI Online 1 入门组] 魔法
    P6190[NOIOnline1入门组]魔法该题中用到的矩阵加速Floyd可能存在负环,但是这个题是可以用的,所以不能每次跑完之后把各个节点到自己的距离更新为0!最外层循环才是中转站节点,不管什么时候都是这样的。特别是在矩阵乘法中,一般的矩阵相乘都是最内层循环遍历行和列,而矩阵加速......
  • 解决Android studio 更新到2022.3版本后,一直卡在waiting for target device to come o
    解决Androidstudio更新到2022.3.1patch1之后卡在waitingfortargetdevicetocomeonline的问题1.现象在发布一个app的时候,每次走到waitingforalltargetdevicestocomeonline之后,就没有后续了,模拟器没有调起来,更不用谈后续的install。2.原因暂时不明3.解决方法......
  • gitlab--在 k8s 里通过 helm 部署 runner、使用缓存 cache、使用制品 artifacts
    安装helm链接:https://www.cnblogs.com/zouzou-busy/p/16134885.html配置chart存储库#添加chart存储库[root@master1~]#helmrepoaddgitlabhttps://charts.gitlab.io"gitlab"hasbeenaddedtoyourrepositories#查看存储库[root@master1~]#helmrepolist......
  • helm安装 ingress-nginx
    目录1.下载ingress-nginx-4.2.5.tgz2.解压,修改文件3.安装ingress4.测试网页5.windows测试helm3安装1.下载ingress-nginx-4.2.5.tgzhelmfetchingress-nginx/ingress-nginx--version4.2.5#或者curl-LOhttps://github.com/kubernetes/ingress-nginx/releases/download/helm-c......
  • helm3安装部署三、执行helm警告kube/config文件不安全问题
    目录一、安装篇二、配置仓库篇三、执行helm警告kube/config文件不安全问题四、helm自动补全命令五、安装、卸载软件HELM是k8的包管理工具,像linux系统的包管理器,如yum,apt等,很方便的把yaml文件部署到k8s上面!一、安装篇1.helm包下载地址:wgethttps://get.helm.sh/helm-v3.6.1-l......
  • 创新功能先导:Copilot in SharePoint Online
    博客链接:https://blog.51cto.com/u_13637423SharePoint是世界上最灵活的内容平台,无论客户还是合作伙伴都可以以SharePoint为载体,使用SharePointFramework、MicrosoftGraph和PowerPlatform构建Portal、文档系统、项目管理、各种OA流程管理等解决方案。随着AI技术的普及和推广,微软......
  • helm安装mongodb带密码
    https://www.cnblogs.com/wuyubing/p/17576508.html 利用helm查看各种官方标准复杂的yaml配置以供参考#以查看rabbitmq集群安装的配置举例#首先添加chart仓库helmrepoaddaliyun-apphubhttps://apphub.aliyuncs.comhelmrepoupdate#这里我们在后面加上--dry-run--de......