飞天使-k8s知识点16-kubernetes实操1-pod

文章目录

        • [深入Pod 创建Pod:配置文件详解](#深入Pod 创建Pod:配置文件详解)
        • [写个pod的yaml 文件](#写个pod的yaml 文件)
          • [深入Pod 探针:探针技术详解](#深入Pod 探针:探针技术详解)
深入Pod 创建Pod:配置文件详解
复制代码
资源清单参考链接:https://juejin.cn/post/6844904078909128712



写个pod的yaml 文件
复制代码
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
  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
  restartPolicy: OnFailure

以下是对每个字段的解释:

apiVersion: 这个字段用来指定你要使用的 Kubernetes API 的版本。在这个例子中,你使用的是 v1 版本的 API。
kind: 这个字段用来指定你要创建的 Kubernetes 对象的类型。在这个例子中,你要创建的是一个 Pod。
metadata: 这个字段包含了一些元数据,比如 Pod 的名字、标签和命名空间。
spec: 这个字段定义了 Pod 的规格,比如包含的容器、重启策略等。
containers: 这个字段定义了 Pod 中包含的容器。每个容器都有一些字段,比如名字、镜像、命令等。
resources: 这个字段定义了每个容器的资源需求和限制。requests 定义了容器需要的最小资源,limits 定义了容器可以使用的最大资源。
restartPolicy: 这个字段定义了 Pod 中的容器在退出时应该如何重启。在这个例子中,如果容器失败,Kubernetes 将会尝试重新启动它。
深入Pod 探针:探针技术详解
复制代码
重启,为啥能重启? 因为探针的存在

在 Kubernetes 中,Pod 的容器可以使用探针(Probes)来检查其运行状态。探针有三种类型:

Liveness Probe:用来检查容器是否还在运行。如果 Liveness Probe 失败,Kubernetes 会杀掉容器,然后根据其重启策略来处理。

Readiness Probe:用来检查容器是否已经准备好接受请求。如果 Readiness Probe 失败,Kubernetes 不会将流量转发到该Pod。

Startup Probe:用于检查容器应用程序是否已启动。如果设置了这个探针,其他探针将被禁用,直到这个探针成功为止。

每种探针的状态可以是成功(Success)、失败(Failure)或者未知(Unknown)。


Kubernetes 中的 Pod 容器可以使用三种类型的探针来检查其状态:Liveness Probe、Readiness Probe 和 Startup Probe。它们可以告诉 Kubernetes 容器是否还在运行,是否准备好接受请求,以及应用程序是否已启动。每种探针都有三种可能的状态:成功、失败和未知

Kubernetes 提供了三种方式来进行探测:HTTP GET、TCP Socket 和 Exec。HTTP GET 会向容器的指定路径发送 GET 请求,如果响应状态码在 200 到 399 之间,那就视为探测成功。TCP Socket 探测会试图在指定端口上打开一个 TCP 连接,如果连接成功,那就视为探测成功。Exec 探测则会在容器内执行一个指定的命令,如果命令的退出状态为 0,那就视为探测成功。


initialDelaySeconds: 容器启动后,等待多少秒开始进行健康检查。在这个例子中,容器启动后 60 秒开始健康检查。
timeoutSeconds: 健康检查请求的超时时间。在这个例子中,健康检查请求超过 2 秒没有响应,就被视为超时。
periodSeconds: 健康检查的频率。在这个例子中,每 5 秒进行一次健康检查。
successThreshold: 健康检查连续成功多少次后,容器被视为健康。在这个例子中,健康检查连续成功 1 次后,容器就被视为健康。
failureThreshold: 健康检查连续失败多少次后,容器被视为不健康。在这个例子中,健康检查连续失败 2 次后,容器就被视为不健康。
相关推荐
IT利刃出鞘6 小时前
Docker Compose--安装WordPress--方法/示例
运维·docker·容器
分布式存储与RustFS10 小时前
RustFS 多协议接入全景:S3 之外,Swift/Keystone 与 SFTP/FTPS 怎么选
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS14 小时前
在 Kubernetes 上用 RustFS Operator 给 Tenant 开 KMS 加密:spec.encryption 实战
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
wdfk_prog15 小时前
大型 Docker 镜像导出导入工程化:可靠性、磁盘与压缩
运维·docker·容器
郝开16 小时前
Docker Compose 模块化多环境配置规范指南:示例搭建Alf Tengine MD2DOC 1.1.1
运维·docker·容器
Albart57516 小时前
Docker Desktop 增量更新失败终极排查:Failed to apply delta update 反复回滚怎么办?
windows·docker·容器·docker部署大模型
sibylyue17 小时前
【云原生系列3】Docker Compose单机多容器编排工具
运维·docker·容器
Seoyoneh17 小时前
呼叫中心系统云原生架构演进:传统自建与云端部署的技术实现对比分析
云原生·架构
2601_9622184718 小时前
万象生鲜系统订单全生命周期追踪实现生鲜企业订单业务数字化可视
大数据·运维·微服务·云原生·架构
java_logo18 小时前
Docker 部署 ArchivesSpace:轻松搭建档案信息管理平台
运维·docker·容器·档案管理·轩辕镜像·archivesspace·特藏