容器优化的构造工作流由CoreOS(现在红帽)

构造艺术

关注我们最近的博客Artifactory与OpenShift的集成,您现在可以将托管在Artifactory上的二进制文件部署到另一个专门用于运行的大型企业级Kubernetes平台Tectonic上集装箱microservices更多的安全。

Artifactory与构造集成以支持端到端二进制管理,从而克服了处理的复杂性不同的软件包管理系统,如Docker, NPM和Conan (c++), RPM,为您的CI/CD工作流程提供一致性。在这篇博客中,我们将向您展示如何将Artifactory上的二进制文件部署到构造平台上。

随着企业中多语言编程的增加,在CI过程中会产生大量有价值的元数据,并由Artifactory捕获。利用此元数据的主要优点之一(建立信息)是从docker-manifest一直到应用层的可追溯性。例如,在Docker构建对象(Docker -manifest)中,很容易跟踪负责生成应用层(例如WAR文件)的CI作业,该应用层是Docker镜像层的一部分,由Docker -manifest引用。Artifactory通过使用Docker构建信息.此外,Artifactory支持多站点复制

将Docker映像部署到Artifactory到Tectonic

先决条件

验证构造实例是否处于活动状态。

下面的步骤展示了如何部署托管的Docker映像JFrog Artifactory作为Kubernetes Docker注册表构造。在本例中,我们创建了一个示例部署。yaml文件来部署一个Docker映像,它是Artifactory的Docker虚拟存储库的一部分。

  1. 使用Docker Config创建一个秘密来保存Artifactory身份验证令牌Docker注册表项目,执行以下命令:

    Kubectl创建秘密docker-注册表rt-registrykey--码头工人-服务器码头工人-虚拟artifactorycom--码头工人-用户名$ {USERNAME}--码头工人-密码${密码}--码头工人-电子邮件test@test
  2. 运行以下命令example-deployment.yaml通过运行以下命令,将容器化的微服务部署到Tectonic:

    Kubectl创建-f example-deploy .yaml

    下面的示例—部署。Yaml文件是一个定制模板,可以根据您的需要进行编辑。注意,我们增加了以下引用:

    - - -部署对象指向Docker映像,它是Artifactory的Docker虚拟库的一部分。

    图片:docker-virtual.artifactory.com/nginx: 1.12

    - - - - - -ImagePullSecrets设置如下:

    imagePullSecrets: - name:rt-registrykeyexample-deployment.yamlsample
    apiVersion扩展/v1beta1种类部署元数据:的名字例子-部署
    名称空间默认的标签:美丽-应用程序例子规范:副本3.模板:元数据:标签:美丽-应用程序例子规范:容器:-的名字nginx图片:docker-virtual.artifactory.com/nginx: 1.12
    港口:-的名字httpcontainerPort80imagePullSecrets: - name:rt-registrykey

    在成功的身份验证之后,将从Artifactory中提取一个映像Docker虚拟存储库

  3. 登录构造UI >部署,查看Docker部署状态。
    在构造中使用Artifactory进行部署
  4. 创建service和ingress对象以访问nginx服务,示例如下:

    种类服务
    apiVersion: v1metadata:
    • 的名字例子-服务名称空间默认的规范:选择器:美丽-应用程序例子港口:-协议TCP港口80类型NodePortapiVersion扩展/v1beta1种类入口元数据:的名字例子-入口名称空间默认的注释:kubernetesio/入口“构造”入口kubernetesio/重写-目标/入口kubernetesio/ssl-重定向“真正的”入口kubernetesio/使用-港口--重定向“真正的”规范:规则:-宿主控制台tectonicsandboxcomhttp:道路:-路径/例子-部署后端:例子-服务servicePort80
  5. 访问构造控制台并运行库贝特尔得到一切命令,查看服务状态和入口对象状态。
    在构造中使用Artifactory进行部署