版本介绍

Mac系统版本

img

Docker Desktop 版本

img

K8S 版本

img

安装

Docker安装

brew install -cask docker

开机自启动K8S

img

重启成功后查看K8S集群。

安装Kubernetes Dashboard

命令如下:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml

img

最新版本参考:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

创建SA登录Token

# vim dashboard-adminuser.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
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

# kubectl create -f dashboard-adminuser.yaml

绑定资源并获取登录Token

kubectl create sa dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
ADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')
DASHBOARD_LOGIN_TOKEN=$(kubectl describe secret -n kube-system ${ADMIN_SECRET} | grep -E '^token' | awk '{print $2}')
echo $DASHBOARD_LOGIN_TOKEN
kubectl proxy

img

1、先创建服务账号dashboard-admin
2、再把账号dashboard-admin绑定到集群角色cluster-admin上使其拥有集群的管理权限,cluster-admin 超级管理员,对集群所有权限,和linux下面root一样(在部署dashboard的时候,先创建sa,然后将sa绑定到角色cluster-admin,最后获取到token,这就使用了内置的cluster-admin )。
3、最后再获取该账号的secrets里的token做为登录。观察serviceAccount的创建,并创建一个相应的Secret 来允许API访问。
4、使用kubectl proxy命令就可以使API server监听在本地的8001端口上,作用是建立一条通往API服务器的隧道,可以方便查看API服务器上的资源。

登录dashbaord

登录地址:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/configmap?namespace=default

注:上面URL的#号后面configmap为锚点,https:kubernetes-dashboard: 为普通字符串

输入上面生成的token:
img
登录成功界面如下:
img

微信扫一扫

作者:mospan
微信关注:墨斯潘園
本文出处:http://mospany.github.io/2022/09/13/k8s-study-install-for-mac/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。