前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >院长手把手教学---Job实验

院长手把手教学---Job实验

作者头像
院长技术
发布2020-12-02 10:02:42
5170
发布2020-12-02 10:02:42
举报
文章被收录于专栏:院长运维开发

创建资源清单

[root@k8s-master ~]# vim job.yaml

代码语言:javascript
复制
apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      name: pi
    spec:
      containers:
        - name: pi
          image: perl
          imagePullPolicy: IfNotPresent
          #计算兀后边的2000位
          command: ["perl","-Mbignum=bpi","-wle","print bpi(2000)"]
      restartPolicy: Never

创建Pod资源

[root@k8s-master ~]# kubectl create -f job.yaml

代码语言:javascript
复制
job.batch/pi created

查看Pod信息,发现正常创建中

[root@k8s-master ~]# kubectl get pods

代码语言:javascript
复制
NAME                                READY   STATUS              RESTARTS   AGE
pi-r5g58                            0/1     ContainerCreating   0          4s

我们可以查看Pod的详细描述信息,发现正在下载镜像,因镜像比较大

root@k8s-master ~]# kubectl describe pods pi-r5g58

代码语言:javascript
复制
Name:           pi-r5g58
Namespace:      default
Priority:       0
Node:           k8s-node3/42.51.227.116
Start Time:     Tue, 01 Dec 2020 02:12:59 +0000
Labels:         controller-uid=d6961b8c-4f5e-4e84-87a8-1aca15d8aa2f
                job-name=pi
Annotations:    <none>
Status:         Pending
IP:             
IPs:            <none>
Controlled By:  Job/pi
Containers:
  pi:
    Container ID:  
    Image:         perl
    Image ID:      
    Port:          <none>
    Host Port:     <none>
    Command:
      perl
      -Mbignum=bpi
      -wle
      print bpi(2000)
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-hvlcv (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  default-token-hvlcv:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-hvlcv
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age        From                Message

  Normal  Scheduled  <unknown>  default-scheduler   Successfully assigned default/pi-r5g58 to k8s-node3
  Normal  Pulling    14s        kubelet, k8s-node3  Pulling image "perl"

查看Job,发现需要完成的是1,已完成的是0

[root@k8s-master ~]# kubectl get job

代码语言:javascript
复制
NAME   COMPLETIONS   DURATION   AGE
pi     0/1           25s        25s

稍等一段时间再次查看

查看Pod资源,Pod的状态已经由Running状态完成(Completed)状态了,因为里面的命令已经执行完毕了

[root@k8s-master ~]# kubectl get pods

代码语言:javascript
复制
NAME                                READY   STATUS      RESTARTS   AGE
pi-r5g58                            0/1     Completed   0          11m

再次查看Pod的详细描述信息,已经下载镜像成功,创建和启动Pod里的容器成功

[root@k8s-master ~]# kubectl describe pods pi-r5g58

代码语言:javascript
复制
Name:         pi-r5g58
Namespace:    default
Priority:     0
Node:         k8s-node3/42.51.227.116
Start Time:   Tue, 01 Dec 2020 02:12:59 +0000
Labels:       controller-uid=d6961b8c-4f5e-4e84-87a8-1aca15d8aa2f
              job-name=pi
Annotations:  <none>
Status:       Succeeded
IP:           10.244.2.147
IPs:
  IP:           10.244.2.147
Controlled By:  Job/pi
Containers:
  pi:
    Container ID:  docker://d08806096bb512f778bc89746e703760368d22bf0d5c0647d9a107c2c134593f
    Image:         perl
    Image ID:      docker-pullable://perl@sha256:a356b3eb17ff9e584f3d56c0dcaa619e5ab29c96533fadaf4581183737e2f0f7
    Port:          <none>
    Host Port:     <none>
    Command:
      perl
      -Mbignum=bpi
      -wle
      print bpi(2000)
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Tue, 01 Dec 2020 02:14:18 +0000
      Finished:     Tue, 01 Dec 2020 02:14:25 +0000
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-hvlcv (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  default-token-hvlcv:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-hvlcv
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age        From                Message

  Normal  Scheduled  <unknown>  default-scheduler   Successfully assigned default/pi-r5g58 to k8s-node3
  Normal  Pulling    3m27s      kubelet, k8s-node3  Pulling image "perl"
  Normal  Pulled     2m10s      kubelet, k8s-node3  Successfully pulled image "perl"
  Normal  Created    2m9s       kubelet, k8s-node3  Created container pi
  Normal  Started    2m9s       kubelet, k8s-node3  Started container pi

再次查看Job,发现完成的已经是1了

[root@k8s-master ~]# kubectl get job

代码语言:javascript
复制
NAME   COMPLETIONS   DURATION   AGE
pi     1/1           86s        13m

查看Pod的日志,可以查看到兀的2000位

[root@k8s-master ~]# kubectl logs pi-r5g58

代码语言:javascript
复制
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275901
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建资源清单
  • 创建Pod资源
  • 查看Pod信息,发现正常创建中
  • 我们可以查看Pod的详细描述信息,发现正在下载镜像,因镜像比较大
  • 查看Job,发现需要完成的是1,已完成的是0
  • 稍等一段时间再次查看
    • 查看Pod资源,Pod的状态已经由Running状态完成(Completed)状态了,因为里面的命令已经执行完毕了
      • 再次查看Pod的详细描述信息,已经下载镜像成功,创建和启动Pod里的容器成功
        • 再次查看Job,发现完成的已经是1了
          • 查看Pod的日志,可以查看到兀的2000位
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档