K8s实战RestartPoliy策略-LMLPHP

一、默认策略为Always

cmd.yaml

apiVersion: v1 
kind: Pod 
metadata:
  name: myapp-pod 
  labels:
    app: myapp 
spec: 
  containers:
  - name: myapp-container 
    image: busybox
    command: ['sh', '-c', 'echo OK!&& sleep 60']

首先我们根据这个yaml创建一个测试的pod
执行命令 kubectl apply -f cmd.yaml
K8s实战RestartPoliy策略-LMLPHP

使用命令 kubectl logs myapp-pod 输出pod日志:
K8s实战RestartPoliy策略-LMLPHP
使用 命令 kubectl get pod -w 可以看到pod开始为running,但是60s过后就变为Completed然后马上就重启成功,所以我们创建的pod默认的RestartPoliy策略为Always
K8s实战RestartPoliy策略-LMLPHP
或者可以使用 命令 kubectl edit pod myapp-pod 查看pod重启策略

K8s实战RestartPoliy策略-LMLPHP

二、修改RestartPoliy为Never

首先我们先删除这个pod,执行命令 kubectl delete pod myapp-pod,然后编辑cmd1.yaml文件
cmd1.yaml

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo OK!&& sleep 60']
  restartPolicy: Never

重复以上操作后,可以看到pod退出后就没有再重启了:
K8s实战RestartPoliy策略-LMLPHP
使用命令查看 kubectl get pod -o wide
K8s实战RestartPoliy策略-LMLPHP

11-23 08:19