前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >生产环境容器落地最佳实践 - JFrog 内部K8s落地旅程

生产环境容器落地最佳实践 - JFrog 内部K8s落地旅程

原创
作者头像
JFrog杰蛙科技
修改于 2020-01-17 10:16:53
修改于 2020-01-17 10:16:53
1.7K0
举报
文章被收录于专栏:JFrog杰蛙DevOpsJFrog杰蛙DevOps

引言

Kubernetes已经成为市场上事实上领先的编配工具,不仅对技术公司如此,对所有公司都是如此,因为它允许您快速且可预测地部署应用程序、动态地伸缩应用程序、无缝地推出新特性,同时有效地利用硬件资源。

本期我们将回顾采用Kubernetes作为容器编排工具的公司所面临的复杂性和挑战。我们希望我们提供的经验教训、最佳实践和技巧将帮助您在前往K8s旅途中起步并继续前进。

本期将介绍关于在Kubernetes生产环境的最佳实践,包括::为上K8s容器云准备好应用程序

  • 在Kubernetes中获得灵活性和通用性
  • 为所有应用程序使用单一、可信和可靠的源
  • 自动部署到Kubernetes
  • 在Kubernetes中构建可靠且可伸缩的环境
  • 可见性和安全性:在Kubernetes中保护您的应用程序
  • 在Kubernetes中记录、监视和调试您的微服务
  • 将应用程序部署到Kubernetes的生产环境中

背景

JFrog与Kubernetes的旅程始于我们寻找一个合适的容器编排解决方案,以便为内部目的创建一个功能齐全的环境。我们的开发人员需要测试我们非常复杂的环境,包括JFrog Artifactory和其他产品。与此同时,我们需要为程序和产品经理提供一个完整的功能环境,以便向我们的客户演示平台。

为了满足我们的需求,每个产品都需要一个独立的CI/CD开发环境,以便在测试各个分支之间的交互时独立地测试各个分支。

随着我们对Kubernetes越来越有信心,我们认识到将JFrog产品分发到Kubernetes的价值,能够跨不同的阶段、开发和生产环境运行应用程序。Kubernetes还允许我们更好地利用我们的资源,因为我们不再需要为单独部署每个产品而启动单个VM。下面我们将回顾落地过程中的主要挑战(6大挑战),同时分享我们的最佳实践、技巧,和在将您的容器应用程序一路带到生产环境中所获得的经验教训。

图1 - 应用分发到K8 的6大挑战
图1 - 应用分发到K8 的6大挑战

Kubernetes 介绍

Kubernetes允许您创建容器化的应用程序,并将它们并行的部署,而不必担心各种服务和组件之间的兼容性。将应用程序容器化运行在Kubernetes中的好处是,您可以在一个充满活力的社区中开发产品,从而更容易创建可伸缩的微服务应用程序。这样做的缺点是,当整个团队都在处理各种组件时,情况会很快变得非常复杂。此外,容器化的应用程序可以包含多种组件类型,这取决于您使用的操作系统、语言和框架。

让我们从使用Kubernetes运行应用程序所需的三个基本组件开始:

容器云集群

Kubernetes集群是您的容器化应用程序运行的编排基础设施。您需要决定是否要自己管理它,以及是否要使用云提供商托管它。此组件不在文档的此范围内讨论。

CI/CD 流水线

CI/CD流水线在Kubernetes中运行,并使流程自动化,从源代码和外部依赖包开始,一直到将应用程序部署到Kubernetes集群中。Kubernetes流水线是“应用程序感知的”(面向应用),这意味着它们天生能够动态地提供一个完整的容器化应用程序堆栈(通常由多个service、deployments, replica sets, secrets, configmap等组成)。对应用程序上下文的每次更改,无论是代码、、镜像还是配置更改,都将触发流水线。

Ø Kubernetes Registry

您的生产集群应该使用一个单独的、受管理的和可信的真实源,该源存储和记录应用程序和其依赖组件。使用Kubernetes Registry,您可以在一个pod中并行运行多个应用程序堆栈,而不产生冲突,也不需要关心每个应用程序的内部依赖关系。这将维护正在运行的集群、向上和向下扩容应用程序、开发新版本和调试应用程序具体问题分隔开来。

上K8s容器云前准备好你的应用程序

应用程序是服务/解决方案的核心。在Kubernetes中运行应用程序之前,需要计划和准备应用程序。

问卷清单:为K8S准备应用程序

下表显示了在准备Kubernetes应用程序之前必须询问的与应用程序相关的任务和问题。(表格)

有关将构建软件的基础知识,请参见软件12因素。https://12factor.net/

在Kubernetes中获得灵活性和通用性

多语言编程和多种不同的工具和技术提供了多种可能性。您可以选择最适合您的业务需求的技术,但是每种技术可能有不同的接口、REST API和自己的包格式。支持这些工具的唯一方法是做到在制品从创建到部署的生命周期的管理中实现通用。

部署Artifactory作为您的Kubernetes Registry

通过使用Artifactory作为“Kubernetes Registry”,您可以获得灵活性和通用性,作为可信的单一来源,它允许您深入了解代码到应用集群的过程,同时关联每个应用程序的每一层(layer)。Artifactory在一个系统中支持超过25种不同的技术栈,具有一个元数据模型、一个升级流和强大的制品依赖关系。

Artifactory允许您将容器化的微服务部署到Kubernetes集群,因为它作为一个通用存储库管理平台来满足您的所有CI/CD需求,而不管它们在您的组织中何处运行。登记应用程序包后,可以继续传播和执行构建、测试、升级,最后部署到Kubernetes。为了方便地将Artifactory(和其他JFrog产品)部署到Kubernetes,请参考我们在helm hub中的官方JFrog Helm Charts(https://hub.helm.sh/charts/jfrog)。

自动化部署到Kubernetes

在CI/CD流水线的每个阶段中不需要人工干预的情况下可靠地大规模部署应用程序是的协调的主要原因。但是如何以一种可重复、可靠的方式将代码发布到集群中呢?如何确保只有正确版本的应用程序才能投入生产?

为此,我们建议将Artifactory部署为存储库管理平台,通过抹平开发和操作之间的差距在CI/CD流水线中扮演重要角色。

将Artifactory部署为Helm Charts仓库

Artifactory原生支持Helm存储库,使您能够完全控制Kubernetes的部署过程。它提供安全的、私有的、本地的Helm存储库,通过细粒度的访问控制在您的组织中共享Helm Charts。使用远程存储库代理和缓存公共Helm Charts资源,并将本地和远程资源聚合到单个虚拟Helm存储库下,从而从单个URL访问所有Helm Charts。

K8S 专家建议:

当使用Artifactory作为您的Helm 存储库时,我们建议:

•分离您的稳定存储库和开发阶段存储库(基于成熟度)。

•在Charts中使用SemVer version 2版本。

•定期重新计算索引。

在CI/CD流水线中部署应用程序的最佳实践

在CI/CD流水线中部署应用程序时,我们建议:

  • 使用相同的Helm Chart进行本地、分段、测试和生产,同时每个环境使用不同的Value.yaml 文件。每个yaml都需要包含特定的环境配置值。例如:values-stg..yaml,,value-prod.yaml。
  • 在VCS源代码管理系统中管理应用自定义值。
  • 默认配置值value.yaml应该是针对开发人员或本地的,这样开发人员就可以轻松地在本地使用它。
  • 对依赖项使用外部charts。使用社区已经完成的工作!
  • 出于安全目的:将您的迷药从Charts中分离出来,并将它们作为外部Charts引用。

升级发布可靠和可伸缩的应用到Kubernetes环境

在Kubernetes集群中并行运行多个应用程序需要建立对工件(Docker镜像)的持续访问,同时支持零停机的高负载服务。

在Kubernetes部署Artifactory 高可用

通过在Kubernetes集群中部署Artifactory HA(高可用),在集群中,您将体验到零宕机服务,如果一个pod被回收或崩溃,或者节点意外停机,容器集群将自动调度恢复对应服务的Pod。

在Kubernetes部署Artifactory HA的好处是:

  • 在不影响性能的情况下,支持更高的负载兵法。
  • 提供水平服务器可伸缩性,允许您在组织增长时轻松地增加容量以满足任何负载需求。
  • 支持在没有系统停机的情况下执行大多数维护任务。
  • 通过使用零停机时间替换应用程序的各个实例,可以在实例上安装更新版本,从而支持滚动升级。

在下例中,使用三个节点部署了一个Artifactory HA集群:一个主节点和两个成员节点。因为负载均衡只在成员节点上执行。这使得主节点可以自由地处理作业和任务,不会被入站流量中断。

Kubernetes集群的存储和可伸缩性

Artifactory HA允许您在Kubernetes中突破应用程序的限制,因为它支持大量存储替代方案。有关更多信息,请参见配置文件存储库。

https://www.jfrog.com/confluence/display/RTF/Configuring+the+Filestore

可见性和安全性:在Kubernetes中保护您的应用程序

像Docker和Kubernetes这样的云本地技术提供了更大的攻击面,为恶意数据挖掘、勒索软件和数据盗窃提供了更多潜在的入口点。在Kubernetes集群中运行的服务并不是完全独立的,它们可以访问集群中的其他区域。

正是出于这个原因,集群的可见性非常重要,尤其是从安全性的角度来看。您需要知道容器中运行的是什么,因为您的应用程序很少包含单个组件,而是包含外部依赖项,如OS包、OSS libs和第三方流程。这就引出了一个不可避免的问题——它们安全吗?它们是否包含安全漏洞?他们是否遵守自由/开源软件许可?

获的k8s中容器的可见性

Artifactory通过提供可审核性来深入了解整个CI/CD流程,因为它捕获了整个CI/CD流程中产生的大量有价值的元数据。您可以跟踪负责生成Docker镜像层的应用层的CI作业。它还可以通过允许比较两个构建来显示构建差异,从而很容易地跟踪Docker镜像基于哪个层生成的,到哪个构建产生的,从而跟踪到提交。

k8专家提示:

推荐阅读:每个人都必须遵循9个Kubernetes安全最佳实践。

(https://www.cncf.io/blog/2019/01/14/9-kubernetes-security-best-practices-everyone-must-follow/

扫描和检测容器中的漏洞

JFrog Xray与Artifactory协作,在应用程序生命周期的任何阶段执行二进制软件工件的通用分析。它对容器中的所有层执行递归扫描,并通过扫描和分析工件及其元数据(递归地遍历任何级别的依赖关系)来帮助识别所有层中的漏洞。可以在Xray中设置策略,根据Xray扫描发现的风险级别限制或阻止容器镜像部署到Kubernetes。通过这种方式,可以阻止脆弱或不兼容的应用程序运行,或者限制它们在启动时可以做什么。

在K8S中保护您的开源项目

大多数应用程序严重依赖于包管理器和开源存储库,因此很容易受到来自这些源的恶意或不安全代码的攻击。作为我们支持和贡献开源社区计划的一部分,JFrog开发了KubeXray,这是一个开源项目,它将Xray的安全性扩展到Kubernetes pod中运行(或即将运行)的应用程序。使用Xray通过扫描容器映像生成的元数据,KubeXray可以对已经部署的内容执行策略。

KubeXray监控您所有的活动Kubernetes Pod,以帮助您:

  • 捕获当前在所有Kubernetes Pod中运行的应用程序中最新的风险或漏洞。
  • 对正在运行的应用程序强制执行当前策略,即使您已经更改了这些策略。
  • 对未被Xray扫描且风险未知的正在运行的应用程序执行策略。

使用Helm 2防止未经授权的访问

Helm 2包含一个名为“Tiller”的服务器端组件。Tiller是一个集群内的服务器,它与Helm客户端交互,并与Kubernetes API服务器交互。

Tiller 绝对是很酷的,但重要的是要知道有安全问题。这是因为Helm客户端负责管理Charts,而服务器负责管理发布。这带来了很大的风险,因为Tiller使用root权限运行,有人可能会未经授权访问您的服务器。

Rimas Mocevicius是JFrog公司的一名员工,也是Helm公司的联合创始人,他提出了一种创新的方法来解决这种情况,即在工作站上或CI/CD管道上运行Helm和Tiller,而不将Tiller安装到Kubernetes集群中。您可以下载并安装无Tiller 的Helm v2插件。

使用用RBAC管理Kubernetes

必须将RBAC(基于角色的访问控制)设置为Kubernetes的管理功能,因为它允许您定义哪个用户可以管理集群及其粒度。除了定义可以列出哪些用户和应用程序之外,还可以获取、创建或删除pods和其他Kubernetes对象。一个好的实践是通过在为应用程序创建的服务帐户中设置“automountServiceAccountToken: false”来禁用对API的访问。

如果没有指定服务帐户,它会自动将相同名称空间中的“默认”服务帐户分配给pod。我们建议不要使用名称空间附带的默认值。始终为应用程序创建服务帐户,因为它允许您设置应用程序的限制,包括名称空间或集群范围的操作,并完全禁用对Kubernetes API的访问。

在K8S中记录日志、监视和调试应用程序

微服务的数量随着复杂性的增加而增加,问题是如何跟踪和监视它们,以及应该监视什么。当涉及到微服务时,您需要收集以下数据微服务:

  • 意外事件:例如,在数据库容器中执行的所有权更改
  • 微服务宕机。
  • 不正确的文件选择在生产造成混乱。
  • 不允许使用特定的基本OS版本。

在Kubernetes中应用程序记录日志的最佳实践

应用程序和系统日志对于排除Kubernetes集群活动的故障非常重要。

在Kubernetes中应用程序记录日志时,请遵循以下最佳实践::

  • 限制对日志的直接访问。
  • 在使用Kubernetes仪表板(不推荐用于生产环境)时,将仪表板设置为具有访问权限的只读。您可以允许其他成员执行故障排除,但不要完全访问仪表板,因为它可能会对Kubernetes集群造成损害。
  • 确保您的日志是实时可访问的,并且可以在稍后的阶段进行分析。使用ELK/EFK技术栈等日志收集工具(ElasticSearch、Logstash/Fluentd和Kibana)收集和索引来自系统和应用程序的所有日志。
  • 考虑将日志保存在单独的集群中,以便在稍后阶段使用日志。如果集群宕机,允许您访问日志

持续监控K8S中的微服务

持续监视系统和应用程序健康状况非常重要。

对于实时监视Kubernetes集群和其中运行的应用程序,有许多免费的和商业的解决方案。其中一个流行的解决方案是Prometheus ,Grafana的结合,提供实时监控,可以与报警工具相结合。

将应用程序部署到K8S生产环境中

在K8S顺利开始旅程的10个技巧

1. 对于初学者,我们建议从阅读Kubernetes的艰难方式开始!

(https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/README.md)

2. 从小事做起。从示例中学习,从一个小应用程序(nginx)开始,使用现有的演示,并尝试在Docker的Skin Kubernetes中部署应用程序。

3. 在进入K8S之前准备好你的应用程序。

(https://docs.google.com/document/d/1YS_jICIEPZLle7KcpEoLjuKCZ_TkgNzb9LajPU4AhsI/edit#heading=h.81oh8o1kpi75)

4. 为使应用程序在k8s中运行,设置一个最小的目标。

5. 使用托管的k8S来解放您的工作,例如:AKS、ESK或GKE,它们为您抽象了许多复杂性。

6. 每个Pod有一个主容器。

7. 我们建尝试GKE 托管管理Kubernetes。

8. 确定在Kubernetes集群内或集群外存储数据库的位置。这一点非常重要,因为您需要在集群崩溃时计划集群恢复。考虑以下:

-当K8S在prem上运行时:在Kubernetes中将现有的数据库作为无状态应用程序使用。

-在云上运行K8S时:,选择一个如PostgreSQLMySQL 的 operator ,其知道如何在Kubernetes节点宕机时恢复的持久化数据库。

9. 部署到容器云时,请将对应集群分开,运行CI/CD流水线,以及从外部CI/CD流水线部署应用到Kubernetes集群。

10. 与社区合作

总结

正如本篇文章所描述的,我们展示了Kubernetes和JFrog Artifactory是如何让您可靠地、可预测地部署应用程序、动态地伸缩应用程序、无缝地推出新特性并有效地利用硬件资源的。

本篇文章旨在回顾希望采用Kubernetes作为容器编排工具的公司所面临的复杂性和挑战。我们希望我们分享的经验教训、最佳实践和技巧将帮助您在前往K8s的旅途中起步并继续前进。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
5步实现规模化的Kubernetes CI/CD 流水线
在近几年,Kubernetes迅速成为了容器编排的事实上的开源标准。与虚拟机不同,Kubernetes在抽象化基础架构的同时可靠地大规模编排容器,这可以帮助开发人员将工作负载与基础架构的复杂性分开。Kubernetes是CI/CD自动化的理想选择,因为它提供了许多内置功能,这些功能使应用程序部署实现标准化和可重用,提高了开发人员的生产力,并加快了云原生应用程序的采用。
JFrog杰蛙科技
2019/12/23
2K0
5步实现规模化的Kubernetes CI/CD 流水线
Helm, 在Kubernetes中部署应用的利器
Kubernetes(k8s)是一个基于容器技术的分布式架构领先方案。它在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。
JFrog杰蛙科技
2020/01/03
9390
Helm, 在Kubernetes中部署应用的利器
ChartCenter ——为您的K8s之旅保驾护航v
Kubernetes(k8s)是一个基于容器技术的分布式架构领先方案,为容器化应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。近些年来,Kubernetes迅速成为了容器编排的事实上的开源标准,能够实现应用程序部署流程的标准化和重用,提高了开发人员的生产力,并加快了云原生应用程序的采用。
JFrog杰蛙科技
2020/09/12
4230
在 KubeCon 大会上备受关注的 K8S Helm 到底是什么?
作者:王青,JFrog 中国首席架构师,之前在 IBM,HPE,爱奇艺,新浪,VIPKID 等公司做过研发和架构,是有十多年开发经验的互联网老兵,专注于软件生命周期管理,微服务架构,云原生应用,容器化等领域。 什么是 Helm Charts? Helm Charts是 Kubernetes 项目中的一个子项目(https://github.com/kubernetes/helm)目的是提供 Kubernetes 的包管理平台。Helm 能够帮你管理 Kubernetes 的应用集合。Helm Chart
企鹅号小编
2018/02/06
2.3K0
在 KubeCon 大会上备受关注的 K8S Helm 到底是什么?
JFrog助力Google Anthos混合云Devops实践,实现安全高质量的容器镜像管理
自Google Anthos推出以来在混合云领域受到极大关注,作为Google进入ToB混合云市场的战略级产品,Anthos集成了如GKE (Google Kubernetes Engine)、GKE On-Prem、Istio on GKE等……引起业界的关注。可以说这又是Google又一大利器。那么混合云作为企业数字化转型的重要基础设施建设,既留了核心数据,降低了迁移风险,又能在原来资源的基础上增加公共云的弹性,一举多得,成为当前云计算发展的热门话题。而作为数字化转型的另外一个风向标DevOps如何与当前的混合云发展进行协作,带向企业进入云原生时代,将会成日今后数字化建设的一个重要主题。
JFrog杰蛙科技
2020/07/27
1.7K0
JFrog助力Google Anthos混合云Devops实践,实现安全高质量的容器镜像管理
容器平台与最佳实践参考
这是一张三年前总结的示意图,描绘了一个Kubernetes集群环境中的各种组件和它们之间的关系。图中从左到右展示了一个从基础资源角度到应用程序发管理角度的脑图。解释图中的主要组成部分:
行者深蓝
2023/12/11
5940
k8s 生产环境最佳实践
众所周知,Kubernetes很难! 以下是在生产中使用它应遵循的一些最佳实践。遵循这些步骤能够确保更高的安全性和生产效率。
iginkgo18
2023/04/08
1.6K0
你的K8s 运行时环境安全吗? KubeXray帮你保护K8s环境及应用
大多数安全措施都是为了防止漏洞逃跑而设计的, 在此之前,我们也分享了一些第三方安全扫描的文章(请移步到历史文章中查看),尽早识别应用程序的风险意味着您可以防止或限制它部署到您的系统中(安全左移策略)。有了这些知识或工具,容器中任何可能造成损坏的漏洞都可以安全地留在由您的安全策略围栏后面。
JFrog杰蛙科技
2020/02/12
1.1K0
你的K8s 运行时环境安全吗? KubeXray帮你保护K8s环境及应用
你的Helm安全吗?
Kubernetes是目前最为流行、成为事实标准的容器集群管理平台,为容器化应用提供了部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。在Kubernetes当中,用户通过使用API对象,如Pod、Service、Deployment等,来描述应用的程序规则,而这些资源对象的定义一般需要写入一系列的YAML文件中,然后通过 Kubernetes 命令行工具Kubectl进行部署。由于通常应用程序都涉及到多个Kubernetes API对象,而要描述这些API对象就可能要同时维护多个YAML文件,从而在进行 Kubernetes 软件部署时,通常会面临下述几个问题:
JFrog杰蛙科技
2019/12/25
1.1K0
你的Helm安全吗?
五大Kubernetes最佳实践
在最近的一次Weave用户组在线会议WOUG[1]上两个工程师做了Kubernetes相关的分享。 谷歌云的开发者布道师Sandeep Dinesh(@SandeepDinesh)做了一个演讲,给大家列举了在Kubernetes上运行应用的最佳实践清单;Jordan Pellizzari(@jpellizzari),是来自Weaveworks的工程师,随后也做了一个分享,内容是在他们使用Kubernetes开发运行SaaS Weave Cloud两年之后学到的经验教训。 Kubernetes最佳实践 这篇演
魏新宇
2018/06/25
1.8K0
Kubernetes GitOps 工具
在我看来,Kubernetes的优势主要在于它的声明式性质与控制循环相结合,并通过这些控制循环持续监控集群的活动状态,确保它与etcd中存储的期望状态保持一致。这种方式非常强大,但同时其数据库也被限制为etcd(etcd仅提供了有限的可观察性),并影响到了集群变更时的责任性和审计性。另外一个缺点是将etcd和代码仓库作为两个SOT(sources of truth),有可能会导致配置漂移,造成管理上的困难。
charlieroro
2022/05/09
1.1K0
Kubernetes GitOps 工具
CI/CD 改进方案设计
在面对不同环境(例如虚拟机、容器、集群)时,选择适合的 CI/CD 工作流程是至关重要的。以下是针对不同环境的一些常见的 CI/CD 工作流程选择:
行者深蓝
2024/03/12
2980
eShopOnContainers 知多少[10]:部署到 K8S | AKS
断断续续,感觉这个系列又要半途而废了。趁着假期,赶紧再更一篇,介绍下如何将eShopOnContainers部署到K8S上,进而实现大家常说的微服务上云。
圣杰
2019/05/29
9790
eShopOnContainers 知多少[10]:部署到 K8S | AKS
使用K8s的一些经验和体会
在微服务和容器化方面,工程师倾向于避免使用 Java,这主要是由于 Java 臭名昭著的内存管理。但是,现在情况发生了改变,过去几年来 Java 的容器兼容性得到了改善。毕竟,大量的系统(例如Apache Kafka和Elasticsearch)在 Java 上运行。
iginkgo18
2021/01/21
8610
K8S 中的容器编排和应用编排
众所周知,Kubernetes 是一个容器编排平台,它有非常丰富的原始的 API 来支持容器编排,但是对于用户来说更加关心的是一个应用的编排,包含多容器和服务的组合,管理它们之间的依赖关系,以及如何管理存储。
sunsky
2020/08/20
2.7K0
K8S 中的容器编排和应用编排
10个步骤成为K8S云原生工程师
看到这篇文章的时候,你很可能已经了解到了使用 kubernetes 管理多服务架构的好处。本文不会讨论为什么要使用 kubernetes,而是重点讨论你已经确定将kubernetes作为你的解决方案后,如何使用它。
云原生
2021/09/23
6820
使用 helm 部署 k8s 资源
helm 是基于 kubernetes 的包管理器。它之于 kubernetes 就如 yum 之于 centos,pip 之于 python,npm 之于 javascript
jwangkun
2021/12/23
1.1K0
基于ArgoCD的GitOps实践
GitOps 是 Weaveworks 提出的一种持续交付方式,它的核心思想是将应用系统的声明性基础架构 和应用程序存放在 Git 版本库中。将 Git 作为交付流水线的核心,每个开发人员都可以提交拉取请求 (Pull Request)并使用 Git 来加速和简化 Kubernetes 的应用程序部署和运维任务。通过使用像 Git 这样的简单工具,开发人员可以更高效地将注意力集中在创建新功能而不是运维相关任务上(例如,应用系统安装、配置、迁移等)。
100000798482
2023/03/19
1.4K0
基于ArgoCD的GitOps实践
KubeSphere DevOps 初体验,内置 Jenkins 引擎
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 支持部署在任何基础设施环境,提供在线与离线安装,支持一键升级与扩容集群,并且各功能组件支持模块化和可插拔的安装。
LinuxSuRen
2020/07/03
2.3K0
在 Kubernetes 上使用 Jenkins
有几种方法可以在 DevOps 环境中管理您的云基础架构。DevOps 是一种鼓励快速流动的应用程序开发以及促进 IT 团队开发、测试、发布过程无缝无缝衔接的方法。
LinuxSuRen
2019/07/31
3.6K1
相关推荐
5步实现规模化的Kubernetes CI/CD 流水线
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文