飞天使-k8s知识点17-kubernetes实操2-pod探针的使用

这篇具有很好参考价值的文章主要介绍了飞天使-k8s知识点17-kubernetes实操2-pod探针的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

探针的使用
kubectl edit deploy -n kube-system coredns

livenessprobe 的使用 

        livenessProbe:
          failureThreshold: 5
          httpGet:
            path: /health
            port: 8080
            scheme: HTTP
          initialDelaySeconds: 60
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5


 readinessProbe
        
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /ready
            port: 8181
            scheme: HTTP
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1

kubectl edit po nginx 

kubectl describe po nginx-daemon
最下面有容器启动时候相关日志

容器探针启动实验1-启动探针的使用-startupprobe
Events:
  Type     Reason     Age               From               Message
  ----     ------     ----              ----               -------
  Normal   Scheduled  20s               default-scheduler  Successfully assigned default/my-pod1 to ha2.example.local
  Normal   Pulled     20s               kubelet            Container image "nginx:1.7.9" already present on machine
  Normal   Created    20s               kubelet            Created container nginx
  Normal   Started    20s               kubelet            Started container nginx
  Warning  Unhealthy  4s (x2 over 14s)  kubelet            Startup probe failed: HTTP probe failed with statuscode: 404
[root@kubeadm-master1 test]# kubectl get pod
NAME                                 READY   STATUS    RESTARTS   AGE
client                               1/1     Running   0          48d
my-pod                               1/1     Running   0          7d23h
my-pod1                              0/1     Running   0          37s
net-test1                            1/1     Running   133        55d
net-test2                            1/1     Running   13         55d
nginx-deployment-67dfd6c8f9-5s6nz    1/1     Running   1          55d
tomcat-deployment-6c44f58b47-4pz6d   1/1     Running   1          55d
[root@kubeadm-master1 test]# kubectl get pod
NAME                                 READY   STATUS    RESTARTS   AGE
client                               1/1     Running   0          48d
my-pod                               1/1     Running   0          7d23h
my-pod1                              0/1     Running   0          42s
net-test1                            1/1     Running   133        55d
net-test2                            1/1     Running   13         55d
nginx-deployment-67dfd6c8f9-5s6nz    1/1     Running   1          55d
tomcat-deployment-6c44f58b47-4pz6d   1/1     Running   1          55d
[root@kubeadm-master1 test]# cat nginx-po.yaml
apiVersion: v1
kind: Pod
metadata:
  name: my-pod1
  labels:
    type: app
    test: "1.0.0"
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx:1.7.9
    imagePullPolicy: IfNotPresent
    command:
    - nginx
    - -g
    - 'daemon off;'
    workingDir: /usr/share/nginx/html
    ports:
    - name: http
      containerPort: 80
      protocol: TCP
    env:
    - name: JVM_OPTS
      value: '-Xms128m -Xmx128m'
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 200m
        memory: 256Mi
    startupProbe:
      httpGet:
        path: /api/path
        port: 80
      failureThreshold: 3
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 5
  restartPolicy: OnFailure
Liveness Probes 和 Readiness Probes
用于检查容器是否还在运行。如果 liveness 探针失败,Kubernetes 将杀死容器,并根据其重启策略来处理。
用于检查容器是否已经准备好接收流量。如果 readiness 探针失败,Kubernetes 将不会将流量路由到该容器。

定义了一个 startupProbe,它在容器启动后通过 HTTP GET 请求检查 /api/path 端点。现在我们将添加 livenessProbe 和 readinessProbe。

一个 livenessProbe 可以如下定义:

livenessProbe:
  httpGet:
    path: /api/health
    port: 80
  initialDelaySeconds: 30
  periodSeconds: 10
这个 livenessProbe 会在容器启动后的30秒开始工作,每10秒检查一次 /api/health 端点。

一个 readinessProbe 可以如下定义:

readinessProbe:
  httpGet:
    path: /api/ready
    port: 80
  initialDelaySeconds: 5
  periodSeconds: 5
这个 readinessProbe 会在容器启动后的5秒开始工作,每5秒检查一次 /api/ready 端点。


 
演示
[root@kubeadm-master1 test]# cat liveness.yml
apiVersion: v1
kind: Pod
metadata:
  name: my-pod1
  labels:
    type: app
    test: "1.0.0"
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx:1.7.9
    imagePullPolicy: IfNotPresent
    command:
    - nginx
    - -g
    - 'daemon off;'
    workingDir: /usr/share/nginx/html
    ports:
    - name: http
      containerPort: 80
      protocol: TCP
    env:
    - name: JVM_OPTS
      value: '-Xms128m -Xmx128m'
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 200m
        memory: 256Mi
    startupProbe:
      httpGet:
        path: /api/path
        port: 80
      failureThreshold: 3
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 5
    livenessProbe:
      httpGet:
        path: /api/health
        port: 80
      initialDelaySeconds: 30
      periodSeconds: 10
    readinessProbe:
      httpGet:
        path: /api/ready
        port: 80
      initialDelaySeconds: 5
      periodSeconds: 5
  restartPolicy: OnFailure




    State:          Running
      Started:      Thu, 15 Feb 2024 15:15:19 +0800
    Ready:          False
    Restart Count:  0
    Limits:
      cpu:     200m
      memory:  256Mi
    Requests:
      cpu:      100m
      memory:   128Mi
    Liveness:   http-get http://:80/api/health delay=30s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:80/api/ready delay=5s timeout=1s period=5s #success=1 #failure=3
    Startup:    http-get http://:80/api/path delay=0s timeout=5s period=10s #success=1 #failure=3
    Environment:
      JVM_OPTS:  -Xms128m -Xmx128m
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-75cq9 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  default-token-75cq9:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-75cq9
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age               From               Message
  ----     ------     ----              ----               -------
  Normal   Scheduled  19s               default-scheduler  Successfully assigned default/my-pod1 to ha2.example.local
  Normal   Pulled     19s               kubelet            Container image "nginx:1.7.9" already present on machine
  Normal   Created    19s               kubelet            Created container nginx
  Normal   Started    19s               kubelet            Started container nginx
  Warning  Unhealthy  2s (x2 over 12s)  kubelet            Startup probe failed: HTTP probe failed with statuscode: 404


若存在started.html 则进行

飞天使-k8s知识点17-kubernetes实操2-pod探针的使用,kubernetes,容器,云原生文章来源地址https://www.toymoban.com/news/detail-828631.html

到了这里,关于飞天使-k8s知识点17-kubernetes实操2-pod探针的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 飞天使-k8s知识点19-kubernetes实操4-资源调度 标签和选择器:Label与Selector的使用-版本回退

    添加label 资源调度 Deployment:创建与配置文件解析 rs pod deploy 的关联信息展示 Deployment:滚动更新 Deployment:回滚 回退版本实际操作

    2024年02月20日
    浏览(52)
  • 飞天使-k8s知识点12-kubernetes资源对象5-Volume与ConfigMap等

    为什么需要volume ConfigMap Volume nfs挂载volume 持久卷的痛点 参考文档: 作者:又拍云 链接:https://juejin.cn/post/7186925237592653884 来源:稀土掘金

    2024年01月18日
    浏览(51)
  • K8S知识点(四)

      查看所需镜像  定义下载镜像  循环下载镜像:  下载完成之后:查看一下镜像,名字也已经改成了k8s的名字     集群初始化只在master节点上运行, 出现sucessfully表示成功,提示要运行几条命令: 在集群中加入一些工作节点,可以查看一下现在有哪些节点: 在node节点上执

    2024年02月05日
    浏览(51)
  • K8S知识点(二)

    K8S是通过控制pod来控制容器进而控制程序的  service是沟通Pod和外键的桥梁,可以实现负载均衡的效果,加权负载的效果 使用虚拟机,来虚拟三台服务器    点击创建新的虚拟机:自定义,下一步 下一步  下一步: 稍后安装操作系统,下一步 修改名称:存储地址 cpu选择2:

    2024年02月05日
    浏览(40)
  • K8S知识点(三)

    Centos的版本是有要求的必须是7.5或以上,否则安装出来的集群是有问题的Node节点可能加入不到集群中来        详细步骤  1.同时连接三台服务器:查看一下版本 是否正确 2.主机名解析,方便节点之间的调用,这里是测试环境中的用法,在企业中真实环境推荐使用内部DNS服务

    2024年02月05日
    浏览(45)
  • 轻松掌握k8s(使用docker)安装知识点

    kubernetes具有以下特性: 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。 存储编排 Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。

    2023年04月22日
    浏览(46)
  • 轻松掌握K8S目录持久卷PV/PVC的kubectl操作知识点04

    1、介绍 在docker中可以将容器中的目录挂载出来,在k8s中pod可以部署在不同节点,假如该节点的机器宕机了,k8s可能就会将此Pod转移到其他机器,就不是原先的机器了。k8s有自己的一套挂载方案,如下图所示, 原理为将所有节点的挂载的目录统一抽象管理为叫做 存储层的概念

    2024年02月12日
    浏览(46)
  • 轻松掌握K8S使用kubectl操作配置文件挂载ConfigMap和密钥Secret知识点05

    1、挂载应用配置文件配置集ConfigMap 当有许多应用如redis、mysql,希望将它的配置文件挂载出去,以便随时修改,可以用ConfigMap配置集 具体用法查看使用命令行操作里的 3、ConfigMap配置集实战 2、挂载应用配置文件的敏感信息Secret Secret 对象类型用来保存敏感信息,例如使用ya

    2024年02月16日
    浏览(93)
  • 飞天使-docker知识点4-harbor

    Harbor 安装完成harbor 官方建议方式之后查看 images 配置docker 使用harbor 仓库上传下载镜像 docker 镜像结合harbor 运行 参考文档: https://www.cnblogs.com/quqibinggan/p/16880549.html 马哥

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包