镜像导入、标签设置与应用、探针测试

一、镜像导入

1、master主机下载镜像并打包

 [root@k8s-master ~]# docker pull nginx:1.20.0[root@k8s-master ~]# docker pull nginx:1.21.0[root@k8s-master ~]# docker pull nginx:1.25.0[root@k8s-master ~]# docker pull busybox:latest[root@k8s-master ~]# docker save -o nginx.1.20.0.tar nginx:1.20.0[root@k8s-master ~]# docker save -o nginx.1.21.0.tar nginx:1.21.0[root@k8s-master ~]# docker save -o nginx.1.25.0.tar nginx:1.25.0[root@k8s-master ~]# docker save -o busybox.tar busybox:latest

2、master主机将打包好的镜像传给node主机

 [root@k8s-master ~]# scp ~/*.tar k8s-node01:~[root@k8s-master ~]# scp ~/*.tar k8s-node02:~

3、node主机将tar包里的镜像导入container中

 [root@k8s-node01 ~]# ctr -n k8s.io images import haproxy.tar --platform=linux/amd64[root@k8s-node01 ~]# ctr -n k8s.io images import nginx.1.20.0.tar --platform=linux/amd64[root@k8s-node01 ~]# ctr -n k8s.io images import nginx.1.21.0.tar --platform=linux/amd64[root@k8s-node01 ~]# ctr -n k8s.io images import nginx.1.25.0.tar --platform=linux/amd64[root@k8s-node02 ~]# ctr -n k8s.io images import haproxy.tar --platform=linux/amd64[root@k8s-node02 ~]# ctr -n k8s.io images import nginx.1.20.0.tar --platform=linux/amd64[root@k8s-node02 ~]# ctr -n k8s.io images import nginx.1.21.0.tar --platform=linux/amd64[root@k8s-node02 ~]# ctr -n k8s.io images import nginx.1.25.0.tar --platform=linux/amd64

4、node主机查看镜像是否导入成功

 [root@k8s-node01 ~]# crictl imagesIMAGE                                                            TAG                 IMAGE ID            SIZEdocker.io/library/busybox                                        latest              6fd955f66c231       4.5MBdocker.io/library/nginx                                          1.20.0              7ab27dbbfbdf4       137MBdocker.io/library/nginx                                          1.21.0              4f380adfc10f4       137MBdocker.io/library/nginx                                          1.25.0              7d3c40f240e18       147MB[root@k8s-node02 ~]# crictl imagesIMAGE                                                            TAG                 IMAGE ID            SIZEdocker.io/library/busybox                                        latest              6fd955f66c231       4.5MBdocker.io/library/nginx                                          1.20.0              7ab27dbbfbdf4       137MBdocker.io/library/nginx                                          1.21.0              4f380adfc10f4       137MBdocker.io/library/nginx                                          1.25.0              7d3c40f240e18       147MB

二、创建deployment控制器

 # 命令行形式将创建deployment控制器,控制创建3个pod的内容以yaml文本的形式放到一个yaml文件中[root@k8s-master test]# kubectl create deployment nginx000 --image=docker.io/library/nginx:latest --replicas=3  -o yaml --dry-run=client > t002.yaml[root@k8s-master test]# ls001.yaml  t002.yaml# 查看生成的yaml文件,并修改一定内容[root@k8s-master test]# vim t002.yaml apiVersion: apps/v1kind: Deploymentmetadata:creationTimestamp: nulllabels:app: nginx000name: nginx000spec:replicas: 3selector:matchLabels:app: nginx000strategy: {}template:metadata:creationTimestamp: nulllabels:app: nginx000spec:containers:- image: docker.io/library/nginx:latest添加一行 imagePullPolicy: Never  name: nginxresources: {}status: {}# 使用yaml文件创建一个deployment控制器,并创建3个pod[root@k8s-master test]# kubectl create -f t002.yaml deployment.apps/nginx000 created[root@k8s-master test]# kubectl get podNAME                        READY   STATUS    RESTARTS       AGEnginx000-59644ff59b-5r2h5   1/1     Running   0              2snginx000-59644ff59b-7rw4p   1/1     Running   0              2snginx000-59644ff59b-xxj88   1/1     Running   0              2st001                        1/1     Running   13 (10s ago)   34m

三、标签

1、查看筛选标签

 # 查看有xxx标签的pod[root@k8s-master test]# kubectl get pods --namespace default -L APPNAME       READY   STATUS             RESTARTS        AGE   APPt001       0/1     CrashLoopBackOff   9 (2m17s ago)   23m   test0007   1/1     Running            0               44m   test001    1/1     Running            0               49m   [root@k8s-master test]# kubectl get pods --namespace default -L nameNAME       READY   STATUS             RESTARTS        AGE   NAMEt001       0/1     CrashLoopBackOff   9 (2m57s ago)   23m   t001test0007   1/1     Running            0               45m   test0007test001    1/1     Running            0               50m  # 筛选带有xxx标签的pod[root@k8s-master test]# kubectl get pods -n default -l nameNAME       READY   STATUS             RESTARTS        AGEt001       0/1     CrashLoopBackOff   9 (4m33s ago)   25mtest0007   1/1     Running            0               46m[root@k8s-master test]# kubectl get pods -n default -l abcNo resources found in default namespace.

2、命令行形式为pod设置标签

 [root@k8s-master test]# kubectl label pod nginx000-59644ff59b-2xvfs abc=xpod/nginx000-59644ff59b-2xvfs labeled[root@k8s-master test]# kubectl get po --show-labelsNAME                        READY   STATUS    RESTARTS         AGE     LABELSnginx000-59644ff59b-2xvfs   1/1     Running   0                99s     abc=x,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-5r2h5   1/1     Running   0                6m52s   app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-7rw4p   1/1     Running   0                6m52s   app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-njkt8   1/1     Running   0                99s     app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-xhmfw   1/1     Running   0                99s     app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-xxj88   1/1     Running   0                6m52s   app=nginx000,pod-template-hash=59644ff59bt001                        1/1     Running   14 (5m51s ago)   41m     name=t001test0007                    1/1     Running   0                62m     name=test0007test001                     1/1     Running   0                67m     run=test001[root@k8s-master test]# kubectl edit pod nginx000-59644ff59b-2xvfsEdit cancelled, no changes made.

 [root@k8s-master test]# kubectl label pod nginx000-59644ff59b-5r2h5 abc=ypod/nginx000-59644ff59b-5r2h5 labeled[root@k8s-master test]# kubectl label pod nginx000-59644ff59b-7rw4p abc=zpod/nginx000-59644ff59b-7rw4p labeled[root@k8s-master test]# kubectl label pod nginx000-59644ff59b-njkt8 abc=jpod/nginx000-59644ff59b-njkt8 labeled[root@k8s-master test]# kubectl label pod nginx000-59644ff59b-xhmfw abc=fpod/nginx000-59644ff59b-xhmfw labeled[root@k8s-master test]# kubectl label pod nginx000-59644ff59b-xxj88 abc=spod/nginx000-59644ff59b-xxj88 labeled[root@k8s-master test]# kubectl get po --show-labelsNAME                        READY   STATUS             RESTARTS        AGE     LABELSnginx000-59644ff59b-2xvfs   1/1     Running            0               6m17s   abc=x,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-5r2h5   1/1     Running            0               11m     abc=y,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-7rw4p   1/1     Running            0               11m     abc=z,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-njkt8   1/1     Running            0               6m17s   abc=j,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-xhmfw   1/1     Running            0               6m17s   abc=f,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-xxj88   1/1     Running            0               11m     abc=s,app=nginx000,pod-template-hash=59644ff59bt001                        0/1     CrashLoopBackOff   15 (3m8s ago)   45m     name=t001test0007                    1/1     Running            0               67m     name=test0007test001                     1/1     Running            0               72m     run=test001

3、筛选标签并查看pod的详细标签

 # 筛选带有abc=y标签的pod并查看它的所有标签[root@k8s-master test]# kubectl get pod -l abc=y --show-labelsNAME                        READY   STATUS    RESTARTS   AGE   LABELSnginx000-59644ff59b-5r2h5   1/1     Running   0          14m   abc=y,app=nginx000,pod-template-hash=59644ff59b# 筛选带有abc=x或abc=y标签的pod并查看它的所有标签[root@k8s-master test]# kubectl get pod -l "abc in (x,y)" --show-labelsNAME                        READY   STATUS    RESTARTS   AGE     LABELSnginx000-59644ff59b-2xvfs   1/1     Running   0          9m31s   abc=x,app=nginx000,pod-template-hash=59644ff59bnginx000-59644ff59b-5r2h5   1/1     Running   0          14m     abc=y,app=nginx000,pod-template-hash=59644ff59b# 修改原先的标签,将原先是abc=y的标签覆盖掉,变为abc=a[root@k8s-master test]# kubectl label pod nginx000-59644ff59b-5r2h5 abc=a --overwritepod/nginx000-59644ff59b-5r2h5 labeled[root@k8s-master test]# kubectl get pod -l "abc in (x,y)" --show-labelsNAME                        READY   STATUS    RESTARTS   AGE   LABELSnginx000-59644ff59b-2xvfs   1/1     Running   0          12m   abc=x,app=nginx000,pod-template-hash=59644ff59b[root@k8s-master test]# kubectl get pod -l abc=a --show-labelsNAME                        READY   STATUS    RESTARTS   AGE   LABELSnginx000-59644ff59b-5r2h5   1/1     Running   0          17m   abc=a,app=nginx000,pod-template-hash=59644ff59b

四、修改副本数量

1、edit方式改变nginx000的副本数

 # 使用edit方式将nginx000的副本添加到6[root@k8s-master test]# kubectl edit deployments.apps nginx000deployment.apps/nginx000 edited

 [root@k8s-master test]# kubectl get podNAME                        READY   STATUS             RESTARTS         AGEnginx000-59644ff59b-2xvfs   1/1     Running            0                2snginx000-59644ff59b-5r2h5   1/1     Running            0                5m15snginx000-59644ff59b-7rw4p   1/1     Running            0                5m15snginx000-59644ff59b-njkt8   1/1     Running            0                2snginx000-59644ff59b-xhmfw   1/1     Running            0                2snginx000-59644ff59b-xxj88   1/1     Running            0                5m15st001                        0/1     CrashLoopBackOff   13 (4m14s ago)   39mtest0007                    1/1     Running            0                61mtest001                     1/1     Running            0                66m

五、将pod指定创建到某一台node节点上

1)创建一个pod

 [root@k8s-master test]# vim t003.yamlapiVersion: v1kind: Podmetadata:name: test0014labels:app: test0014spec:restartPolicy: OnFailurecontainers:- name: busyboximage: docker.io/library/busybox:latestimagePullPolicy: Nevercommand:- "/bin/sh"- "-c"- "sleep 3600"[root@k8s-master test]# kubectl create -f t003.yaml pod/test0014 created

2)查看pod创建的位置

 # 发现是随机创建到了node02节点上[root@k8s-master test]# kubectl get pods -Aowide | grep -n default2:default       nginx000-59644ff59b-2xvfs                  1/1     Running   0               141m    172.16.85.206   k8s-node01   <none>           <none>3:default       nginx000-59644ff59b-5r2h5                  1/1     Running   0               146m    172.16.58.200   k8s-node02   <none>           <none>4:default       nginx000-59644ff59b-7rw4p                  1/1     Running   0               146m    172.16.85.205   k8s-node01   <none>           <none>5:default       nginx000-59644ff59b-njkt8                  1/1     Running   0               141m    172.16.58.201   k8s-node02   <none>           <none>6:default       nginx000-59644ff59b-xhmfw                  1/1     Running   0               141m    172.16.58.202   k8s-node02   <none>           <none>7:default       nginx000-59644ff59b-xxj88                  1/1     Running   0               146m    172.16.85.204   k8s-node01   <none>           <none>8:default       test0014                                   1/1     Running   0               3m37s   172.16.58.203   k8s-node02   <none>           <none>

3)为node节点设置标签

 # 查看node节点的标签信息[root@k8s-master test]# kubectl get node --show-labelsNAME         STATUS   ROLES           AGE   VERSION   LABELSk8s-master   Ready    control-plane   14h   v1.28.2   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=k8s-node01   Ready    <none>          14h   v1.28.2   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node01,kubernetes.io/os=linuxk8s-node02   Ready    <none>          14h   v1.28.2   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node02,kubernetes.io/os=linux# 为node节点设置指定的标签[root@k8s-master test]# kubectl label nodes k8s-node01 abc=1node/k8s-node01 labeled[root@k8s-master test]# kubectl label nodes k8s-node02 abc=2node/k8s-node02 labeled# 查看node节点的标签信息,发现标签添加成功[root@k8s-master test]# kubectl get node --show-labelsNAME         STATUS   ROLES           AGE   VERSION   LABELSk8s-master   Ready    control-plane   14h   v1.28.2   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=k8s-node01   Ready    <none>          14h   v1.28.2   abc=1,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node01,kubernetes.io/os=linuxk8s-node02   Ready    <none>          14h   v1.28.2   abc=2,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node02,kubernetes.io/os=linux

4)改变yaml文件后重新创建pod

 # 删除pod[root@k8s-master test]# kubectl delete -f t002.yaml deployment.apps "nginx000" deleted[root@k8s-master test]# kubectl delete -f t003.yaml pod "test0014" deleted# 修改创建pod的yaml文件# 创建pod时,查看node节点,将该pod创建到标签为abc=1的node节点上[root@k8s-master test]# vim t003.yaml apiVersion: v1kind: Podmetadata:name: test0014labels:app: test0014spec:nodeSelector:abc: "1"restartPolicy: OnFailurecontainers:- name: busyboximage: docker.io/library/busybox:latestimagePullPolicy: Nevercommand:- "/bin/sh"- "-c"- "sleep 3600"# 创建pod[root@k8s-master test]# kubectl create -f t003.yaml pod/test0014 created# 查看pod是否创建到node01上[root@k8s-master test]# kubectl get pods -Aowide | grep -n default2:default       test0014    1/1     Running   0     99s   172.16.85.207   k8s-node01   <none>     <none>

六、存活探针测试(健康检测)

1)创建一个pod

 [root@k8s-master test]# vim t005.yamlapiVersion: v1kind: Podmetadata:name: test0018labels:app: test0018spec:restartPolicy: AlwaysnodeSelector:abc: "1"containers:-       name: busyboximage: docker.io/library/busybox:latestimagePullPolicy: Nevercommand:- "/bin/sh"- "-c"- "sleep 3600"[root@k8s-master test]# kubectl create -f t005.yaml pod/test0018 created

2)设置存活探针

 # 检查healthy文件如果存在则健康,不存在则重启容器[root@k8s-master test]# vim t005.yamlapiVersion: v1kind: Podmetadata:name: test0018labels:app: test0018spec:restartPolicy: AlwaysnodeSelector:abc: "1"containers:-       name: busyboximage: docker.io/library/busybox:latestimagePullPolicy: Nevercommand:- "/bin/sh"- "-c"- "touch /tmp/healthy;sleep 30;rm -rf /tmp/healthy;sleep 3600"livenessProbe:exec:command:- "test"- "-e"- "/tmp/healthy"initialDelaySeconds: 5timeoutSeconds: 5successThreshold: 1failureThreshold: 3periodSeconds: 10[root@k8s-master test]# kubectl create -f t005.yaml pod/test0018 created

3)测试

# 容器正常运行
[root@k8s-master test]# kubectl get pod
NAME       READY   STATUS    RESTARTS   AGE
test0018   1/1     Running   0          84s
[root@k8s-master test]# kubectl describe pod t001
# 再次查看,发现容器重启
[root@k8s-master test]# kubectl get pod
NAME       READY   STATUS             RESTARTS        AGE
test0018   1/1     Running   1 (20s ago)   110s
# 容器运行后创建healthy文件,停留30s后,删除healthy文件
# 容器运行整个过程中,进行健康检查,如果没有发现healthy文件则认为不健康,重启容器
[root@k8s-master test]# kubectl describe pod test0018
Events:Type     Reason     Age                  From               Message----     ------     ----                 ----               -------Normal   Scheduled  18m                  default-scheduler  Successfully assigned default/t001 to k8s-node02Normal   Killing    15m (x3 over 17m)    kubelet            Container busybox failed liveness probe, will be restartedNormal   Pulled     14m (x4 over 18m)    kubelet            Container image "docker.io/library/busybox:latest" already present on machineNormal   Created    14m (x4 over 18m)    kubelet            Created container busyboxNormal   Started    14m (x4 over 18m)    kubelet            Started container busyboxWarning  Unhealthy  13m (x13 over 17m)   kubelet            Liveness probe failed:Warning  BackOff    3m9s (x32 over 11m)  kubelet            Back-off restarting failed container busybox in pod t001_default(0bb37811-5a6b-4f10-b2f2-42fed481207e)

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

FreeRTOS下UART的封装

FreeRTOS下UART的封装_哔哩哔哩_bilibili Git使用的一个BUG&#xff1a; 当出现这个问题是因为git本身的安全证书路径有问题&#xff0c;我们需要重新指定路径 P1:UART程序层次

蓝桥杯嵌入式的学习总结

一. 前言 嵌入式竞赛实训平台(CT117E-M4) 是北京国信长天科技有限公司设计&#xff0c;生产的一款 “ 蓝桥杯全国软件与信息技术专业人才大赛-嵌入式设计与开发科目 “ 专用竞赛平台&#xff0c;平台以STM32G431RBT6为主控芯片&#xff0c;预留扩展板接口&#xff0c;可为用户提…

正点原子RK3588(二)——lenet测试和modelzoo模型

文章目录 一、lenet二、modelzoo模型2.1 介绍2.2 测试 一、lenet import cv2 import numpy as np from rknnlite.api import RKNNLite RKNN_MODEL LeNet5_mnist_model.rknndef show_top5(result):output result[0].reshape(-1)output_sorted sorted(output, reverseTrue)to…

AI资深导师指导-ChatGPT深度科研工作应用、论文撰写、数据分析及机器学习与AI绘图

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

Fyne ( go跨平台GUI )中文文档-绘图和动画(三)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

GAMES101(15节,辐射,BRDF)

Irradiance辐射度量学 辐射度量学在渲染领域&#xff0c;可以帮助理解基于物理的光照模型 radiant energy辐射能量Q&#xff0c;累计总能量&#xff08;单位J joule焦耳&#xff09;&#xff0c;就像太阳能板&#xff0c;光照时间越长接收能量越多&#xff0c;收到的能量总和…

python是什么语言写的

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言。现今Python语言很火&#xff0c;可有人提问&#xff0c;这么火的语言它的底层又是什么语言编写的呢&#xff1f; python是C语言编写的&#xff0c;它有很多包也是用C语言写的。 所以说&#xff0c;C语言还是很…

解密的军事卫星图像在各种民用地理空间研究中都有应用

一、美军光学侦察卫星计划概述 国家侦察局 &#xff08;NRO&#xff09; 负责开发和操作太空侦察系统&#xff0c;并为美国国家安全开展情报相关活动。NRO 开发了几代机密锁眼 &#xff08;KH&#xff09; 军事光学侦察卫星&#xff0c;这些卫星一直是美国国防部 &#xff08;D…

Upload-Labs 文件上传靶场 通关

Pass-01 (本pass在客户端使用js对不合法图片进行检查&#xff01;) Pass-02 Pass-02 (本pass在服务端对数据包的MIME进行检查!) Pass-03 Pass-03 (本pass禁止上传.asp|.aspx|.php|.jsp后缀文件&#xff01;) AddType application/x-httpd-php .php .phtml .php3 .php4 .p…

Java-Part 0

Advanced Java and Cutting-edge Applications Part 0: Course presentation Part 1 其实就是个括号匹配问题&#xff0c;Stack 经典问题&#xff0c;但是好久没用Java&#xff0c;有一点点生疏&#xff0c;感觉老师的版本要简洁的多 package tiei.ajp.test;import java.uti…

java项目之基于spring boot的多维分类的知识管理系统的设计与实现源码

项目简介 基于spring boot的多维分类的知识管理系统的设计与实现实现了以下功能&#xff1a; 基于spring boot的多维分类的知识管理系统的设计与实现的主要使用者管理员可以管理用户信息&#xff0c;知识分类&#xff0c;知识信息等&#xff0c;用户可以查看和下载管理员发布…

Python|OpenCV-实现识别目标图像中的圆圈(20)

前言 本文是该专栏的第22篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在处理图像检测项目的时候,可能会遇到需要检测目标图像中的“圆圈”需求。笔者在这里举个例子,如下图所示: 在图中有一个篮球,但是我们要找的目标对象并不是篮球,而是篮球它本身的这个…

BUUCTF-MISC-数据包中的线索

下载题目文件&#xff0c;解压发现是一段流量包 使用Wireshark打开 首先过滤HTTP数据流 然后追踪HTTP数据流 通过追踪数据流可以发现 流7 当中有一段base64编码&#xff0c;我们尝试解码 base64基本特征 Base64编码只包含64个字符&#xff1a;大写字母&#xff08;A-Z&#x…

(四)悟说几个特殊矩阵及矩阵函数

上一期介绍了矩阵的出现源于解线性方程组。但是&#xff0c;矩阵出现之后&#xff0c;就犹如打开了潘多拉的盒子&#xff0c;会产生许多魔法。 1 旋转矩阵 我们知道用矩阵左乘某个向量&#xff0c;相当于对该向量做线性变换。那么是否有一种矩阵&#xff0c;能让向量旋转&…

2D目标检测常用loss

在2D目标检测任务中&#xff0c;常用的损失函数&#xff08;Loss&#xff09;主要用于优化以下三个关键方面&#xff1a; 类别分类&#xff08;Classification&#xff09;&#xff1a;用于区分检测到的对象属于哪一类。边界框回归&#xff08;Bounding Box Regression&#x…

《代码整洁之道:程序员的职业素养》

作者&#xff1a;【美】Robert C. Martin 第1章 专业主义 专业主义就意味着担当责任&#xff0c;软件开发太复杂了&#xff0c;不可能没什么 bug。但很不幸&#xff0c;这并不能为你开脱。人体太复杂了&#xff0c;不可能尽知其全部&#xff0c;但医生仍要发誓不伤害病人。如…

基于单片机的智能温控风扇系统的设计

&#xff3b;摘 要&#xff3d; 设计一种基于单片机的智能温控风扇系统&#xff0c;系统由 STC 系列的 51 单片机 、 温度传感器 、 LED 数码管和风扇等模块组成。 本系统具有对外界温度感知以及对感知数据进行分析处理 、 智能调节等功能&#xff0c;避免因温度过高而产生…

6.定期自动执行脚本,让你的金融数据库及时更新!

上一节课我们配置好了我们的运行环境&#xff0c;今天我来教大家怎么在不同的环境下配置定时任务&#xff0c;从而自动执行脚本以更新数据库。 一、Windows下定时执行脚本 如果你的电脑是Windows&#xff0c;并且你没有一台支持Docker的NAS、也没有一台Linux服务器&#xff0…

text2sql方法:RESDSQL和DAIL-SQL

之前介绍了text2sql的综述&#xff0c;但是对一些方法的描述不够详细&#xff0c;所以将一些感兴趣的方法思路也整理一下。 RESDSQL RESDSQL出自2023年2月的论文《RESDSQL: Decoupling Schema Linking and Skeleton Parsing for Text-to-SQL》(github)。它使用seq2seq PLM(pr…

[笔记] 走行电机控制器 防摇摆功能的技术细节

防摇摆用于走行电机控制&#xff0c;一般用于小车。这里参考了数重的彩页&#xff1a; 1.原理 这个无效和有效的控制是靠启动时的幔起&#xff0c;和停车时的缓停实现的。他似乎对加速过程的力矩曲线做了某种控制&#xff0c;能够让启停时&#xff0c;必然的角度变化在运动中逐…