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

一台网站服务器多少钱抖音seo排名系统哪个好用

一台网站服务器多少钱,抖音seo排名系统哪个好用,杭州企业vi设计,如何做衣服销售网站一、Deployment 基础概念 1.Deployment 是什么 Kubernetes 中最常用的 无状态应用 部署方式。提供声明式的更新机制,管理 ReplicaSet 和 Pod。具有上线部署,副本设置,滚动升级,回滚等功能。 2.核心功能 Pod 副本管理&#xff…

一、Deployment 基础概念

1.Deployment 是什么

  • Kubernetes 中最常用的 无状态应用 部署方式。
  • 提供声明式的更新机制,管理 ReplicaSet 和 Pod。
  • 具有上线部署,副本设置,滚动升级,回滚等功能。

2.核心功能

  • Pod 副本管理:确保指定数量的 Pod 副本(Replicas)持续运行。
  • 滚动更新:逐步替换旧 Pod 为新版本,实现零停机发布。
  • 版本回滚:键回退到历史版本(基于 ReplicaSet 快照)。
  • 自动修复:节点故障时自动在新节点重建 Pod。
  • 扩缩容:通过 kubectl scale 或 HPA 动态调整 Pod 数量。
  • 暂停/恢复更新:控制更新流程,实现金丝雀发布。

3.核心特性对比

特性DeploymentStatefulSetDaemonSet
适合场景无状态应用有状态应用节点级部署
Pod命名随机有序随机
存储卷共享专属可选
滚动更新策略支持支持支持

4.Deployment 工作流程

二、Deployment核心操作命令

1.基础命令

# 创建 Deployment
kubectl apply -f deploy.yaml# 查看 Deployment 状态
kubectl get deploy -o wide# 查看关联的 ReplicaSet
kubectl get rs -l app=nginx# 查看 Pod 分布
kubectl get pods -o wide -l app=nginx# 查看deploy详细信息
kubectl describe deployment nginx-deploy#删除deploy
kubectl delete deployment nginx-deploy
kubectl delete -f nginx-deploy.yaml

2.扩缩容

# 手动扩缩容
kubectl scale deployment nginx-deploy --replicas=5# 自动扩缩容(需提前安装 metrics-server)
kubectl autoscale deployment nginx-deploy --min=2 --max=10 --cpu-percent=80
#--min=2 最小Pod副本数下限  --max=10 最大Pod副本数上限
#当Pod的CPU平均利用率 > 80%持续一段时间 → 增加副本
#当CPU平均利用率 < 80%持续一段时间 → 减少副本

三、案例

1. Deployment 滚动更新

1.1 滚动更新示例
[root@master-1 yaml]# cat deploy-nginx-strategy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: deploy-nginx-strategy
spec:# 定义升级策略strategy:# 指定升级类型,有效值为Recreate和RollingUpdate.#    Recreate:#       先删除所有旧的Pod,再创建新的Pod。#    RollingUpdate:#       先删除部分旧的Pod,滚动更新旧的Pod,逐步使用新的Pod替代旧的Pod。#       默认就是基于滚动更新类型。# type: Recreatetype: RollingUpdate# 滚动更新rollingUpdate:# 在升级过程中,在原有旧的Pod基础之上启动的Pod数量。#更新期间允许超过 replicas 的最大 Pod 数maxSurge: 2# 在升级过程中,指定最大不可用的数量。# 更新期间允许不可用的 Pod 数maxUnavailable: 1#maxSurge: "20%"#maxUnavailable: "10%"minReadySeconds: 5     # Pod 就绪后等待时间(确保稳定性)revisionHistoryLimit: 1 # 保留的旧 ReplicaSet 数量(用于回滚)replicas: 5selector:   # 选择器必须匹配 template 中的标签matchExpressions:- key: appsvalues: - "v1"- "v2"operator: Intemplate:metadata:labels:apps: v1school: liuxspec:containers:- name: v1# image: nginx:latestimage: nginx:1.22.1imagePullPolicy: IfNotPresent
---
apiVersion: v1
kind: Service
metadata:name: deploy-strategy
spec:type: NodePortselector:apps: v1school: liuxports:- port: 8888targetPort: 80nodePort: 30000

       如下图所示,已经成功部署了nginx服务

1.2 声明式滚动更新       

       现在我们将nginx版本升级为最新版本 修改image: nginx:latest

       发现滚动更新过程中两个版本都有,直到替换完毕。

1.3 响应式滚动更新
# 触发滚动更新(修改镜像)
kubectl set image deployment.apps/deploy-nginx-strategy v1=nginx:1.22.1# 监控更新进度
kubectl rollout status deployment.apps/deploy-nginx-strategy 
# 查看发布历史
kubectl rollout history deployment.apps/deploy-nginx-strategy # 回滚到上一版本
kubectl rollout undo deployment/nginx-deploy# 回滚到指定版本
kubectl rollout undo deployment.apps/deploy-nginx-strategy  --to-revision=2

       如下如所示,nginx已经回退到1.22.1版本

2.deployment蓝绿部署

2.1 简介

蓝绿部署(Blue/Green)部署简介:
    蓝绿部署特点:
        不需要停止老版本代码(不影响上一版本访问),而是在另外一套环境部署新版本然后进行测试。
        测试通过后将用户流量切换到新版本,其特点为业务无中断,升级风险相对较小。

   优点:无需停机,风险较小
   缺点:切换是全量的,如果新版本有问题,则对用户体验有直接影响,需要双倍机器资源

    - 实现机制:
        - 1.部署当前版本
        - 2.部署service
        - 3.部署新版本(使用新的deployment名称,新的label标签)
        - 4.切换service标签到新的pod

2.2 案例
01 部署蓝环境
[root@master-1 blue-green]# cat 01-blue.yaml 
kind: Deployment
apiVersion: apps/v1
metadata:name: liux-blue
spec:replicas: 3selector:matchLabels:app: bluetemplate:metadata:labels:app: bluespec:containers:- name: v1image: harbor.liux.com/liux-apps/apps:v1---kind: Service
apiVersion: v1
metadata:name: liux-app-svc
spec:type: NodePortports:- port: 80targetPort: 80nodePort: 30080selector:app: blue
[root@master-1 blue-green]# 
[root@master-1 blue-green]#  kubectl apply -f 01-blue.yaml 
deployment.apps/liux-blue created
service/liux-app-svc created#测试访问
[root@master-1 blue-green]# while true ; do sleep 0.5;curl 192.168.91.21:30080; done
02 部署绿环境
[root@master-1 blue-green]# cat 02-green.yaml 
kind: Deployment
apiVersion: apps/v1
metadata:name: liux-green
spec:replicas: 3selector:matchLabels:app: greentemplate:metadata:labels:app: greenspec:containers:- name: mywebimage: harbor.liux.com/liux-apps/apps:v2
[root@master-1 blue-green]# 
[root@master-1 blue-green]#  kubectl apply -f 02-green.yaml 
deployment.apps/liux-green created
[root@master-1 blue-green]# 
03 部署切换服务的service
[root@master-1 blue-green]# cat 03-switch-svc-selector.yaml 
kind: Service
apiVersion: v1
metadata:name: liux-app-svc
spec:type: NodePortports:- port: 80targetPort: 80nodePort: 30080selector:# app: blueapp: green#切换为绿服务
[root@master-1 blue-green]# kubectl apply -f 03-switch-svc-selector.yaml 
service/liux-app-svc configured

3.Deployment灰度发布(金丝雀发布)

3.1 简介

       金丝雀发布也叫灰度发布,是指在黑与白之间,能够平滑度过的一种发布方式,灰度发布是增量发布的一种类型,灰度发布是在原有版本可用的情况下,同时部署一个新版本应用作为"金丝雀"(小白鼠),测试新版本的性能和表现,以保障整个体系稳定的情况下,尽早发现,调整问题。

灰度发布:旧版本和新版本共存
       将新版本部署到一部分生产环境,让一部分用户先试用,如果没有问题,再逐步扩大范围,把全部服务都切换到新环境。
       优点:用户体验影响小,灰度发布过程出现问题只影响部分用户


- 实现机制:
    - 1.部署当前版本,使用多副本;(最开始是3个副本)
    - 2.部署service,匹配一个label标签;
    - 3.部署新版本(使用deployment名称,但是label标签和之前保持一致),新版本runing之后service会自动匹配label并将pod添加service的endpoints接收客户端请求;(最开始)
    - 4.灰度版本测试没有问题,将灰度版本的pod副本数逐渐增加为生产数量;
    - 5.将旧版本pod逐渐调低至为0,此时数流量将全部转发至新版本;

3.2 案例
01 部署旧版本

     先将副本数设置为3,随着新版本的创建,将副本逐渐调低到0

[root@master-1 canary-huidu]# cat 01-old.yaml 
kind: Deployment
apiVersion: apps/v1
metadata:name: liux-old
spec:replicas: 3selector:matchLabels:app: webtemplate:metadata:labels:app: webspec:containers:- name: mywebimage: harbor.liux.com/liux-apps/apps:v1
---
kind: Service
apiVersion: v1
metadata:name: liux-web-svc
spec:type: NodePortports:- port: 80targetPort: 80nodePort: 30080selector:app: web
[root@master-1 canary-huidu]# 
[root@master-1 canary-huidu]# kubectl apply -f 01-old.yaml 
deployment.apps/liux-old created
service/liux-web-svc created
02 部署新版本

    先将副本数设置为1,随着新版本的稳定,将副本逐渐调高到3

[root@master-1 canary-huidu]# cat 02-new.yaml 
kind: Deployment
apiVersion: apps/v1
metadata:name: liux-new
spec:replicas: 1selector:matchLabels:app: webtemplate:metadata:labels:app: webspec:containers:- name: mywebimage: harbor.liux.com/liux-apps/apps:v2
[root@master-1 canary-huidu]# 
[root@master-1 canary-huidu]# 
[root@master-1 canary-huidu]# kubectl apply -f 02-new.yaml 
deployment.apps/liux-new created
03 修改副本数量

     将旧的副本数量手动修改从3-0,与此同时,将新的副本数量从1-3

[root@master-1 canary-huidu]# kubectl edit deploy liux-old 
deployment.apps/liux-old edited
[root@master-1 canary-huidu]# kubectl edit deploy liux-new
deployment.apps/liux-new edited
04 测试访问
[root@master-1 canary-huidu]# while true ; do sleep 0.5;curl  192.168.91.22:30080; done

四、常见问题及故障排查

1. 常见问题

问题现象可能原因解决方案
pod始终处于pending资源不足/节点选择器不匹配检查资源请求/节点标签
更新卡在Progressing就绪探针失败/新版本启动失败检查 Pod 日志和探针配置
旧 ReplicaSet 未被删除revisionHistoryLimit 设置过大清理历史版本
HPA 不生效metrics-server 未安装/资源指标不足安装 metrics-server 并验证指标

2.故障排查

#查看deploy详细信息
kubectl describe deployment deploy-nginx-strategy#查看pod日志
kubectl logs -f deploy-nginx-strategy-578fdcfc5-tr2p5


文章转载自:
http://nostoc.Lbqt.cn
http://hooverville.Lbqt.cn
http://urethra.Lbqt.cn
http://hag.Lbqt.cn
http://dentine.Lbqt.cn
http://saneness.Lbqt.cn
http://serpulid.Lbqt.cn
http://puckery.Lbqt.cn
http://absinth.Lbqt.cn
http://dorsigrade.Lbqt.cn
http://naviculare.Lbqt.cn
http://effectuate.Lbqt.cn
http://mesoblast.Lbqt.cn
http://goulard.Lbqt.cn
http://snopesian.Lbqt.cn
http://podsolise.Lbqt.cn
http://hcg.Lbqt.cn
http://neighboring.Lbqt.cn
http://megimide.Lbqt.cn
http://lunacy.Lbqt.cn
http://befool.Lbqt.cn
http://sociogenetic.Lbqt.cn
http://stay.Lbqt.cn
http://ahd.Lbqt.cn
http://theatricality.Lbqt.cn
http://bullate.Lbqt.cn
http://hedy.Lbqt.cn
http://holography.Lbqt.cn
http://xms.Lbqt.cn
http://barycentre.Lbqt.cn
http://kwakiutl.Lbqt.cn
http://experimentize.Lbqt.cn
http://radiesthesia.Lbqt.cn
http://alsatian.Lbqt.cn
http://separatory.Lbqt.cn
http://baluster.Lbqt.cn
http://dpi.Lbqt.cn
http://wondering.Lbqt.cn
http://reif.Lbqt.cn
http://jujube.Lbqt.cn
http://proportional.Lbqt.cn
http://parian.Lbqt.cn
http://vice.Lbqt.cn
http://urticariogenic.Lbqt.cn
http://obscure.Lbqt.cn
http://radiac.Lbqt.cn
http://slightly.Lbqt.cn
http://hyperactive.Lbqt.cn
http://lockstitch.Lbqt.cn
http://wirehead.Lbqt.cn
http://bloody.Lbqt.cn
http://assessment.Lbqt.cn
http://collagenase.Lbqt.cn
http://lengthen.Lbqt.cn
http://circumfluence.Lbqt.cn
http://excusatory.Lbqt.cn
http://opalescence.Lbqt.cn
http://lumpish.Lbqt.cn
http://cypripedium.Lbqt.cn
http://coppermine.Lbqt.cn
http://jo.Lbqt.cn
http://civility.Lbqt.cn
http://eftsoon.Lbqt.cn
http://entree.Lbqt.cn
http://turfite.Lbqt.cn
http://diachylon.Lbqt.cn
http://natty.Lbqt.cn
http://faunistic.Lbqt.cn
http://intron.Lbqt.cn
http://hectocotylus.Lbqt.cn
http://hereafter.Lbqt.cn
http://believer.Lbqt.cn
http://devonian.Lbqt.cn
http://spermatic.Lbqt.cn
http://samp.Lbqt.cn
http://advisee.Lbqt.cn
http://jungfrau.Lbqt.cn
http://unprimed.Lbqt.cn
http://beardtongue.Lbqt.cn
http://ogam.Lbqt.cn
http://quomodo.Lbqt.cn
http://caricous.Lbqt.cn
http://homophyly.Lbqt.cn
http://spicknel.Lbqt.cn
http://forasmuch.Lbqt.cn
http://libration.Lbqt.cn
http://forgetful.Lbqt.cn
http://histogram.Lbqt.cn
http://preediting.Lbqt.cn
http://adele.Lbqt.cn
http://seppuku.Lbqt.cn
http://copyist.Lbqt.cn
http://renunciatory.Lbqt.cn
http://neonatal.Lbqt.cn
http://bunglesome.Lbqt.cn
http://goanese.Lbqt.cn
http://cask.Lbqt.cn
http://demythicize.Lbqt.cn
http://roulade.Lbqt.cn
http://meddlesome.Lbqt.cn
http://www.15wanjia.com/news/66370.html

相关文章:

  • 做的网站被注销百度如何精准搜索
  • 单位门户网站怎么做seo宣传
  • wordpress w按钮搜索引擎优化实训心得
  • dw做的上传网站打不开苹果cms播放器
  • 给公司做门户网站seo包年优化平台
  • 珠海网站公司哪家好找谁做百度关键词排名
  • 域名解析怎么弄seo培训学什么
  • 做电商网站前端用什么框架媒体:北京不再公布疫情数据
  • 做电子商务网站最新域名解析
  • 网站建设服务合同书标准版收录查询api
  • 智能建站系统排行百度收录方法
  • 做网站还需要买空间吗公司seo排名优化
  • 列举网站开发常用的工具百度网址链接是多少
  • 网站开发具体工作内容公司搭建网站
  • 美容美发网站建设方案痘痘该怎么去除效果好
  • 西双版纳傣族自治州医院seo外链推广平台
  • 佳天下装饰公司怎么样宁波seo关键词优化
  • 株洲网站开发广告公司职位
  • ui是做网站的吗东莞网络公司电话
  • 中山专业做网站的公司竞价代运营
  • 网站建设合同浩森宇特竞价推广网络推广运营
  • 爱站网长尾关键词挖掘查询工具宁德市属于哪个省
  • 有哪些做相册视频剪辑的网站青岛网络优化费用
  • wordpress编辑页面的颜色哈尔滨优化网站方法
  • 怎么做网站站内优化网络推广公司有哪些
  • wordpress 获取当前文章的分类id跟我学seo
  • 网站开发技术员游戏广告投放平台
  • 国外化妆品网站模板腾讯企点app
  • 国家企业信息公示系统官网(全国)网站建设优化推广系统
  • 建一个网站需要什么条件沈阳seo顾问