欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

job的簡單配置和簡易測試

成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計,有關(guān)企業(yè)網(wǎng)站設(shè)計方案、改版、費用等問題,行業(yè)涉及白烏魚等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認可。

下文主要給大家?guī)韏ob的簡單配置和簡易測試,希望這些文字能夠帶給大家實際用處,這也是我編輯job的簡單配置和簡易測試這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

1.job簡單介紹

job也是種控制器,k8s有兩種類型的控制器,一種是服務(wù)類控制器,比如deployment,deamonset,replicaset等等.一種是工作任務(wù)類控制器,job和cronjon就是工作任務(wù)類控制器.

job的簡易參數(shù)介紹

spec.template格式同Pod
RestartPolicy僅支持Never或OnFailure
單個Pod時,默認Pod成功運行后Job即結(jié)束.
spec.completions標志Job結(jié)束需要成功運行的Pod個數(shù),默認為1,可以理解pod運行的總數(shù).
spec.parallelism標志并行運行的Pod的個數(shù),默認為1,可以理解為同時運行的Pod數(shù)量.
spec.activeDeadlineSeconds標志失敗Pod的重試最大時間,超過這個時間不會繼續(xù)重試.
spec.backoffLimit: 指定job失敗后進行重試的次數(shù).

2.job簡易實例

[root@k8s-node1 job]#cat job1.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      name: pi
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never
[root@k8s-node1 job]# kubectl get job
NAME   COMPLETIONS   DURATION   AGE
pi     1/1           8m37s      15m
[root@k8s-node1 job]# kubectl get pod
NAME                             READY   STATUS      RESTARTS   AGE
busybox                          1/1     Running     76         28d
MySQL-7c9cbfcdf8-hxlrm           1/1     Running     7          22d
mysql-t-54666b579c-7m5rv         1/1     Running     11         26d
mysql-test-647b8db96b-qdxw6      1/1     Running     10         23d
pi-5gtpz                         0/1     Completed   0          15m
wordpress-pod-74c47cd8dd-dlzvc   1/1     Running     7          22d
[root@k8s-node1 job]# kubectl logs pi-5gtpz

修改配置文件,加上參數(shù)測試

[root@k8s-node1 job]# cat job1.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  completions: 3
  parallelism: 2
  template:
    metadata:
      name: pi
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never

spec.parallelism參數(shù)設(shè)置了2,因此開始就啟動了兩個pod

[root@k8s-node1 job]# kubectl get pod
NAME                             READY   STATUS              RESTARTS   AGE
busybox                          1/1     Running             76         28d
mysql-7c9cbfcdf8-hxlrm           1/1     Running             7          22d
mysql-t-54666b579c-7m5rv         1/1     Running             11         26d
mysql-test-647b8db96b-qdxw6      1/1     Running             10         23d
pi-jjpm4                         0/1     ContainerCreating   0          4s
pi-xffsz                         0/1     ContainerCreating   0          4s
wordpress-pod-74c47cd8dd-dlzvc   1/1     Running             7          22d
[root@k8s-node1 job]# kubectl get pod
NAME                             READY   STATUS      RESTARTS   AGE
busybox                          1/1     Running     76         28d
mysql-7c9cbfcdf8-hxlrm           1/1     Running     7          22d
mysql-t-54666b579c-7m5rv         1/1     Running     11         26d
mysql-test-647b8db96b-qdxw6      1/1     Running     10         23d
pi-c4qxs                         0/1     Completed   0          43s
pi-jjpm4                         0/1     Completed   0          55s
pi-xffsz                         0/1     Completed   0          55s
wordpress-pod-74c47cd8dd-dlzvc   1/1     Running     7          22d

3.job備份mysql容器數(shù)據(jù)庫

job在什么場景使用呢?

比如數(shù)據(jù)庫備份

最簡單的示例,參考見下:

思路是啟用一個job,使用的鏡像是mysql:5.7(注意密碼必須設(shè)置),然后執(zhí)行命令mysqldump --host=mysql-test -uroot -ppassword --databases t1 >t1.sql.備份MySQL容器pod主機名為mysql-test的數(shù)據(jù)庫(注意mysql-test是svc的名字).

[root@k8s-node1 job]# kubectl get svc,pod
NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
service/httpd-svc    NodePort    10.254.125.1     <none>        80:8400/TCP     31d
service/kubernetes   ClusterIP   10.254.0.1       <none>        443/TCP         45d
service/mysql        ClusterIP   10.254.209.23    <none>        3306/TCP        23d
service/mysql-t      ClusterIP   10.254.177.63    <none>        3306/TCP        27d
service/mysql-test   ClusterIP   10.254.177.188   <none>        3306/TCP        24d
service/wordpress    NodePort    10.254.88.118    <none>        8080:8425/TCP   23d
NAME                                 READY   STATUS      RESTARTS   AGE
pod/busybox                          1/1     Running     92         29d
pod/mysql-7c9cbfcdf8-hxlrm           1/1     Running     17         23d
pod/mysql-dump-jw5zh                 0/1     Completed   0          80s
pod/mysql-t-54666b579c-7m5rv         1/1     Running     21         27d
pod/mysql-test-647b8db96b-qdxw6      1/1     Running     19         24d
pod/t1-55f6c78557-6xxwd              1/1     Running     0          17m
pod/t2-7f459d454c-wk2zb              1/1     Running     0          17m
pod/wordpress-pod-74c47cd8dd-dlzvc   1/1     Running     12         23d
[root@k8s-node1 job]# cat job2.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  name: mysql-dump
spec:
  template:
    metadata:
      name: mysql-dump
    spec:
      containers:
      - name: mysql-dump
        image: mysql:5.7
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: abc123
        command: ["/bin/sh","-c","mysqldump --host=mysql-test -uroot -ppassword --databases t1 >t1.sql"]
      restartPolicy: Never

測試執(zhí)行成功.見下:

[root@k8s-node1 storage]# kubectl get job
NAME         COMPLETIONS   DURATION   AGE
mysql-dump   1/1           2s         28m
[root@k8s-node1 storage]# kubectl get pod
NAME                                      READY   STATUS              RESTARTS   AGE
busybox                                   1/1     Running             81         29d
mysql-7c9cbfcdf8-hxlrm                    1/1     Running             7          22d
mysql-dump-p4wn7                          0/1     Completed           0          28m
mysql-t-54666b579c-7m5rv                  1/1     Running             11         27d
mysql-test-647b8db96b-qdxw6               1/1     Running             10         23d
nfs-client-provisioner-5bd47b7669-lzv6j   0/1     ContainerCreating   0          6m38s
wordpress-pod-74c47cd8dd-dlzvc            1/1     Running             7          22d

完美點的示例,把備份的數(shù)據(jù)解耦出來,加上pvc.

配置pv和pvc,參考見下:

pv

[root@k8s-node1 storage]# cat job-pv1.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jobpv1
spec:
  capacity:
    storage: 100Mi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs
  nfs:
    path: /mnt/data/jobpv1
    server: 192.168.174.130
[root@k8s-node1 storage]# kubectl apply -f job-pv1.yaml 
persistentvolume/jobpv1 created
[root@k8s-node1 storage]# kubectl get pv
NAME        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM                STORAGECLASS   REASON   AGE
jobpv1      100Mi      RWX            Retain           Available                        nfs                     7s

pvc

[root@k8s-node1 storage]# cat job-pvc1.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
   name: jobpvc1
spec:
   accessModes:
     - ReadWriteMany
   resources:
     requests:
       storage: 100Mi
   storageClassName: nfs
[root@k8s-node1 storage]# kubectl apply -f job-pvc1.yaml 
persistentvolumeclaim/jobpvc1 created
[root@k8s-node1 storage]# kubectl get pvc
NAME         STATUS   VOLUME      CAPACITY   ACCESS MODES   STORAGECLASS   AGE
jobpvc1      Bound    jobpv1      100Mi      RWX            nfs            4s

把pvc使用到j(luò)ob上

[root@k8s-node1 job]# cat job2.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  name: mysql-dump
spec:
  template:
    metadata:
      name: mysql-dump
    spec:
      containers:
      - name: mysql-dump
        image: mysql:5.7
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: abc123
        command: ["/bin/sh","-c","mysqldump --host=mysql-test -uroot -ppassword --databases t1 >/mnt/t1.sql"]
        volumeMounts:
          - name: job-pvc
            mountPath: "/mnt"
      restartPolicy: Never
      volumes:
        - name: job-pvc
          persistentVolumeClaim:
            claimName: jobpvc1
[root@k8s-node1 job]# kubectl apply -f job2.yaml 
job.batch/mysql-dump created
[root@k8s-node1 job]# kubectl get pod
NAME                             READY   STATUS      RESTARTS   AGE
busybox                          1/1     Running     92         29d
mysql-7c9cbfcdf8-hxlrm           1/1     Running     17         23d
mysql-dump-jw5zh                 0/1     Completed   0          3s
mysql-t-54666b579c-7m5rv         1/1     Running     21         27d
mysql-test-647b8db96b-qdxw6      1/1     Running     19         24d
t1-55f6c78557-6xxwd              1/1     Running     0          16m
t2-7f459d454c-wk2zb              1/1     Running     0          15m
wordpress-pod-74c47cd8dd-dlzvc   1/1     Running     12         23d

可以去保存pvc的目錄下查看,數(shù)據(jù)已經(jīng)備份成功,見下

[root@k8s-node3 jobpv1]# pwd
/mnt/data/jobpv1
[root@k8s-node3 jobpv1]# ls
t1.sql

4.使用cronjob備份

上面用job備份只是一次性執(zhí)行結(jié)束,對于很多備份是需要持續(xù)性備份操作的,持續(xù)性備份操作,k8s有cronjob.

就用上面的示例修改

注意cronjob的api和job的api不一樣,可用expalin命令檢索,見下

[root@k8s-node1 job]# kubectl explain cronjob
KIND:     CronJob
VERSION:  batch/v1beta1

修改好的cronjob示例見下

[root@k8s-node1 job]# cat cronjob1.yaml 
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: mysql-dump
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: mysql-dump
            image: mysql:5.7
            env:
            - name: MYSQL_ROOT_PASSWORD
              value: abc123
            command: ["/bin/sh","-c","mysqldump --host=mysql-test -uroot -ppassword --databases t1 >/mnt/t1`date +%Y%m%d%H%M`.sql"]
            volumeMounts:
              - name: job-pvc
                mountPath: "/mnt"
          restartPolicy: Never
          volumes:
            - name: job-pvc
              persistentVolumeClaim:
                claimName: jobpvc1

注釋1:schedule: "/1    ",每分鐘執(zhí)行一次
注釋2:date +%Y%m%d%H%M,date函數(shù)命令,文件名加上日期時間,更能直觀*

讀取執(zhí)行cronjob

[root@k8s-node1 job]# kubectl apply -f cronjob1.yaml 
cronjob.batch/mysql-dump created
[root@k8s-node1 job]# kubectl get cronjob
NAME         SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
mysql-dump   */1 * * * *   False     1        5s              10s
[root@k8s-node1 job]# kubectl get pod
NAME                                      READY   STATUS      RESTARTS   AGE
busybox                                   1/1     Running     103        32d
mysql-7c9cbfcdf8-hxlrm                    1/1     Running     21         26d
mysql-dump-1577082660-d58mx               0/1     Completed   0          9s

檢索pvc存儲目錄,可見每分鐘保存一個sql文件,見下:

[root@k8s-node3 jobpv1]# pwd
/mnt/data/jobpv1
[root@k8s-node3 jobpv1]# ll
total 32
-rw-r--r-- 1 root root 2447 Dec 23 14:31 t1201912230631.sql
-rw-r--r-- 1 root root 2447 Dec 23 14:32 t1201912230632.sql
-rw-r--r-- 1 root root 2447 Dec 23 14:33 t1201912230633.sql
-rw-r--r-- 1 root root 2447 Dec 23 14:34 t1201912230634.sql
-rw-r--r-- 1 root root 2447 Dec 23 14:35 t1201912230635.sql
-rw-r--r-- 1 root root 2447 Dec 23 14:36 t1201912230636.sql
-rw-r--r-- 1 root root 2447 Dec 23 14:37 t1201912230637.sql

cronjob用來備份數(shù)據(jù),非常方便.

對于以上關(guān)于job的簡單配置和簡易測試,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。

本文名稱:job的簡單配置和簡易測試
分享URL:http://aaarwkj.com/article40/peeoeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、軟件開發(fā)、做網(wǎng)站、移動網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
国产精品一区二区久久蜜桃麻豆| 国产欧美日韩精品三级| 国产午夜福利视频合集| 亚洲av网站一区二区三区| 日本熟女午夜福利视频| 国产一区二区91精品| 高清av在线国产成人精品自拍| 粉嫩一区二区三区精品视频| 日韩精品一区二区毛片| 日韩av人妻一区二区三区| 午夜在线观看成人av| 中文字幕日本人妻乱码| 黄色av网站在线免费| 日本韩国一级黄色免费| 熟女少妇精品一区二区三区| 国产精品一区二区激情视频| 日本免费一区二区在线视频| 国产精品亚洲欧美日韩综合| 免费国产成人高清在线视频| 欧美日韩免费r在线视频| 亚洲精品一区二区三区香蕉| 日韩精品在线观看天堂| 人妻一区二区免费视频| 中文字幕人妻丝乱一区三区| 91午夜福利偷拍视频| 色婷婷丝袜一区网站| 97成人在线免费视频| 我的极品小姨在线观看| 亚洲欧美日韩精品区| 日韩电影中文字幕一区| 最新日本欧美一区二区| 午夜日韩综合激情视频在线观看| 精品欧美国产日韩在线观看 | 日本三级黄色免费的网站| 中文字幕在线感觉av| 一区二区日韩欧美国产| 久久亚洲综合色一区二区三区| 男女午夜激情啪啪视频| 欧美成人极品一区二区三区| 黄色录像日本黄色录像| 国产三级精品大乳人妇|