从0开始配置kubernetes dashboard并在本地访问
·
前期准备
下载并安装docker
#安装必要依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
#添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
#添加 Docker 软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新 apt 索引并安装 Docker CE
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#测试 Docker 是否安装成功
sudo docker run hello-world
#把当前用户加入 docker 组
sudo usermod -aG docker $USER
# 加入后退出并重新登录
# 重新登录后测试
docker ps -a
下载minikube并启动
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start --driver=docker
如果看到kubectl not found是正常的,因为kubectl内置在了minikube中,所有kubectl的命令都改为"minikube kubectl – xxxx"
部署Dashboard
如果曾经部署过但失败了建议先清理历史配置
kubectl delete -n kubernetes-dashboard deployment kubernetes-dashboard
使用官方配置文档
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
查看 Service
kubectl get svc -n kubernetes-dashboard

运行
minikube kubectl -- proxy --address=0.0.0.0 --accept-hosts='.*'

在本地端SSH链接服务器
ssh -i key.pem -L 8001:127.0.0.1:8001 [username]@xx.xx.xx.xx
其中key.pem为创建服务器时保存在本地的密钥对,username为服务器端的用户名,@服务器公网ip地址
打开本地浏览器,输入网址
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
第一次进入时可能会遇到页面空白的情况,不用担心,页面在进行配置,过几分钟再试一次刷新就可以了
进入页面后会让你输入token
Token获取方法
在服务器端/ssh连接窗口
创建 admin-user
cat <<EOF | minikube kubectl -- apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
再绑定 cluster-admin:
cat <<EOF | minikube kubectl -- apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
获取 admin-user 的 Token
minikube kubectl -- -n kubernetes-dashboard create token admin-user
你会得到类似:eyJhbGciOiJSUzI1NiIsInR……(一大串)
把这个 token 粘贴到 Dashboard 登录框中即可登录。
更多推荐
所有评论(0)