10:部署Dashboard|部署Prometheus|HPA集群

部署Dashboard|部署Prometheus|HPA集群

  • Dashboard
    • 部署Dashboard
      • 上传镜像到私有仓库
      • 安装服务
      • 发布服务
      • 创建管理用户
      • 查看登录的Token信息
  • Prometheus
    • 步骤一:导入所有后续需要的镜像到私有镜像仓库(在master主机操作操作)
    • 步骤二:修改资源文件部署各种容器服务(在master主机操作操作)
    • 步骤三:对外发布grafana服务(在master主机操作)
    • 步骤四:配置grafana
      • 步骤一:配置grafana(在任意主机操作)
  • HPA
    • 步骤一:部署一个弹性集群(在master主机操作)
    • 步骤二:查看动态扩容效果

Dashboard

在这里插入图片描述

部署Dashboard

上传镜像到私有仓库

# 上传dashboard
[root@master dashboard]# docker load -i dashboard.tar.gz
[root@master dashboard]# docker tag kub../dashboard:v2.0.0 192.168....
[root@master dashboard]# docker push 192...:v2.0.0
# 上传metrics-scraper镜像
[root@master dashboard]# docker load -i metrics-scraper.tar.gz
[root@master dashboard]# docker tag kub../metrics-scraper:v2.0.0 192.168....
[root@master dashboard]# docker push 192...:v2.0.0

安装服务

[root@master dashboard]# kubectl apply -f recommended.yaml
[root@master dashboard]# kubectl -n kubernetes-dashboard get pods
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-844d8585c9-w26m4   1/1     Running   0          10s
kubernetes-dashboard-6c58946f65-4bdtb        1/1     Running   0          10s

发布服务

在这里插入图片描述

ClusterIP 只能在集群内部访问
NodePort 和 Ingress 可以在外部访问

[root@master dashboard]# kubectl -n kubernetes-dashboard get service
NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
dashboard-metrics-scraper   ClusterIP   10.245.205.236   <none>        8000/TCP   13s
kubernetes-dashboard        ClusterIP   10.245.215.40    <none>        443/TCP    14s

[root@master dashboard]# sed -n '30,45p' recommended.yaml >dashboard-svc.yaml
[root@master dashboard]# vim dashboard-svc.yaml
---
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      nodePort: 30443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

[root@master dashboard]# kubectl apply -f dashboard-svc.yaml 
service/kubernetes-dashboard configured
[root@master dashboard]# kubectl -n kubernetes-dashboard get service
NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.245.205.236   <none>        8000/TCP        5m50s
kubernetes-dashboard        NodePort    10.245.215.40    <none>        443:30443/TCP   5m51s

浏览器访问任意节点IP的30443端口(http://任意节点:30443 端口
在这里插入图片描述

创建管理用户

[root@master dashboard]# cat admin-token.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
[root@master dashboard]# kubectl create -f admin-token.yaml   #创建资源

查看登录的Token信息

先通过get screts查看名称,该名称是随机的,然后再通过查询到的名称继续查询对应的Token信息。

[root@master ~]# kubectl -n kubernetes-dashboard get secrets 
NAME             TYPE                                  
admin-user-token-xxx    kubernetes.io/service-account-token  ... ...
[root@master ~]# kubectl -n kubernetes-dashboard describe secrets \
... ...
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjJyTE9nZWpWLWFhTXV6cnJla3U4aX
NngxVTZjV2M5Y0FYOWR0ancifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9 ... ...

再次使用浏览器访问任意节点IP的30090端口(http://任意节点:30090 端口)即可查看Web页面,输入Token,效果如图-2所示。
在这里插入图片描述

Prometheus

在这里插入图片描述
镜像及资源文件
在这里插入图片描述

步骤一:导入所有后续需要的镜像到私有镜像仓库(在master主机操作操作)

所有镜像文件在云盘第四阶段kubernetes/v1.17.6/prometheus/images目录下,各位同学需要提前下载。

需要导入的镜像包括:

prometheus.tar.gz
prometheus-operator.tar.gz
prometheus-config-reloader.tar.gz
prometheus-adapter.tar.gz
node-exporter.tar.gz
kube-rbac-proxy.tar.gz
kube-metrics.tar.gz
grafana.tar.gz
configmap-reload.tar.gz
alertmanager.tar.gz

注意:tab修改标签时,只需要修改服务器即可,禁止修改镜像原来的名称与标签。
[root@master ~]# docker load -i prometheus.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  旧名称   192.168.1.100:5000/prometheus:v2.11.0
[root@master ~]# docker push  192.168.1.100:5000/prometheus:v2.11.0
[root@master ~]# docker load -i prometheus-operator.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/prometheus-operator:v0.35.1
[root@master ~]# docker push  192.168.1.100:5000/prometheus-operator:v0.35.1
[root@master ~]# docker load -i prometheus-config-reloader.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/prometheus-config-reloader:v0.35.1
[root@master ~]# docker push \
192.168.1.100:5000/prometheus-config-reloader:v0.35.1
[root@master ~]# docker load -i prometheus-adapter.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/prometheus-operator:v0.35.1
[root@master ~]# docker push 192.168.1.100:5000/prometheus-operator:v0.35.1
[root@master ~]# docker load -i node-exporter.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/node-exporter:v1.0.0
[root@master ~]# docker push 192.168.1.100:5000/node-exporter:v1.0.0
[root@master ~]# docker load -i kube-rbac-proxy.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/kube-rbac-proxy:v0.4.1
[root@master ~]# docker push 192.168.1.100:5000/kube-rbac-proxy:v0.4.1
[root@master ~]# docker load -i kube-metrics.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/kube-state-metrics:v1.9.2
[root@master ~]# docker push 192.168.1.100:5000/kube-state-metrics:v1.9.2
[root@master ~]# docker load -i alertmanager.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/grafana:6.4.3
[root@master ~]# docker push 192.168.1.100:5000/grafana:6.4.3
[root@master ~]# docker load -i    configmap-reload.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/configmap-reload:v0.3.0
[root@master ~]# docker push 192.168.1.100:5000/configmap-reload:v0.3.0
[root@master ~]# docker load -i    alertmanager.tar.gz
[root@master ~]# docker images            #查看镜像的名称
[root@master ~]# docker tag  \
旧名称  192.168.1.100:5000/alertmanager:v0.18.0
[root@master ~]# docker push 192.168.1.100:5000/alertmanager:v0.18.0

步骤二:修改资源文件部署各种容器服务(在master主机操作操作)

1)安装operator
需要修改资源文件,默认资源文件制定的是从官网下载镜像启动容器,我们需要修改为自己的192.168.1.100私有镜像仓库的路径。

[root@master prometheus]# vim setup/prometheus-operator-deployment.yaml
27  - --config-reloader-image=192.168.1.100:5000/configmap-reload:v0.3.0
28  - --prometheus-config-reloader=192.168.1.100:5000/prometheus-config-reloader:v0.35.1
29  image: 192.168.1.100:5000/prometheus-operator:v0.35.1
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f setup/

在这里插入图片描述
2)安装Prometheus server

需要修改资源文件,默认资源文件制定的是从官网下载镜像启动容器,我们需要修改为自己的192.168.1.100私有镜像仓库的路径。

[root@master prometheus]# vim prom-server/prometheus-prometheus.yaml
14      baseImage: 192.168.1.100:5000/prometheus
34      version: v2.11.0
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f prom-server/

在这里插入图片描述
3)安装prom-adapter

需要修改资源文件,默认资源文件制定的是从官网下载镜像启动容器,我们需要修改为自己的192.168.1.100私有镜像仓库的路径。

[root@master prometheus]# vim prom-adapter/prometheus-adapter-deployment.yaml
28         image: 192.168.1.100:5000/k8s-prometheus-adapter-amd64:v0.5.0
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f prom-adapter/

4)安装metrics-state

需要修改资源文件,默认资源文件制定的是从官网下载镜像启动容器,我们需要修改为自己的192.168.1.100私有镜像仓库的路径。

[root@master prometheus]# vim metrics-state/kube-state-metrics-deployment.yaml
24            image: 192.168.1.100:5000/kube-rbac-proxy:v0.4.1
41            image: 192.168.1.100:5000/kube-rbac-proxy:v0.4.1
58            image: 192.168.1.100:5000/kube-state-metrics:v1.9.2
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f metrics-state/

5)安装node-exporter

需要修改资源文件,默认资源文件制定的是从官网下载镜像启动容器,我们需要修改为自己的192.168.1.100私有镜像仓库的路径。

[root@master prometheus]# vim node-exporter/node-exporter-daemonset.yaml
27            image: 192.168.1.100:5000/node-exporter:v1.0.0
57            image: 192.168.1.100:5000/kube-rbac-proxy:v0.4.1
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f node-exporter/

6)安装alertmanager

需要修改资源文件,默认资源文件制定的是从官网下载镜像启动容器,我们需要修改为自己的192.168.1.100私有镜像仓库的路径。

[root@master prometheus]# vim alertmanager/alertmanager-alertmanager.yaml
09     baseImage: 192.168.1.100:5000/alertmanager
18     version: v0.18.0
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f alertmanager/

7)安装grafana

[root@master prometheus]# vim grafana/grafana-deployment.yaml
19    - image: 192.168.1.100:5000/grafana:6.4.3
#提示:上面这些镜像的链接路径如果不知道,可以使用docker images查看。
[root@master prometheus]# kubectl apply -f grafana/

在这里插入图片描述

步骤三:对外发布grafana服务(在master主机操作)

相关资源文件共享在云盘第四阶段kubernetes/v1.17.6/prometheus/ grafana/grafana-service.yaml。

下面使用使用nodePort发布服务将容器的3000端口映射到真机节点的30000端口。

[root@master prometheus]# vim grafana/grafana-service.yaml
... ...
spec:
  type: NodePort
  ports:
  - name: http
    port: 3000
    nodePort: 30000
    targetPort: http
... ...
[root@master prometheus]# kubectl  apply  -f  grafana/grafana-service.yaml

使用浏览器访问任意节点的30002端口,即可访问到Web网页,效果如图所示。
在这里插入图片描述

步骤四:配置grafana

步骤一:配置grafana(在任意主机操作)

1)登录

登录的默认用户和密码:admin/admin

第一次登录需要修改密码
在这里插入图片描述
2)修改数据源地址

我们添加的数据为prometheus
数据源就是 Prometheus service 的地址
可以填写prometheus的Service内部的DNS名称
http://prometheus-k8s.monitoring.svc.cluster.local:9090
如何查看到这个DNS的域名呢?可以执行如下的命令即可。

[root@master ~]# kubectl -n monitoring get service
NAME               TYPE             CLUSTER-IP       EXTERNAL-IP    PORT(S)
grafana          NodePort       10.254.169.248        <none>         3000:30002/TCP
prometheus-k8s  NodePort       10.254.44.72    <none>              9090:30001/TCP
... ...
# 找到这里的prometheus-k8s名称后
# 在它的后面附加一个固定的monitoring.svc.cluster.local:9090
# 连接在一起就是:http://prometheus-k8s.monitoring.svc.cluster.local:9090

修改数据源。
添加数据源Prometheus,名字随意,URL需要填写Prometheus内部的DNS名称,
默认端口号 9090。
在这里插入图片描述
在这里插入图片描述

3)导入模板
导入模板,需要正确配置后点击保存和测试后开始添加仪表盘
点开import,输入模板ID,
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
最后查看监控效果
在这里插入图片描述

HPA

在这里插入图片描述

步骤一:部署一个弹性集群(在master主机操作)

[root@master ~]# vim myhpa.yaml 
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myweb
spec:
  selector:
    matchLabels:
      app: apache
  replicas: 1
  template:
    metadata:
      labels:
        app: apache
    spec:
      containers:
      - name: apache
        image: 192.168.1.100:5000/myos:httpd
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: 200m
      restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  name: web-service
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  selector:
    app: apache
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-app
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  backend:
    serviceName: web-service
    servicePort: 80
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: myweb
spec:
  minReplicas: 1 # 最小资源
  maxReplicas: 3 # 最大资源 
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: myweb # 监视资源
  targetCPUUtilizationPercentage: 50 # 警戒线 大于50%扩容
[root@master ~]# kubectl apply -f hpa-example.yaml
[root@master ~]# kubectl get hpa
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%    1         3         1          15m

步骤二:查看动态扩容效果

[root@master ~]# kubectl get hpa 
NAME    REFERENCE          TARGETS    MINPODS   MAXPODS   REPLICAS   AGE
myweb  Deployment/myweb   287%/50%   1         3         3          16m
[root@master ~]# kubectl  get pod
NAME                     READY   STATUS    RESTARTS   AGE
myweb-7f89fc7b66-kzhj5   1/1     Running   0          16m
myweb-7f89fc7b66-nh4kn   1/1     Running   0          21s
myweb-7f89fc7b66-q2jnf   1/1     Running   0          21s
#当容器CPU占用过高时,集群可以自动扩容
-----------------------------------------------------------------------------
[root@master ~]# kubectl get hpa 
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   1%/50%    1         3         3          20m
[root@master ~]# kubectl  get pod
NAME                     READY   STATUS    RESTARTS   AGE
myweb-7f89fc7b66-kzhj5   1/1     Running   0          22m
# 当容器CPU占用率恢复正常时,容器可以自动缩减

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/405547.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 2.0 中的 Vuex Store 状态管理器核心概念和组成部分

Vue 2.0 中的 Vuex Store 状态管理器核心概念和组成部分 State&#xff08;状态&#xff09;&#xff1a; Vuex Store 的核心就是集中式存储应用的所有组件的状态。它是一个单一状态树&#xff0c;所有的组件都从这个状态树中读取数据并可以响应状态的变化。 const state {c…

Java设计模式 | 简介

设计模式的重要性&#xff1a; 软件工程中&#xff0c;设计模式&#xff08;design pattern&#xff09;是对软件设计中普遍存在&#xff08;反复出现&#xff09;的各种问题&#xff0c;所提出的解决方案。 这个术语由埃里希 伽玛&#xff08;Erich Gamma&#xff09;等人在1…

2024,中国零售行业数字化走到哪了?

对于如今的中国零售业数字化而言&#xff0c;仍有许多亟待解决的问题&#xff0c;其像一根根“鱼刺”&#xff0c;卡在零售企业增长的“喉咙”中。 作者|斗斗 编辑|皮爷 出品|产业家 熙熙攘攘的人群&#xff0c;琳琅满目年货&#xff0c;一张张喜庆的春联、福字、窗花……

爬虫基本库的使用(requests库的详细解析)

注&#xff1a;本文一共4万多字&#xff0c;希望读者能耐心读完&#xff01;&#xff01;&#xff01; 前面,我们了解了urllib库的基本用法&#xff08;爬虫基本库的使用(urllib库的详细解析)-CSDN博客&#xff09;。其中&#xff0c;确实又不方便的地方。例如处理网页验证…

【初中生讲机器学习】11. 回归算法中常用的模型评价指标有哪些?here!

创建时间&#xff1a;2024-02-19 最后编辑时间&#xff1a;2024-02-23 作者&#xff1a;Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏&#xff0c;很高兴遇见你~ 我是 Geeker_LStar&#xff0c;一名初三学生&#xff0c;热爱计算机和数学&#xff0c;我们一起加…

【LeetCode每日一题】 单调栈的案例 42. 接雨水

这道题是困难&#xff0c;但是可以使用单调栈&#xff0c;非常简洁通俗。 关于单调栈可以参考单调栈总结以及Leetcode案例解读与复盘 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 …

TensorFlow2.x 精选笔记(1)数据基本操作与线性代数

学习参考&#xff1a; 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning 一、数组与张量 虽然张量看起来是复杂的对象&#xff0c;但它们可以理解为向量和矩阵的集合。理解向量和矩阵对于理解张量至关重要。 向量是元素的一维列表&#xff0c;向量是一…

1.0 vue环境安装

1、安装node.js 1.1 下载最新版本Node.js (nodejs.org)Node.js 1.2 开始安装 普通的安装过程&#xff0c;也记录下吧 安装完成&#xff01; 1.3 检查nodejs是否安装成功 代开cmd命令窗口输入 node -v&#xff0c;如果看到了刚才下载的版本号&#xff0c;则表示已经安装成功…

建立不同类型网站分别大概需要多少钱??

如今&#xff0c;越来越多的企业会考虑建立一个企业官方网站来展示企业形象&#xff0c;或者建立一个电子商务网站平台来拓展业务渠道&#xff0c;或者建立一个企业内部网来协助企业进行网上工作。 网站建设的类型有很多种&#xff0c;不同类型的网站成本差异很大。 因此&#…

怎么在wifi中实现手机和电脑文件互传

有时我们想手机电脑文件互传&#xff0c;数据线却不在身边&#xff0c;这时我们可以用MiXplorer来实现wifi中手机和电脑互相访问文件。 MiXplorer是一款来自著名安卓开发者论坛XDA的作品&#xff0c;免费且功能强大&#xff0c;被很多人誉为是“全能文件管理器”。 1.在手机上…

【RT-DETR有效改进】利用YOLOv9的GELAN模块替换RepC3结构(附轻量化版本 + 高效涨点版本 + 手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的GELAN模块来改进RT-DETR的RepC3结构&#xff0c;GELAN融合了CSPNet和ELAN机制同时其中利用到了RepConv在获取更多有效特征的同时在推理时专用单分支结构从而不影响推理速度&#xff0c;同时…

ChatGPT plus 的平替:9个可以联网的免费AI搜索引擎

ChatGPT plus 的平替&#xff1a;9个可以联网的免费AI搜索引擎。 由于ChatGPT 训练数据截止到2021年9月&#xff0c;在该时间点之后发生的事件&#xff0c;ChatGPT均无法给出答复。所以&#xff0c;大家现在都非常期待ChatGPT能够联网&#xff0c;访问实时的信息。 ChatGPT pl…

【Docker】构建pytest-playwright镜像并验证

Dockerfile FROM ubuntu LABEL maintainer "langhuang521l63.com" ENV TZAsia/Shanghai #设置时区 #安装python3依赖与下载安装包 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \&& apt update \&&…

fpga_cpu加速

一 cpu流水线执行指令 二 计算机体系结构 注&#xff1a;ARM就是典型的哈佛结构 三 cpu加速 同样采用流水线&#xff0c;哈佛结构的指令效率更高&#xff0c;通过指令预取&#xff0c;提高了流水线的并行度。

Linux环境安装jira

jira 是项目与事务跟踪工具&#xff0c;被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 jira 软件安装包直接搜官网&#xff0c;然后可以选择免费的来下载&#xff1a; 安装 jira 之前&#xff0c;需要 Java 和 mysql 环境的…

深度学习中数据的转换

原始&#xff08;文本、音频、图像、视频、传感器等&#xff09;数据被转化成结构化且适合机器学习算法或深度学习模型使用的格式。 原始数据转化为结构化且适合机器学习和深度学习模型使用的格式&#xff0c;通常需要经历以下类型的预处理和转换&#xff1a; 文本数据&#xf…

代码随想录算法训练营第四十天|343. 整数拆分 96.不同的二叉搜索树

343. 整数拆分 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路: 动态规划的题目虽然说是要先确定dp数组的含义&#xff0c;再确定递归公式&#xff0c;但是总感觉这两者是相辅相成的&#xff0c;是一起出来的&#xff0c;但是到此&#xff0c;dp数组…

运维SRE-14 自动化批量管理

1.批量管理基础内容-SSH服务-远程连接服务 1.1SSH服务 SSH服务-OpenSSH&#xff0c;远程连接服务端&#xff1a;openssh-server客户端&#xff1a;openssh-clients openssh-7.4p1-21.el7.x86_64 openssh-server-7.4p1-21.el7.x86_64 #服务端 openssh-clients-7.4p1-21.el7.…

BERT学习笔记

论文&#xff1a;《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》&#xff0c;2019 代码&#xff1a;[tensorflow]&#xff0c;[pytorch] 来源&#xff1a;李沐精度BERT 0、摘要 与之前模型的区别&#xff1a; GPT考虑的是一个单向…

汽修专用产品---选型介绍 汽修示波器 汽车示波器 汽车电子 汽修波形 汽车传感器波形 汽车检测

为了满足汽车电子用户的测量需求&#xff0c;我司特推出汽修专用版示波器&#xff0c;一键测量&#xff0c;轻松找出汽车问题。 LOTO各种型号的示波器其实都可以用作汽车传感器信号波形的检测。汽修应用中&#xff0c;工程师对示波器的性能要求对于LOTO产品来说不算高。 在我们…