容器优化的构造工作流由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虚拟存储库的一部分。
- 使用Docker Config创建一个秘密来保存Artifactory身份验证令牌Docker注册表项目,执行以下命令:
Kubectl创建秘密docker-注册表rt-registrykey--码头工人-服务器=码头工人-虚拟.artifactory.com--码头工人-用户名=$ {USERNAME}--码头工人-密码=${密码}--码头工人-电子邮件=test@test
- 运行以下命令example-deployment.yaml通过运行以下命令,将容器化的微服务部署到Tectonic:
Kubectl创建-f example-deploy .yaml
下面的示例—部署。Yaml文件是一个定制模板,可以根据您的需要进行编辑。注意,我们增加了以下引用:
- - -部署对象指向Docker映像,它是Artifactory的Docker虚拟库的一部分。
图片:docker-virtual.artifactory.com/nginx: 1.12
- - - - - -的ImagePullSecrets设置如下:
imagePullSecrets: - name:rt-registrykey:example-deployment.yamlsample
apiVersion:扩展/v1beta1种类:部署元数据:的名字:例子-部署名称空间:默认的标签:美丽-应用程序:例子规范:副本:3.模板:元数据:标签:美丽-应用程序:例子规范:容器:-的名字:nginx图片:docker-virtual.artifactory.com/nginx: 1.12港口:-的名字:httpcontainerPort:80imagePullSecrets: - name:rt-registrykey
在成功的身份验证之后,将从Artifactory中提取一个映像Docker虚拟存储库.
- 登录构造UI >部署,查看Docker部署状态。

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

