Kubernetes 1.20.5实验记录--Pod控制器

Kubernetes 1.20.5实验记录–Pod控制器

1.1 Deployment

1、创建Deployment:
文件deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy
  labels:
    run: deploy
spec:
  replicas: 2
  selector:
    matchLabels:
      run: deploy
  template:
    metadata:
      labels:
        run: deploy
    spec:
      containers:
      - name: deploy
        image: nginx
kubectl apply -f deploy.yaml

在这里插入图片描述

2、查看Deployment状态:

kubectl get deployment

在这里插入图片描述

3、查看Deployment详细信息:

kubectl describe deployment deploy

在这里插入图片描述

4、查看ReplicaSet状态:

kubectl get replicaset

在这里插入图片描述

5、查看ReplicaSet详细信息:

kubectl describe replicaset deploy-7ffbfc5ff4

在这里插入图片描述

6、查看Pod状态:

kubectl get pod -o wide

在这里插入图片描述

7、查看Pod详细信息:

kubectl describe pod deploy-7ffbfc5ff4-fqgkm

在这里插入图片描述

8、对Deployment进行Scale Up:

文件deploy-scaleup.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy
  labels:
    run: deploy
spec:
  replicas: 6
  selector:
    matchLabels:
      run: deploy
  template:
    metadata:
      labels:
        run: deploy
    spec:
      containers:
      - name: deploy
        image: nginx
kubectl apply -f deploy-scaleup.yaml

在这里插入图片描述

kubectl get pod -o wide

在这里插入图片描述

9、对Deployment进行Rolling Update:

文件deploy-rollingupdate.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy
  labels:
    run: deploy
spec:
  replicas: 6
  selector:
    matchLabels:
      run: deploy
  template:
    metadata:
      labels:
        run: deploy
    spec:
      containers:
      - name: deploy
        image: nginx:1.18
kubectl apply -f deploy-rollingupdate.yaml

在这里插入图片描述

kubectl get pod -w

在这里插入图片描述

kubectl get replicaset

在这里插入图片描述

10、删除Deployment:

kubectl delete -f deploy.yaml

在这里插入图片描述

运行Deployment过程:

(1)用户通过kubectl创建Deployment

(2)Deployment创建ReplicaSet

(3)ReplicaSet创建Pod

对象命名规则:子对象的名字=父对象名字+随机字符串或数字

1.2 DaemonSet

DaemonSet与Deployment配置相似,区别在于DaemonSet无需指定副本数量

1、创建DaemonSet:

文件daemonset.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset
  labels:
    run: daemonset
spec:
  selector:
    matchLabels:
      run: daemonset
  template:
    metadata:
      labels:
        run: daemonset
    spec:
      containers:
      - name: daemonset
        image: nginx
kubectl apply -f daemonset.yaml

在这里插入图片描述

2、查看DaemonSet状态:

kubectl get daemonset

在这里插入图片描述

3、查看DaemonSet详细信息:

kubectl describe daemonset daemonset

在这里插入图片描述

4、查看Pod状态:

kubectl get pod -o wide

在这里插入图片描述

副本数与节点数量相同,并分布在每个计算节点上

5、对DaemonSet进行Rolling Update:

文件daemonset-rollingupdate.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset
  labels:
    run: daemonset
spec:
  selector:
    matchLabels:
      run: daemonset
  template:
    metadata:
      labels:
        run: daemonset
    spec:
      containers:
      - name: daemonset
        image: nginx:1.18
kubectl apply -f daemonset-rollingupdate.yaml

在这里插入图片描述

kubectl get pod -w

在这里插入图片描述

6、删除DaemonSet:

kubectl delete -f daemonset.yaml

在这里插入图片描述

1.3 Job

1.3.1 一次性任务

job-single.yaml使用busybox镜像,创建一次性任务,打印Hello Kubernetes Job!

1、创建一次性任务:

文件job-single.yaml

apiVersion: batch/v1
kind: Job
metadata:
  name: job-single
spec:
  template:
    metadata:
      name: job-single
    spec:
      containers:
      - name: hello
        image: busybox
        command: ["echo", "Hello Kubernetes Job!"]
      restartPolicy: Never
kubectl apply -f job-single.yaml

在这里插入图片描述

2、查看一次性任务状态:

kubectl get job

在这里插入图片描述

3、查看一次性任务详细信息:

kubectl describe job job-single

在这里插入图片描述

4、查看Pod状态:

kubectl get pod -o wide

在这里插入图片描述

5、查看Pod日志信息:

kubectl logs job-single-pshqk

在这里插入图片描述

6、删除一次性任务:

kubectl delete -f job-single.yaml

在这里插入图片描述

1.3.2 并行性任务

job-parallel.yaml使用busybox镜像,创建6个任务,2个任务并行执行,打印Hello Kubernetes Job!

1、创建并行性任务:

文件job-parallel.yaml

apiVersion: batch/v1
kind: Job
metadata:
  name: job-parallel
spec:
  completions: 6
  parallelism: 2
  template:
    metadata:
      name: job-parallel
    spec:
      containers:
      - name: hello
        image: busybox
        command: ["echo", "Hello Kubernetes Job!"]
      restartPolicy: Never
kubectl apply -f job-parallel.yaml

在这里插入图片描述

2、查看并行性任务状态:

kubectl get job

在这里插入图片描述

3、查看并行性任务详细信息:

kubectl describe job job-parallel

在这里插入图片描述

4、查看Pod状态:

kubectl get pod -o wide

在这里插入图片描述

5、查看Pod日志状态:

kubectl logs job-parallel-42gfj

在这里插入图片描述

6、删除并行性任务:

kubectl delete -f job-parallel.yaml

在这里插入图片描述

1.3.3 周期性任务

job-cronjob.yaml使用busybox镜像,创建周期性任务,每一分钟打印一次Hello Kubernetes Job!

1、创建周期性任务:

文件job-cronjob.yaml

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: job-cronjob
spec:
  schedule: "*/1 * * * *"
  jobTemplate: 
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            command: ["echo", "Hello Kubernetes Job!"]
          restartPolicy: OnFailure
kubectl apply -f job-cronjob.yaml

在这里插入图片描述

2、查看周期性任务状态:

kubectl get cronjob

在这里插入图片描述

3、查看周期性任务详细信息:

kubectl describe cronjob job-cronjob

在这里插入图片描述

4、查看Pod状态:

kubectl get pod -o wide

在这里插入图片描述

5、查看Pod日志信息:

kubectl logs job-cronjob-1622687280-vqg7l

在这里插入图片描述

6、删除周期性任务:

kubectl delete -f job-cronjob.yaml

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值