Docker Kubernetes 容器重启策略

当容器被创建时,容器会根据重启策略来进行容器重启。

支持三种策略:

  • Always:当容器终止退出后,总是重启容器,默认策略。
  • OnFailure:当容器异常退出(退出状态码非0)时,才重启容器。
  • Never:当容器终止退出,从不重启容器。

环境:

  • 系统:Centos 7.4 x64
  • Docker版本:18.09.0
  • Kubernetes版本:v1.8
  • 管理节点:192.168.1.79
  • 工作节点:192.168.1.78
  • 工作节点:192.168.1.77

案例一

1、管理节点:创建Pod时添加重启策略

vim pod.yaml

apiVersion: v1
kind: Pod
metadata:
name: pod-test
labels:
test: centos
spec:
containers:
- name: hello
image: centos:6
command: ["bash","-c","while true;do date;sleep 1;done"]
restartPolicy: OnFilure
# api版本
apiVersion: v1
# 指定创建资源对象
kind: Pod
# 源数据、可以写name,命名空间,对象标签
metadata:
# 服务名称
name: pod-test
# 标签
labels:
# 标签名
os: centos
# 容器资源信息
spec:
# 容器管理
containers:
# 容器名称
- name: hello
# 容器镜像
image: centos:6
# 添加环境变量
env:
# 创建key
- name: Test
# 创建value
value: ""
# 启动容器后执行命令
command: ["bash","-c","while true;do date;sleep 1;done"]
# 重启策略 可添加(Always,OnFailure,Never)
restartPolicy: OnFilure

命令注解

2、管理节点:创建Pod

kubectl create -f pod.yaml
命令:kubectl describe pods pod-test 

# 重启统计
Restart Count: 0

查看pod状态

注:OnFailure状态可在相关节点kill掉容器服务测试重启。


案例二

# 查看默认重启策略
kubectl edit deployment nginx
restartPolicy: Always

# 语法格式

apiVersion: v1
kind: Pod
metadata:
name: foo
namespace: awesomeapps
spec:
containers:
- name: foo
image: janedoe/awesomeapp:v1
restartPolicy: Always

1、创建测试yaml;每个10秒发出异常退出重启容器

apiVersion: v1
kind: Pod
metadata:
name: foo
spec:
containers:
- name: busybox
image: busybox
args:
- /bin/sh
- -c
- sleep 10

vim restart.yaml

2、执行文件

kubectl create -f restart.yaml

3、设置重启策略,当容器异常退出时直接销毁,不重启

apiVersion: v1
kind: Pod
metadata:
name: foo
spec:
containers:
- name: busybox
image: busybox
args:
- /bin/sh
- -c
- sleep 10
restartPolicy: Never

vim restart.yaml

4、执行文件

kubectl create -f restart.yaml

5、测试

10秒后查看

Docker Kubernetes 容器重启策略的更多相关文章

  1. docker 容器重启策略

    查看docker 容器重启策略 docker inspect 容器ID docker run -d --restart=always bba-208 docker run -d --restart=o ...

  2. Docker Kubernetes 容器扩容与缩容

    Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  3. Docker Kubernetes 容器更新与回滚

    Docker Kubernetes 容器更新与回滚 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  4. docker 启动容器restart 策略

    docker 运行容器时使用--restart 参数可以指定一个restart策略,来指定容器应该如何重启,或不应该重启,当容器启用restart策略时,将会载docker ps 显示up 或者res ...

  5. 使用Docker之容器的创建、删除

    假设我们现在拥有以下镜像 1:启动一个简单容器 docker container run        //用于启动一个容器 -it   //是容器具有交互性,并与终端进行连接 命令:docker c ...

  6. (转)Docker容器的重启策略及docker run的--restart选项详解

    1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略. Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关. ...

  7. Docker容器的重启策略及docker run的--restart选项详解

    https://blog.csdn.net/taiyangdao/article/details/73076019 1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动 ...

  8. Kubernetes+Docker+Istio 容器云实践

    随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求.近年来,互联网.移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的容器云 ...

  9. kubernetes之pod生命周期,pod重启策略, 镜像拉取策略

    pod声明周期(状态):pending , running, succeeded, failed, unknown 挂起(Pending):Pod 已被 Kubernetes 系统接受,但有一个或者多 ...

随机推荐

  1. Louvain 算法原理

    Louvain算法是一种基于图数据的社区发现算法,算法的优化目标为最大化整个数据的模块度,模块度的计算如下: 其中m为图中边的总数量,k_i表示所有指向节点i的连边权重之和,k_j同理.A_{i,j} ...

  2. Spring AOP的简单示例

    配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...

  3. python __all__

    它不仅在第一时间展现了模块的内容大纲,而且也更清晰的提供了外部访问接口. 若__all__的list中未定义,即便有实现也会找不到.

  4. web项目访问地址前添加小图片

    修改HTML 1.head标签添加 <link rel="icon" type="image/x-icon" href="images/icon ...

  5. return & finally 执行顺序 这是我读到的最合理的解释

    新词:return [expression]  栈顶元素 局部变量的快照 java方法是在栈幀中执行,栈幀是线程私有栈的单位,执行方法的线程会为每一个方法分配一小块栈空间来作为该方法执行时的内存空间, ...

  6. TCP 套叠字

    一.  TCP 协议 # ------------TCP套叠字-------------------- server 端 import socket,time ip_port=('localhost' ...

  7. 客户续费模型 逻辑回归 分类器 AdaBoost

    客户续费模型  逻辑回归 分类器  AdaBoost

  8. [httpd] httpd server 在低负载的情况下对SYN无响应

    如题: 两台client通过load balance访问httpd server.两个client交互访问.load balance处于fullnat模式. server在低负载情况下,常常对某一个c ...

  9. [dpdk][hotplug] DPDK网卡设备热插拔

    dpdk pci网卡设备的热插拔. 样例程序如下: ... ... static int driverctl(char* pci) { int pid; pid = fork(); ) { execl ...

  10. 第二周作业-web后台应用开发与xml

    web后台: 网站前台和网站后台通常是相对于动态网站而言,即网站建设是基于数据库开发 的网站.基于带数据库开发的网站,一般分网站前台和网站后台.网站前台是面向网站访问用户的,通俗的说也就是给访问网站的 ...