当前位置: 首页 > wzjs >正文

南通工程建设信息网站江苏建站系统

南通工程建设信息网站,江苏建站系统,郑州网络推广专员,百度电脑版官网入口文章目录 Kubernets资源概览Kubernetes Deployment 资源类型详细介绍Deployment 的主要功能Deployment 的核心字段字段详解1. **metadata**2. **spec**3. **template**4. **containers**5. **strategy**6. **restartPolicy** Deployment 的生命周期Deployment 的常用操作1. 创建…

文章目录

      • Kubernets资源概览
      • Kubernetes Deployment 资源类型详细介绍
      • Deployment 的主要功能
      • Deployment 的核心字段
      • 字段详解
        • 1. **`metadata`**
        • 2. **`spec`**
        • 3. **`template`**
        • 4. **`containers`**
        • 5. **`strategy`**
        • 6. **`restartPolicy`**
      • Deployment 的生命周期
      • Deployment 的常用操作
        • 1. 创建 Deployment
        • 2. 查看 Deployment 状态
        • 3. 查看 Pod 状态
        • 4. 更新 Deployment(修改镜像版本)
        • 5. 回滚 Deployment
        • 6. 查看更新历史
        • 7. 扩缩容
        • 8. 删除 Deployment
      • Deployment 的适用场景
      • 总结

Kubernets资源概览

k8s-reources

Kubernetes Deployment 资源类型详细介绍

Deployment 是 Kubernetes 中用于管理 无状态应用 的核心资源类型之一。它提供了一种声明式的方式来定义应用的期望状态,并确保 Pod 的副本数、更新策略和回滚机制等都能按照预期运行。

Deployment 的主要功能

  1. 声明式更新

    • 定义应用的期望状态(如副本数、镜像版本等),Kubernetes 会自动调整实际状态以匹配期望状态。
  2. 副本管理

    • 确保指定数量的 Pod 副本始终运行。
    • 支持动态扩缩容。
  3. 滚动更新

    • 支持无缝更新应用版本,逐步替换旧版本的 Pod。
    • 可以配置更新策略(如最大不可用 Pod 数和最大超出副本数)。
  4. 回滚机制

    • 如果更新失败,可以快速回滚到之前的稳定版本。
  5. 健康检查

    • 结合 Readiness ProbeLiveness Probe,确保只有健康的 Pod 才会接收流量。
  6. 版本历史

    • 记录每次更新的历史,方便回滚和审计。

Deployment 的核心字段

以下是一个典型的 Deployment 配置文件示例:

apiVersion: apps/v1
kind: Deployment
metadata:name: myapp-deploymentlabels:app: myapp
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myapp-containerimage: myapp:1.0ports:- containerPort: 80resources:requests:memory: "64Mi"cpu: "250m"limits:memory: "128Mi"cpu: "500m"livenessProbe:httpGet:path: /healthzport: 80initialDelaySeconds: 3periodSeconds: 10readinessProbe:httpGet:path: /readyport: 80initialDelaySeconds: 5periodSeconds: 10restartPolicy: Alwaysstrategy:type: RollingUpdaterollingUpdate:maxUnavailable: 1maxSurge: 1

字段详解

1. metadata
  • name:Deployment 的名称。
  • labels:为 Deployment 添加标签,用于组织和选择资源。
2. spec
  • replicas:指定 Pod 的副本数。例如,replicas: 3 表示运行 3 个 Pod。
  • selector:定义 Deployment 如何选择管理的 Pod。
    • matchLabels:通过标签选择 Pod。必须与 template.metadata.labels 匹配。
3. template
  • 定义 Pod 的模板,用于创建 Pod。
  • metadata:Pod 的元数据,包括标签。
  • spec:Pod 的规格,定义容器、卷、环境变量等。
4. containers
  • 定义 Pod 中的容器。
  • name:容器名称。
  • image:容器镜像。
  • ports:容器暴露的端口。
  • resources:资源请求和限制。
    • requests:容器启动所需的最小资源。
    • limits:容器可以使用的最大资源。
  • livenessProbe:健康检查,用于判断容器是否存活。
  • readinessProbe:就绪检查,用于判断容器是否准备好接收流量。
5. strategy
  • 定义更新策略。
  • type:更新类型,默认为 RollingUpdate
    • RollingUpdate:滚动更新,逐步替换旧 Pod。
    • Recreate:先删除所有旧 Pod,再创建新 Pod。
  • rollingUpdate:滚动更新的详细配置。
    • maxUnavailable:更新过程中允许的最大不可用 Pod 数(可以是数字或百分比)。
    • maxSurge:更新过程中允许的最大超出副本数(可以是数字或百分比)。
6. restartPolicy
  • 定义 Pod 的重启策略,默认为 Always
  • 可选值:
    • Always:容器退出时总是重启。
    • OnFailure:容器失败时重启。
    • Never:容器退出时不重启。

Deployment 的生命周期

  1. 创建 Deployment

    • 用户通过 kubectl apply -f deployment.yaml 创建 Deployment。
    • Kubernetes 根据 spec.template 创建 Pod。
  2. 更新 Deployment

    • 修改 Deployment 的配置(如镜像版本)并重新应用。
    • Kubernetes 根据更新策略(如滚动更新)逐步替换旧 Pod。
  3. 回滚 Deployment

    • 如果更新失败,可以通过 kubectl rollout undo deployment/<deployment-name> 回滚到之前的版本。
  4. 扩缩容

    • 修改 replicas 字段并重新应用,Kubernetes 会自动调整 Pod 的数量。
  5. 删除 Deployment

    • 通过 kubectl delete deployment/<deployment-name> 删除 Deployment,同时会删除其管理的所有 Pod。

Deployment 的常用操作

1. 创建 Deployment
kubectl apply -f deployment.yaml
2. 查看 Deployment 状态
kubectl get deployments
3. 查看 Pod 状态
kubectl get pods -l app=myapp
4. 更新 Deployment(修改镜像版本)
kubectl set image deployment/myapp-deployment myapp-container=myapp:2.0
5. 回滚 Deployment
kubectl rollout undo deployment/myapp-deployment
6. 查看更新历史
kubectl rollout history deployment/myapp-deployment
7. 扩缩容
kubectl scale deployment/myapp-deployment --replicas=5
8. 删除 Deployment
kubectl delete deployment/myapp-deployment

Deployment 的适用场景

  1. 无状态应用

    • 例如 Web 服务器、API 服务等。
    • 每个 Pod 是独立的,不依赖本地存储或状态。
  2. 滚动更新

    • 需要无缝更新应用版本,避免停机。
  3. 自动恢复

    • 当 Pod 失败时,Deployment 会自动创建新的 Pod 替换。
  4. 多副本负载均衡

    • 通过 Service 将流量负载均衡到多个 Pod。

总结

  • Deployment 是 Kubernetes 中用于管理无状态应用的核心资源。
  • 它支持副本管理、滚动更新、回滚和健康检查等功能。
  • 通过声明式配置,用户可以轻松定义和管理应用的期望状态。
  • 适用于需要高可用性、无缝更新和自动恢复的场景。
http://www.dtcms.com/wzjs/560612.html

相关文章:

  • 网站建设需要代码株洲县建设局官方网站
  • 有哪个网站能卖自己做的衣服网站标准规范建设
  • 网站关键字及说明新乡最新消息
  • 共享经济网站建设策划书苏州木渎做网站
  • cdr里做网站超级链接网站建设蛋蛋28
  • 零食网站的网站功能模块产品型网站案例
  • 株洲企业网站建设工作室中山建设网站首页
  • 山西建设厅官方网站专家库网站建设相关工作总结
  • 资料网站怎么做的建设部网站退休注册人员
  • 北京工商局网站如何做股东变更wordpress邀请奖励
  • 做网站搜索如何显示官网哪个网站做国内销海外的
  • 自己服务器做网站主机wordpress菜单导入导出
  • 江西智能网站建设哪家好河南官网网站建设报价
  • 北京网站制作公司兴田德润实惠刚做优化的网站什么能更新
  • 小程序发布流程怎么弄南宁哪里有seo推广厂家
  • 做高仿网站视频素材库网站下载
  • gif表情包在线制作网站易企秀微网站如何做文字链接
  • 衡阳手机网站建设建设网站公司塞尼铁克
  • 织梦网站搬家网站设计济南
  • 小学学校网站wordpress资讯站
  • 优享微信网站建设头条短链接生成短网址生成
  • 网站有很多304状态码龙岗网站制作
  • 佛山免费建站wordpress批量导入文章
  • 百度网站排名规则怎样辨别自己网站的好坏
  • 广告公司网站首页建设部网站投诉核查
  • 视频网站开发源码郑州网络推广技术
  • 北京移动网站建设公司排名微信小程序开发app
  • 提供零基础网站建设教学wordpress旧版本
  • 备案域名绑定网站深圳低价做网站
  • 湖北专业网站建设市面价新图闻的合作伙伴