dashboard的安装使用

2023-05-16

目录

一、下载dashboard的yaml文件

二、修改dsashboard的yaml文件镜像

三、修改dashboard的yaml文件内容

四、创建dashboard


通常而言kubernetes中完成的所有操作都是通过命令行工具kubectl完成的

但为了提供更丰富的用户体验,k8s还开发了一个基于web的用户界面Dashboard

dashboard是官方提供的一个K8S的前端组件,使操作更简便

查看目前k8s集群版本

一、下载dashboard的yaml文件

 1、进入github官方下载 

  每个版本的dashboard可支持的K8S集群版本不一样,需要根据自己K8S的版本选择对应的dashboard, 比如我K8S版本是1.24; dashboard-v2.6.1可以支持1.24

  2、下载yaml文件,页面有下载链接

https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml
创建个目录用来存放dashborad相关文件
root@k8s-deploy:~/yaml/20220724# mkdir dashboard-v2.6.1
root@k8s-deploy:~/yaml/20220724# cd dashboard-v2.6.1

下载yaml文件
root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml

将yaml修改名称
root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# mv recommended.yaml dashboard-v2.6.1.yaml

二、修改dsashboard的yaml文件镜像

1、yaml文件中有两个镜像是互联网的,这里我把这两个镜像下载到本地harbor

2、下载镜像

把yaml文件中的两个镜像下载下来
root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# docker pull kubernetesui/dashboard:v2.6.1
root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# docker pull kubernetesui/metrics-scraper:v1.0.8

重新打标签
root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# docker tag kubernetesui/dashboard:v2.6.1 harbor.magedu.net/baseimages/dashboard:v2.6.1
root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# docker tag kubernetesui/metrics-scraper:v1.0.8 harbor.magedu.net/baseimages/metrics-scraper:v1.0.8


上传到harbor服务器
root@k8s-deploy:~/yaml/20220724/dashboard-v2.5.1# docker push harbor.magedu.net/baseimages/dashboard:v2.6.1
root@k8s-deploy:~/yaml/20220724/dashboard-v2.5.1# docker push harbor.magedu.net/baseimages/metrics-scraper:v1.0.8

3、修改yaml文件,把镜像更换为本地harbor镜像

把两个镜像换成harbor镜像

root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# vim dashboard-v2.6.1.yaml
containers:
        - name: kubernetes-dashboard
          image: harbor.magedu.net/baseimages/dashboard:v2.6.1
          imagePullPolicy: Always
          ports:
            - containerPort: 8443
              protocol: TCP
containers:
        - name: dashboard-metrics-scraper
          image: harbor.magedu.net/baseimages/metrics-scraper:v1.0.8
          ports:
            - containerPort: 8000
              protocol: TCP

三、修改dashboard的yaml文件内容

 dashboard默认情况只限于K8S内部访问,因此需要再暴露端口给客户端外部环境访问

在Service资源里增加两行

 service端口是443,而后把请求再转给pod的8443端口,手动增加NodePort类型,再增加个30000端口

 上面的30000端口必须要在hosts文件中定义的端口范围之内

四、创建dashboard

1、创建资源

root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# kubectl apply -f dashboard-v2.6.1.yaml

2、 访问下node节点的30000端口,一定要是https协议才行,因为它是有证书的

显示需要token

dashboard只是个访问页面,并没有创建访问的用户;用户需要自己手动创建

3、创建访问用户

创建资源文件
root@k8s-deploy:~/yaml/20220724/dashboard-v2.5.1# vim admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user          #用户创建在下面的namespace中
  namespace: kubernetes-dashboard


---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding        #做角色绑定
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io        #api版本
  kind: ClusterRole        #授予admin-user用户ClusterRole(集群管理员)权限
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user        #该用户与上面 ClusterRole角色进行绑定,拥有集群管理员权限
  namespace: kubernetes-dashborad  

创建资源
root@k8s-deploy:~/yaml/20220724/dashboard-v2.5.1# kubectl apply -f admin-user.yaml
serviceaccount/admin-user created
clusterrolebinding.rbac.authorization.k8s.io/admin-user created

创建Secret文件
root@k8s-deploy:~/yaml/20220724/dashboard-v2.5.1# vim admin-secret.yaml
apiVersion: v1
kind: Secret                             #类型是Secret
type: kubernetes.io/service-account-token
metadata:
  name: dashboard-admin-user             #Secret的名字是这个
  namespace: kubernetes-dashboard        #创建在这个namesapce中
  annotations:                           #注解
    kubernetes.io/service-account.name: "admin-user"   
    # 注解内容是和哪个service-account进行绑定是和admin-user进行绑定 ,也就是为admin-user创建一个叫做dashboard-admin-user名字的Secret,这个Secret中就包含它需要登录的tonken了

创建资源
root@k8s-deploy:~/yaml/20220724/dashboard-v2.5.1# kubectl apply -f admin-secret.yaml
secret/dashboard-admin-user created

4、取出tonken

root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# kubectl get secrets -A | grep admin
kubernetes-dashboard   dashboard-admin-user              kubernetes.io/service-account-token   3      17s


root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# kubectl describe secrets dashboard-admin-user -n kubernetes-dashboard
Name:         dashboard-admin-user
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: admin-user
              kubernetes.io/service-account.uid: 52419154-cc5f-4276-9b1a-2c76eb08f2a9

Type:  kubernetes.io/service-account-token

Data
====
namespace:  20 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6ImIxX29tV0s1MEZyT216ZDhiN0lGNGx3VUQxQ1ltQ3ZaWTZmRm1zQkJMZHMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdXNlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbi11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTI0MTkxNTQtY2M1Zi00Mjc2LTliMWEtMmM3NmViMDhmMmE5Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmFkbWluLXVzZXIifQ.DX-sID2NzIjIzCMgMb9ugcC-7icaSiLOGZyWp1-PiY_W4oKaphuHhSspEH1M98agOrP-NIrzuKko_GCqxyEVmrJ6Mws7YAGE80_RQpxAyERMA4M0qQv8JPw8U3IJMmvw34xnyJLYBiSaLv4RVIG2IqPu635mEIZNmkZ7r5Cs0DhOxCxnK086QNj1zMqdu7p-NEmYGZedS1TAw7rVW8gBZbgvzViO8jMAZWYf2arN77RbNOPbLTyzCWKc8qwL2fcOpkwSiGCxKzpFV4cnwb4n8RCgtxgi5B3q5OwOyQC_SfCFOzr_RHqq65voZ0SS2buMk9SwC-q_k-dMlxe1dqYhjw
ca.crt:     1302 bytes

 把tonken取出来就可以登录页面了

记一次报错:

登录页面后发现没有任何资源

 看了下pod状态有报错

root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# kubectl logs -f dashboard-metrics-scraper-67969bbbb6-hprg5 -n kubernetes-dashboard
W1121 06:50:20.910976       1 client_config.go:617] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
{"level":"info","msg":"Kubernetes host: https://10.100.0.1:443","time":"2022-11-21T06:50:20Z"}
{"level":"info","msg":"Namespace(s): []","time":"2022-11-21T06:50:20Z"}
{"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"2022-11-21T06:57:20Z"}
10.200.137.64 - - [21/Nov/2022:06:57:21 +0000] "GET /healthz HTTP/1.1" 200 13 "" "dashboard/v2.6.1"
172.31.7.112 - - [21/Nov/2022:06:57:29 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:57:39 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:57:49 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
10.200.137.64 - - [21/Nov/2022:06:57:51 +0000] "GET /healthz HTTP/1.1" 200 13 "" "dashboard/v2.6.1"
172.31.7.112 - - [21/Nov/2022:06:57:59 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:58:09 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:58:19 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
{"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"2022-11-21T06:58:20Z"}
10.200.137.64 - - [21/Nov/2022:06:58:21 +0000] "GET /healthz HTTP/1.1" 200 13 "" "dashboard/v2.6.1"
172.31.7.112 - - [21/Nov/2022:06:58:29 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:58:39 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:58:49 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
10.200.137.64 - - [21/Nov/2022:06:58:51 +0000] "GET /healthz HTTP/1.1" 200 13 "" "dashboard/v2.6.1"
172.31.7.112 - - [21/Nov/2022:06:58:59 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:59:09 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"
172.31.7.112 - - [21/Nov/2022:06:59:19 +0000] "GET / HTTP/1.1" 200 6 "" "kube-probe/1.24"

root@k8s-deploy:~/yaml/20220724/dashboard-v2.6.1# kubectl logs -f kubernetes-dashboard-557cd5b7d6-qcmc9 -n kubernetes-dashboard
2022/11/21 06:50:20 Starting overwatch
2022/11/21 06:50:20 Using namespace: kubernetes-dashboard
2022/11/21 06:50:20 Using in-cluster config to connect to apiserver
2022/11/21 06:50:20 Using secret token for csrf signing
2022/11/21 06:50:20 Initializing csrf token from kubernetes-dashboard-csrf secret
2022/11/21 06:50:20 Empty token. Generating and storing in a secret kubernetes-dashboard-csrf
2022/11/21 06:50:20 Successful initial request to the apiserver, version: v1.24.3
2022/11/21 06:50:20 Generating JWE encryption key
2022/11/21 06:50:20 New synchronizer has been registered: kubernetes-dashboard-key-holder-kubernetes-dashboard. Starting
2022/11/21 06:50:20 Starting secret synchronizer for kubernetes-dashboard-key-holder in namespace kubernetes-dashboard
2022/11/21 06:50:21 Initializing JWE encryption key from synchronized object
2022/11/21 06:50:21 Creating in-cluster Sidecar client
2022/11/21 06:50:21 Metric client health check failed: the server is currently unable to handle the request (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2022/11/21 06:50:21 Auto-generating certificates
2022/11/21 06:50:21 Successfully created certificates
2022/11/21 06:50:21 Serving securely on HTTPS port: 8443
2022/11/21 06:50:51 Successful request to sidecar
2022/11/21 06:54:40 http: TLS handshake error from 10.200.166.128:30606: remote error: tls: bad certificate
2022/11/21 06:54:40 http: TLS handshake error from 10.200.166.128:28961: remote error: tls: bad certificate
2022/11/21 06:54:40 http: TLS handshake error from 10.200.166.128:9274: remote error: tls: bad certificate
2022/11/21 06:54:40 http: TLS handshake error from 10.200.166.128:29868: remote error: tls: bad certificate

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

dashboard的安装使用 的相关文章

  • LeetCode416:分割等和子集

    要求 给你一个 只包含正整数 的 非空 数组 nums 请你判断是否可以将这个数组分割成两个子集 xff0c 使得两个子集的元素和相等 思路 做一个等价转换 xff1a 是否可以从输入数组中挑选出一些正整数 xff0c 使得这些数的和 等于
  • LeetCode437:路径总和III

    要求 给定一个二叉树的根节点 root xff0c 和一个整数 targetSum xff0c 求该二叉树里节点值之和等于 targetSum 的 路径 的数目 路径 不需要从根节点开始 xff0c 也不需要在叶子节点结束 xff0c 但是
  • LeetCode438:找到字符串中所有字母异位词

    要求 给定两个字符串 s 和 p xff0c 找到 s 中所有 p 的 异位词 的子串 xff0c 返回这些子串的起始索引 不考虑答案输出的顺序 异位词 指由相同字母重排列形成的字符串 xff08 包括相同的字符串 xff09 思路 方法一
  • LeetCode448:找到所有数组中消失的数字

    要求 给你一个含 n 个整数的数组 nums xff0c 其中 nums i 在区间 1 n 内 请你找出所有在 1 n 范围内但没有出现在 nums 中的数字 xff0c 并以数组的形式返回结果 思路 可以把数组中的元素与索引建立一一对应
  • LeetCode461:汉明距离

    要求 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目 给你两个整数 x 和 y xff0c 计算并返回它们之间的汉明距离 思路 方法一 xff1a 使用内置位计数功能 大多数编程语言都内置了计算二进制表达中 1 的数
  • LeetCode494:目标和

    要求 给你一个整数数组 nums 和一个整数 target 向数组中的每个整数前添加 43 或 xff0c 然后串联起所有整数 xff0c 可以构造一个 表达式 xff1a 例如 xff0c nums 61 2 1 xff0c 可以在 2
  • Java中Integer.parseInt()方法最全解析

    介绍 是Integer类中提供的一个静态方法 用于将传入的string类型字符串根据要求转为相应进制的int值 如果没有要求进制则按10进制计算 xff0c 属于java lang包的 xff1b 使用讲解 1 parseInt Strin
  • LeetCode538:把二叉搜索树转换为累加树

    要求 给出二叉 搜索 树的根节点 xff0c 该树的节点值各不相同 xff0c 请你将其转换为累加树 xff08 Greater Sum Tree xff09 xff0c 使每个节点 node 的新值等于原树中大于或等于 node val
  • python 最小堆类型: heapq

    目录 1 heapq 的常用方法 2 几个例子 a 最小堆的创建以及增删 b 如何使用 heapq 创建最大堆 c 获取第 k 大 第 k 小数据 d 列表中的元素是元组 heapq 是 python 的一个库 xff0c 用一个列表来维护
  • LeetCode543:二叉树的直径

    要求 给定一棵二叉树 xff0c 你需要计算它的直径长度 一棵二叉树的直径长度是任意两个结点路径长度中的最大值 这条路径可能穿过也可能不穿过根结点 题目解析 这里返回的是 xff1a 两结点之间的路径长度是以它们之间边的数目表示 最大的直径
  • LeetCode560:和为K的子数组

    要求 给你一个整数数组 nums 和一个整数 k xff0c 请你统计并返回 该数组中和为 k 的连续子数组的个数 思路 方法一 xff1a 暴力解 先固定左边界 xff0c 再去枚举右边 span class token keyword
  • LeetCode581:最短无序连续子数组

    要求 给你一个整数数组 nums xff0c 你需要找出一个 连续子数组 xff0c 如果对这个子数组进行升序排序 xff0c 那么整个数组都会变为升序排序 请你找出符合题意的 最短 子数组 xff0c 并输出它的长度 思路 我们可以假设把
  • LeetCoed617:合并二叉树

    要求 给你两棵二叉树 xff1a root1 和 root2 想象一下 xff0c 当你将其中一棵覆盖到另一棵之上时 xff0c 两棵树上的一些节点将会重叠 xff08 而另一些不会 xff09 你需要将这两棵树合并成一棵新二叉树 合并的规
  • LeetCode621:任务调度器

    要求 给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表 其中每个字母表示一种不同种类的任务 任务可以以任意顺序执行 xff0c 并且每个任务都可以在 1 个单位时间内执行完 在任何一个单位时间 xff0c CPU 可以完成
  • LeetCode647:回文子串

    要求 给你一个字符串 s xff0c 请你统计并返回这个字符串中 回文子串 的数目 回文字符串 是正着读和倒过来读一样的字符串 子字符串 是字符串中的由连续字符组成的一个序列 具有不同开始位置或结束位置的子串 xff0c 即使是由相同的字符
  • LeetCode739:每日温度

    要求 给定一个整数数组 temperatures xff0c 表示每天的温度 xff0c 返回一个数组 answer xff0c 其中 answer i 是指对于第 i 天 xff0c 下一个更高温度出现在几天后 如果气温在这之后都不会升高
  • 八大排序算法

    介绍 排序也称排序算法 Sort Algorithm xff0c 排序是将一组数据 xff0c 依指定的顺序进行排列的过程 排序分类 1 内部排序 指将需要处理的所有数据都加载到内部存储器 内存 中进行排序 2 外部排序法 数据量过大 xf
  • 时间复杂度和空间复杂度详解及排序算法复杂度

    时间复杂度 度量一个程序 算法 执行时间的两种方法 1 事前估算法 通过分析某个算法的时间复杂度来判断哪个算法更优 2 事后统计法 这种方法可行 xff0c 但是有两个问题 xff1a 一是要想对设计的算法的运行性能进行评测 xff0c 需
  • Java反编译工具JAD的安装与简单使用

    jad介绍 jad 是一个使用非常广泛的 Java 反编译工具 可以将java编译后的class文件反编译成对应的java文件 下载地址 JAD下载地址 xff0c 点击跳转https varaneckas com jad 按照自己的需求
  • python Counter() 函数

    目录 1 以统计列表中的词频为例 2 寻找出现次数最多的 k 个数 刷 leetcode 时发现了可以很方便地统计词频的 Counter 函数 xff0c 有了这个函数就不用手动的使用 for 循环来手动统计词频啦 xff01 Counte

随机推荐

  • C++11 新特性简介

    1 auto auto是旧关键字 xff0c 在C 43 43 11之前 xff0c auto用来声明自动变量 xff0c 表明变量存储在栈 xff0c 很少使用 在C 43 43 11中被赋予了新的含义和作用 xff0c 用于类型推断 a
  • Java反射(Reflex)机制

    反射概述 Reflection 反射 是Java被视为动态语言的关键 xff0c 反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息 xff0c 并能直接操作任意对象的内部属性及方法 加载完类之后 xff0c 在
  • 偏航角、俯仰角、滚动角

    偏航角 俯仰角 滚动角 在姿态估计中 xff0c 常常会提到三个概念 xff0c 就是偏航角 俯仰角和滚动角 姿态估计是物体在三维空间内方向的表征 通常描述物体姿态以大地作为参考系 xff08 标准坐标系 xff09 将世界坐标系 xff0
  • 定时器与计数器的区别

    曾经我在北方工业大学复试的时候 xff0c 有个老师问了我个问题 他说同学你好 xff0c 我看你前面一直都在说深度学习的问题 xff0c 请问你对单片机了解吗 xff1f xff0c 请问定时器与计数器的区别是什么 xff1f 我告诉他
  • 编译make px4_fmu-v2_default upload时,报错ERROR Board can accept larger flash images (2080768 bytes)

    编译make px4 fmu v2 default upload时 xff0c 报错ERROR Board can accept larger flash images 2080768 bytes than board config 103
  • vue中实现axios封装

    vue中实现axios封装 为什么要进行axios封装vue项目安装axios封装前的get和post请求封装后的get和post请求 为什么要进行axios封装 实际开发过程中可能有几种环境 xff0c 开发环境 xff0c 测试环境 x
  • 项目实训—场景划分(一)

    1 什么是场景 xff08 Scene xff09 场景作为电影讲故事的关键单元 xff0c 包含了演员的复杂活动及其在物理位置上的互动 识别场景的组成和语义是视觉理解复杂长视频 xff08 如电影 电视剧 娱乐节目和综艺节目 xff09
  • 手把手教你FreeRTOS源码解析(一)——内存管理

    FreeRTOS中一共有5种内存分配的方法 xff0c 分别在文件heap 1 c heap 2 c heap 3 c heap 4 c heap 5 c种 虽然标准C库中的 malloc 和 free 也可以实现动态内存管理 xff0c
  • 手把手教你FreeRTOS源码详解(二)——任务管理

    FreeRTOS源码解析集合 xff08 全网最详细 xff09 手把手教你FreeRTOS源码解析 xff08 一 xff09 内存管理 手把手教你FreeRTOS源码详解 xff08 二 xff09 任务管理 手把手教你FreeRTOS
  • 手把手教你FreeRTOS源码详解(三)——队列

    FreeRTOS源码解析集合 xff08 全网最详细 xff09 手把手教你FreeRTOS源码解析 xff08 一 xff09 内存管理 手把手教你FreeRTOS源码详解 xff08 二 xff09 任务管理 手把手教你FreeRTOS
  • 手把手教你FreeRTOS源码详解(四)——信号量、互斥量、递归互斥量

    FreeRTOS源码解析集合 xff08 全网最详细 xff09 手把手教你FreeRTOS源码解析 xff08 一 xff09 内存管理 手把手教你FreeRTOS源码详解 xff08 二 xff09 任务管理 手把手教你FreeRTOS
  • python 随机数 random 库的使用总结

    目录 1 random 库中的常用随机数生成函数 2 一些用法举例 3 随机数种子 seed a 的理解与使用 random 库的主要目的就是生成随机数 1 random 库中的常用随机数生成函数 from random import 1
  • JDBC 配置

    JDBC Java DataBase Connectivity 规范 JDBC是一套协议 xff08 规范 xff09 是java开发人员和数据库厂商达成的协议 是由sun定义一组接口 由数据库厂商来实现 并规定了java开发人员访问数据库
  • Gazebo下载所有模块到本地

    从https bitbucket org osrf gazebo models上下载model库 xff1b 将下载的文件解压 xff0c 将解压后的文件夹重命名为models将models复制到 gazebo文件夹中 xff08 如果 g
  • linux操作系统和系统资源理论基础

    目录 一 xff1a 操作系统 二 xff1a 程序如何被CPU读取 三 xff1a CPU缓存 四 xff1a CPU缓存策略 五 xff1a 如何实现系统多任务 六 xff1a 进程切换过程初探 七 xff1a 进程的调度规则 八 xf
  • containerd的安装和使用

    containerd介绍 containerd是从docker项目中剥离出来的一个容器运行时 几乎囊括了容器管理的所有功能 xff0c 并且containerd内置了CRI插件K8S的kubelet组件可以直接调用containerd xf
  • 部署harbor并实现https(SAN签发证书)

    目录 一 安装docker docker compose 二 安装harbor 三 签发证书 四 修改配置文件 五 运行harbor 六 客户端测试 xff1a 使用系统 xff1a ubuntu 20 04 3 harbor依赖于dock
  • 二进制部署kubernetes高可用集群

    目录 一 集群外围节点准备 二 部署kubeasz 3 3 1集群 三 初始化集群 四 测试集群网络可用性 五 集群扩容 需要master node etcd节点各三台 xff1b harbor服务器 deploy部署节点 负载均衡主机各一
  • coredns部署

    目录 一 获取coredns yaml文件 二 修改coredns yaml文件 三 基于yaml文件启动coredns服务 coredns域名解析流程 xff1a 举例 xff1a 当pod1应用想通过dns域名的方式访问pod2则首先根
  • dashboard的安装使用

    目录 一 下载dashboard的yaml文件 二 修改dsashboard的yaml文件镜像 三 修改dashboard的yaml文件内容 四 创建dashboard 通常而言kubernetes中完成的所有操作都是通过命令行工具kube