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

自己做网站哪里最好福州手机模板建站

自己做网站哪里最好,福州手机模板建站,越秀网站建设方案,海南在线人才文章目录 Kruise Rollouts简介什么是 Kruise Rollouts#xff1f;核心功能 应用环境一、OpenKruise部署1.安装helm客户端工具2. 通过 helm 安装 二、Kruise Rollouts 安装2. kubectl plugin安装 三、Kruise Rollouts 基本使用(多批次发布)1. 使用Deployment部署应用2.准备Roll… 文章目录 Kruise Rollouts简介什么是 Kruise Rollouts核心功能 应用环境一、OpenKruise部署1.安装helm客户端工具2. 通过 helm 安装 二、Kruise Rollouts 安装2. kubectl plugin安装 三、Kruise Rollouts 基本使用(多批次发布)1. 使用Deployment部署应用2.准备Rollout对象将部署升级到“version-2” 并发布第一批次4. 发布第二批次5. 发布第三批次 总结 Kruise Rollouts简介 什么是 Kruise Rollouts Kruise Rollouts 是由 OpenKruise 开发的 Kubernetes 拓展工具专门设计用于管理应用部署和更新过程中的复杂需求。它提供了多种高级部署策略旨在优化和控制 Kubernetes 应用程序的发布过程使得可以更灵活、更安全地进行版本迭代和回滚。这个工具是对 Kubernetes 标准部署策略如 RollingUpdate的扩展和增强。 核心功能 1. 多种部署策略 Kruise Rollouts 支持多种部署策略包括 蓝绿部署Blue-Green Deployment 快速切换版本在新旧版本间切换流量旧版本保持可用直到新版本完全稳定有利于快速回滚。 金丝雀部署Canary Deployment 逐步引入新版本初期仅向少数用户暴露新版本逐渐增加曝光率减少风险。 A/B 测试 根据特定规则向不同用户展示不同版本适用于功能测试和用户行为研究。 2. 灵活的流量管理 利用 Istio 等服务网格技术Kruise Rollouts 可以更精细地控制流量比如按百分比切分流量到不同版本。 3. 声明式 API Kruise Rollouts 提供声明式 API用户可以在 YAML 文件中定义部署策略和规则Kubernetes 控制器将负责实施这些策略简化了操作复杂度。 4. 动态配置和更新 支持在不重启容器的情况下动态更改配置减少因配置变更造成的服务中断。 5. 分阶段发布和验证 可以在部署过程中设置不同的验证点确保每个阶段的稳定性后再继续推进部署。 使用案例和好处 更安全的部署 通过多种部署策略尤其是蓝绿和金丝雀策略可以显著降低新版本引入问题的风险。 连续部署 Kruise Rollouts 支持 CI/CD 流程使得应用更新更加流畅和自动化。 实验性功能测试A/B 测试支持让开发者能够测试新功能对特定用户群体的影响。 实现方式 Kruise Rollouts 是作为一个 Kubernetes Operator 实现的。它监听自定义资源的变化然后按照定义的规则调整 Kubernetes 的 Service、Deployment 等资源以实现精细的版本控制和流量管理。 与其他工具的对比 与 Kubernetes 原生的 Deployment 和其他部署工具如 Spinnaker、Argo Rollouts相比Kruise Rollouts 提供了更为丰富的功能和更高的灵活性尤其是在复杂的生产环境中。它通过扩展和增强原生 Kubernetes 功能提供了更适合企业级应用的部署选项。 应用 环境 虚拟机 Ip主机名cpu内存硬盘192.168.10.11master012cpu双核4G100G192.168.10.12worker012cpu双核4G100G192.168.10.13worker022cpu双核4G100G 版本 centos7.9 已部署k8s-1.27 一、OpenKruise部署 本案例使用helm方式安装部署 Helm用于实现kubernetes中相互关联的多个yaml文件的安装部署相当于linux系统中的yum工具 1.安装helm客户端工具 wget https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz tar xf helm-v3.13.2-linux-amd64.tar.gz mv linux-amd64/helm /usr/bin/ helm version helm repo add stable http://mirror.azure.cn/kubernetes/charts/ helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm repo list详情请看 链接: k8s学习–helm的详细解释及安装和常用命令 2. 通过 helm 安装 helm repo add openkruise https://openkruise.github.io/charts/helm repo updatehelm search repo openkruise搜索OpenKruise仓库中的Charts 可以看到已经存在 由于本次部署在K8S 1.27版本集群并使用cri-dockerd所以手动指定CRI。 注意如果是1.24以下则不需要因为默认就是docker helm install kruise openkruise/kruise --version 1.6.3 --set daemon.socketLocation/var/run --set daemon.socketFilecri-dockerd.sock查看一下 helm listkubectl -n kruise-system get all可以看到都已经运行起来了 二、Kruise Rollouts 安装 添加openkruise charts库 helm repo add openkruise https://openkruise.github.io/charts/helm repo update安装最新版本 helm install kruise-rollout openkruise/kruise-rollout --version 0.5.0 kubectl get ns已经可以看到kruise-rollout的命令空间了 kubectl get pods -n kruise-rollout2. kubectl plugin安装 注需要科学上网 wget https://github.com/openkruise/kruise-tools/releases/download/v1.1.2/kubectl-kruise-linux-amd64.tar.gz tar xf kubectl-kruise-linux-amd64.tar.gz mv linux-amd64/kubectl-kruise /usr/bin/ kubectl version --outputyaml三、Kruise Rollouts 基本使用(多批次发布) 1. 使用Deployment部署应用 vim 01-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: workload-demonamespace: default spec:replicas: 10selector:matchLabels:app: demotemplate:metadata:labels:app: demospec:containers:- name: busyboximage: busybox:latestcommand: [ /bin/sh, -c, sleep 100d ]env:- name: VERSIONvalue: version-1应用yaml文件 kubectl apply -f 01-deployment.yaml查看pod kubectl get pods2.准备Rollout对象 vim 02-rollout.yamlapiVersion: rollouts.kruise.io/v1alpha1 kind: Rollout metadata:name: rollouts-demonamespace: defaultannotations:rollouts.kruise.io/rolling-style: partition # 指示 Rollout 使用分区方式进行滚动更新 spec:objectRef:workloadRef:apiVersion: apps/v1kind: Deploymentname: workload-demostrategy:canary:steps:- replicas: 1- replicas: 50%- replicas: 100%应用yaml文件 kubectl apply -f 02-rollout.yaml 查看rollout kubectl get rollout将部署升级到“version-2” 并发布第一批次 kubectl get podskubectl get deployments.apps 下列命令是用来更新名为 workload-demo 的部署Deployment将容器的环境变量 VERSION 设置为 version-2。 kubectl patch deployment workload-demo -p {spec:{template:{spec:{containers:[{name:busybox, env:[{name:VERSION, value:version-2}]}]}}}}然后查看 kubectl get pods可以看到添加了一个pod 第一次更新可能会多创建一个Pod的原因主要是为了在不影响现有服务的前提下进行新版本的测试和验证 4. 发布第二批次 kubectl-kruise rollout approve rollouts/rollouts-demokubectl get rollout查看pod kubectl get pod可以看到增加了5个 5. 发布第三批次 kubectl-kruise rollout approve rollouts/rollouts-demo kubectl get rollouts稍等一会查看 kubectl get pod再稍等一会 可以看到旧的pod逐渐被删除,最后只剩下新的pod kubectl get podkubectl get replicasets总结 总结来说Kruise Rollouts 是 Kubernetes 生态中的一个重要拓展适用于需要高度可控和自动化部署策略的复杂应用环境。
http://www.tj-hxxt.cn/news/136897.html

相关文章:

  • 现在做网站怎么样wordpress克隆他人的网站
  • 网站统计代码怎么弄seo网络推广技巧
  • 怎么做58同城网站中国做爰网站
  • 江苏淮安建设局网站北京建设高端网站
  • 正规绍兴网站建设公司百讯网站建设
  • 网站还没完成 能备案吗西安做行业平台网站的公司
  • 长春什么时候解封东莞网站优化的具体方案
  • 做网站明细范文游戏网站首页设计
  • 网站程序制作dell网站设计特色
  • 网站页面怎么做武钢建设公司网站
  • 大连市城乡建设局网站福建住房和城乡建设厅网站一体化平台
  • 个人工作室网站app生成链接
  • 深圳网站建设模板乐云seo网站界面设计的主要内容
  • 网站模板 响应式怎么在网上做公司网站
  • 丰都网站建设哪家好网站建设费用低设计好
  • 东莞网站优化关键词公司怎样添加字体到wordpress
  • 微信代运营协议奢侈品网站怎么做tuig优化
  • 休闲食品网站建设目的wampserver网站开发步骤
  • 房产网贷平台宁波网站优化如何
  • 外包网站会自己做原型吗动画设计培训费用
  • 虹口房产网站建设圣诞节网站怎么做
  • 做我的世界壁纸的网站怎样上传图片到wordpress
  • wordpress搭建下载站点建筑工程完工证明格式
  • 杭州建网站企业装饰公司响应式网站建设案例
  • 有没有通信专业业余做兼职的网站网站建设郑州
  • 杭州 seo网站建设 网络服务wordpress 不显示时间
  • 下载网站的服务器文件菏泽建设信息网官网
  • 做电商网站的设计思路有什么意思哪个网站可以做加工代理的
  • 网站底部样式网站中英文切换怎麼做
  • 怎么自己在百度上做网站广州手机软件开发定制