k8s(三)—控制器(replicaset、deployment、daemonset、job、cronjob)

2023-05-16

1、控制器简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、 Replicaset控制器

[root@server2 ~]# vim rs.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: replicaset-example
spec:
  replicas: 3   运行了三个副本
  selector:      表示选者器,控制器和pod之间的联系是啥,因为不同的pod有不同的控制器
    matchLabels:
      app: nginx   如果pod上有app:nginx标签,此pod就属于此控制器
  template:          模板
    metadata:       
      labels:
        app: nginx          表示模板下面创建的pod都会有app: nginx 标签
    spec:
      containers:
      - name: nginx
        image: nginx
[root@server2 ~]# kubectl apply -f rs.yaml   运行
replicaset.apps/replicaset-example created
[root@server2 ~]# kubectl get  rs    
NAME                 DESIRED   CURRENT   READY   AGE
replicaset-example   3         3         3       40s
[root@server2 ~]# kubectl get pod   运行了三个副本
NAME                       READY   STATUS    RESTARTS   AGE
replicaset-example-9qr92   1/1     Running   0          2m13s
replicaset-example-c7zpv   1/1     Running   0          2m13s
replicaset-example-hdrqc   1/1     Running   0          2m13s
[root@server2 ~]# kubectl get pod --show-labels   查看pod的标签 ,3个副本都有 app=myapp 标签
NAME                       READY   STATUS    RESTARTS   AGE     LABELS
replicaset-example-9qr92   1/1     Running   0          3m22s   app=myapp 
replicaset-example-c7zpv   1/1     Running   0          3m22s   app=myapp
replicaset-example-hdrqc   1/1     Running   0          3m22s   app=myapp

标签对控制器的影响

[root@server2 ~]# kubectl label pods replicaset-example-9qr92 app=nginx --overwrite    将原有的标签覆盖换成app=nginx,overwrite 表示覆盖
pod/replicaset-example-9qr92 labeled   
[root@server2 ~]# kubectl get pod --show-labels  查看标签
NAME                       READY   STATUS    RESTARTS   AGE     LABELS
replicaset-example-9qr92   1/1     Running   0          13m     app=nginx   其中这个不匹配,控制器会维护副本数,会重新拉伸一个出来
replicaset-example-c7zpv   1/1     Running   0          13m     app=myapp
replicaset-example-hdrqc   1/1     Running   0          13m     app=myapp
replicaset-example-sjxss   1/1     Running   0          2m46s   app=myapp
[root@server2 ~]# kubectl delete -f rs.yaml   删除
replicaset.apps "replicaset-example" deleted

3、deployment 控制器

deployment 和 Replicaset 书写一样

[root@server2 ~]# vim rs.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1
[root@server2 ~]# kubectl apply -f rs.yaml 
deployment.apps/deployment created  
[root@server2 ~]# kubectl get all

在这里插入图片描述

deployment控制器可以进行版本更新,版本退回,rs是做不到的,rs只控制副本数,如下实验:

[root@server2 ~]# vim rs.yaml
apiVersion: apps/v1
kind: ReplicaSet    
metadata:
  name: deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1
[root@server2 ~]# vim rs.yaml
[root@server2 ~]# kubectl apply -f rs.yaml   运行
[root@server2 ~]# vim rs.yaml  
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v2   版本变成v2
[root@server2 ~]# kubectl apply -f rs.yaml     
[root@server2 ~]# kubectl get pod -o wide
NAME                       READY   STATUS    RESTARTS   AGE     IP            NODE      NOMINATED NODE   READINESS GATES
deployment-895ql           1/1     Running   0          2m28s   10.244.2.17   server4   <none>           <none>
deployment-bsgpw           1/1     Running   0          2m28s   10.244.1.24   server3   <none>           <none>
deployment-wmw2x           1/1     Running   0          2m28s   10.244.1.25   server3   <none>           <none>
replicaset-example-9qr92   1/1     Running   0          77m     10.244.2.15   server4   <none> 
[root@server2 ~]# curl 10.244.2.17   版本并没有更改。rs是做不到版本更新的
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a>   
[root@server2 ~]# kubectl delete pod --all 删除所有副本,重新拉起三个副本
pod "deployment-895ql" deleted
pod "deployment-bsgpw" deleted
pod "deployment-wmw2x" deleted
pod "replicaset-example-9qr92" deleted
[root@server2 ~]# kubectl get pod -o wide  查看ip
NAME               READY   STATUS    RESTARTS   AGE   IP            NODE      NOMINATED NODE   READINESS GATES
deployment-7dvsd   1/1     Running   0          57s   10.244.2.20   server4   <none>           <none>
deployment-prlpx   1/1     Running   0          56s   10.244.1.29   server3   <none>           <none>
deployment-wtvkx   1/1     Running   0          56s   10.244.1.28   server3   <none>           <none>
[root@server2 ~]# curl 10.244.1.28  访问,可以看出新拉起来的,版本就更新成了v2
Hello MyApp | Version: v2 | <a href="hostname.html">Pod Name</a>   
[root@server2 ~]# kubectl delete -f rs.yaml   删除
replicaset.apps "deployment" deleted

deployment 控制器

[root@server2 ~]# vim rs.yaml    变回deployment控制器
apiVersion: apps/v1
kind: Deployment   变回deployment控制器
metadata:
  name: deployment   
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1
[root@server2 ~]# kubectl apply -f rs.yaml   运行
deployment.apps/deployment created
 [root@server2 ~]# kubectl get pod    查看pod节点,总共3个副本
NAME                          READY   STATUS    RESTARTS   AGE
deployment-678fcbc488-8nhmf   1/1     Running   0          38s
deployment-678fcbc488-9brd7   1/1     Running   0          38s
deployment-678fcbc488-xkr8x   1/1     Running   0          38s
[root@server2 ~]# vim rs.yaml   拉伸为6个副本
apiVersion: apps/v1
kind: Deployment   
metadata: 
  name: deployment
spec:
  replicas: 6     拉伸为6个副本
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1
[root@server2 ~]# kubectl apply -f rs.yaml   运行
deployment.apps/deployment configured
[root@server2 ~]# kubectl get pod   可以发现生成了6个副本,deployment控制器里面也有rs控制器,所以可以拉伸
NAME                          READY   STATUS    RESTARTS   AGE
deployment-678fcbc488-57q4x   1/1     Running   0          75s
deployment-678fcbc488-6l24d   1/1     Running   0          75s
deployment-678fcbc488-8nhmf   1/1     Running   0          3m35s
deployment-678fcbc488-9brd7   1/1     Running   0          3m35s
deployment-678fcbc488-cmggh   1/1     Running   0          75s
deployment-678fcbc488-xkr8x   1/1     Running   0          3m35s  
[root@server2 ~]#  vim rs.yaml
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: deployment
spec:
  replicas: 3   下降为3个副本
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1
[root@server2 ~]# kubectl apply -f rs.yaml   运行
[root@server2 ~]# kubectl get pod   3个副本
NAME                          READY   STATUS    RESTARTS   AGE
deployment-678fcbc488-57q4x   1/1     Running   0          6m50s
deployment-678fcbc488-9brd7   1/1     Running   0          9m10s
deployment-678fcbc488-cmggh   1/1     Running   0          6m50s

[root@server2 ~]# vim rs.yaml    版本更新
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v2   将版本更新为v2
[root@server2 ~]# kubectl apply -f rs.yaml 
deployment.apps/deployment configured
[root@server2 ~]# kubectl get pod -o wide   查看ip
NAME                          READY   STATUS        RESTARTS   AGE   IP            NODE      NOMINATED NODE   READINESS GATES
deployment-57c78c68df-d5bbz   1/1     Running   0          70s   10.244.1.33   server3   <none>           <none>
deployment-57c78c68df-v69cg   1/1     Running   0          66s   10.244.2.24   server4   <none>           <none>
deployment-57c78c68df-xq7wp   1/1     Running   0          61s   10.244.1.34   server3   <none>           <none>
[root@server2 ~]# curl 10.244.1.34    访问,可以发现版本变成v2   deployment控制器负责版本切换
Hello MyApp | Version: v2 | <a href="hostname.html">Pod Name</a> 

deployment控制器版本更新回退原理

[root@server2 ~]# kubectl get all

在这里插入图片描述
在这里插入图片描述
如果更新了镜像,deployment控制器新建一个rs,原来的rs不动保留,之前rs控制的pod会被回收,新的rs应用新的副本
如果退回原来的版本v1,v2上的rs直接切换到以前保留的版本v1,不用新建,v2上rs控制的pod会被回收

上述操作也可用命令操作
在这里插入图片描述

3、DaemonSet控制器(针对所有节点都要部署一个pod)

[root@server2 ~]# kubectl delete -f  rs.yaml 
deployment.apps "deployment" deleted
[root@server2 ~]# cp rs.yaml ds.yaml
[root@server2 ~]# vim ds.yaml 
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset
spec:
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v2
[root@server2 ~]# kubectl apply -f  ds.yaml   运行
daemonset.apps/daemonset created
[root@server2 ~]# kubectl get ds   部署了两个节点,其中master节点不部署
NAME        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset   2         2         2       2            2           <none>          39s
[root@server2 ~]# kubectl get node    daemonset控制器是根据集群节点数来部署的,每个节点部署一个pod
NAME      STATUS   ROLES                  AGE     VERSION
server2   Ready    control-plane,master   5d7h    v1.23.4
server3   Ready    <none>                 4d22h   v1.23.4
server4   Ready    <none>                 4d22h   v1.23.4

[root@server2 ~]# vim ds.yaml   如果变更镜像版本
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset
spec:
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1    版本变成v1
[root@server2 ~]# kubectl apply -f  ds.yaml   运行
[root@server2 ~]# kubectl get pod -o wide  查看ip
NAME              READY   STATUS    RESTARTS   AGE   IP            NODE      NOMINATED NODE   READINESS GATES
daemonset-2df5d   1/1     Running   0          68s   10.244.2.26   server4   <none>           <none>
daemonset-ksv2h   1/1     Running   0          72s   10.244.1.36   server3   <none>           <none>
[root@server2 ~]# curl 10.244.1.36   访问,可以发现版本变成v1,所以daemonset控制器也只成版本更新
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a>
[root@server2 ~]# kubectl delete  -f  ds.yaml  删除
daemonset.apps "daemonset" deleted

4、job控制器(仅执行一次任务)

[root@server1 harbor]# docker pull perl  网上拉取perl镜像
[root@server1 harbor]# docker tag perl:latest reg.westos.org/library/perl:latest  改标签
[root@server1 harbor]# docker push reg.westos.org/library/perl:latest  上传到私有仓库
[root@server2 ~]# vim job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]   容器内运行的指令 ,保留小数点多少位
      restartPolicy: Never   不重启
  backoffLimit: 4   出错次数最大上限为4次
[root@server2 ~]# kubectl apply -f job.yaml  创建
job.batch/pi created
[root@server2 ~]# kubectl get pod   可以发现运行完一次之后直接退出
NAME       READY   STATUS      RESTARTS   AGE
pi-v27nx   0/1     Completed   0          2m10s
[root@server2 ~]# kubectl logs pi-v27nx  输出的信息在日志里保存
3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096
[root@server2 ~]# kubectl delete -f job.yaml   删除
job.batch "pi" deleted

5、cronjob 控制器

Cron Job 创建基于时间调度的 Jobs。
一个 CronJob 对象就像 crontab (cron table) 文件中的一行,它用 Cron 格式进行编写,并周期性地在给定的调度时间执行 Job。

Cron 时间表语法

# ┌───────────── 分钟 (0 - 59)
# │ ┌───────────── 小时 (0 - 23)
# │ │ ┌───────────── 月的某天 (1 - 31)
# │ │ │ ┌───────────── 月份 (1 - 12)
# │ │ │ │ ┌───────────── 周的某天 (0 - 6) (周日到周一;在某些系统上,7 也是星期日)
# │ │ │ │ │                                   
# │ │ │ │ │
# │ │ │ │ │
# * * * * *

[root@server2 ~]# vim cronjob.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "* * * * *"   表示每分钟
  jobTemplate:   job模板
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            imagePullPolicy: IfNotPresent    
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster       在shell里面执行date命令
          restartPolicy: OnFailure   表示只要出错,就重启
[root@server2 ~]# kubectl apply -f cronjob.yaml  运行
Warning: batch/v1beta1 CronJob is deprecated in v1.21+, unavailable in v1.25+; use batch/v1 CronJob   版本 太低
[root@server2 ~]# kubectl api-versions  查看版本

在这里插入图片描述

[root@server2 ~]# kubectl get pod   每分钟运行
NAME                   READY   STATUS      RESTARTS   AGE
hello-27465276-mtdsr   0/1     Completed   0          2m5s
hello-27465277-9pnb9   0/1     Completed   0          65s
hello-27465278-5qbsj   0/1     Completed   0          5s
[root@server2 ~]# kubectl logs hello-27465278-5qbsj  查看日志里的输出
Tue Mar 22 02:38:01 UTC 2022
Hello from the Kubernetes cluster
[root@server2 ~]# kubectl delete  -f cronjob.yaml   删除
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s(三)—控制器(replicaset、deployment、daemonset、job、cronjob) 的相关文章

  • WebLogic 和 OSGi

    有没有办法在 Weblogic 应用程序服务器中运行 OSGi 容器 我知道它可以与 JBoss Glassfish 配合使用 并且可以将 Equinox servlet 桥添加到您的 OSGi 项目中 桥的实现太旧了 但我想要类似 JBo
  • 使用 CLI 通过 docker-compose 部署到 Azure 时,访问代理页面时超时

    I have docker compose file version 3 services app2 image kamilwit dockerdocker app2 container name app2 build context ap
  • 在发布中部署 PDB 文件

    我有 CI 服务器设置来构建和部署我的所有环境 包括我的生产环境 据我所知 我的所有项目文件的设置和 CI 设置在我的暂存环境构建和生产环境构建之间都是相同的 但是 当我部署到生产环境时 并没有像暂存中那样与 DLL 文件并排放置 PDB
  • Websphere 7集群部署

    我们有一个 J2EE 应用程序作为 EAR 文件 部署在 WAS 7 中 为了使应用程序可用性尽可能高 需要部署在 3 个集群中 我们有一个 Quartz Scheduler 类 其工作是每天凌晨 2 00 将数据从一个数据库上传到另一个数
  • 基础目标、活动目标、部署目标

    我知道这个问题的部分内容有多种不同的形式 但我想确保我的答案是正确的 以下是我的假设和理解 我想在提交之前知道它们是否正确 我的应用程序假定所有操作系统都支持功能 因此我应该 将Active SDK设置为最新 当前为SDK 3 0 将部署目
  • 配置Tomcat使用属性文件加载DB连接信息

    创建从属性文件读取配置参数的 Tomcat 部署的可接受做法是什么 如果能够提供 WAR 文件并指定客户端只需在特定目录中创建或编辑属性文件 那就太好了 这是一种比较常规的做事方式吗 还有比这更好的方法吗 我们经常通过提供 WAR 和 Co
  • Forever.js 启动和重新启动多个脚本

    我的 Web 应用程序有 3 个主要的 Node js 组件 网站 提要和作业 为了开始这些 我永远使用 forever js var forever require forever function start name forever
  • 反应本机iOS应用程序在部署后不显示静态/本地资产(图像)

    我将所有静态图像放在项目根目录中名为 images 的文件夹中 但是 在我运行以下命令来捆绑我的应用程序后 该应用程序可以运行 但没有显示图像 我用来捆绑的命令 react native bundle minify entry file i
  • Robocopy 将文件复制到远程计算机

    我正在尝试编写一个 robocopy 命令将文件从本地计算机复制到任何一台部署服务器 ROBOCOPY MyService bin release remote computer C services myservice MIR 我收到这个
  • 没有历史记录的 Git 存储库

    是否可以拥有一个没有历史记录的 Git 存储库 例如 我工作的地方有一个本地 Git 存储库 我想将最新版本推送到生产服务器 生产服务器上不应存储任何历史记录 我怎样才能做到这一点 你可以看看命令是否git archive http git
  • 在 SPSS 18 中指定相对路径

    在 SPSS 11 中可以指定相对路径 例子 FILE HANDLE myfile data current txt LRECL 533 DATA LIST FILE myfile 这之所以有效 是因为 SPSS 11 将工作文件夹设置为源
  • 使用 Capistrano 3 部署 git 子模块

    我的项目存储库包含 Wordpress 作为 git 子模块 通过 Capistrano 3 部署时 子模块目录是空的 project wordpress images 我正在使用 git 和 deploy via remote cache
  • 部署应用程序时无需取消部署前一个应用程序并且无需停机?

    我在 Web 应用程序中使用 Glassfish Java 和 JSP over MySQL 许多在线用户使用此网络应用程序 该网站不应关闭 当我想要部署一个新的 war 文件时 我应该在服务器上为我的应用程序取消部署并部署新的战争文件 我
  • 在远程 Tomcat 上自动部署 Java 应用程序

    我希望能够自动将 Java 应用程序部署到 tomcat 服务器 现在的情况 正在 Eclipse 中开发 Java 项目 Tomcat 服务器在另一台机器上运行 提供该项目的 WAR 文件 我的目标 可以轻松编译项目并将其部署到远程 To
  • 为什么 Yeoman 构建时没有字形图标?

    我正在研究一个webapp发电机及运行后grunt我有一个可以正确显示字体的功能应用程序 然而 当我检查dist 目录我没有得到任何字体文件 文档指出grunt命令build the application for deployment 但
  • 打包用来部署跨平台?

    在 Windows 上 应用程序通常打包为 MSI 在 Redhat Linux 上打包为 RPM 可用于将应用程序部署到所有平台 包括不同风格的 UNIX 和 Windows 的最佳开源打包方法是什么 内容包括 exe unix 二进制文
  • 如何在 Windows 中将 Electron 应用程序部署为可执行文件或可安装文件?

    我想生成一个独特的 exe文件来执行应用程序或 msi安装应用程序 怎么做 您可以使用以下方式打包您的程序电子包装机 https github com maxogden electron packager然后使用以下命令构建单个安装 EXE
  • JBoss AS 7 部署顺序和时间安排

    我对一般部署顺序和具体时间安排有疑问 我有一个 Ear 1 它通过 bean 和一些队列提供一些功能 队列在standalone xml 中配置 另一只耳朵 2 使用 Ear1 的此服务 所以依赖关系看起来像 ear1 因此 我将ear 2
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • Rails 3.1 和 Asset Pipeline:使用 Capistrano 进行部署时遇到的问题

    我刚刚从 Ruby on Rails 3 0 10 切换到 3 1 0 我想使用 Capistrano gem 部署我的资产文件 我的本地计算机是运行 Snow Leopard 的 MacO 我的远程计算机运行的是 Ubuntu 10 04

随机推荐

  • Vue.js中如何优化性能?9个小技巧分享

    Vue js中如何优化性能 xff1f 下面本篇文章给大家分享Vue js 性能优化的九个小技巧 xff0c 希望对大家有所帮助 xff01 xff08 学习视频分享 xff1a vuejs教程 xff09 01 Functional co
  • 总结分享一些基于Node.js的前端面试题(附解析)

    本篇文章给大家总结分享一些基于Node js的前端面试题 xff08 附解析 xff09 xff0c 希望对大家有所帮助 xff01 一 Node基础概念 1 1 Node是什么 Node js 是一个开源与跨平台的 JavaScript
  • 【整理总结】VSCode常用插件和好用配置(小白必看)

    本篇文章给大家总结分享一些VSCode常用插件和好用配置 xff08 超详细 xff09 希望可以给刚入坑前端的小伙伴一些帮助 本文很长 xff0c 如果能认真看完 xff0c 你一定会有所收获 一 VSCode常用插件推荐 工欲善其事 x
  • 2023年最新最全的VScode插件推荐

    这篇文章主要介绍了这么多年来我在使用 VSCode 过程中用到的一些不错的插件 这些VSCode插件 xff0c 帮你打造地表最强IDE xff01 一 主题及图标 GitHub Theme 黑白两款皮肤 Material Theme 集成
  • 聊聊VSCode中Snippet插件的使用(提高编程效率)

    本文介绍的是 VSCode Snippet 插件 xff0c 一种代码片段配置插件 xff0c 可以节省你写样板代码的时间 你可能之前学习过 VSCode Snippet 插件 xff0c 知道它的作用也学习了配置的语法 xff0c 但是你
  • 软件测试 | 普罗米修斯- 初识PromQL

    理解监控数据 之前讲过普罗米修斯自己就是一个时序数据库 xff0c 它从 exporter 拉取的数据都会按时间戳保存到对应的文件里 xff0c 这个时序数据库默认会保存 14 天的数据 而它自己也开发了一套名为 PromQL 的类 SQL
  • 【整理分享】30个让开发效率倍增的实用VSCode 插件

    本篇文章给大家总结分享30个让开发效率倍增的实用VSCode 插件 xff0c 让你的日常开发工作效率倍增 xff0c 希望对大家有所帮助 xff01 1 Image preview 通过此插件 xff0c 当鼠标悬浮在图片的链接上时 xf
  • 10个提高开发效率的Vue3常用插件(快来收藏)

    本篇文章给大家总结分享几个好用的 Vue 插件 xff0c 可以帮助开发者提高开发效率 解决移动端各种滚动场景需求 xff0c 希望对大家有所帮助 xff01 1 vue multiselect next Vue js 的通用选择 多选 标
  • 手把手带你使用Vue实现一个图片水平瀑布流插件

    如何使用Vue实现一个图片水平瀑布流插件 xff1f 这里给大家分享我在网上总结出来的一些知识 xff0c 希望对大家有所帮助 一 需求来源 今天碰到了一个需求 xff0c 需要在页面里 xff0c 用水平瀑布流的方式 xff0c 将一些图
  • vscode插件分享: 6个Vue3开发必备插件

    本篇文章给大家整理分享 6 个 Vue3 开发必备的 VSCode 插件 xff0c 可以直接用过 VSCode 的插件中心直接安装使用 xff0c 希望对大家有所帮助 xff01 1 Volar 下载数 153 万 43 相信使用 VSC
  • 11个裸VSCode必备插件,助你打造一个前端开发IDE

    VSCode 轻量 开源 xff0c 新鲜下载的 VSCode 可谓是身无长物 一穷二白 xff0c 连个项目管理的功能都没有 身轻如燕的 VSCode 对于后端开发说可能有点幼稚 xff0c 但对于前端来说刚刚好 xff0c 毕竟不需要搞
  • Ubuntu unzip 安装

    ubuntu unzip 安装以及命令参数说明 安装命令 xff1a sudo apt get install unzip 解压 zip文件命令 xff1a unzip unzip命令能够将被winzip压缩的文件解压 unzip命令的执行
  • 新建git仓库管理项目并更新代码提交git

    新建git仓库 第一步 xff1a 登录上自己的git后台 xff0c 在我的工作台的左下角 xff0c 点击仓库旁边的 43 号 xff0c 创建一个新的仓库 xff1a 第二步 xff1a 在新建仓库界面完善仓库的信息 xff0c 这里
  • CMake是什么?有什么用

    CMake CMake是一个跨平台的编译 Build 工具 可以用简单的语句来描述所有平台的编译过程 CMake能够输出各种各样的makefile或者project文件 xff0c 能测试编译器所支持的C 43 43 特性 类似UNIX下的
  • PX4系统学习

    PX4系统学习 扑翼飞行器的硬件组成飞控板电调电调的分类 舵机 扑翼飞行器的硬件组成 要了解学会二次开发首先要知道 xff0c 手头的飞行器的硬件结构 以及各个部分的结构是有何种作用的 xff0c 这样才能在根本上了解编程逻辑 xff0c
  • rostopic echo --noarr查看激光雷达数据详细信息(如frame_id)

    用rostopic echo 激光雷达话题名查看激光雷达返回的数据 xff0c 除了数字什么也显示不出来 想要查看激光雷达数据的frame id等信息 xff0c 加上 noarr参数即可 xff0c 排除话题数据中的数组信息 如图二所示
  • Django基本数据访问

    当需要操作数据时 xff0c 不再需要通过SQL语句 xff0c Django自动为这些模型提供了高级的Python API 接下来联系数据库表的操作 xff0c 运行manage py提供的shell语句 guest gt python3
  • SVO2.0 安装编译

    SVO2 OPEN https github com uzh rpg rpg svo pro open git挂梯子 https blog csdn net qq 33349365 article details 101514412 如果各
  • k8s(一)—pod管理、资源清单编写

    1 pod管理 k8s官方文档 root 64 server2 kubectl run nginx image 61 nginx 运行一个容器 xff0c 镜像为nginx pod nginx created root 64 server2
  • k8s(三)—控制器(replicaset、deployment、daemonset、job、cronjob)

    1 控制器简介 2 Replicaset控制器 root 64 server2 vim rs yaml apiVersion apps v1 kind ReplicaSet metadata name replicaset example