本篇文章介绍如何在 k8s集群上安装rancher。

前提

需要安装 kubectl 和 helm。

安装 Rancher Helm Chart

  1. 添加 helm chart 仓库

使用 helm repo add rancher-<CHART_REPO> https://releases.rancher.com/server-charts/<CHART_REPO> 添加 helm 仓库。

请将命令中的<CHART_REPO>,替换为latest,stable或alpha。更多信息,请查看选择 Rancher 版本来选择最适合您的仓库。

latest: 建议在尝试新功能时使用。

stable: 建议在生产环境中使用。(推荐)

alpha: 未来版本的实验性预览。

  1. 创建Namespace

创建一个名为 cattle-system 的Namespace。

1
kubectl create namespace cattle-system
  1. 安装 cert-manager
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 如果你手动安装了CRD,而不是在Helm安装命令中添加了`--set installCRDs=true`选项,你应该在升级Helm chart之前升级CRD资源。
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/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.5.1

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

1
2
3
4
5
6
kubectl get pods --namespace cert-manager
master@master:~$ kubectl get pods --namespace cert-manager
NAME                                      READY   STATUS    RESTARTS   AGE
cert-manager-56b686b465-q7c4d             1/1     Running   0          51s
cert-manager-cainjector-75c94654d-j9x6m   1/1     Running   0          51s
cert-manager-webhook-69bd5c9d75-jxbgw     1/1     Running   0          51s
  1. 根据您选择的 SSL 选项,通过 Helm 安装 Rancher

将 设置为hostname您指向负载均衡器的 DNS 名称。 将 设置bootstrapPassword为admin用户独特的东西。

1
 helm install rancher rancher-stable/rancher   --namespace cattle-system   --set hostname=rancher.xx.vip   
  1. 验证Rancher Server部署成功 执行 kubectl -n cattle-system get deploy rancher , 如看到
1
kubectl -n cattle-system get deploy rancher

就表示安装成功。