完成IBM Cloud Private的Kubernetes拼图

有时两件事如此自然地结合在一起,你会觉得它们是天生的一对。您可能会对IBM Cloud Private和JFrog Artifactory产生这种感觉,因为从重要的方面来说,这是真的。

IBM Cloud Private (ICP)和Artifactory都是为了促进容器化而构建的,容器化是一种不断发展的技术,它使开发和部署云原生的、可扩展的微服务变得更加容易。Artifactory使您的云开发管道能够实现自动化将它直接绑定到Kubernetes,是ICP体系结构核心的容器编排器。

把这些碎片拼在一起很容易。我们将解释为什么你应该这样做,并提供一些帮助,让你开始。

包含你自己

ICP构建在k8之上,但它是一个私有云,运行在您自己的本地基础设施上,具有访问权限,并被防火墙屏蔽。这提供了一个适合敏感数据或遵守监管框架的受保护环境。

当和公共IBM云, IBM Cloud Private可以一个强大的混合云系统的一部分

作为一个二进制文件存储库管理器, Artifactory将您的编排容器存储到ICP K8s pod中,作为您的Kubernetes Docker注册表

Artifactory还可以添加额外的保护,通过限制对凭据用户的访问来保护二进制文件x射线漏洞扫描,有助于防止易受攻击的代码被部署。

Kubernetes注册表

在Artifactory中,您可以指定一个存储库作为码头工人注册表用于将容器交付给Kubernetes。但是Artifactory做了更多的工作,将k8健壮地链接到您的完整DevOps管道。

由于现代软件开发汇集了来自许多地方的代码构建块,因此能够信任每个构建块是至关重要的。但是来自包存储库的组件,比如npmMaven其他合作者,或者你自己的团队都可能经常发生不可预测的变化。

Artifactory为您的软件供应链中的所有二进制文件提供了一个中心位置,并在通过您的持续集成和交付(CI/CD)系统。这有助于确保在开发管道的许多阶段中移动的工件是预期的、兼容的和安全的。

Artifactory不仅仅是一个传统的Docker注册表,它还是一个全面的Kubernetes注册表,您可以在其中完全跟踪内容、依赖关系以及与其他容器映像的关系指示k8部署的舵图。这使您能够洞察和控制整个集装箱链。

手动创建Kubernetes注册表

作为您可信赖的二进制文件来源,Artifactory实现了无摩擦的DevOps,使您的组织能够快速、频繁和安全地发布新软件。

零停机

Artifactory企业,可以将二进制存储库配置为高可用性提供五九可靠性和保证您的构建将始终完成。本教程演示如何安装Artifactory HA,这是适合企业级工作的版本。

在HA配置中,一组冗余的Artifactory服务器在ICP集群中的多个pod中运行。通过这种方式,即使一个或多个pod被阻塞、崩溃或下线服务,至少也有一个Artifactory实例可用来为请求提供服务。这种高可靠性有助于确保即使在最苛刻的工作负载下也能实现零停机。

高可用性工件

您的安装将分配NGIX作为其入口控制器,以最佳方式将请求分发到Artifactory服务器节点。

在IBM Cloud Private中安装Artifactory

通过JFrog的Helm图表可以轻松地在IBM Cloud Private上设置和运行Artifactory。但有一些重要的事情你需要先做。

开始之前

要准备将Artifactory安装到IBM Cloud Private,请确保准备好以下内容:

遵循的步骤

一旦安装了IBM Cloud Private并配置了适当的集群环境,就可以安装Artifactory了。

步骤1:创建镜像策略

IBM Cloud Private包括一个容器图像安全执法该特性有助于确保允许部署到ICP集群的容器映像。

要成功安装Artifactory,必须创建一个映像策略资源,将Artifactory标识为允许的映像。

  1. 创建文件image_policy.yaml内容如下:
    image_policy.yaml
    apiVersion: securityenforcement.admission.cloud.ibm.com/v1beta1 kind: ClusterImagePolicy metadata: name: artifactory spec: repositories:—name: docker.bintray。Io /jfrog/* policy: va: enabled: false

  2. 运行kubectl创建镜像策略资源。
    创建-f image_policy.yaml

步骤2:安装人工HA

Artifactory的高可用性配置可以从JFrog安装到ICP集群中执掌图表存储库。

由于ICP是自托管的,因此必须将入口控制器配置为公开Artifactory服务以供外部引用。

    1. 安装和初始化Helm客户:
      #初始化客户端Helm init——client-only
    2. 添加JFrog Helm图表存储库:
      #添加JFrog Helm图表库Helm repo添加JFrog https://charts.jfrog.io
    3. 为您的Artifactory凭据创建一个秘密:
      kubectl创建Secret tls artifactory-ha-tls——cert=path/to/tls。cert——关键=路径/ / tls.key
    4. 创建一个ingress-values.yaml文件使用入口来公开factory-ha服务。该文件应包含以下内容:
      ingress-values.yaml
      ingress: enabled: true defaultBackend: enabled: true hosts: - artifactory.jfrog.team注解ingress.kubernetes。Io /proxy-body-size: "0"Io /proxy-read-timeout: "600"kubernetes.io/ingress.class: nginx nginx.ingress. kubernetes.ioIo /configuration-snippet: | rewrite ^/(v2)/token /artifactory/api/docker/null/v2/token;重写^ / (v2 )/([^\/]*)/(.*) / artifactory / api /码头工人/ 2美元/ 1 / 3美元;nginx.ingress.kubernetes。- secretName: artifactory-ha-tls hosts: - artifactory.jfrog.team # Nginx Nginx: enabled: false
    5. 使用Helm图安装Artifactory Enterprise
      helm Install——name artifactory-ha -f ingress-valuesYaml jfrog/artifactory-ha -tls
    6. 安装完成后,您可以通过发出以下命令来确认并获得进一步的设置指示:
      #命令用于检查配置的状态

      status命令将返回一些指示,告诉您如何:

试一试

在IBM Cloud Private集群中成功安装并激活Artifactory后,您可以开始设置存储库和构建集成使用您选择的CI服务器。你会获得交付可靠的、确定的构建的保证

我们已经探索了Artifactory与IBM Cloud Private自然协作以满足企业级Kubernetes需求的几种重要方式。但是有很多云开发运维使用Artifactory的原因

使用一组Artifactory试用许可尝试一下ICP的安装过程,并发现Artifactory可以帮助您构建从代码到集群的可信连续交付管道的多种方式。