配置k8s的dashboard

2023-05-16

在https://github.com/kubernetes/dashboard/releases查看兼容的版本(使用的k8s是v1.15.1,dashboard版本是v2.0.0-beta4)

如果安装了一次使用kubectl delete ns kubernetes-dashboard进行删除(删除不了kubectl delete secret kubernetes-dashboard-certs的问题也可解决)

参照https://www.jianshu.com/p/f7ebd54ed0d1进行安装,注意复制最后的清单代码后,粘贴的文件recommended.yaml开头需要有注解#(操作时少了注释符号)

# Copyright 2017 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: v1
kind: Namespace
metadata:
  name: kubernetes-dashboard

---

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard

---

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      nodePort: 30001
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

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

---

apiVersion: v1
kind: Secret
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-csrf
  namespace: kubernetes-dashboard
type: Opaque
data:
  csrf: ""

---

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

---

kind: ConfigMap
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-settings
  namespace: kubernetes-dashboard

---

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
rules:
  # Allow Dashboard to get, update and delete Dashboard exclusive secrets.
  - apiGroups: [""]
    resources: ["secrets"]
    resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
    verbs: ["get", "update", "delete"]
    # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
  - apiGroups: [""]
    resources: ["configmaps"]
    resourceNames: ["kubernetes-dashboard-settings"]
    verbs: ["get", "update"]
    # Allow Dashboard to get metrics.
  - apiGroups: [""]
    resources: ["services"]
    resourceNames: ["heapster", "dashboard-metrics-scraper"]
    verbs: ["proxy"]
  - apiGroups: [""]
    resources: ["services/proxy"]
    resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]
    verbs: ["get"]

---

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
rules:
  # Allow Metrics Scraper to get metrics from the Metrics server
  - apiGroups: ["metrics.k8s.io"]
    resources: ["pods", "nodes"]
    verbs: ["get", "list", "watch"]

---

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: kubernetes-dashboard
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kubernetes-dashboard

---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kubernetes-dashboard
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kubernetes-dashboard

---

kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: kubernetes-dashboard
  template:
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
    spec:
      nodeSelector:
        type: master
      containers:
        - name: kubernetes-dashboard
          #image: registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.0.0-beta4
          image: kubernetesui/dashboard:v2.0.0-beta4
          #imagePullPolicy: Always
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 8443
              protocol: TCP
          args:
            - --auto-generate-certificates
            - --namespace=kubernetes-dashboard
            # Uncomment the following line to manually specify Kubernetes API server Host
            # If not specified, Dashboard will attempt to auto discover the API server and connect
            # to it. Uncomment only if the default does not work.
            # - --apiserver-host=http://my-address:port
          volumeMounts:
            - name: kubernetes-dashboard-certs
              mountPath: /certs
              # Create on-disk volume to store exec logs
            - mountPath: /tmp
              name: tmp-volume
          livenessProbe:
            httpGet:
              scheme: HTTPS
              path: /
              port: 8443
            initialDelaySeconds: 30
            timeoutSeconds: 30
      volumes:
        - name: kubernetes-dashboard-certs
          secret:
            secretName: kubernetes-dashboard-certs
        - name: tmp-volume
          emptyDir: {}
      serviceAccountName: kubernetes-dashboard
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule

---

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 8000
      targetPort: 8000
  selector:
    k8s-app: dashboard-metrics-scraper

---

kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: dashboard-metrics-scraper
  template:
    metadata:
      labels:
        k8s-app: dashboard-metrics-scraper
    spec:
      containers:
        - name: dashboard-metrics-scraper
          image: kubernetesui/metrics-scraper:v1.0.1
          ports:
            - containerPort: 8000
              protocol: TCP
          livenessProbe:
            httpGet:
              scheme: HTTP
              path: /
              port: 8000
            initialDelaySeconds: 30
            timeoutSeconds: 30
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
      serviceAccountName: kubernetes-dashboard
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      volumes:
        - name: tmp-volume
          emptyDir: {}

登录:https://k8s-master:30001/

使用token登录,获取默认用户登录的token:kubectl describe secrets  $(kubectl  get secrets -n kubernetes-dashboard | awk  '/kubernetes-dashboard-token/{print $1}' ) -n kubernetes-dashboard |sed -n '/token:.*/p'

获取管理员dashboard-admin登录的token: kubectl describe secrets  $(kubectl  get secrets -n kubernetes-dashboard | awk  '/dashboard-admin-token/{print $1}' ) -n kubernetes-dashboard |sed -n '/token:.*/p'

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

配置k8s的dashboard 的相关文章

  • 局域网使用kubeadm安装高可用k8s集群

    主机列表 ip 主机名 节点 cpu 内存 192 168 23 100 k8smaster01 master 2核 2G 192 168 23 101 k8smaster02 node 2核 2G 192 168 23 102 k8sma
  • k8s系统获取真实客户端ip

    k8s部署 系统获取真实客户端ip 我们生产中使用的是kong网关环境的架构也不同 第一种kong网管后走nginx 第二种kong网管后不走nginx kong网管后走ingress nginx 修改kong的配置 配置要信任的原始IP地
  • docker的联合文件系统(UnionFS)

    docker最大的贡献就是定义了容器镜像的分层的存储格式 docker镜像技术的基础是联合文件系统 UnionFS 其文件系统是分层的 这样既可以充分利用共享层 又可以减少存储空间占用 联合挂载系统的工作原理 读 如果文件在upperdir
  • IDEA远程调试

    1 概述 原理 本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信 传递调试指令和调试信息 被调试程序的远程虚拟机 作为 Debug 服务端 监听 Debug 调试指令 jdwp是Java Debug Wire
  • k8s基本命令

    k8s命令 https kubernetes io zh docs tutorials kubernetes basics 官网地址 基本命令 查看节点服务器 kubectl get nodes 查看命名空间 kubectl get ns
  • k8s--基础--23.1--认证-授权-准入控制--介绍

    k8s 基础 23 1 认证 授权 准入控制 介绍 1 介绍 k8s对我们整个系统的认证 授权 访问控制做了精密的设置 对于k8s集群来说 apiserver是整个就集群访问控制的唯一入口 我们在k8s集群之上部署应用程序的时候 可以通过宿
  • namespace命令空间

    目录 1 解决什么问题 2 基本介绍 2 1 定义 2 2 应用场景 3 使用案例 4 资源配额 5 标签 5 1 定义 5 2 pod资源打标签 5 3 查看标签 1 解决什么问题 命令空间类似于C 中的命名空间 当用户数量较多的集群 才
  • 十二. Kubernetes Pod 与 探针

    目录 一 Pod Pod 中的多容器协同 Pod 的组成与paush 重要 Pod 的生命周期 Pod状态与重启策略 静态Pod 二 探针 1 livenessProbe存活探针 2 readinessProbe就绪探针 3 startup
  • Kubernets原理分解

    主节点 master 快速介绍 master也要装kubelet和kubeproxy 前端访问 UI CLI kube apiserver scheduler controller manager etcd kubelet kubeprox
  • kubeadm 安装k8s

    关于k8s集群化部署 以下均是个人一步一步的完成部署 并且会罗列出在部署过程中遇到的各种问题及其解决方式 一 环境准备 环境准备阶段试用与master节点部署与work节点部署 即master和work节点全部都需要执行这些步骤 1 关闭防
  • 基于minikube的k8s单机环境部署ThingsBoard

    1 minikube安装k8s单机版 https blog csdn net qq 39879126 article details 121587678 2 安装ThingsBoard 下载 https github com thingsb
  • R flexdashboard 删除标题栏

    我正在使用一个项目rMarkdown和flexdashboard包裹来自rStudio 一切都进展顺利 但我想删除您在图像顶部看到的蓝色标题栏 我们将此 html 页面放入一个窗口中 使其成为第二个标题栏 看起来很糟糕 里面有一个函数吗fl
  • 如何使用 Golem Shiny 应用程序将 4 个盒子排成一排?

    我正在尝试将每行 4 个盒子放入我闪亮的应用程序中 BioTuring 和 Scope 我希望与 FLAT 和 GTEx 对齐在同一行 现在看起来是这样的 需要注意的是 这个应用程序是用 golem 结构完成的 因此 请在帮助时牢记并遵循我
  • 闪亮 - 如何禁用仪表板标题

    我是闪亮的新手 当我制作项目时 我需要在服务器端隐藏仪表板标题 在shinydashboard网站上 我找到了代码dashboardHeader disable TRUE 我尝试过这个 但没有用 不过 我尝试使用shinyjs来解决这个问题
  • 如何为 Dash/Plotly 中的下拉菜单命名

    我对破折号还很陌生 我试图弄清楚如何将名称放置在下拉菜单和滑块上方 并在它们之间提供一些间隙 我在侧面而不是在下拉列表的顶部得到这些名称 数据集 模型类型 这是我一直在使用的代码 html Div className row childre
  • Jupyter 仪表板视图中的单元相互堆叠

    我是 Jupyter 笔记本的新手 当我移动到仪表板网格布局时 所有单元格都相互堆叠 没有任何移动它们的选项 此外 如果不重新进入笔记本 我就无法返回常规笔记本视图 我尝试使用这些设置但没有成功 然后我将所有代码切换为两个简单的标题 但它仍
  • 如何获取时间序列数据的缩放级别作为 Dash 中的回调输入

    给定 Dash Plotly 仪表板中包含时间序列数据的折线图 当我放大并且 x 轴 时间戳 的分辨率发生变化时 如何捕获它作为另一个回调的输入 我想要实现的是 图 B 根据图 A 的缩放显示数据 当图 A 放大时 图 B 会自动跟随 请注
  • Google 可视化仪表板表中的总计

    我有一个简单的 Google 可视化仪表板示例 其中包含一个类别选择器控件和一张表格 我的代码如下
  • 如何在 R Shiny 中设置列​​的小数宽度?

    我想设置一个小数宽度column 我的 R Shiny 仪表板中的元素 例如 我需要 5 列 因此每列的宽度需要为 2 4 有办法做到吗 Shiny 的列宽基于Bootstrap 12宽网格系统 https shiny rstudio co
  • Google Chart 仪表板多个数据

    我创建了一个谷歌图表仪表板 每个圆环图都有不同的数据 但只有 data 2 返回 而不是第一个图表的 data 1 div 第二个图表的 data 2 div 源文件 https developers google com chart in

随机推荐

  • win11安装ubuntu子系统与桌面 填坑记录

    win11安装ubuntu子系统 win11可以直接从应用市场安装ubuntu子系统 详细安装步骤见参考资料 这里列出一些博主遇到的问题 填坑之路 从应用市场获取ubuntu系统时会报0x80240438或者0x80072efd等错误 网络
  • 机械革命电脑安装Ubuntu18.04+win10正版双系统

    一 电脑设置 系统默认安装了Win10 由于win10系统UEFI的限制 xff0c 其他系统无法加载 因此要装双系统 xff0c 必须先把UEFI模式改成Legacy模式 xff0c 并将Security Boot 改为Disabled
  • python+opencv3生成一个自定义纯色图

    一 图像在计算机中存储为矩阵 矩阵上一个点表示一个像素 若矩阵由一系列0 xff5e 255的整数值组成 xff0c 则表现为灰度图 便于理解 xff0c 以下贴出代码 import cv2 import numpy as np img 6
  • opencv+CUDA9.1+vs2015环境搭建,编译opencv库,调用GPU加速运算

    1 准备工作 xff08 需要用的软件安装 xff09 1 1安装VS2015 CUDA是以VS为基础的 xff0c 因此要先安装VS 安装CUDA的时候会自动检测VS的版本 安装步骤较简单 xff0c 下载在线安装程序之后双击即可 xff
  • px4 mavlink消息自定义及其发送

    在px4源码中自定义消息 xff0c 并发送主要有以下三个大步骤 xff1a 一 自定义mavlink消息 1 在myMessage XML文件中自定义消息 xff08 注意消息ID不要与原有的重复 xff09 具体消息ID可参考这里 2
  • px4自定义uORB消息,并实现收发

    如题 xff0c 实现以上需求 主要有三个步骤 xff1a 一 添加一个新的topic 话题 以uORB test msg为例 1 在根目录中msg文件下添加uORB test msg 并在该文件中加入所需的数据 xff08 在新版本中必须
  • 两台WIN10之间通过局域网共享文件的一些坑

    两台WIN10之间共享文件有两个步骤 准备工作 确保两台电脑在同一个局域网内 xff0c 可以用网线相连 xff0c 也可以链接到同一个路由器 步骤一 xff1a 在A电脑设置共享文件 xff08 夹 xff09 xff08 1 xff09
  • 使用Cifar10训练DenseNet121

    DenseNet默认就是DenseNet BC 相对于resnet xff0c densenet权重参数更少 xff0c 鲁棒性更强 xff10 下载数据集 xff1a Cifar 10在同级文件data下 预训练权重 xff1a 39 d
  • 四旋翼PID调试步骤

    0 将飞机固定在架子上 xff0c 只保留横滚一个自由度 1 将姿态外环参数置为0 xff0c 从姿态内环开始调 由于姿态外环参数为0 xff0c 遥控器的作用量和角度的误差无效 xff0c 飞机无法维持平衡 2 先调姿态内环P xff0c
  • Ubuntu 18.04 解决ssh连接远程服务器的问题

    具体错误为 xff1a connection closed by xx xx xx xx port 22 首先确认远程主机的IP地址是正确的 xff0c 然后进行以下操作 可能原因 1 被防火墙挡了 2 端口没开放 3 ssh服务开了没 网
  • leetcode字符串的全排列题解

    解法描述 xff1a 例如 xff0c 如果集合是 a b c 那么这个集合中元素的所有排列是 a b c a c b b a c b c a c a b c b a xff0c 显然 xff0c 给定n个元素共有n 种不同的排列 xff0
  • 线性二次调节器(LQR)

    线性二次调节器 xff08 LQR xff09 线性二次调节器 xff08 LQR xff09 LQR原理LQR中的LLQR中的QLQR中的R 线性二次调节器 xff08 LQR xff09 线性二次调节器 xff08 Linear Qua
  • 二级倒立摆建模(一)

    目录 一 倒立摆系统简介 二 二级倒立摆模型构建 三 二级倒立摆的线性化模型 四 二级倒立摆的状态空间模型 一 倒立摆系统简介 倒立摆控制系统作为实验装置在控制理论领域的教学与科研工作中担任着不可或缺的角色 在对其稳定控制研究过程中 xff
  • 无人机目标检测

    导师给了个练手项目 xff0c 记录下第一个项目过程 xff1a 项目要求 xff1a 检测无人机降落时是否偏移 xff0c 识别降落点 想法是用opencv xff0c 使用传统的轮廓检测 首先把视频流转换成图片 xff1a 只提取最后两
  • 扩展卡尔曼滤波

    扩展卡尔曼滤波 xff08 Extended Kalman Filter xff0c EKF xff09 是标准卡尔曼滤波在非线性情形下的一种扩展形式 xff0c EKF算法是将非线性函数进行泰勒展开 xff0c 省略高阶项 xff0c 保
  • 相机标定(1)内\外参矩阵和畸变矩阵

    相机标定可以说是计算机视觉 机器视觉的基础 分为以下内容 xff1a 相机标定的目的和意义相机成像过程的简化与建模针孔相机模型的数学描述标定针孔相机模型的参数 相机标定的目的和意义 我们所处的世界是三维的 xff0c 而照片是二维的 xff
  • [Python|最优状态估计与滤波学习笔记] 最小均方滤波,卡尔曼滤波,神经网络滤波

    文章目录 前言 最优状态估计与滤波1 最小均方滤波 xff08 Least Mean Square LMS xff09 基本原理LMS设计步骤仿真代码 2 线性卡尔曼滤波 xff08 Linear Kalman Filter KF xff0
  • jetson机器上对lxde桌面设置中文输入法详细过程(图文展示)

    目录 1 需求2 解决2 1 中文输入法安装包2 2 系统设置 1 需求 手上的jetson nano机器使用的是lxde桌面 xff08 通常从台湾组装的jetson机器会有带有这种图标的界面 xff0c 就是lxde界面 xff0c 和
  • Django密码存储策略分析

    一 源码分析 Django 发布的 1 4 版本中包含了一些安全方面的重要提升 其中一个是使用 PBKDF2 密码加密算法代替了 SHA1 另外一个特性是你可以添加自己的密码加密方法 Django 会使用你提供的第一个密码加密方法 xff0
  • 配置k8s的dashboard

    在https github com kubernetes dashboard releases查看兼容的版本 xff08 使用的k8s是v1 15 1 xff0c dashboard版本是v2 0 0 beta4 xff09 如果安装了一次