k8s上部署rancher

一、什么事rancher

Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。

Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。

此外,Rancher 可以为集群和资源提供更精细的监控和告警,将日志发送到外部提供商,并通过应用商店(Application Catalog)直接集成 Helm。如果你拥有外部 CI/CD 系统,你可以将其与 Rancher 对接。没有的话,你也可以使用 Rancher 提供的 Fleet 自动部署和升级工作负载。

Rancher 是一个 全栈式 的 Kubernetes 容器管理平台,为你提供在任何地方都能成功运行 Kubernetes 的工具。

二、添加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创建命名空间

kubectl create namespace cattle-system

四、选择ssl配置

Rancher Management Server 默认需要 SSL/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.crttls.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

这里选择的是用用rancher生成的证书。

五、安装cert-manager

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

# kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/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

六、部署

### 使用Rancher生成的证书

默认情况是使用 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 repo update

helm search repo rancher

helm pull rancher-stable/rancher

七、编辑values.yaml

八、运行

建议提前下载好所有镜像

# helm upgrade --install rancher -n cattle-system . -f values.yaml

在hosts文件中添加域名对应的IP地址:
192.168.110.111 rancherpro.test.com
192.168.110.112  rancherpro.test.com


# 进入容器,随机生成密码
# kubectl exec -ti rancher-XXXXXXXX sh -n cattle-system
sh-4.4# reset-password

账户:admin

密码:是使用reset-password生成的

九、参考

在 Kubernetes 集群上安装/升级 Rancher | Rancher

相关推荐
O&REO1 小时前
单机部署kubernetes环境下Overleaf-基于MicroK8s的Overleaf应用部署指南
云原生·容器·kubernetes
politeboy1 小时前
k8s启动springboot容器的时候,显示找不到application.yml文件
java·spring boot·kubernetes
运维小文2 小时前
K8S资源限制之LimitRange
云原生·容器·kubernetes·k8s资源限制
登云时刻2 小时前
Kubernetes集群外连接redis集群和使用redis-shake工具迁移数据(二)
redis·容器·kubernetes
wuxingge11 小时前
k8s1.30.0高可用集群部署
云原生·容器·kubernetes
志凌海纳SmartX12 小时前
趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
云原生·容器·kubernetes
锅总12 小时前
nacos与k8s service健康检查详解
云原生·容器·kubernetes
BUG弄潮儿12 小时前
k8s 集群安装
云原生·容器·kubernetes
Code_Artist13 小时前
Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!
docker·云原生·容器
颜淡慕潇14 小时前
【K8S系列】kubectl describe pod显示ImagePullBackOff,如何进一步排查?
后端·云原生·容器·kubernetes