使用Docker下载并启动rancher
docker pull rancher/rancher:v2.8.1
sudo docker run -d --name=rancher --restart=unless-stopped -p 8081:80 -p 8443:443 --privileged -v /data/rancher:/var/lib/rancher rancher/rancher:v2.8.1
访问页面
# 根据页面提示,查看密码,进行登录
docker logs container-id 2>&1 | grep "Bootstrap Password:"
# zck945sx4vh5mg47fkcg4v285znfl6nf6456m7gsvpghqgjpczbdpv
登录后重置密码
Server URL 填写的是内网ip,保证每个node机器都能访问到。
导入已有集群
页面操作
命令执行
根据上图提示,输入命令
# kubectl create命令中的user,取自`cat ~/.kube/config`显示的users的name(此处显示kubernetes-admin)
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user kubernetes-admin
# curl --insecure -sfL https://172.31.254.211:8443/v3/import/4v792c75qggms7946ccc6fsknlzwhc5j4h8tqr7jmnjf9jtnfkccfb_c-m-brl7nvtx.yaml | kubectl apply -f -
curl -O --insecure -sfL https://172.31.254.211:8443/v3/import/4v792c75qggms7946ccc6fsknlzwhc5j4h8tqr7jmnjf9jtnfkccfb_c-m-brl7nvtx.yaml
kubectl apply -f 4v792c75qggms7946ccc6fsknlzwhc5j4h8tqr7jmnjf9jtnfkccfb_c-m-brl7nvtx.yaml
kubectl get pod -A
等待Ready
可能遇到的错误
若一直的Pending状态,需要查看日志分析原因。
# 查看日志,cattle-cluster-agent-5cb4499dbf-wrdh6替换成自己的
kubectl logs -f cattle-cluster-agent-5cb4499dbf-wrdh6 -n cattle-system
报错① no secret exists for service account cattle-system/cattle
looking up cattle-system/cattle ca/token: no secret exists for service account cattle-system/cattle
# 查看日志,cattle-cluster-agent-5cb4499dbf-wrdh6替换成自己的
kubectl logs -f cattle-cluster-agent-5cb4499dbf-wrdh6 -n cattle-system
# 日志显示:looking up cattle-system/cattle ca/token: no secret exists for service account cattle-system/cattle
# 检查service account的配置
kubectl -n cattle-system get serviceaccount cattle
kubectl -n cattle-system get secret
# 为了解决这个问题,可以尝试手动将secret与service account关联。以下是一个示例命令,用于将现有的secret与cattle-system/cattle的service account关联起来。(cattle-credentials-715d07d替换为自己的)
kubectl -n cattle-system patch serviceaccount cattle -p '{"secrets": [{"name": "cattle-credentials-715d07d"}]}'
# 执行上述命令后,再次检查service account的配置,确保secret已经成功关联到了service account中
kubectl -n cattle-system get serviceaccount cattle
kubectl -n cattle-system get secret
报错② Back-off restarting failed container
pod报错“Back-off restarting failed container“解决办法_pod backoff-CSDN博客
vim 4v792c75qggms7946ccc6fsknlzwhc5j4h8tqr7jmnjf9jtnfkccfb_c-m-brl7nvtx.yaml
kubectl apply -f 4v792c75qggms7946ccc6fsknlzwhc5j4h8tqr7jmnjf9jtnfkccfb_c-m-brl7nvtx.yaml