K8s实战RestartPoliy策略

一、默认策略为Always

cmd.yaml

bash 复制代码
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

使用命令 kubectl logs myapp-pod 输出pod日志:

使用 命令 kubectl get pod -w 可以看到pod开始为running,但是60s过后就变为Completed然后马上就重启成功,所以我们创建的pod默认的RestartPoliy策略为Always

或者可以使用 命令 kubectl edit pod myapp-pod 查看pod重启策略

二、修改RestartPoliy为Never

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

bash 复制代码
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退出后就没有再重启了:

使用命令查看 kubectl get pod -o wide

相关推荐
lichenyang4534 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode4 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫6 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式