Kubernetes CI/CD管道规模
本博客最初由Kamesh Pemmaraju发表于Platform9博客.

Kubernetes在抽象底层基础设施的同时可靠地大规模编排容器。与虚拟机不同,这有助于开发人员将工作负载与基础设施的复杂性分开。Kubernetes是CI/CD自动化的理想选择,因为它提供了许多内置功能,使应用程序部署标准化和可重用,提高了开发人员的工作效率,并加快了云原生应用程序的采用。
下面的图表显示了根据Platform9的常见Kubernetes用例最近的调查在KubeCon巴塞罗那:

前3个用例是1)DevOps CI/CD自动化,2)现代化遗留应用程序,3)自动化应用程序操作。这些用例专注于帮助开发人员更快地构建和交付应用程序,按需扩大或缩小应用程序,并在生产环境中可靠地运行它们。
然而,运行Kubernetes (美丽)在生产环境中使用全自动和可重复的CI/CD管道和持续的安全检查带来了新的挑战,包括集成复杂性、持续的生产更新/回滚、Day 2操作、生命周期管理和人才获取/保留。
解决这些挑战比你想象的要容易。以下是如何在Kubernetes上快速实现CI/CD自动化,并将其推广到整个组织。
托管Kubernetes服务消除了操作复杂性
如果您要解决的主要业务问题与提高开发人员的工作效率、更快地将软件交付市场以及在生产环境中运行可靠的应用程序有关,那么是否值得您花时间处理操作Kubernetes的麻烦和复杂性?你是否有足够的人力和技能来管理大规模的Kubernetes集群?
运行自己的大规模Kubernetes基础设施是令人生畏的。做出错误选择的后果是长期的,并可能影响应用程序的可用性、性能和敏捷性。虽然在短期内内部构建解决方案可能更便宜,但一旦投入生产,您的设计可能质量较差或存在缺陷。而且,最终会让你花费更多。
在安装和管理Kubernetes不能推动业务向前发展,快速地向客户部署新的应用程序和版本才可以。对于开发人员(Kubernetes的最终用户)来说,平台可用性是关键。他们不关心是谁建造的,也不关心它是如何到达那里的:他们只想得到它,并让它工作得很好。
尽管开发人员并不关心集群的实现细节或其操作状态,但仍然需要有人执行操作工作,以确保集群是最新的、健康的和安全的。Platform9管理您的Kubernetes环境为您提供完全自动化的Day 2操作,并在裸机、VMware、公共云或边缘上提供99.9%的SLA。这将解放您的DevOps团队,让他们专注于重要的事情:通过更快地构建更好的应用程序来响应客户的需求。

要体验完全管理的体验并免费试用Kubernetes的核心功能,请查看platform9沙箱.
Helm Charts自动化CI/CD工具部署
一旦你有了Kubernetes基础设施并开始运行,Kubernetes舵使您能够通过简单的安装、更新和删除快速可靠地提供容器应用程序。它为开发人员提供了打包应用程序并与Kubernetes社区共享的工具。它允许软件供应商按一下按钮就可以提供他们的容器化应用程序。通过一个简单的命令或几次鼠标点击,用户可以为开发测试或生产环境安装Kubernetes应用程序。大多数流行的CI/CD工具集都是这样可用Helm海图.
Platform9应用程序目录为Helm图表提供了方便的访问和按钮式部署。你可以使用App Catalog UI来选择和部署你最喜欢的CI/CD管道工具(例如Jenkins, Spinnaker, Artifactory, JFrog Xray等),你可以搜索它,一键部署它,或配置它。

Artifactory和Xray安全自动化软件交付
Artifactory是一个通用的存储库管理器,可以满足所有CI/CD需求,无论微服务在组织中的哪个位置运行。提供完全兼容Docker,它使开发人员能够将容器化的微服务部署到Kubernetes集群.一旦您将应用程序包推送到Artifactory存储库,您就可以通过开发、测试和发布阶段继续验证和提升您的容器,最后将其部署到Kubernetes中的生产集群。Artifactory为您的所有应用程序包提供完整的可审计性和可追溯性。
JFrog x光执行深度递归扫描Docker映像并识别所有层和依赖项中的安全漏洞。它还检查以确保所有许可的软件组件符合组织的策略。这有助于阻止易受攻击和不合规的软件投入生产,并且持续扫描可以确保在发现新问题或策略更改时持续安全。
使用Artifactory和Helm的5步Kubernetes CI/CD工艺
Artifactory可以作为你的微服务的Docker注册表(或多个注册表),在某种程度上,它是构建微服务的CI/CD过程中不可或缺的一部分。使用Artifactory作为您的Helm图表存储库进一步启用这个中央存储库管理器为Platform9提供其部署所需的所有本地集成资源2022世界杯阿根廷预选赛赛程容器到k8s集群。
当您还使用Artifactory代理远程存储库时,例如npm,Maven,Gradle, Artifactory作为您的安全Kubernetes注册表,使您能够在端到端系统中跟踪内容、依赖项以及与其他Docker映像的关系。

步骤1。使用来自Artifactory中代理的注册表的依赖项开发微服务。生成的App包可以是.war或.jar文件。
步骤2。使用Tomcat和Java-8在Ubuntu上创建一个Docker框架作为基础映像。将此图像推到Artifactory中的Docker注册表中,在那里它也被x射线扫描以确保安全和许可合规性。
步骤3。通过将.war/.jar文件添加到Docker框架中,为微服务创建Docker映像,并将映像推到Artifactory中的Docker注册表中,在那里通过x射线扫描。
步骤4。为微服务创建Helm图表,并将其推送到Artifactory中的Helm存储库。
第5步。使用Helm Chart将微服务从安全Docker注册中心部署到Kubernetes集群。
Managed Prometheus监视您的应用程序
Platform9管理的普罗米修斯为开发和运维团队提供了Prometheus堆栈和Alert Manager作为多租户服务的轻松部署和配置。该服务是ha就绪的,SLA全部自动处理,不需要管理员干预。开发人员拥有100%的自助服务选项,可以部署任意数量的Prometheus实例,并配置监控规则和容量使用情况。目前,该服务处于测试阶段,很快就会全面开放。请联系我们欲知详情。

