完成IBM Cloud Private的Kubernetes Puzzle

有时候两件事是如此自然地结合在一起,你会觉得它们是为彼此而生的。对于IBM Cloud Private和JFrog Artifactory,您可能会有这种感觉,因为在某些重要方面,这是真的。
IBM Cloud Private (ICP)和Artifactory都是为了促进集装箱化而构建的,集装箱化是一种不断发展的技术,它使得开发和部署原生云、可伸缩的微服务变得容易。Artifactory授权您的云Devops管道实现自动化而且直接与Kubernetes联系起来,是ICP体系结构的核心容器编曲器。
把这些碎片拼接起来很容易。我们将解释为什么您应该这样做,并为您提供一些帮助。
包含你自己
ICP构建在k8上,但它是一个私有云,运行在您自己的内部基础设施上,具有许可访问权限,被防火墙屏蔽。这为敏感数据或符合监管框架提供了合适的受保护环境。
当与公共IBM云, IBM Cloud Private可以强大的混合云系统的一部分.
作为一个二进制库管理器, Artifactory存储您的容器编曲到ICP K8s豆荚,作为您的Kubernetes Docker注册表.
Artifactory还可以添加额外的保护,通过限制对认证用户的访问来保护您的二进制文件x射线漏洞扫描,有助于防止易受攻击的代码被部署。
Kubernetes注册表
在Artifactory中,您可以指定一个存储库作为码头工人注册表将集装箱运到Kubernetes。但Artifactory在将k8健壮地链接到您的完整DevOps管道方面做得更多。
由于现代软件开发将来自许多地方的代码构建块聚集在一起,因此能够信任每一个代码是至关重要的。但是来自包存储库的组件npm而且Maven,其他合作者,或者你自己的团队都可能经常发生不可预测的变化。
Artifactory为您的软件供应链中的所有二进制文件提供了一个中心家园,并在它们通过您的持续集成和交付(CI/CD)系统.这有助于确保在开发管道的许多阶段中移动的工件是预期的、兼容的和安全的。
Artifactory不仅仅是一个传统的Docker注册表,它还是一个全面的Kubernetes注册表,在这里您可以完全跟踪内容、依赖关系以及与其他容器映像的关系,以及指示k8部署的舵手图.这使您能够洞察和控制整个集装箱链。

作为您信任的二进制文件来源,Artifactory支持无摩擦的DevOps,使您的组织能够快速、频繁和安全地发布新软件。
零停机
与Artifactory企业,您可以为其配置二进制存储库高可用性提供5 - 9的可靠性,并保证您的构建将始终完成。本教程演示如何安装Artifactory HA,这是适合企业级工作的版本。
在HA配置中,一组冗余的Artifactory服务器运行在ICP集群中的多个荚中。通过这种方式,即使一个或多个pod被阻塞、崩溃或离线,至少也有一个Artifactory实例可用于服务请求。这种高可靠性有助于确保在最苛刻的工作负载下零停机。

您的安装将分配NGIX作为它的入口控制器,以优化地将请求分发到Artifactory服务器节点。
在IBM Cloud Private中安装Artifactory
通过JFrog的Helm图可以很容易地在IBM Cloud Private上设置并运行Artifactory。但你得先做一些重要的事。
开始之前
为将Artifactory安装到IBM Cloud Private做好准备,请确保您已经准备好以下内容:
- 你必须安装和配置IBM Cloud Private集群.虽然应该将IBM Cloud Native或Enterprise版本用于生产,但可以将Community Edition成功用于测试。
- 作为安装的一部分,您必须创建一个存储类它会动态分配a持久的卷.(要进一步了解存储类,请参阅Kubernetes文档.)
- 你必须有IBM Cloud CLI和工具安装。
- 你需要一个Artifactory企业许可证运行此过程安装的高可用性Artifactory配置。为了测试和评估的目的,您可以这样做请求一组30天试用许可证.
遵循的步骤
一旦您配置了IBM Cloud Private安装和适当的集群环境,您就可以安装Artifactory了。
步骤1:创建镜像策略
IBM Cloud Private包含一个货柜形象保安执法有助于确保允许部署到ICP集群的容器映像的特性。
要成功安装Artifactory,您必须创建一个映像策略资源,将Artifactory标识为允许的映像。
- 创建文件image_policy.yaml内容如下:
image_policy.yaml apiVersion: securityenforcement.admission.cloud.ibm.com/v1beta1 kind: ClusterImagePolicy元数据:name: artifactory spec: repositories: - name: docker.bintray。Io /jfrog/* policy: va: enabled: false
- 运行kubectl创建镜像策略资源。
$ kubectl创建-f image_policy.yaml
步骤2:安装Artifactory HA
Artifactory的高可用性配置可以从JFrog安装到ICP集群中执掌图表存储库。
因为ICP是自托管的,所以必须配置入口控制器以公开Artifactory服务以供外部引用。
-
- 安装和初始化Helm客户:
#初始化Helm客户端
- 添加JFrog Helm图表存储库:
#添加JFrog Helm chart repository Helm repo添加JFrog https://charts.jfrog.io
- 为你的Artifactory证书创建一个秘密:
kubectl Create Secret tls artifactory-ha-tls——cert=path/to/tls。cert——关键=路径/ / tls.key
- 创建一个ingress-values.yaml文件使用入口来公开Artifactory-ha服务。该文件应包含以下内容:
ingress-values.yaml defaultBackend: enabled: true hosts: - artifactory.jfrog.team注解:ingress.kubernetes。Io /proxy-body-size: "0" ingress.kubernetes。Io /proxy-read-timeout: "600" ingress.kubernetes.输出说明kubernets . Io /ingress.class: nginx nginx.ingress. kubernetes.io/ proxy-send-timeout: "600"Io /configuration-snippet: | rewrite ^/(v2)/token /artifactory/api/docker/null/v2/token;重写^ / (v2 )/([^\/]*)/(.*) / artifactory / api /码头工人/ 2美元/ 1 / 3美元;nginx.ingress.kubernetes。io/proxy-body-size: "0" tls:—secretName: artifactory-ha-tls hosts:—artifactory.jfrog.team # Nginx Nginx: enabled: false
- 使用Helm图表安装Artifactory Enterprise
#使用helm chart helm Install——name artifactory-ha -f ingress-values安装artifactory。Yaml jfrog/artifactory-ha -tls
- 当安装完成后,您可以通过发出以下命令来确认并获得进一步的安装说明:
查看helm artifactory-ha部署helm status artifactory-ha状态
status命令将响应指示,告诉你如何:
- 设置主密钥或秘密
- 提取数据库密码
- 获取Artifactory IP和URL
- 在浏览器中打开Artifactory
- 使用license激活Artifactory HA
- 安装和初始化Helm客户:
试一试
在IBM Cloud Private集群中成功安装并激活Artifactory之后,您就可以了开始设置存储库和构建集成使用您选择的CI服务器。你会获得交付可靠、确定的构建的保证.
我们探索了Artifactory与IBM Cloud Private自然合作的几种重要方式,以满足企业级Kubernetes的需求。但是有很多云DevOps使用Artifactory的原因.
使用一组Artifactory试用许可证尝试ICP的安装过程,并发现Artifactory可以帮助您构建从代码到集群的可信任的连续交付管道的多种方法。
