zoukankan      html  css  js  c++  java
  • Docker Kubernetes 容器重启策略

    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: "123456"
    # 启动容器后执行命令
        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秒后查看

  • 相关阅读:
    数据库表结构变动发邮件脚本
    .net程序打包部署
    无法登陆GitHub解决方法
    netbeans 打包生成 jar
    第一次值班
    RHEL6 纯命令行文本界面下安装桌面
    C语言中格式化输出,四舍五入类型问题
    I'm up to my ears
    How to boot ubuntu in text mode instead of graphical(X) mode
    the IP routing table under linux@school
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10011992.html
Copyright © 2011-2022 走看看