国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Kubernetes(k8s)一次性任務(wù):Job

這篇具有很好參考價值的文章主要介紹了Kubernetes(k8s)一次性任務(wù):Job。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄
  • 一.系統(tǒng)環(huán)境
  • 二.前言
  • 三.Kubernetes Job簡介
  • 四.創(chuàng)建一次性任務(wù)job
    • 4.1 創(chuàng)建一個簡單任務(wù)的job
    • 4.2 創(chuàng)建需要執(zhí)行多次的job任務(wù)
  • 五.測試job失敗重試次數(shù)
  • 六.job任務(wù)使用示例:計算圓周率
  • 七.總結(jié)

一.系統(tǒng)環(huán)境

本文主要基于Kubernetes1.21.9和Linux操作系統(tǒng)CentOS7.4。

服務(wù)器版本 docker軟件版本 Kubernetes(k8s)集群版本 CPU架構(gòu)
CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 v1.21.9 x86_64

Kubernetes集群架構(gòu):k8scloude1作為master節(jié)點,k8scloude2,k8scloude3作為worker節(jié)點。

服務(wù)器 操作系統(tǒng)版本 CPU架構(gòu) 進程 功能描述
k8scloude1/192.168.110.130 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calico k8s master節(jié)點
k8scloude2/192.168.110.129 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kubelet,kube-proxy,calico k8s worker節(jié)點
k8scloude3/192.168.110.128 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kubelet,kube-proxy,calico k8s worker節(jié)點

二.前言

Kubernetes是一個流行的容器編排平臺,它為運行容器化應(yīng)用程序提供了豐富的功能和工具。其中之一就是Kubernetes Job,它允許您在集群中運行一次性任務(wù)。

正常情況下,Kubernetes的工作負載控制器會嘗試持續(xù)地將容器保持在運行狀態(tài),比如deployment,DaemonSet ,ReplicationController,ReplicaSet 。但有時候,您可能需要運行短暫的任務(wù)或批處理作業(yè),這些任務(wù)只需要運行一次并完成特定的操作。這時,就可以使用Kubernetes Job來管理這些一次性任務(wù)。

使用job任務(wù)的前提是已經(jīng)有一套可以正常運行的Kubernetes集群,關(guān)于Kubernetes(k8s)集群的安裝部署,可以查看博客《Centos7 安裝部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html。

三.Kubernetes Job簡介

Kubernetes Job是一個控制器,它可以創(chuàng)建和管理一次性任務(wù)。當Job被創(chuàng)建時,它將自動創(chuàng)建一個或多個Pod來運行任務(wù),直到任務(wù)成功完成為止。

與其他控制器不同,Job控制器負責確保Pod成功地完成任務(wù)后刪除它們。這意味著如果任務(wù)失敗或調(diào)度失?。ɡ?,由于資源不足),Kubernetes將自動重新啟動失敗的Pod,直到任務(wù)成功完成為止。

除了一次性任務(wù)job,kubernetes還存在CronJob定時任務(wù),詳情請查看博客《Kubernetes(k8s)定時任務(wù):CronJob》https://www.cnblogs.com/renshengdezheli/p/17452237.html。

四.創(chuàng)建一次性任務(wù)job

4.1 創(chuàng)建一個簡單任務(wù)的job

創(chuàng)建job的yaml文件存放目錄

[root@k8scloude1 ~]# mkdir jobandcronjob
[root@k8scloude1 ~]# cd jobandcronjob/

創(chuàng)建namespace

[root@k8scloude1 jobandcronjob]# kubectl create ns job
namespace/job created

切換namespace為job

[root@k8scloude1 jobandcronjob]# kubens job
Context "kubernetes-admin@kubernetes" modified.
Active namespace is "job".

查看job任務(wù)

[root@k8scloude1 jobandcronjob]# kubectl get job
No resources found in job namespace.

[root@k8scloude1 jobandcronjob]# kubectl get pod
No resources found in job namespace.

查看創(chuàng)建job的幫助

[root@k8scloude1 jobandcronjob]# kubectl create job --help
Create a job with the specified name.
Examples:
  # Create a job
  kubectl create job my-job --image=busybox
  
  # Create a job with command
  kubectl create job my-job --image=busybox -- date
  
  # Create a job from a CronJob named "a-cronjob"
  kubectl create job test-job --from=cronjob/a-cronjob
......
Usage:
  kubectl create job NAME --image=image [--from=cronjob/name] -- [COMMAND] [args...] [options]

Use "kubectl options" for a list of global command-line options (applies to all commands).

生成創(chuàng)建job的yaml文件,注意:重啟策略restartPolicy為Never,這表示如果容器退出,則Job將不會自動重啟它。

yaml文件意思為:創(chuàng)建名為my-job的任務(wù),它使用busybox鏡像來創(chuàng)建一個容器,并將其用于執(zhí)行任務(wù)。不過任務(wù)為空。

[root@k8scloude1 jobandcronjob]# kubectl create job my-job --image=busybox --dry-run=client -o yaml >myjob.yaml

[root@k8scloude1 jobandcronjob]# cat myjob.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  name: my-job
spec:
  template:
    metadata:
      creationTimestamp: null
    spec:
      containers:
      - image: busybox
        name: my-job
        resources: {}
      restartPolicy: Never
status: {}

生成創(chuàng)建job的yaml文件,并執(zhí)行命令"date -F ; sleep 10",一次性任務(wù)job就是date -F ; sleep 10輸出當前時間并休眠10秒鐘

[root@k8scloude1 jobandcronjob]# kubectl create job my-job --image=busybox --dry-run=client -o yaml -- sh -c "date ; sleep 10" >myjob.yaml

[root@k8scloude1 jobandcronjob]# cat myjob.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  name: my-job
spec:
  template:
    metadata:
      creationTimestamp: null
    spec:
      containers:
      - command:
        - sh
        - -c
        - date ; sleep 10
        image: busybox
        name: my-job
        resources: {}
      #重啟策略restartPolicy為Never,這表示如果容器退出,則Job將不會自動重啟它。  
      restartPolicy: Never
status: {}

修改yaml文件并創(chuàng)建。

創(chuàng)建一個名為my-job的Job,并在其中定義一個容器,該容器將輸出當前時間并休眠10秒鐘。當my-job被創(chuàng)建時,Kubernetes將自動創(chuàng)建Pod來運行容器,并在容器成功完成任務(wù)后刪除它們。

[root@k8scloude1 jobandcronjob]# vim myjob.yaml 

[root@k8scloude1 jobandcronjob]# cat myjob.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  name: my-job
spec:
  template:
    metadata:
      creationTimestamp: null
    spec:
      #terminationGracePeriodSeconds屬性為0,這意味著當Pod被終止時,Kubernetes將立即殺死容器而不等待容器完成處理。這可以防止容器在超時之前卡住或處于鎖定狀態(tài)。
      terminationGracePeriodSeconds: 0
      containers:
      - command:
        - sh
        - -c
        - date ; sleep 10
        image: busybox
        #imagePullPolicy屬性設(shè)置為IfNotPresent,這意味著如果本地沒有緩存的鏡像,則從遠程拉取鏡像。如果本地已經(jīng)有了鏡像,則直接使用本地鏡像而不去遠程拉取。
        imagePullPolicy: IfNotPresent
        name: my-job
        resources: {}
      #重啟策略restartPolicy為Never,這表示如果容器退出,則Job將不會自動重啟它。    
      restartPolicy: Never
status: {}

#生成job任務(wù)
[root@k8scloude1 jobandcronjob]# kubectl apply -f myjob.yaml 
job.batch/my-job created

查看job任務(wù),觀察pod的狀態(tài)。

可以發(fā)現(xiàn)my-job需要完成一次任務(wù),任務(wù)完成之后,pod的狀態(tài)變?yōu)镃ompleted,job的COMPLETIONS變?yōu)?/1

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   0/1           6s         6s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS    RESTARTS   AGE
my-job-pgnf2   1/1     Running   0          8s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS      RESTARTS   AGE
my-job-pgnf2   0/1     Completed   0          11s

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   1/1           12s        2m17s

刪除job任務(wù)

[root@k8scloude1 jobandcronjob]# kubectl delete job my-job 
job.batch "my-job" deleted

4.2 創(chuàng)建需要執(zhí)行多次的job任務(wù)

某些時候,任務(wù)需要確保被完成多次,才能確認任務(wù)被正常完成,這時候可以使用completions設(shè)置job的完成次數(shù)。

修改yaml文件。

有幾個重要的參數(shù)要解釋下:

  • backoffLimit: 4 如果Job失敗,則重試4次。
  • completions: 6 Job結(jié)束需要成功運行的Pod個數(shù),即狀態(tài)為Completed的Pod數(shù)。在本例中,這意味著當有6個Pod完成任務(wù)后,Job將終止。
  • parallelism: 2 一次性運行2個Pod,這意味著Kubernetes將同時啟動2個Pod來并行執(zhí)行任務(wù)。

如下yaml文件表示:創(chuàng)建一個名為my-job的Job對象,并在其中定義一個容器,該容器將輸出當前時間并休眠10秒鐘。當my-job被創(chuàng)建時,Kubernetes將自動創(chuàng)建2個Pod來運行容器,并在容器成功完成任務(wù)后刪除它們。如果其中任何一個Pod失敗,則Kubernetes將嘗試重試該Pod,最多重試4次。在所有6個Pod成功運行并完成任務(wù)后,Job將終止。

[root@k8scloude1 jobandcronjob]# vim myjobparallelism.yaml 

[root@k8scloude1 jobandcronjob]# cat myjobparallelism.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  name: my-job
spec:
  #如果job失敗,則重試4次
  backoffLimit: 4
  #job結(jié)束需要成功運行的Pod個數(shù),即狀態(tài)為Completed的pod數(shù)
  completions: 6
  #一次性運行2個pod
  parallelism: 2
  template:
    metadata:
      creationTimestamp: null
    spec:
      terminationGracePeriodSeconds: 0
      containers:
      - command:
        - sh
        - -c
        - date ; sleep 10
        image: busybox
        imagePullPolicy: IfNotPresent
        name: my-job
        resources: {}
      #restartPolicy屬性為Never,這表示如果容器退出,則Job將不會自動重啟它。  
      restartPolicy: Never
status: {}

創(chuàng)建job

[root@k8scloude1 jobandcronjob]# kubectl apply -f myjobparallelism.yaml 
job.batch/my-job created

查看job及其pod狀態(tài),可以看到j(luò)ob完成了6次。

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   0/6           5s         5s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS    RESTARTS   AGE
my-job-dlrls   1/1     Running   0          7s
my-job-dwf4v   1/1     Running   0          7s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS              RESTARTS   AGE
my-job-6mtnm   1/1     Running             0          2s
my-job-dlrls   0/1     Completed           0          14s
my-job-dwf4v   0/1     Completed           0          14s
my-job-tvvz8   0/1     ContainerCreating   0          2s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS      RESTARTS   AGE
my-job-6mtnm   1/1     Running     0          9s
my-job-dlrls   0/1     Completed   0          21s
my-job-dwf4v   0/1     Completed   0          21s
my-job-tvvz8   1/1     Running     0          9s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS      RESTARTS   AGE
my-job-6mtnm   0/1     Completed   0          47s
my-job-dlrls   0/1     Completed   0          59s
my-job-dwf4v   0/1     Completed   0          59s
my-job-slkxf   0/1     Completed   0          35s
my-job-tvvz8   0/1     Completed   0          47s
my-job-zj5sx   0/1     Completed   0          36s

#此job完成了6次
[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   6/6           35s        62s

刪除job

[root@k8scloude1 jobandcronjob]# kubectl delete job my-job 
job.batch "my-job" deleted

五.測試job失敗重試次數(shù)

backoffLimit: 4 表示如果Job失敗,則重試4次。我們要測試下job失敗之后,是不是真的會重試4次。

修改yaml文件,這次故意執(zhí)行錯誤的指令,sleep改為sleepx,查看重試次數(shù)。

job的重啟策略:Nerver ,只要任務(wù)沒有完成,就創(chuàng)建新pod運行,直到j(luò)ob完成 ,會產(chǎn)生多個pod; 只要job沒有完成,就會重啟pod,直到j(luò)ob完成。

[root@k8scloude1 jobandcronjob]# vim myjobparallelism.yaml 

[root@k8scloude1 jobandcronjob]# cat myjobparallelism.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  name: my-job
spec:
  #如果job失敗,則重試4次
  backoffLimit: 4
  #job結(jié)束需要成功運行的Pod個數(shù),即狀態(tài)為Completed的pod數(shù)
  completions: 6
  #一次性運行2個pod
  parallelism: 2
  template:
    metadata:
      creationTimestamp: null
    spec:
      terminationGracePeriodSeconds: 0
      containers:
      - command:
        - sh
        - -c
        - date ; sleepx 10
        image: busybox
        imagePullPolicy: IfNotPresent
        name: my-job
        resources: {}
      restartPolicy: Never
status: {}

創(chuàng)建job

[root@k8scloude1 jobandcronjob]# kubectl apply -f myjobparallelism.yaml 
job.batch/my-job created

查看job及其pod狀態(tài),可以看到生成了6個失敗pod。

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   0/6           7s         7s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS   RESTARTS   AGE
my-job-52xln   0/1     Error    0          11s
my-job-kn6d5   0/1     Error    0          10s
my-job-plh2s   0/1     Error    0          11s
my-job-rrvwz   0/1     Error    0          9s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS   RESTARTS   AGE
my-job-52xln   0/1     Error    0          27s
my-job-9hqwn   0/1     Error    0          16s
my-job-kn6d5   0/1     Error    0          26s
my-job-n2rhz   0/1     Error    0          16s
my-job-plh2s   0/1     Error    0          27s
my-job-rrvwz   0/1     Error    0          25s

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   0/6           31s        31s

使用kubectl describe job查看job的描述信息,發(fā)現(xiàn)job已經(jīng)達到重試次數(shù)“Warning BackoffLimitExceeded 84s job-controller Job has reached the specified backoff limit”。

注意backoffLimit重試的次數(shù)并不準,backoffLimit重試次數(shù)為4次,每次并行為2,所以應(yīng)該是8次,但是只創(chuàng)建了6個pod就reached the specified backoff limit。

[root@k8scloude1 jobandcronjob]# kubectl describe job my-job 
Name:           my-job
Namespace:      job
Selector:       controller-uid=cbd4c4b9-d31d-420a-a3d7-c3e1680de96c
Labels:         controller-uid=cbd4c4b9-d31d-420a-a3d7-c3e1680de96c
                job-name=my-job
Annotations:    <none>
Parallelism:    2
......
Events:
  Type     Reason                Age    From            Message
  ----     ------                ----   ----            -------
  Normal   SuccessfulCreate      2m15s  job-controller  Created pod: my-job-plh2s
  Normal   SuccessfulCreate      2m15s  job-controller  Created pod: my-job-52xln
  Normal   SuccessfulCreate      2m14s  job-controller  Created pod: my-job-kn6d5
  Normal   SuccessfulCreate      2m13s  job-controller  Created pod: my-job-rrvwz
  Normal   SuccessfulCreate      2m4s   job-controller  Created pod: my-job-9hqwn
  Normal   SuccessfulCreate      2m4s   job-controller  Created pod: my-job-n2rhz
  Warning  BackoffLimitExceeded  84s    job-controller  Job has reached the specified backoff limit

刪除job

[root@k8scloude1 jobandcronjob]# kubectl delete job my-job 
job.batch "my-job" deleted

[root@k8scloude1 jobandcronjob]# kubectl get job
No resources found in job namespace.

六.job任務(wù)使用示例:計算圓周率

下面使用job任務(wù)計算圓周率。

本次用到perl語言,使用perl計算圓周率2000位。先提前拉取perl鏡像。

先在worker節(jié)點下載perl鏡像。

[root@k8scloude2 ~]# docker pull hub.c.163.com/library/perl:latest

[root@k8scloude3 ~]# docker pull hub.c.163.com/library/perl:latest

創(chuàng)建job任務(wù),任務(wù)為perl -Mbignum=bpi -wle 'print bpi(2000)使用perl計算圓周率2000位

[root@k8scloude1 jobandcronjob]# cat myjobPI.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  name: my-job
spec:
  template:
    metadata:
      creationTimestamp: null
    spec:
      terminationGracePeriodSeconds: 0
      #"perl -Mbignum=bpi -wle 'print bpi(2000)'",表示容器將輸出2000位精度的圓周率(π)值。
      containers:
      - command:
        - sh
        - -c
        - perl -Mbignum=bpi -wle 'print bpi(2000)'
        image: hub.c.163.com/library/perl
        imagePullPolicy: IfNotPresent
        name: my-job
        resources: {}
      restartPolicy: Never
status: {}

創(chuàng)建job

[root@k8scloude1 jobandcronjob]# kubectl apply -f myjobPI.yaml 
job.batch/my-job created

查看job及其pod狀態(tài)

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   0/1           4s         4s

[root@k8scloude1 jobandcronjob]# kubectl get pod
NAME           READY   STATUS      RESTARTS   AGE
my-job-m89bb   0/1     Completed   0          8s

[root@k8scloude1 jobandcronjob]# kubectl get job
NAME     COMPLETIONS   DURATION   AGE
my-job   1/1           7s         12s

查看pod日志,可以看到PI的值,顯示了PI 2000位的數(shù)值。

[root@k8scloude1 jobandcronjob]# kubectl logs my-job-m89bb
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275898

刪除job

[root@k8scloude1 jobandcronjob]# kubectl delete job my-job 
job.batch "my-job" deleted

[root@k8scloude1 jobandcronjob]# kubectl get job
No resources found in job namespace.

PS:在某些情況下,我們可能希望將超時限制放在任務(wù)上,以避免長時間運行或卡死的情況。為此,Job支持一個activeDeadlineSeconds屬性,該屬性指定了任務(wù)的超時時間。如果任務(wù)超時,則Kubernetes將自動終止任務(wù)

七.總結(jié)

在本文中,我們介紹了Kubernetes Job的基本概念,使用方法,應(yīng)用實例,包括如何創(chuàng)建和管理一次性任務(wù),需要多次執(zhí)行的job任務(wù),使用job計算圓周率等。

通過使用Kubernetes Job,您可以輕松地管理一次性任務(wù),從而使集群更加靈活、可靠和高效。文章來源地址http://www.zghlxwxcb.cn/news/detail-467809.html

到了這里,關(guān)于Kubernetes(k8s)一次性任務(wù):Job的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 《一次性分割一切》閱讀筆記

    《一次性分割一切》閱讀筆記

    目錄 0 體驗 1 摘要 2 十個問題 參考文獻 體驗地址 :SEEM - a Hugging Face Space by xdecoder 體驗結(jié)果 : 將哈士奇和汽車人從圖片中分割出來。 盡管對于交互式人工智能系統(tǒng)的需求不斷增長,但在視覺理解(例如分割)中的人工智能交互方面,很少有全面的研究。本文受到基于提示的

    2024年02月01日
    瀏覽(171)
  • Python:一次性輸出多個量

    有的時候我們在輸入一個字符串時,需要在中間加一個int類型變量時,如果一段一段輸出就要寫三個print,非常麻煩。今天bug君就給大家講講如何在Python里一次性輸出多個量。 粽所粥汁,在Python里輸出需要寫 print(\\\"輸出內(nèi)容\\\") ,而輸出一個變量則需要寫 print(變量名) 。 注意:

    2024年02月04日
    瀏覽(99)
  • 一次性打包學(xué)透 Spring

    一次性打包學(xué)透 Spring

    不知從何時開始,Spring 這個詞開始頻繁地出現(xiàn)在 Java 服務(wù)端開發(fā)者的日常工作中,很多 Java 開發(fā)者從工作的第一天開始就在使用 Spring Framework,甚至有人調(diào)侃“不會 Spring 都不好意思自稱是個 Java 開發(fā)者”。 之所以出現(xiàn)這種局面,源于 Spring 是一個極為優(yōu)秀的一站式集成框架

    2023年04月19日
    瀏覽(102)
  • 如何一次性啟動多個SpringBoot項目

    如何一次性啟動多個SpringBoot項目

    在做微服務(wù)這塊的架構(gòu)設(shè)計的時候,當微服務(wù)數(shù)量越來越多的時候,本地啟動各個服務(wù)的時候,可能得手動啟動每個啟動類。這樣就很麻煩,因此記錄一下如何在 idea 里面一鍵啟動所有的項目。 比如我項目里面有5個微服務(wù):那么就對應(yīng)了5個啟動類。 1.項目右上角編輯: 2.點

    2024年02月16日
    瀏覽(231)
  • charles證書安裝,一次性說明白

    charles證書安裝,一次性說明白

    windows上安裝好charles后,需要給軟件安裝證書。 1、點擊help - SSL proxying,選擇第二個install Charles Root Certificate證書安裝 ? 2、如果以前安裝過證書,但是過期了(有效期一般1年),證書界面會顯示過期字樣,此時就要先點擊一下Reset Charles Root Certificate,然后再點擊第一步中的

    2024年02月05日
    瀏覽(104)
  • 一次性搞懂什么是AIGC!

    一次性搞懂什么是AIGC!

    你知道什么是AIGC嗎?不知道?沒關(guān)系,我來告訴你。AIGC就是人工智能生成內(nèi)容(Artificial Intelligence Generative Content),也就是讓AI自己動手創(chuàng)作各種各樣的內(nèi)容,比如圖片、視頻、音樂、文字等等。聽起來很酷吧?那么,AIGC是怎么做到的呢?下面,我就用最簡單的語言,給你

    2024年02月06日
    瀏覽(24)
  • Anonymous GitHub 代碼一次性全下載

    Anonymous GitHub 代碼一次性全下載

    參考: https://github.com/kynehc/clone_anonymous_github https://blog.csdn.net/Fufffffffff/article/details/133213777 1、將網(wǎng)址( https://anonymous.4open.science/r/E34CYRW-17E7/ )改為自己要下載的代碼地址,如圖所示,“ / ” 也要保留 2、 savepath 為下載文件的保存路徑 3、cd到 download.py 文件的目錄下,再執(zhí)行下

    2024年04月16日
    瀏覽(28)
  • 一次性處理全局鍵盤好用工具IQKeyboardManager

    一次性處理全局鍵盤好用工具IQKeyboardManager

    在一個完整的項目中,輸入框是用到頻率相當高的基礎(chǔ)UI控件,UITextfield UITextView等經(jīng)常一個頁面就要多次出現(xiàn),如何處理鍵盤彈出和回收釋放是我們不可避免遇到的問題。 當輸入框位于屏幕底部時,彈起的鍵盤很可能覆蓋輸入框,導(dǎo)致用戶看不到輸入結(jié)果,體驗較差… IQKe

    2024年02月15日
    瀏覽(104)
  • Git倉庫實現(xiàn):一次性提交多個文件

    Git倉庫實現(xiàn):一次性提交多個文件

    首先是建立服務(wù)器與倉庫的連接,不會操作的小伙伴可以看這一篇文章,鏈接: Git倉庫 保姆級教程 選擇文件夾,使用git clone上傳的倉庫,點擊進去 輸入命令行: git commit -m \\\" \\\" ,雙引號一般填入描述或者版本信息,但是若要提交多個文件,則寫入 \\\"add more files\\\" 有問題歡迎隨時

    2024年02月12日
    瀏覽(91)
  • 如何一次性更新python所有的庫?

    我們可以使用? pip ?命令來更新 Python 庫。 在命令提示符或終端中,使用pip install --upgrade后面跟上要更新的庫的名稱。 例如,如果你想更新名為? numpy ?的庫,你可以在 Windows 上打開命令提示符,在 macOS 或 Linux 上打開終端,然后輸入以下命令: 這將升級? numpy ?庫到最新版

    2024年02月09日
    瀏覽(86)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包