Kubernetes: 本地部署dashboard

本篇文章主要是介绍如何在本地部署kubernetes dashboard, 部署环境是mac m2

下载dashboard.yaml

官网release地址: kubernetes/dashboard/releases

本篇文章下载的是kubernetes-dashboard-v2.7.0的版本,通过wget命令下载到本地:

bash 复制代码
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

部署dashboard

修改recommended.yaml暴露nodeport

首先是要修改recommended.yaml中的service配置,将service端口通过nodeport的方式提供给kubernetes集群外部访问。

yaml 复制代码
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort #新增
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30443 #新增
  selector:
    k8s-app: kubernetes-dashboard

在集群中部署kubernetes dashboard

提交recommended.yaml文件进行kubernetes dashboard的安装。
如果不能访问容器镜像不能下载的话,需要梯子或者将docker的镜像源仓库调整为国内的

执行命令:

bash 复制代码
kubectl apply -f recommended.yaml

创建用户SA和Token

新增dashboard-admin.yaml文件,在其中添加dashboard-admin的ServiceAccount配置和ClusterRoleBinding配置。

yaml 复制代码
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: dashboard-admin
  namespace: kubernetes-dashboard
  
---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin-bind-cluster-role
  labels:
    k8s-app: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: dashboard-admin
  namespace: kubernetes-dashboard

执行kubectl apply -f 命令将dashboard-admin.yaml提交到集群

bash 复制代码
kubectl apply -f dashboard-admin.yaml

创建dashboard-admin的token

bash 复制代码
kubectl create token dashboard-admin -n kubernetes-dashboard 

执行结果如下图:

将token复制出来用来访问kubernetes dashboard:

#参考
k8s Dashboard 2.7 使用EIP和多权限角色token的解决方案

相关推荐
sim20201 天前
K8s常用命令
kubernetes
忍冬行者1 天前
kubeadm部署的kubernetes集群的etcd由默认静态pod改为二级制的etcd集群
容器·kubernetes·etcd
忍冬行者1 天前
kubernetes安装traefik ingress,替换原来的nginx-ingress
云原生·容器·kubernetes
爬也要爬着前进1 天前
zookeeper迁移k8s
zookeeper·kubernetes·debian
篙芷1 天前
k8s Service 暴露方式详解:ClusterIP、NodePort、LoadBalancer 与 Headless Service
云原生·容器·kubernetes
篙芷1 天前
k8s节点绑定:nodeName与nodeSelector实战
linux·docker·kubernetes
aashuii1 天前
k8s POD上RDMA网卡VF不生效问题
云原生·容器·kubernetes
weixin_46681 天前
K8S-Ingress
云原生·容器·kubernetes
weixin_46681 天前
K8S-特殊容器
云原生·容器·kubernetes
可观测性用观测云2 天前
KubeCost 可观测最佳实践
kubernetes