k8s-dashboard-v2.0.0-beta6部署

什么是 Kubernetes Dashboard

Kubernetes Dashboard:是Kubernetes集群基于Web的通用UI。它允许用户管理集群中运行的应用程序并对其进行故障排除,以及管理集群本身。

k8s Dashboard V2.0.0 Beta6 效果图展示

V2.0.0 相比 V1.x.x 优势

  • 监控信息不需要通过 Heapster 来提供,而是通过 Metrics Server 来提供,Metrics Scraper服务来采集,不需要单独维护 Heapster
  • 支持暗黑主题
  • 监控图显示更细节化
  • 编辑支持 yaml 和 json

v2.0.0-beta6 兼容性

Kubernetes版本 兼容性
1.12 ?
1.13 ?
1.14 ?
1.15 ?
1.16 ✓
  • ✓ 完全支持的版本范围
  • ? 由于 Kubernetes API 版本之间的重大更改,某些功能可能无法在仪表板中正常使用

环境

  • k8s v1.16.3
  • k8s 集群需要安装 Metrics Server,否则没有监控数据

生成证书

下面是生成 k8s dashboard 域名证书方法,任何一种都可以

  • 通过 https://freessl.cn 网站,在线生成免费1年的证书
  • 通过 Let's Encrypt 生成 90天 免费证书
  • 通过 Cert-Manager 服务来生成和管理证书

部署

  • v2.0.0 单独放一个 namespace,下面是创建 kubernetes-dashboard namespace
bash 复制代码
$ kubectl  create namespace kubernetes-dashboard
  • 把生成的免费证书存放在 $HOME/certs 目录下,取名为 tls.crt 和 tls.key
bash 复制代码
$ mkdir $HOME/certs
  • 创建 ssl 证书 secret
bash 复制代码
$ kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs -n kubernetes-dashboard
  • 拉取 k8s dashboard yaml 配置
bash 复制代码
$ wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml
  • 修改 Deployment yaml 配置,具体修改见下面配置
bash 复制代码
$ vim recommended.yaml

# 把创建 kubernetes-dashboard-certs Secret 注释掉,前面已通过命令创建

#apiVersion: v1
#kind: Secret
#metadata:
#  labels:
#    k8s-app: kubernetes-dashboard
#  name: kubernetes-dashboard-certs
#  namespace: kubernetes-dashboard
#type: Opaque

# 添加ssl证书路径,关闭自动更新证书,添加多长时间登出

      containers:
      - args:
        #- --auto-generate-certificates
        - --tls-cert-file=/tls.crt
        - --tls-key-file=/tls.key
        - --token-ttl=3600
  • 部署 k8s dashboard
bash 复制代码
$ kubectl  apply -f recommended.yaml
  • 查看
bash 复制代码
$ kubectl  get pods -n kubernetes-dashboard

NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-6c554969c6-5dk7f   1/1     Running   0          3h25m
kubernetes-dashboard-c4d9c67bf-xfxvl         1/1     Running   0          3h25m

创建登陆用户

  • 创建 admin-user 管理员 yaml 配置
bash 复制代码
$ vim create-admin.yaml
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
  • 创建
bash 复制代码
$ kubectl apply -f create-admin.yaml
  • 查看登陆 token
bash 复制代码
$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

🔥运维干货分享

相关推荐
无人生还别怕10 小时前
如何安装任意版本docker
运维·docker·容器
程序员老赵11 小时前
Docker 部署 Redmine:轻松搭建私有化项目管理平台
docker·容器·开源
小楼昨夜又东风12613 小时前
一文理清K8s PVC挂载完整流程
容器·rpc·kubernetes
阿里云云原生13 小时前
AgentLoop 审计:如何让企业级 Dify 应用的风险看得见、查得清
云原生·agent
Coisinier13 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
小猿姐14 小时前
KubeBlocks Enterprise v2.3 发布!
redis·kubernetes·aiops
阿里云云原生15 小时前
云栖实录丨云监控 2.0 让 Agent 看懂系统,也能看懂 Agent
云原生
东风微鸣17 小时前
如何发现 K8s 集群里的无用资源?
云原生·容器·kubernetes
恒拓高科WorkPlus17 小时前
私有化IM技术选型:商业平台、开源IM和IM PaaS怎么选?
云原生·开源·paas
flytalei17 小时前
从YAML到Nginx服务访问:动手理解 Kubernetes Pod、Deployment 与 Service
运维·nginx·kubernetes