Kubernetes(k8s)安装Dashboard(控制面板)

2023-05-16

参考文章:https://www.jianshu.com/p/f7ebd54ed0d1

1.默认情况下不会部署 Dashboard,可以通过以下命令部署:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created

2.查看namespace(命名空间)的service(服务)

# kubectl get namespace
NAME                   STATUS   AGE
default                Active   74d
kube-node-lease        Active   74d
kube-public            Active   74d
kube-system            Active   74d
kubernetes-dashboard   Active   5m14s

3.查看service

# kubectl get  service -n kubernetes-dashboard
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
dashboard-metrics-scraper   ClusterIP   10.96.75.119    <none>        8000/TCP   11m
kubernetes-dashboard        ClusterIP   10.96.145.225   <none>        443/TCP    11m

4.查看deployment

# kubectl get deployment -n kubernetes-dashboard -o wide
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS                  IMAGES                                SELECTOR
dashboard-metrics-scraper   1/1     1            1           12m   dashboard-metrics-scraper   kubernetesui/metrics-scraper:v1.0.1   k8s-app=dashboard-metrics-scraper
kubernetes-dashboard        1/1     1            1           12m   kubernetes-dashboard        kubernetesui/dashboard:v2.0.0-beta4   k8s-app=kubernetes-dashboard

5.查看pod

# kubectl get pod -n kubernetes-dashboard -o wide
NAME                                         READY   STATUS    RESTARTS   AGE   IP             NODE       NOMINATED NODE   READINESS GATES
dashboard-metrics-scraper-566cddb686-swrnt   1/1     Running   0          13m   10.244.1.151   computer   <none>           <none>
kubernetes-dashboard-7b5bf5d559-fgf6t        1/1     Running   0          13m   10.244.1.152   computer   <none>           <none>

6.把ClusterIP类型改为NodePort类型

# kubectl edit service -n kubernetes-dashboard  kubernetes-dashboard

# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":"kubernetes-dashboard"},"spec":{"ports":[{"port":443,"targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"}}}
  creationTimestamp: "2020-03-08T08:26:04Z"
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  resourceVersion: "1565064"
  selfLink: /api/v1/namespaces/kubernetes-dashboard/services/kubernetes-dashboard
  uid: d08e47e2-613c-401a-bd11-3c6c4e18cc73
spec:
  clusterIP: 10.96.145.225
  ports:
  - port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: NodePort    #把ClusterIP改为NodePort
status:
  loadBalancer: {}
# kubectl get service -n kubernetes-dashboard  -o wide
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE   SELECTOR
dashboard-metrics-scraper   ClusterIP   10.96.75.119    <none>        8000/TCP        22m   k8s-app=dashboard-metrics-scraper
kubernetes-dashboard        NodePort    10.96.145.225   <none>        443:32649/TCP   22m   k8s-app=kubernetes-dashboard

7.用浏览器查看,发现需要https请求,Chrom(谷歌浏览器用不了),Firefox(用火狐浏览器就行)

8.为Dashboard默认用户赋予admin(管理)权限

#创建一个admin用户
# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
serviceaccount/dashboard-admin created

#admin用户绑定集群
# kubectl create clusterrolebinding  dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created

# kubectl  get sa,secrets -n kubernetes-dashboard 
NAME                                  SECRETS   AGE
serviceaccount/dashboard-admin        1         20m
serviceaccount/default                1         65m
serviceaccount/kubernetes-dashboard   1         65m

NAME                                      TYPE                                  DATA   AGE
secret/dashboard-admin-token-vbxnp        kubernetes.io/service-account-token   3      20m
secret/default-token-4cpb9                kubernetes.io/service-account-token   3      65m
secret/kubernetes-dashboard-certs         Opaque                                0      65m
secret/kubernetes-dashboard-csrf          Opaque                                1      65m
secret/kubernetes-dashboard-key-holder    Opaque                                2      65m
secret/kubernetes-dashboard-token-nfq6n   kubernetes.io/service-account-token   3      65m
# kubectl describe secrets dashboard-admin-token-vbxnp -n kubernetes-dashboard 
Name:         dashboard-admin-token-vbxnp
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: 7ff0b669-f3b3-4f9b-93f8-47a0334f3c51

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1025 bytes
namespace:  20 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6ImtCLUc2a3RwLTVmN3RmZHQ3ZGFoZzVvMXQ4TmZIV1h4V3NPZ1NBS3E1WFUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tdmJ4bnAiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiN2ZmMGI2NjktZjNiMy00ZjliLTkzZjgtNDdhMDMzNGYzYzUxIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.Hu9N0tiwZQJHID6IW75krjUYtK89Wu6Mb1muT7HWPwvsuFA3T6lC82fvK7fXr8jbPoTvzYZyqZDK6adxj1U2CZ-B4_gEa4tE1fi5AnasOvhd-7_X5i393IHx8Cl5O8dAX-z_0bYDsPSxaAbQ1dQp-dbiIHrosYayO8wwTSC702ghrlsqgrArOzAXNrt6CW-1MYRbUIJWHDA18LegGMFd4m-zQMGfUhNqCT7mJEhZhLTA3hHmFUa7G6nnWbGxjsK4k5G8EbQLwywAuu052b6AlVluWv7svwJLugEQzCnsg5eV1hp-RmyoJApIX392AXLLdolawt-bODjhaUa9GCGCHA

 9.在浏览器输入Token值

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes(k8s)安装Dashboard(控制面板) 的相关文章

随机推荐

  • 一元正态分布

    d import numpy as np import matplotlib pyplot as plt from scipy stats import norm 生成100个正态分布数据 xff0c 均值为1 xff0c 标准差为2 da
  • nohup命令详解

    nohup命令详解 一 背景说明 xff1a 启动服务的时候 xff0c 如果使用如下命令 xff0c 则会在start sh脚本所在的目录下 xff0c 产生一个名为 nohup out 的输出文件 nohup startup sh am
  • nohup命令详解

    nohup命令详解 一 背景说明 xff1a 启动服务的时候 xff0c 如果使用如下命令 xff0c 则会在start sh脚本所在的目录下 xff0c 产生一个名为 nohup out 的输出文件 span class token fu
  • Spring Boot启动后直接没有任何警告报错信息,打印`Process finished with exit code 0`直接退出

    Spring Boot启动后直接没有任何警告报错信息 xff0c 打印Process finished with exit code 0直接退出 日志 xff1a span class token number 2023 span 02 1
  • systemctl 启动/停止/重新加载 nginx

    systemctl 启动 停止 重新加载 nginx 一 新建nginx service脚本 span class token function sudo span span class token function vim span us
  • Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: ERROR: APK pat

    Unable to determine application id com android tools idea run ApkProvisionException ERROR APK path is not specified for
  • Java获取文件的MD5

    Java获取文件的MD5 主要是通过读取文件的字符流 xff0c 然后赋值给MessageDigest对象 xff0c 最后将文件流转换成16进制的字符串 span class token keyword import span span
  • android整合好视通sdk经验总结(二)

    一 无法正常访问好视通服务接口 当按照android整合好视通sdk经验总结 xff08 一 xff09 步骤整合完毕后 xff0c 在这里修改申请的应用id和服务地址 修改完毕后运行发现无法正常初始化sdk xff0c 错误码30 xff
  • 视觉SLAM⑤--相机与图像

    目录 5 0 本章简介 5 1 相机模型 5 1 1针孔相机模型 5 1 2 畸变模型 5 1 3 双目相机模型 5 1 4 RGB D相机模型 5 2 图像 5 3 实践 xff1a 计算机中的图像 5 3 1 OpenCV的基本使用方法
  • 视觉SLAM⑩后端Ⅱ(滑动窗口滤波和优化与位姿图)

    目录 10 0 本章概述 10 1 滑动窗口滤波和优化 10 1 1 实际环境下的BA结构 10 1 2 滑动窗口法 10 2 位姿图 10 2 1 位姿图的意义 10 2 2位姿图的优化 10 3 非线性优化整体总结 xff1a 前端 后
  • 学习C++:C++进阶(五)CMake应用篇---集成第三方库和依赖管理

    目录 第二部分 xff1a 实用 CMake xff08 Practical CMake Getting Your Hands Dirty with CMake xff09 3 0 集成第三方库和依赖管理 xff08 Integrating
  • 2.ORB-SLAM2改进版本--稠密建图版本解析

    目录 1 修改思路 2 基本概念 nbsp 2 1 统计滤波 2 2 体素滤波
  • FreeRTOS 的命名规则

    初学 FreeRTOS 的用户对其变量和函数的命名比较迷惑 xff0c 下面专门做一下介绍 xff1a 变量 uint32 t 定义的变量都加上前缀 ul u 代表 unsigned 无符号 xff0c l 代表 long 长整型 uint
  • 【单目测距和双目测距比较】

    单目测距和双目测距比较 单 双目方案的优势与难点单目测距双目测距 双目测距实现步骤实现过程 单 双目方案的优势与难点 单目测距 优点 xff1a 单目的优势在于成本较低 xff0c 对计算资源的要求不高 xff0c 系统结构相对简单 缺点
  • ROS学习笔记(3):添加第三方依赖库

    最近在工控机上加入CAN卡 xff0c 想利用CAN卡来做为数据收发 现在在工程中加入CAN卡的头文件和自己做的cpp文档 已经申明了 函数 xff0c 但是还是会出现上图所示的错误 xff0c 经过一晚上的战斗算是搞清楚了 感谢 64 头
  • Java面试题及答案2019版(上)

    1 面向对象的特征有哪些方面 xff1f 答 xff1a 面向对象的特征主要有以下几个方面 xff1a 抽象 xff1a 抽象是将一类对象的共同特征总结出来构造类的过程 xff0c 包括数据抽象和行为抽象两方面 抽象只关注对象有哪些属性和行
  • git到远程出现的一些问题以及解决方法

    我们首先回顾一下 git reset命令 xff1a 1 git reset mixed xff1a 此为默认方式 xff0c 等同于不带任何参数的git reset 2 git reset soft 回退到某个版本 xff0c 只回退了c
  • CMakeLists.txt 和 package.xml 重要内容详解

    边学边看 xff0c 学到什么分享什么 CMakeLists txt 构建配置文件package xml 功能包配置文件 上面的意思个人理解就是功能包本身如果要在别处运行 xff0c 需要什么样的条件在xml文件中看 功能包自身 xff0c
  • Docker运行Prometheus(普罗米修斯)

    1 编辑yaml格式 xff0c 进行自我监控 mkdir etc prometheus cd etc prometheus vi etc prometheus prometheus yml global scrape interval 1
  • Kubernetes(k8s)安装Dashboard(控制面板)

    参考文章 xff1a https www jianshu com p f7ebd54ed0d1 1 默认情况下不会部署 Dashboard xff0c 可以通过以下命令部署 xff1a kubectl apply f https raw g