安装kubernetes dashboard

安装kubernetes dashboard

目标

在 kubernetes desktop for mac 基础上安装dashboard UI

官方方式安装

github地址

#部署
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
#启动
kubectl proxy

浏览器访问:UI地址

报错:

no endpoints available for service “http:kubernetes-dashboard:”

查看pod状态:官方镜像拉取失败

$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                         READY     STATUS             RESTARTS   AGE
kube-system   kubernetes-dashboard-669f9bbd46-6vrpc        0/1       ImagePullBackOff   0          4h

重置当前环境:

kubectl delete deployment kubernetes-dashboard -n kube-system
kubectl delete service kubernetes-dashboard -n kube-system
kubectl delete serviceaccount kubernetes-dashboard -n kube-system
kubectl delete rolebinding.rbac.authorization.k8s.io kubernetes-dashboard-minimal -n kube-system
kubectl delete role.rbac.authorization.k8s.io kubernetes-dashboard-minimal -n kube-system
kubectl delete deployment.apps kubernetes-dashboard -n kube-system
kubectl delete secret kubernetes-dashboard-certs -n kube-system

解决方案:更换镜像

  • 拉取镜像 docker pull siriuszg/kubernetes-dashboard-amd64
  • 下载文件内容
  • 修改image为:siriuszg/kubernetes-dashboard-amd64
  • 重新部署 kubectl apply -f kubernetes-dashboard.yaml
查看运行状态
$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                         READY     STATUS    RESTARTS   AGE
docker        compose-7447646cf5-tpc79                     1/1       Running   1          1d
docker        compose-api-6fbc44c575-qz9jk                 1/1       Running   0          1d
kube-system   etcd-docker-for-desktop                      1/1       Running   0          1d
kube-system   kube-apiserver-docker-for-desktop            1/1       Running   1          1d
kube-system   kube-controller-manager-docker-for-desktop   1/1       Running   0          1d
kube-system   kube-dns-86f4d74b45-glx2k                    3/3       Running   0          1d
kube-system   kube-proxy-t6slz                             1/1       Running   0          1d
kube-system   kube-scheduler-docker-for-desktop            1/1       Running   0          1d
kube-system   kubernetes-dashboard-59767c49f9-9fhpc        1/1       Running   0          3m

开启dashboard代理

$ kubectl proxy
Starting to serve on 127.0.0.1:8001

浏览器访问:UI地址

生成访问令牌

$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

拷贝token填入浏览器并提交登录

Kubernetes Dashboard是一个开源的Web UI,用于管理和监控Kubernetes集。它提供了一个直观的界面,可用于管理Kubernetes对象,查看集群的状态和资源情况,执行容器调试等。 以下是在Kubernetes集群中安装Kubernetes Dashboard的步骤: 1.下载Kubernetes Dashboard YAML文件 在GitHub上下载最新版本的Kubernetes Dashboard YAML文件: ```bash wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml ``` 2.编辑Kubernetes Dashboard YAML文件 使用文本编辑器打开刚刚下载的YAML文件,并找到以下行: ```yaml # - --enable-skip-login ``` 将其注释掉,以便在安装后使用用户名和密码进行身份验证。修改后的行如下所示: ```yaml - --enable-skip-login=false ``` 3.安装Kubernetes Dashboard 运行以下命令以在Kubernetes集群中安装Kubernetes Dashboard: ```bash kubectl apply -f recommended.yaml ``` 等待几分钟,直到所有Pod和服务都已创建并处于运行状态。 4.创建用户和角色绑定 要使用Kubernetes Dashboard,需要创建一个具有最低特权的服务帐户,并将其绑定到具有关联权限的角色中。 以下是一个示例用户和角色绑定YAML文件: ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: dashboard-admin namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: dashboard-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: dashboard-admin namespace: kubernetes-dashboard ``` 将上面的文本保存为dashboard-admin.yaml,并运行以下命令以创建用户和角色绑定: ```bash kubectl apply -f dashboard-admin.yaml ``` 5.访问Kubernetes Dashboard 默认情况下,Kubernetes Dashboard只能通过kubectl proxy访问。要使其可以通过Web浏览器访问,需要使用NodePort或LoadBalancer将其公开。 以下是使用NodePort将Kubernetes Dashboard公开的示例命令: ```bash kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard --type=json -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]' ``` 该命令将为Kubernetes Dashboard创建一个NodePort服务,并将其公开到集群的所有节点上。您可以运行以下命令以查看服务的NodePort端口: ```bash kubectl get svc kubernetes-dashboard -n kubernetes-dashboard ``` 要访问Kubernetes Dashboard,请在Web浏览器中输入以下URL: ``` https://<node-ip>:<node-port> ``` 其中,<node-ip>是运行Kubernetes Dashboard的节点的IP地址,<node-port>是Kubernetes Dashboard服务的NodePort端口。要查找节点的IP地址,请运行以下命令: ```bash kubectl get nodes -o wide ``` 在浏览器中打开上面的URL,您将被重定向到Kubernetes Dashboard登录页面。输入刚才创建的服务帐户的用户名和密码,即可访问Kubernetes Dashboard。 这就是在Kubernetes集群中安装Kubernetes Dashboard的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值