k8s基础之二 Pod

什么是pod?

pod是kubernetes中最小的单元,他由一组、一个或者多个容器组成,每个pod还包含了一个pause容器是pod的父容器。主要负责僵尸进程的回收管理,通过通过pause容器可以使同一个pod里面的多个容器共享存储网络pid、ipc等

 

 

 

 

pod探针

startupProbe:k8s1.16 后新加的探测方式,用于判断容器内程序是否启动,如果配置了startupProbe就会先禁止其他探测,直到他成功为止,成功后startupProbe将不在探测,不成功就根据策略做相应的处理

LivenssProbe:用于探测容器是否运行,如果探测失败,kubelet会根据配置的重启策略进行相应的处理,如果没有配置该探针,默认就是success

ReadinessProbe:一般用于探测容器内的程序是否健康,他的返回值如果为success,那么就代表这个容器完全启动。并且程序已经是可以接收流量的状态。

#   startupProbe: # 可选,检测容器内进程是否完成启动
#      httpGet:      # httpGet检测方式,生产环境建议使用httpGet实现接口级健康检查,健康检查由应用程序提供。
#            path: /api/successStart # 检查路径
#            port: 80


    readinessProbe: # 可选,健康检查
      httpGet:      # httpGet检测方式,生产环境建议使用httpGet实现接口级健康检查,健康检查由应用程序提供。
            path: / # 检查路径
            port: 80        # 监控端口
    livenessProbe:  # 可选,健康检查
      #exec:        # 执行容器命令检测方式
            #command: 
            #- cat
            #- /health
            
            
      #httpGet:       # httpGet检测方式
      #   path: /_health # 检查路径
      #   port: 8080
      #   httpHeaders: # 检查的请求头
      #   - name: end-user
      #     value: Jason 

 

 

探针的检测方式:

ExecAction:在容器内执行一个命令,如果返回值为0,则容器健康

TCPSockerAction: 通过tcp链接检车容器内的端口是否是通的,如果是通的就认为容器健康

HTTPGetAction: 通过应用程序暴露的api地址来检查程序是否是正常的,如果状态码为200-400之间则认为容器健康

 

pod退出流程:

首先是用户执行删除操作--------->pod变成terminating(终止)
                            同时Endpoint删除该pod ip地址
                            PreStop的指令

 

用命令启动一个busybox镜像

kubectl run busybox --image=busybox:1.28 -n kube-publi

 

posted @ 2021-12-16 16:03  念长卿  阅读(97)  评论(0)    收藏  举报