云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库_企业邮箱登录不上去怎么回事_0元

小七 141 0

带宽和网速的关系_海外_客户数据库系统

[Freshworks的工程师们分享他们的库伯内茨学习经验,让你不必再看恐怖故事了。这是本系列的第五个博客。]Kubernetes使我们能够做的一件有趣的事情就是快速发布。此外,Kubernetes中的声明性部署模型帮助我们编写代码,从而在git上生成版本。在这个博客中,我们将向您讲述我们在哪里以及如何获得非常模块化的GitOps部署的故事。厨师和OpsWorks早期,大数据包括,我们所有的infra都托管在OpsWorks上,这是一个允许您将基础设施定义为堆栈的AWS服务。每一个堆栈都被分为多个层,部署是使用厨师烹饪书(或食谱)进行编排的。现在,我们将不会谈论我们的堆栈是如何定向的,这将有助于另一个博客,但我们想谈谈如何将我们的发布放到这些堆栈上。我们过去,现在仍然遵循蓝绿色的部署模式。在OpsWorks上我们会有一个蓝色的和一个绿色的堆栈。假设蓝色是当前的活动颜色,云快卖,为了发布一个新版本,我们将在这个新版本中使用绿色堆栈。然后,我们将使用HAProxy重新配置有选择地将流量切换到绿色堆栈,直到100%的流量为绿色。下面是我们的蓝绿色外壳是如何定位在OpsWorks上的。在部署期间,大部分的重担都是由厨师烹饪师完成的,并由OpsWorks管理。发布和流量管理的协调由内部部署自动化工具(DAT)处理。此图显示基于OpsWorks的部署的工作流。进入Docker世界正在向多克靠拢,我们不想被落在后面。但我们并不是因为同龄人的压力才赶上去的。我们看到了Docker能够解决的问题,我们转向它是有意义的。一个可部署的神器迁移到Docker的最大好处之一是能够有一个统一的可部署工件(以前,应用程序及其依赖项不能打包成一个单独的映像)。这使我们减少了对厨师食谱的依赖,从而减少了因改变食谱而引起的错误。另一个好处是我们可以独立地移动底层系统。更严格的安全措施我们向Docker迁移的早期决定之一是让应用程序容器环境不太容易受到外部攻击。我们确保Docker容器在运行时受到更严格的安全约束:根文件系统是只读的,容器始终以非特权模式(非根)运行。配置为随代码移动在OpsWorks中,我们的所有配置都来自OpsWorks设置的自定义JSON,Chef cookbooks将配置所有应用程序yaml。当我们迁移到Docker时,我们将所有这些配置作为应用程序代码库的一部分,并将它们存储为EJSON文件,我们将在应用程序容器的入口脚本中将这些配置加载到yaml中。这是一个重大的变化,因为它几乎消除了我们对厨师食谱的依赖,因此,大数据的现状,也消除了我们对OpsWorks的依赖。现在我们真的准备好和OpsWorks告别,接受任何新的Docker编排框架,而这个编排框架是显而易见的。库伯内特斯和吉托普斯库贝雷涅茨不仅仅意味着写部署.yaml声明堆栈结构并执行kubectl应用程序。我们对部署模板采用了结构化和模块化的方法,这样我们就可以从一个更像OpsWorks堆栈结构的基础上进行构建。我们这样做的原因如下:从OpsWorks搬到Kubernetes将一度成为一个混合基础设施(OpsWorks和Kubernetes),怎么选购云服务器,什么是软件企业,HAProxy(仍在OpsWorks上)后端配置不需要随着我们迁移到Kubernetes而改变。Kusmotize模块化我们使用Kustomize以可扩展和模块化的方式组织部署模板。部署被组织成文件夹结构,采用Kustomize的方式从基础继承。这使我们能够定义不同的环境(dev、staging、prod等)或区域(us-East-1、EU-Central-1),从一个基本定义继承,并在这些基本定义的基础上应用补丁。这是我们定义模板时遵循的一种结构:部署├—基#基一切都是从那里继承下来的│—壳牌│–├—bg│││├—bg-西德基克│││-bg-公用事业.yaml│–├—前景│││├—应用程序api-公共.yaml│││├—应用程序-电子邮件.yaml│ │ └── 应用程序yaml│–├—常用帮助工具包-环境yaml│–├—http-代理.yaml│ ├── kustomization.yaml公司│ ├── layer.yaml.tmpl层#模板中填充了值│带env的ruby-额外的山药│ └── 电话会议...├—生产环境特定│–├—ap-south-1#地区特定. .. .. .│——美国东部-1│–├—基│││├-—常用帮助工具包-环境yaml│ │ └── kustomization.yaml公司│–├—普通│ │ ├── kustomization.yaml公司│││├—遗留监控│ │ │ ├── kustomization.yaml公司││││-—nrpe服务器-环境yaml│││├—日志记录││││├—干草堆托运人-环境yaml│ │ │ └── kustomization.yaml公司│││├——监控││││├—添加redis实验室-确认.yaml│ │ │ ├── kustomization.yaml公司││││├—指标托运人-环境yaml││││——redis-实验室.conf│││-—命名空间│ │ ├── 帮助工具包.yaml│ │ └── kustomization.yaml公司│–├—fd-poduseast1-main│││├—基数││││├—应用程序覆盖-设置.ejson││││├—应用程序覆盖-设置.json│ │ │ └── kustomization.yaml公司│││├——蓝色││││├-—freshworks计划表-注释.yaml│ │ │ ├── kustomization.yaml公司│ │ │ └── 副本.yaml│││——绿色│││├—freshworks计划表-注释.yaml│ │ ├── kustomization.yaml公司│ │ └── 副本.yaml. .. .. .│主要基地│–├—cpu请求-基地.yaml│ ├── kustomization.yaml公司││—内存请求增加fc-应用程序yaml...├—开发│–├—平方1│││├—应用程序覆盖-设置.ejson│││├—应用程序覆盖-设置.json│││├-—常用帮助工具包-环境yaml│ │ └── kustomization.yaml公司│–├—第2组│││├—应用程序覆盖-设置.ejson│││├—应用程序覆盖-设置.json│││├-—常用帮助工具包-环境yaml│ │ └── kustomization.yaml公司. .. .. .│–├—基│││├—资产同步-作业.yaml│││├—cpu请求-还原山药│││├—删除-生活史│││├—磁盘请求-还原山药│││├-—常用帮助工具包-环境yaml│ │ ├── kustomization.yaml公司———根Fs│千分之一-可写.yaml