1 前置依赖
首先确保 helm 与 cert-manager 已安装部署完成,如无参考下面过程进行安装:
1.1 安装 helm
helm 工具安装可参考文章 《Helm 快速安装》。
1.2 部署 cert-manager
在 kubernetes 中部署 cert-manager 组件可参考文章 《使用 Helm 部署 Cert Manager 并申请证书》。
2 安装 rancher
2.1 创建 cattle-system 命名空间
nano cattle-system-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: cattle-system
kubectl apply -f cattle-system-namespace.yaml
2.2 创建 rancher 使用的域名证书
nano rancher-astralor-com-cert.yaml
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: cert-rancher-astralor-com
namespace: cattle-system
spec:
commonName: rancher.astralor.com
secretName: cert-rancher-astralor-com
issuerRef:
name: cloudflare
kind: ClusterIssuer
dnsNames:
- rancher.astralor.com
kubectl apply -f rancher-astralor-com-cert.yaml
等待证书申请完成后,再执行下一步:
kubectl -n cattle-system get cert -o wide -w
NAME READY SECRET ISSUER STATUS AGE
cert-rancher-astralor-com False cert-rancher-astralor-com cloudflare Issuing certificate as Secret does not exist 6s
cert-rancher-astralor-com False cert-rancher-astralor-com cloudflare Issuing certificate as Secret does not exist 79s
cert-rancher-astralor-com True cert-rancher-astralor-com cloudflare Certificate is up to date and has not expired 79s
cert-rancher-astralor-com True cert-rancher-astralor-com cloudflare Certificate is up to date and has not expired 79s
2.3 使用 helm 安装 rancher
2.3.1 添加 rancher helm repo
helm repo add rancher-stable <https://releases.rancher.com/server-charts/stable>
helm repo update
2.3.2 使用 helm 安装 rancher
helm install rancher rancher-stable/rancher \\
--namespace cattle-system \\
--set hostname=rancher.astralor.com \\
--set replicas=1 \\
--set ingress.tls.source=secret \\
--set ingress.tls.secretName=cert-rancher-astralor-com
安装效果如下所示:
3 验证 rancher 部署
3.1 检查 rancher server 是否运行成功
kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 1 updated replicas are available...
Waiting for deployment spec update to be observed...
Waiting for deployment "rancher" rollout to finish: 0 of 1 updated replicas are available...
deployment "rancher" successfully rolled out
3.2 获取生成密钥
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\\n"}}'
3.3 登录 Rancher Dashboard
3.3.1 访问面板
访问面板,并使用 3.2 获取的密钥登录面板
3.3.2 修改初始密码并确认面板信息
在此界面选择 “Set a specific password to use” 并设置新密码,确认下方网站地址并关闭站点信息收集以及同意用户策略,进入面板:
3.3.3 Rancher Web Dashboard
进入面板后可查看、管理集群信息,另外面板如有需要可设置语言中文,登录后的展示如下:
4 卸载 rancher
4.1 下载清理工具
git clone <https://github.com/rancher/rancher-cleanup.git> && cd rancher-cleanup
4.2 执行 rancher 清理
kubectl create -f deploy/rancher-cleanup.yaml
使用下面命令查看清理任务执行状态,直到完成退出:
kubectl -n kube-system logs -l job-name=cleanup-job -f
4.3 确认清理状态
kubectl create -f deploy/verify.yaml
使用下面命令查看清理确认任务执行状态,直到完成退出:
kubectl -n kube-system logs -l job-name=verify-job -f
4.4 删除残留的资源
kubectl delete -f deploy/verify.yaml
kubectl delete -f deploy/rancher-cleanup.yaml