阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

高级部署蓝图-云原生开发

发布时间: 2020-07-13 18:06:22文章作者: 网站编辑阅读量: 255
    高级部署蓝图,以进行从开发人员的内部部署服务器到开发、测试以及最终生产环境的高级部署。它深入研究了企业映像注册表的结构,以确保为企业的生产环境提供安全、认证和值得信赖的映像。
    部署
    这个例子以在内部部署服务器上工作的云原生开发人员开始,提供其代码解决方案,使用其容器工具启动构建其持续集成(CI)/持续交付(CD)工作流程。
    在这个蓝图中,该工具将与OpenShift容器平台一起使用,因此将会看到一个OpenShift客户端用于持续集成(CI)/持续交付(CD)OpenShift平台中的初始构建。当开发人员对其代码感到满意时,就会发生这种情况。触发对持续集成(CI)/持续交付(CD)平台的构建和测试请求,将托管在OpenShift容器平台集群上:
    使用githooks,在提交到内部部署代码库时触发代码推送;
    使用Maven插件,激活后触发对开发基础设施的推送;
    使用oc客户端容器工具;
    当将代码推送到其持续集成(CI)/持续交付(CD)平台时,开发团队可以自由使用最适合自己需求的方法。
    持续集成(CI)/持续交付(CD)基础设施
    从开发人员内部部署工作环境推送的代码由持续集成(CI)/持续交付(CD)平台获取,在这种情况下,大多数情况下是基于Jenkins的平台。例如,持续集成(CI)/持续交付(CD)平台可以使用“源到映像”工作流来构建容器映像、测试映像,并将其放入临时映像注册表中。此时,它被标记为appImage:dev并推送到OpenShift集群,该集群托管由Quay管理的企业映像注册表。
    企业注册表
    对于高级部署,将研究如何确保具有用于开发和测试不受信任的容器映像的沙箱注册表。appImage:dev映像已被推送到沙箱注册表,在其中找到了尚未针对内部安全性和认证要求进行测试的任何导入的第三方映像、外部映像和其他映像。
    所有最终的开发标签的图像(例如appImage:dev容器图像)都将推送到开发基础设施中以进行进一步测试。当容器映像经过认证以符合安全性要求,并通过进一步的内部测试要求时,它们将移至第二个企业注册表。在这一点上,它们被认为是受信任的映像,并且可以在这个蓝图中进一步推送到测试和生产基础设施。
    开发基础设施
    开发基础设施映像注册表加载有appImage:dev标记的容器映像的副本,然后将其部署与工作负载关联的应用程序和微服务。开发基础设施包含在其自己的OpenShift集群中,用于进一步测试和验证已开发的应用程序和微服务。
    一旦开发测试以及任何其他认证和安全要求都得到满足,则将appImage标记为appImage:test并将其从沙箱注册表推送到企业注册表。
    测试基础设施
    所有标记为测试的映像都从Quay企业映像注册表推送到测试基础设施,进入测试OpenShift集群映像注册表。appImage:test用于根据需要部署带有应用程序和微服务的容器。此时,测试周期将从新的测试基础设施数据和生产部署之路的要求重新开始。

    在完成测试之后,将appImage标记为appImage:prod并在企业注册表中进行更新。

 高级部署蓝图-云原生开发

    生产基础设施
    所有标记为prod的映像都从Quay企业映像注册表推送到生产基础设施到生产OpenShift集群映像注册表中。appImage:prod用于根据需要部署带有应用程序和微服务的容器。此时,工作负载处于活动状态,可以在生产环境中使用。
    这个用例使用企业中的云原生开发为其工作负载提供高级部署架构。它具有一个蓝图,用于映射企业云原生开发流程,以将开发人员解决方案部署到生产基础设施中。
    探索图表
    如上所述,企业可以为所有架构蓝图绘制一个示例存储库。投资组合的示例存储库使从每个图表元素以及整个项目中收集和共享单个图像成为可能。
    以下是与云原生开发相关示意图的集合:
    在这种情况下,可以单击查看单个图像;
    项目文件可以使用“下载图表”链接下载到本地计算机;
    可以单击负载图链接以在这个蓝图中使用的图表工具中自动打开项目图。
    云原生这个词最早在2014年左右起源于Pivotal。Pivotal是一家做PaaS服务的公司。之后在2015年夏天,Linux基金会创建了云原生基金会CNCF。CNCF在宣布成立时也没有一个关于云原生的具体定义。只是提到了一些相关的技术,包括开源,容器,微服务,编排工具。但是并没有明确地描述怎样使用这些工具开发出来的应用才可以被称作云原生的应用。时至今日CNCF也还没有提出过这个明确的定义。
    阿里云官网君来解答亲的问题:Pivotal是云原生应用的提出者,并推出了PivotalCloudFoundry云原生应用平台和Spring开源Java开发框架,成为云原生应用架构中先驱者和探路者。
    云原生的概念历经了许多个版本的迭代,到了2015年Google主导成立了云原生计算基金会(CNCF),对云原生的定义为:云原生(CloudNative)技技术帮助企业和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术可以使开发者轻松地对系统进行频繁并可预测的重大变更。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠