Rancher安装和部署-使用K8s
前提条件
- Kubernetes 集群:可以使用 RKE、RKE2、K3S 等工具安装集群
- Ingress Controller:对于 RKE、RKE2 和 K3s,你不需要手动安装 Ingress Controller,因为它是默认安装的。
- CLI 工具:安装 kubectl 和 helm
使用 docker 安装 Rancher
mkdir -p /data/rancher
docker run --name rancher --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 -v /data/rancher:/var/lib/rancher/ rancher/rancher:stable
docker logs -f rancher
使用 helm 安装 Rancher
参考:在 Kubernetes 集群上安装/升级 Rancher
- 添加 Helm Chart 仓库,安装 cert-manager
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.14.5 \
--set installCRDs=true
kubectl get pods --namespace cert-manager
- 不同的证书配置需要使用不同的 Rancher 安装命令。
先创建命名空间:
kubectl create namespace cattle-system
默认情况是使用 Rancher 生成 CA,并使用
cert-manager
颁发用于访问 Rancher Server 接口的证书。helm install rancher rancher-stable/rancher \ --namespace cattle-system \ --set hostname=rancher.chensoul.cc \ --set bootstrapPassword=admin
使用
cert-manager
来自动请求和续订 Let’s Encrypt 证书。Let’s Encrypt 是免费的,而且是受信的 CA,因此可以为你提供有效的证书。#Let’s Encrypt helm install rancher rancher-stable/rancher \ --namespace cattle-system \ --set hostname=rancher.chensoul.cc \ --set bootstrapPassword=admin \ --set ingress.tls.source=letsEncrypt \ --set letsEncrypt.email=[email protected] \ --set letsEncrypt.ingress.class=nginx
使用你自己的证书来创建 Kubernetes 密文,以供 Rancher 使用。
生成自签名证书,参考:一键生成-ssl-自签名证书脚本
- 检查 Rancher 是否已成功运行:
kubectl -n cattle-system rollout status deploy/rancher
kubectl -n cattle-system get deploy rancher
kubectl -n cattle-system describe deploy rancher
- 查看 rancher 密码:
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{ "\n" }}'
- 访问 Rancher:https://rancher.chensoul.cc/
卸载 Rancher
git clone https://github.com/rancher/rancher-cleanup
cd rancher-cleanup
sh cleanup.sh