一、Dashboard UI概述

仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。

二、部署 Dashboard UI

1、在k8s工作目录中创建dashborad工作目录(在 master1 节点上操作)

1
2
mkdir /opt/k8s/dashboard
cd /opt/k8s/dashboard

2、上传Dashboard.zip压缩包,并解压

1
2
3
4
5
6
7
8
9
10
11
12
13
#/opt/k8s/dashboard目录里不要放dashboard.tar文件,文件太大会导致创建secret过慢
核心文件官方下载资源地址:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard,这边包我已经预先下载好了,直接移进/opt目录中
 
1.cd /opt
2.把Dashboard.zip的包移进来
3.解压:unzip Dashboard.zip
 
==========================================================
1、dashboard-rbac.yaml:用于访问控制设置,配置各种角色的访问控制权限及角色绑定(绑定角色和服务账户),内容中包含对应各种角色所配置的规则(rules)
2、dashboard-secret.yaml:提供令牌,访问API服务器所用(个人理解为一种安全认证机制)
3、dashboard-configmap.yaml:配置模板文件,负责设置Dashboard的文件,ConfigMap提供了将配置数据注入容器的方式,保证容器中的应用程序配置从 Image 内容中解耦
4、dashboard-controller.yaml:负责控制器及服务账户的创建,来管理pod副本
5、dashboard-service.yaml:负责将容器中的服务提供出去,供外部访问

3、把6个yaml文件和1个脚本移进dashborad工作目录

1
2
cd /opt
mv *.yaml *.sh /opt/k8s/dashboard

4、通过kubectl create命令创建资源

(1)dashboard-rbac.yaml

1
2
3
4
5
6
7
8
9
cd /opt/k8s/dashboard
//规定kubernetes-dashboard-minimal该角色的权限:例如其中具备获取更新删除等不同的权限
命令:kubectl create -f dashboard-rbac.yaml        
 
//有几个kind就会有几个结果被创建,格式为kind+apiServer/name
 
 
//查看类型为 Role,RoleBinding 的资源对象 kubernetes-dashboard-minimal 是否生成
命令:kubectl get role,rolebinding -n kube-system    #-n kube-system 表示查看指定命名空间中的pod,缺省值为default

(2)dashboard-secret.yaml

1
2
3
4
5
//证书和密钥创建
命令:kubectl create -f dashboard-secret.yaml
 
//查看类型为Secret的资源对象 kubernetes-dashboard-certs,kubernetes-dashboard-key-holder 是否生成
命令:kubectl get secret -n kube-system

(3)dashboard-configmap.yaml

1
2
3
4
5
//配置文件,对于集群dashboard设置的创建
命令:kubectl create -f dashboard-configmap.yaml
 
//查看类型为 ConfigMap 的资源对象 kubernetes-dashboard-settings 是否生成
kubectl get configmap -n kube-system

(4)dashboard-controller.yaml

1
2
3
4
5
//创建容器需要的控制器以及服务账户
命令:kubectl create -f dashboard-controller.yaml
 
//查看类型为 ServiceAccount,Deployment 的资源对象 kubernetes-dashboard-settings 是否生成
命令:kubectl get serviceaccount,deployment -n kube-system

(5)dashboard-service.yaml

1
2
3
4
5
//将服务提供出去
命令:kubectl create -f dashboard-service.yaml
 
//查看创建在指定的 kube-system 命名空间下的 pod 和 service 状态信息
命令:kubectl get pods,svc -n kube-system -o wide

5、查看创建在指定的 kube-system 命名空间下的 pod 和 service 状态信息

1
kubectl get pods,svc -n kube-system -o wide

6、浏览器访问

1
2
3
dashboard分配给了node01服务器,访问的入口是30001端口,打开浏览器访问 https://nodeIP:30001 来进行测试
火狐浏览器可直接访问:https://192.168.142.5:30001
谷歌浏览器则因为缺少加密通信的认证证书,导致无法直接访问。可通过 菜单->更多工具->开发者工具->Security 查看访问失败的原因。

7、解决谷歌浏览器加密通信问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//使用的脚本dashboard-cert.sh来快速生成证书文件
cd /opt/k8s/dashboard/
vim dashboard-controller.yaml
==========================================================
......
        args:
          # PLATFORM-SPECIFIC ARGS HERE
          - --auto-generate-certificates
#在文件的第47行下面添加以下两行,指定加密(tls)的私钥和证书文件
          - --tls-key-file=dashboard-key.pem
          - --tls-cert-file=dashboard.pem
==========================================================
chmod +x dashboard-cert.sh
./dashboard-cert.sh /opt/k8s/k8s-cert/

8、在dashboard工作目录下将生成两个证书

1
2
cd /opt/k8s/dashboard/
ls *.pem

9、重新进行部署

1
2
3
4
5
/重新进行部署(注意:当apply不生效时,先使用delete清除资源,再apply创建资源)
命令:kubectl apply -f dashboard-controller.yaml
 
//由于可能会更换所分配的节点,所以要再次查看一下分配的节点服务器地址和端口号
kubectl get pods,svc -n kube-system -o wide

10、使用k8s-admin.yaml文件进行创建令牌

1
2
3
4
再次进行访问测试,选择使用令牌方式登录,使用k8s-admin.yaml 文件进行创建令牌
 
cd /opt/k8s/dashboard/
命令:kubectl create -f k8s-admin.yaml

11、获取token简要信息,查看令牌序列号,取 token: 后面的内容

1
2
kubectl get secrets -n kube-system
kubectl describe secrets dashboard-admin-token-x5glc -n kube-system

12、将令牌序列号复制填入到浏览器页面中,点击登录

1
(1)由于可能会更换所分配的节点,所以要再次查看一下分配的节点服务器地址和端口号:kubectl get pods,svc -n kube-system -o wide,发现node的ip变化为80.13,所以访问https://192.168.142.4:30001/

1
(2)将令牌序列号复制到浏览器中,就能登入dashboard

 

1
(3)在 Dashboard UI 界面中命令空间选default,点击侧边栏中的“容器组”,点击容器名称,进入一个页面,点击右上方的“运行命令”或”日志“控件会弹出另一个额外页面,可在“运行命令”输入 curl <podip> 命令访问容器,再通过dashboard页面查看日志更新结果

1
2
(4)在dashboard界面创建pod
在k8s里查看pod信息

一、Dashboard UI概述

仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。

二、部署 Dashboard UI

1、在k8s工作目录中创建dashborad工作目录(在 master1 节点上操作)

1
2
mkdir /opt/k8s/dashboard
cd /opt/k8s/dashboard

2、上传Dashboard.zip压缩包,并解压

1
2
3
4
5
6
7
8
9
10
11
12
13
#/opt/k8s/dashboard目录里不要放dashboard.tar文件,文件太大会导致创建secret过慢
核心文件官方下载资源地址:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard,这边包我已经预先下载好了,直接移进/opt目录中
 
1.cd /opt
2.把Dashboard.zip的包移进来
3.解压:unzip Dashboard.zip
 
==========================================================
1、dashboard-rbac.yaml:用于访问控制设置,配置各种角色的访问控制权限及角色绑定(绑定角色和服务账户),内容中包含对应各种角色所配置的规则(rules)
2、dashboard-secret.yaml:提供令牌,访问API服务器所用(个人理解为一种安全认证机制)
3、dashboard-configmap.yaml:配置模板文件,负责设置Dashboard的文件,ConfigMap提供了将配置数据注入容器的方式,保证容器中的应用程序配置从 Image 内容中解耦
4、dashboard-controller.yaml:负责控制器及服务账户的创建,来管理pod副本
5、dashboard-service.yaml:负责将容器中的服务提供出去,供外部访问

3、把6个yaml文件和1个脚本移进dashborad工作目录

1
2
cd /opt
mv *.yaml *.sh /opt/k8s/dashboard

4、通过kubectl create命令创建资源

(1)dashboard-rbac.yaml

1
2
3
4
5
6
7
8
9
cd /opt/k8s/dashboard
//规定kubernetes-dashboard-minimal该角色的权限:例如其中具备获取更新删除等不同的权限
命令:kubectl create -f dashboard-rbac.yaml        
 
//有几个kind就会有几个结果被创建,格式为kind+apiServer/name
 
 
//查看类型为 Role,RoleBinding 的资源对象 kubernetes-dashboard-minimal 是否生成
命令:kubectl get role,rolebinding -n kube-system    #-n kube-system 表示查看指定命名空间中的pod,缺省值为default

(2)dashboard-secret.yaml

1
2
3
4
5
//证书和密钥创建
命令:kubectl create -f dashboard-secret.yaml
 
//查看类型为Secret的资源对象 kubernetes-dashboard-certs,kubernetes-dashboard-key-holder 是否生成
命令:kubectl get secret -n kube-system

(3)dashboard-configmap.yaml

1
2
3
4
5
//配置文件,对于集群dashboard设置的创建
命令:kubectl create -f dashboard-configmap.yaml
 
//查看类型为 ConfigMap 的资源对象 kubernetes-dashboard-settings 是否生成
kubectl get configmap -n kube-system

(4)dashboard-controller.yaml

1
2
3
4
5
//创建容器需要的控制器以及服务账户
命令:kubectl create -f dashboard-controller.yaml
 
//查看类型为 ServiceAccount,Deployment 的资源对象 kubernetes-dashboard-settings 是否生成
命令:kubectl get serviceaccount,deployment -n kube-system

(5)dashboard-service.yaml

1
2
3
4
5
//将服务提供出去
命令:kubectl create -f dashboard-service.yaml
 
//查看创建在指定的 kube-system 命名空间下的 pod 和 service 状态信息
命令:kubectl get pods,svc -n kube-system -o wide

5、查看创建在指定的 kube-system 命名空间下的 pod 和 service 状态信息

1
kubectl get pods,svc -n kube-system -o wide

6、浏览器访问

1
2
3
dashboard分配给了node01服务器,访问的入口是30001端口,打开浏览器访问 https://nodeIP:30001 来进行测试
火狐浏览器可直接访问:https://192.168.142.5:30001
谷歌浏览器则因为缺少加密通信的认证证书,导致无法直接访问。可通过 菜单->更多工具->开发者工具->Security 查看访问失败的原因。

7、解决谷歌浏览器加密通信问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//使用的脚本dashboard-cert.sh来快速生成证书文件
cd /opt/k8s/dashboard/
vim dashboard-controller.yaml
==========================================================
......
        args:
          # PLATFORM-SPECIFIC ARGS HERE
          - --auto-generate-certificates
#在文件的第47行下面添加以下两行,指定加密(tls)的私钥和证书文件
          - --tls-key-file=dashboard-key.pem
          - --tls-cert-file=dashboard.pem
==========================================================
chmod +x dashboard-cert.sh
./dashboard-cert.sh /opt/k8s/k8s-cert/

8、在dashboard工作目录下将生成两个证书

1
2
cd /opt/k8s/dashboard/
ls *.pem

9、重新进行部署

1
2
3
4
5
/重新进行部署(注意:当apply不生效时,先使用delete清除资源,再apply创建资源)
命令:kubectl apply -f dashboard-controller.yaml
 
//由于可能会更换所分配的节点,所以要再次查看一下分配的节点服务器地址和端口号
kubectl get pods,svc -n kube-system -o wide

10、使用k8s-admin.yaml文件进行创建令牌

1
2
3
4
再次进行访问测试,选择使用令牌方式登录,使用k8s-admin.yaml 文件进行创建令牌
 
cd /opt/k8s/dashboard/
命令:kubectl create -f k8s-admin.yaml

11、获取token简要信息,查看令牌序列号,取 token: 后面的内容

1
2
kubectl get secrets -n kube-system
kubectl describe secrets dashboard-admin-token-x5glc -n kube-system

12、将令牌序列号复制填入到浏览器页面中,点击登录

1
(1)由于可能会更换所分配的节点,所以要再次查看一下分配的节点服务器地址和端口号:kubectl get pods,svc -n kube-system -o wide,发现node的ip变化为80.13,所以访问https://192.168.142.4:30001/

1
(2)将令牌序列号复制到浏览器中,就能登入dashboard

 

1
(3)在 Dashboard UI 界面中命令空间选default,点击侧边栏中的“容器组”,点击容器名称,进入一个页面,点击右上方的“运行命令”或”日志“控件会弹出另一个额外页面,可在“运行命令”输入 curl <podip> 命令访问容器,再通过dashboard页面查看日志更新结果

1
2
(4)在dashboard界面创建pod
在k8s里查看pod信息

K8S—dashboard ui部署的更多相关文章

  1. K8s+dashboard安装部署【h】

    系统安装使用虚拟机安装两个centos系统,在/etc/hosts里增加两行192.168.140.128 kuber-master192.168.140.129 kuber-node1 关闭防火墙s ...

  2. K8s 部署 Dashboard UI 仪表板 ——让一切可视化

    K8s 部署 Dashboard UI  仪表板   --让一切可视化 Dashboard 介绍 仪表板是基于Web的Kubernetes用户界面.您可以使用仪表板将容器化应用程序部署到Kuberne ...

  3. 【k8s】在AWS EKS部署并通过ALB访问k8s Dashboard保姆级教程

    本教程适用范围 在AWS上使用EKS服务部署k8s Dashboard,并通过ALB访问 EKS集群计算节点采用托管EC2,并使用启动模板. 使用AWS海外账号,us-west-2区域 使用账号默认v ...

  4. k8s之Dashboard插件部署及使用

    k8s之Dashboard插件部署及使用 目录 k8s之Dashboard插件部署及使用 1. Dashboard介绍 2. 服务器环境 3. 在K8S工具目录中创建dashboard工作目录 4. ...

  5. k8s dashboard 部署发布

    https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml # Copyright 2015 ...

  6. Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard

    K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态.K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它. 首先我们执行命令: wg ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  8. 用kubeadm构建k8s集群部署

    一.环境 三台centos机器 二.软件及容器准备 1.安装docker环境 本例安装 docker-ce版本,repo源为docker-ce.repo文件,拷贝到 /etc/yum.repos.d下 ...

  9. 基于k8s集群部署prometheus监控etcd

    目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控 ...

  10. 二进制方法-部署k8s集群部署1.18版本

    二进制方法-部署k8s集群部署1.18版本 1. 前置知识点 1.1 生产环境可部署kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式 kuberadm Kubea ...

随机推荐

  1. sap IUT240 Contract Accounts Receivable and Payable pdf

    sap IUT240 Contract Accounts Receivable and Payable  pdf sap IUT240 Contract Accounts Receivable and ...

  2. win10 python mysqlclient 安装问题 已解决

    用习惯了Linux   忽然换到win10 超级不习惯  今天下午就一个mysqlclient 安装弄了好长时间  ,最后发现是得改名  真是想爆粗口. 下面直接进入正题: 下载地址  https:/ ...

  3. CSS 属性大全

    css常用标签大全 一.字体属性:(font) 大小 font-size: x-large;(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 font-s ...

  4. surfaceview+mediaplayer

    public class VideosurfaceView extends SurfaceView implements SurfaceHolder.Callback, MediaPlayer.OnP ...

  5. JQuery电梯导航

    // .zjong .dag_id 内容区// .zuoyou .dao_hang a 电梯按钮 $(function() { $(".zjong .dag_id").each(( ...

  6. Mysql数据库基础第二章:(九)分页查询

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  7. Oracle UNDOTBS表空间的查看与扩容

    1.查看UNDO表空间使用情况 select tablespace_name,       round(sum(decode(status, 'ACTIVE', bytes, 'UNEXPIRED', ...

  8. VUE中如何使用MOCK

    安装mockjs npm install mockjs 可以使用数据模板生成模拟数据. Mock.mock( rurl?, rtype?, template ) ) // 或者 Mock.mock( ...

  9. 每日一抄 Go语言死锁、活锁和饥饿概述

    DeadLock package main import ( "fmt" "runtime" "sync" "time" ...

  10. TypeScript 元组

    TypeScript 元组 我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组. 元组中允许存储不同类型的元素,元组可以作为参数传 ...