码迷,mamicode.com
首页 > Web开发 > 详细

Docker Kubernetes 健康检查

时间:2018-11-24 15:17:02      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:doc   分发   alt   pods   命令   docker   策略   soc   metadata   

Docker Kubernetes 健康检查

提供Probe探测机制,有以下两种类型:

  • livenessProbe:如果检查失败,将杀死容器,然后根据Pod的重启策略来决定是否重启。
  • readinessProbe:如果检查失败,Kubernetes会把Pod从服务代理的分发后端剔除。

Probe支持以下三种检查方法:

  • httpGet
  • 发送HTTP请求,返回200-400范围状态码为成功。
  • exec
  • 执行Shell命令返回状态码是0为成功。
  • tcpSocket
  • 发起TCP Socket建立成功。

环境:

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

创建yaml文件

vim check.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx:1.10
    ports:
    - containerPort: 80
    livenessProbe:
      httpGet:
        path: /index.html
        port: 80
技术分享图片
# api版本
apiVersion: v1
# 指定创建资源对象
kind: Pod
# 源数据、可以写name,命名空间,对象标签
metadata:
# 服务名称
  name: nginx-pod
# 标签
  labels:
# 标签名
    app: nginx 
# 容器资源信息
spec:
# 容器管理
  containers:
# 容器名称
  - name: nginx
# 容器镜像
    image: nginx:1.10
# 端口管理
    ports:
# 指定暴露端口
    - containerPort: 80
# 健康检查模式(httpGet、exec、tcpSocket)
    livenessProbe:
# 选择健康检查类型
      httpGet:
# 选择检查文件
        path: /index.html
# 选择检查暴露端口
        port: 80
文件注释

 

创建Pod

kubectl create -f check.yaml
技术分享图片
命令:kubectl describe pods nginx-pod

# 探测端口为80,探测文件名index.html,timeout超市时间为一秒,period每10秒探测一次
    Liveness:       http-get http://:80/index.html delay=0s timeout=1s period=10s #success=1 #failure=3
查看健康检查pod状态

 

Docker Kubernetes 健康检查

标签:doc   分发   alt   pods   命令   docker   策略   soc   metadata   

原文地址:https://www.cnblogs.com/xiangsikai/p/10012087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!