Rancher
介绍
Rancher 是一个 Kubernetes 管理工具,让我们能在任何地方和任何提供商上部署和运行集群。
准备
一个安装了 Helm 的 Kubernetes 集群,集群版本要跟安装的 Rancher 版本兼容,具体可以查询:https://www.suse.com/suse-rancher/support-matrix/all-supported-versions 或者查看Github Release。
部署 Rancher
下载 Rancher
添加 Rancher 仓库
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
下载最新稳定版 Rancher
mkdir ~/rancher && cd ~/rancher && helm fetch rancher-stable/rancher
部署cert-manager
添加 cert-manager 仓库
helm repo add jetstack https://charts.jetstack.io && helm repo update
下载 cert-manager
mkdir ~/cert-manager && cd ~/cert-manager
helm fetch jetstack/cert-manager --version v1.13.3
部署 cert-manager
curl -L -o cert-manager.crds.yaml https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.crds.yaml
kubectl create namespace cert-manager
kubectl apply -f cert-manager.crds.yaml
helm install cert-manager ./cert-manager-v1.13.3.tgz \
--namespace cert-manager \
--set image.repository=quay.io/jetstack/cert-manager-controller \
--set webhook.image.repository=quay.io/jetstack/cert-manager-webhook \
--set cainjector.image.repository=quay.io/jetstack/cert-manager-cainjector \
--set startupapicheck.image.repository=quay.io/jetstack/cert-manager-ctl
安装 Rancher
创建命名空间
kubectl create namespace cattle-system
helm install rancher ./rancher-2.7.9.tgz \
--namespace cattle-system \
--set hostname=rancher.linmt.cn \
--set cert-manager.version=v1.13.3 \
--set rancherImage=docker.io/rancher/rancher \
--set systemDefaultRegistry=registry.cn-hangzhou.aliyuncs.com \
--set useBundledSystemChart=true
查看安装结果
kubectl -n cattle-system get pod
获取默认管理员账号(admin)密码
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{ .data.bootstrapPassword|base64decode}}{{ "\n" }}'
升级 Rancher
导出安装时的自定义信息:
helm get values rancher -n cattle-system -o yaml > values.yaml
升级 Rancher
helm upgrade rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
-f values.yaml \
--version=2.6.8
重置管理员密码
Docker 重置管理员密码
$ docker exec -ti <container_id> reset-password
New password for default administrator (user-xxxxx):
<new_password>
Kubernetes 安装 (Helm):
$ KUBECONFIG=./kube_config_cluster.yml
$ kubectl --kubeconfig $KUBECONFIG -n cattle-system exec $(kubectl --kubeconfig $KUBECONFIG -n cattle-system get pods -l app=rancher --no-headers | head -1 | awk '{ print $1 }') -c rancher -- reset-password
New password for default administrator (user-xxxxx):
<new_password>
参考
Ubuntu系统离线安装RKE2+Rancher2.7.5全过程记录