【云原生之k8s】k8s管理工具kubectl详解

2023-05-16

【云原生之k8s】k8s管理工具kubectl详解

  • 前言
  • 一、陈述式管理
    • (1)陈述式资源管理方法
    • (2)k8s相关信息查看
      • ①查看版本信息
      • ②查看节点信息
      • ③查看资源对象简写
      • ④查看集群信息
      • ⑤配置kubectl自动补全
      • ⑥查看日志
      • ⑦基本信息查看
        • 1、查看master节点状态
        • 2、查看命名空间
      • ⑧命名空间操作
        • 1、查看default命名空间的所有资源
        • 2、创建命名空间
        • 3、删除命名空间
      • ⑨deployment/pod操作
        • 1、在命名空间kube-public创建副本控制器(deploment)来启动Pod(nginx-test)
        • 2、描述某个资源的详细信息
        • 3、查看命名空间kube-public中pod信息
        • 4、登录容器
        • 5、测试(重启)pod资源
        • 6、若无法删除,总是处于terminate状态,则要强行删除pod
        • 7、扩缩容
          • 7.1扩容
          • 7.2缩容
        • 8、删除副本控制器
      • ⑩删除/增加label
        • 1、增加label
        • 2、删除label
  • 二、声明式管理
    • (1)声明式管理方法
    • (2)查看资源配置清单
    • (3)解释资源配置清单
    • (4)修改资源配置清单并应用
      • ①离线修改
        • 1、修改yaml文件
        • 2、删除资源
        • 3、新建资源
        • 4、查看service资源
      • ②在线修改
    • (5)删除资源配置清单
      • ①陈述式删除
      • ②声明式删除
  • 三、K8S模拟项目
    • (1)项目的生命周期
    • (2)创建kubectl run命令
    • (3)发布kubectl expose命令
      • ①Service的作用
      • ②Service的类型
      • ③查看Pod网络状态详细信息和service暴露端口
      • ④查看关联后端的节点
        • ⑤查看service的描述信息
      • ⑥访问查看
      • ⑦查看访问日志
    • (4)更新kubectl set
      • ①获取修改模板
      • ②查看当前nginx的版本号
      • ③将nginx版本更新为1.15
      • ④监听pod状态
      • ⑤查看pod的ip变化
    • (5)回滚kubectl rollout
      • ①查看历史版本
      • ②执行回滚到上个版本
      • ③执行回滚到指定版本
      • ④检查回滚状态
    • (6)删除kubectl delete
      • ①删除副本控制器
      • ②删除service
  • 四、金丝雀发布/灰度发布(Canary Release)
    • (1)金丝雀发布简介
    • (2)更新deployment的版本,并配置暂停deployment
      • ①创建pod
      • ②发布服务
      • ③查看nginx版本
      • ④定义版本change-cause
        • 1、查看历史版本
        • 2、定义版本
        • 3、再次查看历史版本
        • 4、更新nginx版本为1.15并配置暂停
        • ⑤观察更新状态
        • ⑥监控更新的过程
        • ⑦查看nginx版本
        • ⑧查看并更新历史版本change-cause
        • ⑨resume继续更新

前言

一、陈述式管理

(1)陈述式资源管理方法

  1. kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
  2. kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
  3. kubectl 的命令大全
    kubectl --help
  4. k8s官方中文文档:http://docs.kubernetes.org.cn/683.html
  5. 对资源的增、删、查操作比较容易,但对改的操作就不容易了

(2)k8s相关信息查看

①查看版本信息

kubectl version

在这里插入图片描述

②查看节点信息

kubectl get nodes

在这里插入图片描述

③查看资源对象简写

kubectl api-resources

在这里插入图片描述

④查看集群信息

kubectl cluster-info

在这里插入图片描述

⑤配置kubectl自动补全

 source <(kubectl completion bash)

可通过TAB键实现命令补全,建议将其写入 /etc/profile

⑥查看日志

journalctl -u kubelet -f

在这里插入图片描述

⑦基本信息查看

kubectl get [-o wide|json|yaml] [-n namespace]

获取资源的相关信息,-n指定命名空间,-o指定输出格式
resource可以是具体资源名称,如"pod nhinx-xxx";也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅展示几种核心资源,并不完整)

  1. –all-namespaces或-A:表示显示所有命名空间
  2. –show-labels:显示所有标签
  3. -l app:仅显示标签为app的资源
  4. -l app=nginx:仅显示包含app标签,且值为nginx的资源

1、查看master节点状态

kubectl get componentstatuses

#componentstatues可以缩写成cs
kubectl get cs

在这里插入图片描述

2、查看命名空间

kubectl get namespace

#namespace可以缩写成ns
kubectl get ns

在这里插入图片描述

⑧命名空间操作

1、查看default命名空间的所有资源

kubectl get all [-n default]

由于deafult为缺省空间,当不指定命名空间时默认查看default命名空间

在这里插入图片描述

2、创建命名空间

kubectl create ns lcdb

在这里插入图片描述

3、删除命名空间

kubectl delete ns lcdb

在这里插入图片描述

⑨deployment/pod操作

1、在命名空间kube-public创建副本控制器(deploment)来启动Pod(nginx-test)

kubectl create deployment nginx-test --image=nginx -n kube-public

在这里插入图片描述

2、描述某个资源的详细信息

kubectl describe deployment nginx-test -n kube-public

在这里插入图片描述

kubectl describe pod nginx-test -n kube-public

在这里插入图片描述

3、查看命名空间kube-public中pod信息

kubectl get pods -n kube-public

在这里插入图片描述

4、登录容器

kubectl exec 可以跨主机登录容器,docker exec 只能在容器所在主机登录

kubectl exec -it nginx-test-795d659f45-lqjcb bash -n kube-public

在这里插入图片描述

5、测试(重启)pod资源

由于存在 deployment/rc 之类的副本控制器,删除 pod 也会重新拉起来

kubectl delete pod nginx-test-795d659f45-lqjcb -n kube-public
kubectl get pod -n kube-public

在这里插入图片描述

6、若无法删除,总是处于terminate状态,则要强行删除pod

kubectl delete pod [] -n [] --force --grace-period=0

grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅的退出,0表示立即终止pod

在这里插入图片描述

7、扩缩容

7.1扩容
kubectl scale deployment nginx-test --replicas=3 -n kube-public

在这里插入图片描述

7.2缩容
kubectl scale deployment nginx-test --replicas=1 -n kube-public

在这里插入图片描述

8、删除副本控制器

kubectl delete deployment nginx-test -n kube-public

在这里插入图片描述

⑩删除/增加label

1、增加label

kubectl label deploy nginx-test version=nginx1.14

在这里插入图片描述

2、删除label

kubectl label deploy nginx-test version-

在这里插入图片描述

二、声明式管理

(1)声明式管理方法

  1. 适合于对资源的修改操作
  2. 声明式资源管理方法依赖于资源配置清明文件对资源进行管理
  3. 资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)
  4. 对资源的观念里,是通过实现定义在同一资源配置清单内,再通过陈述式命令应用到k8s集群里
  5. 语法格式:kubectl create/apply/delete -f -o yaml

(2)查看资源配置清单

kubectl get deploy/nginx -o yaml

在这里插入图片描述

kubectl get service nginx -o yaml

在这里插入图片描述

(3)解释资源配置清单

kubectl explain deployment.metadata

在这里插入图片描述

kubectl explain service.metadata

在这里插入图片描述

(4)修改资源配置清单并应用

①离线修改

1、修改yaml文件

修改yaml文件:并用kubectl apply -f xxxx.yaml文件使之生效
注意:当apply不生效时,先使用delete清除资源,再apply创建资源

kubectl get service nginx-service -o yaml > nginx-svc.yaml

在这里插入图片描述

2、删除资源

kubectl delete -f nginx-svc.yaml

在这里插入图片描述

3、新建资源

kubectl apply -f nginx-svc.yaml

在这里插入图片描述

4、查看service资源

kubectl get svc

在这里插入图片描述

②在线修改

直接使用kubectl edit service nginx在线编辑配置资源清单并保存退出即时生效(如port: 888)

PS:此修改方式不会对yaml文件内容修改

kubectl edit service nginx

在这里插入图片描述
查看service资源

kubectl get svc

在这里插入图片描述

(5)删除资源配置清单

①陈述式删除

kubectl delete service nginx-service

在这里插入图片描述

②声明式删除

kubectl delete -f nginx-svc.yaml

在这里插入图片描述

三、K8S模拟项目

Kubectl是管理k8s集群的命令行工具,通过生成的json格式传递给apiserver进行创建、查看、管理的操作。

//帮助信息
[root@localhost bin]# kubectl --help
kubectl controls the Kubernetes cluster manager. 

Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/

Basic Commands (Beginner):
  create         Create a resource from a file or from stdin.
  expose         使用 replication controller, service, deployment 或者 pod
并暴露它作为一个 新的 Kubernetes Service
  run            在集群中运行一个指定的镜像
  set            为 objects 设置一个指定的特征

Basic Commands (Intermediate):
  explain        查看资源的文档
  get            显示一个或更多 resources
  edit           在服务器上编辑一个资源
  delete         Delete resources by filenames, stdin, resources and names, or by resources and
label selector

Deploy Commands:
  rollout        Manage the rollout of a resource
  scale          为 Deployment, ReplicaSet, Replication Controller 或者 Job
设置一个新的副本数量
  autoscale      自动调整一个 Deployment, ReplicaSet, 或者 ReplicationController的副本数量

Cluster Management Commands:
  certificate    修改 certificate 资源.
  cluster-info   显示集群信息
  top            Display Resource (CPU/Memory/Storage) usage.
  cordon         标记 node 为 unschedulable
  uncordon       标记 node 为 schedulable
  drain          Drain node in preparation for maintenance
  taint          更新一个或者多个 node 上的 taints

Troubleshooting and Debugging Commands:
  describe       显示一个指定 resource 或者 group 的 resources 详情
  logs           输出容器在 pod 中的日志
  attach         Attach 到一个运行中的 container
  exec           在一个 container 中执行一个命令
  port-forward   Forward one or more local ports to a pod
  proxy          运行一个 proxy 到 Kubernetes API server
  cp             复制 files 和 directories 到 containers 和从容器中复制 files 和
directories.
  auth           Inspect authorization

(1)项目的生命周期

创建–>发布–>更新–>回滚–>删除

(2)创建kubectl run命令

  1. 创建并运行一个或多个容器镜像
  2. 创建一个deployment或job来管理容器
  3. kubectl run --help查看使用帮助

启动nginx实例,暴露容器端口80,设置副本数3

kubectl run nginx-deployment --image=nginx:1.14 --port=80 --replicas=3

在这里插入图片描述
使用run报错
k8sv1.18.0以后的版本, --replicas以后弃用该命令,推荐使用deployment创建pods
我这里用的是1.21.3版本

  1. 想创建多个实例时可以使用:kubectl create deployment pg102 --image=pg:12 –port=5432 --replicas=3 来进行创建;

  2. 查看pod: kubectl get pod,用来查看使用命令创建的所有实例

  3. 查看deploy:kubectl get deploy,用来查看实例所创建的数量;

  4. 高于1.17版本的建议以后直接使用create deployment创建pod管理器方式创建pod;

    kubectl create deployment nginx --image=nginx:1.14 --port=80 --replicas=3
    

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

(3)发布kubectl expose命令

将资源暴露为新的service

为Deployment的nginx创建Service,并通过Service的80端口转发至容器的80端口上,Service的名称为nginx-service,类型为NodePort

kubectl expose deployment nginx2 --port=80 --target-port=80 --name=nginx-service --type=NodePort

在这里插入图片描述

①Service的作用

  1. Kubernetes之所以需要Service,一方面是因为Pod的IP不是固定的(Pod可能会重建),另一方面是因为一组Pod实例之间总会有负载均衡的需求。
  2. Service通过Label Selector实现的对一组的Pod的访问。
  3. 对于容器应用而言,Kubernetes提供了基于VIP(虚拟IP)的网桥的方式访问Service,再由Service重定向到相应的Pod。

②Service的类型

  1. ClusterIP:提供一个集群内部的虚拟IP以供Pod访问(Service默认类型)
  2. NodePort:在每个Node上打开一个端口以供外部访问,Kubernetes将会在每个Node上打开一个端口并且每个Node的端口都是一样的,通过NodeIP:NodePort的方式
  3. LoadBalancer:通过外部的负载均衡器来访问,通常在云平台部署LoadBalancer还需要额外的费用。

③查看Pod网络状态详细信息和service暴露端口

kubectl get pods,svc -o wide

在这里插入图片描述

④查看关联后端的节点

kubectl get endpoints

在这里插入图片描述

⑤查看service的描述信息

kubectl describe svc nginx

在这里插入图片描述

⑥访问查看

在这里插入图片描述

kubectl describe svc nginx | grep NodePort
curl 192.168.159.230:32683

在这里插入图片描述

⑦查看访问日志

kubectl logs []

在这里插入图片描述

(4)更新kubectl set

  • 更改现有应用资源一些信息。

kubectl set --help查看使用帮助

①获取修改模板

kubectl set image --help获取

在这里插入图片描述

②查看当前nginx的版本号

在这里插入图片描述

③将nginx版本更新为1.15

kubectl set image deployment/nginx nginx=nginx:1.15

在这里插入图片描述

④监听pod状态

处于动态监听pod状态,由于使用的是滚动更新方式,所以会先生成一个新的pod,然后删除一个旧的pod,往后以此类推

kubectl get pods -w

在这里插入图片描述
注:更新规则可通过“kubetl describe deployment nginx”的“RollingUpdateStrategy”查看,默认配置为“25% max unavailable, 25% max surge”,即按照25%的比例进行滚动更新。

在这里插入图片描述

⑤查看pod的ip变化

kubectl get pod -o wide

在这里插入图片描述

(5)回滚kubectl rollout

  • 对资源进行回滚管理

kubectl rollout --help查看使用帮助

①查看历史版本

kubectl rollout history deployment/nginx

在这里插入图片描述

②执行回滚到上个版本

kubectl rollout undo deployment/nginx
kubectl get pods -o wide

在这里插入图片描述
查看nginx当前版本
在这里插入图片描述

③执行回滚到指定版本

查看历史版本
在这里插入图片描述
回到revison2,即1.15版本

kubectl rollout undo deployment/nginx --to-revision=2

在这里插入图片描述

④检查回滚状态

kubectl rollout status deployment/nginx

在这里插入图片描述

(6)删除kubectl delete

①删除副本控制器

kubectl delete deployment/nginx

在这里插入图片描述

②删除service

kubectl delete svc/nginx-service

在这里插入图片描述

四、金丝雀发布/灰度发布(Canary Release)

(1)金丝雀发布简介

Deployment控制器支持自定义控制更新过程中的滚动节奏,如“暂停(pause)”或“继续(resume)”更新操作。比如等待第一批新的Pod资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本。然后,在筛选一小部分的用户请求路由到新版本的Pod应用,继续观察能否稳定地按期望的方式运行。确定没问题之后再继续完成余下的Pod资源滚动更新,否则立即回滚更新操作。这就是所谓的金丝雀发布。

(2)更新deployment的版本,并配置暂停deployment

①创建pod

kubectl create deployment nginx-test --image=nginx:1.14 --replicas=3
kubectl get pods,deploy -o wide

在这里插入图片描述

②发布服务

kubectl expose deploy nginx-test --port=80 --target-port=80 --name=nginx-service --type=NodePort
kubectl get svc -o wide

在这里插入图片描述

③查看nginx版本

curl -I 192.168.159.230:31114
kubectl describe deployment nginx-test | grep Image

在这里插入图片描述

④定义版本change-cause

1、查看历史版本

在不定义CHANGE-CAUSE的情况下,缺省值为,当历史版本较多时,不便于咱们回滚时辨认版本号。因此,建议定义CHANGE-CAUSE为服务版本以帮助咱们辨认当前服务。

kubectl rollout history deploy/nginx-test

在这里插入图片描述

2、定义版本

一般通过修改配置的方式定义change-cause

kubectl edit deploy/nginx-test

......
kind: Deployment
metadata:
  annotations:
#下行可定义历史版本revision
    deployment.kubernetes.io/revision: "1"
#在Deployment的matadata项下的annotations中如下行定义change-cause
    kubernetes.io/change-cause: "nginx1.14"
......

在这里插入图片描述

3、再次查看历史版本

kubectl rollout history deploy/nginx-test

在这里插入图片描述

4、更新nginx版本为1.15并配置暂停

kubectl set image deploy/nginx-test nginx=nginx:1.15 && kubectl rollout pause deploy/nginx-test

在这里插入图片描述

⑤观察更新状态

kubectl rollout status deploy/nginx-test

在这里插入图片描述

⑥监控更新的过程

可以看到已经新增了一个pod,但是并未按照预期的状态去删除一个旧的资源,就是因为使用了pause暂停命令

kubectl get pods -w

在这里插入图片描述

⑦查看nginx版本

kubectl get pod -o wide

在这里插入图片描述

⑧查看并更新历史版本change-cause

kubectl rollout history deploy/nginx-test

在这里插入图片描述

kubectl edit deploy/nginx-test

kind: Deployment
metadata:
  annotations:
#下行的revison自动更新为2
    deployment.kubernetes.io/revision: "2"
#修改下行的change-cause为nginx1.15
    kubernetes.io/change-cause: nginx1.15

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

⑨resume继续更新

测试版本没问题继续更新

kubectl rollout resume deploy/nginx-test

在这里插入图片描述

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

【云原生之k8s】k8s管理工具kubectl详解 的相关文章

  • 深度学习(23):SmoothL1Loss损失函数

    0 基本介绍 SmoothL1Loss是一种常用的损失函数 xff0c 通常用于回归任务中 xff0c 其相对于均方差 MSE 损失函数的优势在于对异常值 如过大或过小的离群点 的惩罚更小 xff0c 从而使模型更加健壮 SmoothL1L
  • Jetson Nano\NX\AGX 学习笔记

    Jetson Nano NX AGX 学习笔记 1 jetson平台安装pytorch torchvision2 yolov5模型部署deepstream x86 jetson平台2 0 下载 96 deepstream6 1 96 2 1
  • jetson系列硬件性能对比

    参考 Jetson Modules https developer nvidia com embedded jetson modules 第一种 4G 价格 1000元 1x 4K30 2x1080p60 4x1080p30 4x720p6
  • 遍历_EPROCESS->ObjectTable->HandleTableList链表枚举进程

    include lt ntifs h gt include lt ntddk h gt UCHAR PsGetProcessImageFileName in PEPROCESS Process HANDLE PsGetProcessInhe
  • Ubunut18.04安装Autoware1.12

    官方提供了两种安装Autoware的方法 xff1a Docker和Source两种方式 下边以Ubuntu18 04环境为例 xff0c 记录Source的安装方法 1 配置要求 1 1硬件 1 2软件 Qt安装 qmake span c
  • PuTTY在远程连接服务器之后,经常会断线提示“Software caused connection abort”,而且经常在很短的时间内就失去连接

    解决方案如下 xff1a 第一步 xff1a 设置服务器 1 修改服务器中 etc ssh sshd config 文件 xff0c 将LoginGraceTime的值设为0 xff0c TCPKeepAlive 设为yes 2 servi
  • Go语言循环语句

    Go语言循环语句 资料参考至菜鸟教程 在不少实际问题中有许多具有规律性的重复操作 xff0c 因此在程序中就需要重复执行某些语句 以下为大多编程语言循环程序的流程图 xff1a Go语言提供了以下几种类型循环处理语句 xff1a 循环类型描
  • Lua 协同程序(coroutine)

    Lua 协同程序 coroutine 参考文章 xff1a 菜鸟教程 https zhuanlan zhihu com p 480357405 https zhuanlan zhihu com p 76249973 Lua 协同程序 cor
  • Lua 变量

    Lua 变量 参考至菜鸟教程 变量在使用前 xff0c 需要在代码中进行声明 xff0c 即创建该变量 变量需要标识类型是因为编译程序执行代码之前需要知道如何给语句变量开辟存储区 xff0c 用于存储变量的值 Lua变量有三种类型 xff1
  • Lua 函数 - 可变参数

    Lua 函数 可变参数 参考至菜鸟教程 Lua函数可以接收可变数目的参数 xff0c 和C语言类似 xff0c 在函数参数列表中使用三点 表示函数有可变的参数 span class token keyword function span s
  • Lua 运算符 - 较为特殊部分

    Lua 运算符 较为特殊部分 参考至菜鸟教程 算术运算符 操作符描述实例 乘幂A 2 输出结果 100 负号 A 输出结果 10 整除运算符 gt 61 lua5 3 5 2 输出结果 2 在 lua 中 xff0c 用作除法运算 xff0
  • python(9):python循环打印进度条

    1 while 循环 Python的while循环可以打印进度条 xff0c 可以使用tqdm这个库来实现 tqdm是一个用于在Python中添加进度条的库 xff0c 它可以很容易地集成到while循环中 下面是一个简单的示例 xff0c
  • 平衡车直立PID调节总结

    苦战一周 xff0c 终于使平衡小车站了起来 xff0c PID无疑是我从学习板子至今遇到最困难的东西了 xff0c 并不是说它原理有多么复杂 xff0c 只是想让小车的效果更佳 xff0c 调参的过程无疑是漫长而艰难的 连续调了俩天的参数
  • Lua 字符串

    Lua 字符串 参考至菜鸟教程 字符串或串 String 是由数字 字母 下划线组成的一串字符 Lua 语言中字符串可以使用以下三种方式来表示 xff1a 单引号间的一串字符 双引号间的一串字符 与 间的一串字符 以上三种方式的字符串实例如
  • Lua 迭代器

    Lua 迭代器 参考文章 xff1a 菜鸟教程 https cloud tencent com developer article 2203215 迭代器 xff08 iterator xff09 是一种对象 xff0c 它能够用来遍历标准
  • Lua table(表)

    Lua table 表 参考至菜鸟教程 Lua table 使用关联型数组 xff0c 你可以用任意类型的值来作数组的索引 xff0c 但这个值不能是 nil Lua table 是不固定大小的 xff0c 你可以根据自己需要进行扩容 Lu
  • Lua 模块与包

    Lua 模块与包 参考至菜鸟教程 模块类似于一个封装库 xff0c 从 Lua 5 1 开始 xff0c Lua 加入了标准的模块管理机制 xff0c 可以把一些公用的代码放在一个文件里 xff0c 以 API 接口的形式在其他地方调用 x
  • Lua 文件I/O

    Lua 文件I O 参考至菜鸟教程 Lua I O 库用于读取和处理文件 分为简单模式 xff08 和C一样 xff09 完全模式 简单模式 xff08 simple model xff09 拥有一个当前输入文件和一个当前输出文件 xff0
  • Lua 错误处理

    Lua 错误处理 参考至菜鸟教程 程序运行中错误处理是必要的 xff0c 在我们进行文件操作 xff0c 数据转移及web service 调用过程中都会出现不可预期的错误 如果不注重错误信息的处理 xff0c 就会造成信息泄露 xff0c
  • Lua 调试(Debug)

    Lua 调试 Debug 参考至菜鸟教程 Lua 提供了 debug 库用于提供创建我们自定义调试器的功能 Lua 本身并未有内置的调试器 xff0c 但很多开发者共享了他们的 Lua 调试器代码 Lua 中 debug 库包含以下函数 x

随机推荐

  • Lua 垃圾回收

    Lua 垃圾回收 参考至菜鸟教程 Lua 采用了自动内存管理 这意味着你不用操心新创建的对象需要的内存如何分配出来 xff0c 也不用考虑在对象不再被使用后怎样释放它们所占用的内存 Lua运行了一个垃圾收集器来收集所有死对象 xff08 即
  • Lua 面向对象(详解)

    Lua 面向对象 xff08 详解 xff09 参考文章 xff1a https blog csdn net linxinfa article details 103254828 https zhuanlan zhihu com p 115
  • Lua实现矩阵的加减乘除

    Lua实现矩阵的加减乘除 参考文章 xff1a https blog csdn net qq 54180412 article details 122943327 https www bilibili com video BV1434y18
  • ubuntu系统配置大恒相机驱动并读取ros话题

    文章目录 0 说明1 安装大恒相机sdk1 1 下载1 2 安装sdk 用于配置ip和调试相机参数 1 电脑网卡配置 网卡固定ip 2 查看相机图像以及配置相机参数 2 安装ros驱动包 注 xff1a 大恒相机官方没ros驱动 2 0 正
  • C++类对象与Lua之间的交互

    C 43 43 类对象与Lua之间的交互 C语言与Lua进行交互 xff0c 我们可以相对轻易的做到 xff0c 但在实际应用中我们更加偏向于使用C 43 43 与Lua进行交互 xff0c 面向对象编程 关于C语言与Lua之间的调用交互实
  • C++与Lua交互实例 -- 矩阵的加减乘除(版本一)

    C 43 43 与Lua交互实例 矩阵的加减乘除 xff08 版本一 xff09 关于lua中封装的类模板以及相关知识可参考以下链接 xff1a https ufgnix0802 blog csdn net article details
  • C++与Lua交互实例 -- 矩阵的加减乘除(版本二)

    C 43 43 与Lua交互实例 矩阵的加减乘除 xff08 版本二 xff09 TIPS xff1a 关于使用矩阵的加减乘除测试C 43 43 与Lua的交互以及下面没讲述到的知识点可以阅读第一版 xff1a https blog csd
  • Windows下LuaBridge2.8的环境配置及简单应用

    Windows下LuaBridge2 8的环境配置及简单应用 LuaBridge2 8下载链接 xff1a https github com vinniefalco LuaBridge tags 关于Lua的环境配置可参考以下链接 xff0
  • Lua 开发过程中常见坑

    Lua 开发过程中常见坑 Lua next span class token keyword return span G span class token punctuation span span class token function
  • 私网与公网地址转换

    私网与公网地址转换 NAT概述NAT功能静态NAT动态NATEASYIP xff08 多个内网地址对一个接口 xff09 PAT端口多路复用 NAT概述 NAT xff08 Network Address Translation xff0c
  • VWmare安装CentOS7及连接Xshell超详细过程(图文)

    VWmare安装CentOS7及连接Xshell超详细过程 xff08 图文 xff09 前言一 准备工作二 安装虚拟机过程 1 选择文件 xff0c 新建虚拟机 2 选择配置类型 3 自定义硬件配置 4 进入系统安装界面 二 连接Xshe
  • rpm与yum

    rpm与yum 前言一 应用程序与命令系统的关系二 典型应用程序的目录结构三 常见的软件封装类型四 rpm 1 概述 2 命令概述 3 查询rpm软件包信息 查询已安装的rpm软件信息 查询未安装的rpm软件包文件中的信息 安装 升级 卸载
  • Linux用户与权限管理

    Linux用户与权限管理 前言一 管理用户账号 1 用户账号概述 用户标识UID xff08 User IDentity xff0c 用户标识号 xff09 用户账号文件 2 用户账号管理 添加用户账号 xff08 useradd xff0
  • yum源仓库

    yum源仓库 前言一 yum介绍一 yum源的提供方式 1 配置本地仓库 2 配置ftp源 三 yum命令 1 yum常用的操作 2 搜索软件包命令 3 安装升级 4 软件卸载 5 yun history命令 总结 前言 yum相对与rpm
  • C++常见问题的总结

    1 C语言跟C 43 43 的关系 xff1a xff08 1 xff09 C语言跟C 43 43 的本质区别 xff1a 1 xff09 c更倾向于面向过程 xff0c c 43 43 是面向过程 43 面向对象 43 泛型编程 2 xf
  • Nginx Rewrite

    Nginx Rewrite 前言一 nginx rewrite概述 1 概述 2 跳转场景 3 跳转实现 4 rewrite实际场景 nginx跳转需要的实现方式 rewrite放在server if location 段中 对域名或参数字
  • Dockerfile概念简介

    Dockerfile概念简介 前言一 dockerfile概念二 Docker镜像的创建 1 基于现有镜像创建 2 基于本地模板创建 3 基于dockerfile创建 dockerfile结构 xff08 四部分 xff09 构建镜像命令
  • 【云原生之k8s】k8s基础详解

    云原生之k8s k8s基础详解 前言一 kubernetes介绍 1 kubernetes简介 2 应用部署方式的演变 二 kubernetes组件 1 kubernetes架构 2 master组件 apiserver controlle
  • 【云原生之k8s】kubeadm搭建k8s集群

    云原生之k8s kubeadm搭建k8s集群 前言一 集群介绍 1 集群搭建方法 2 集群架构 二 集群部署 1 环境部署 所有节点 xff0c 关闭防火墙规则 xff0c 关闭selinux xff0c 关闭swap交换 修改主机名 xf
  • 【云原生之k8s】k8s管理工具kubectl详解

    云原生之k8s k8s管理工具kubectl详解 前言一 陈述式管理 1 陈述式资源管理方法 2 k8s相关信息查看 查看版本信息 查看节点信息 查看资源对象简写 查看集群信息 配置kubectl自动补全 查看日志 基本信息查看1 查看ma