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

这里选择的是用用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

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值