在Kubernetes的规范发行版中部署JFrog Artifactory

本文由JFrog的Craig Peters和Canonical的Stephan Fabel共同撰写。
免费快速部署Kubernetes (k8s)的方法是加速开发团队采用Kubernetes的关键组成部分。的Kubernetes的规范发行版(CDK)提供跨各种云基础设施的纯体验。这使企业能够快速、安全地采用最新的容器编排技术。
为什么需要Kubernetes注册表?
一旦组织拥有了在k8(包括k8集群)上运行应用程序的基本构建块,容器注册中心,用于自动部署的工具对于k8s来说,他们很快发现一个简单的容器注册表并不能解决问题。有些团队想用Laravel,有些想用Angular,有些还想用Spring等等。
出现的问题是,如何处理所有这些应用程序框架,同时使团队能够使用Docker打包并使k8s运行?答案是你需要aKubernetes注册表它汇集了所有的包类型,并支持所有的语言和框架。
JFrog和Canonical合作提供了JFrog Artifactory作为Kubernetes注册表,用于管理CDK平台的Kubernetes应用程序包。Artifactory管理您的应用程序包、操作系统组件依赖项、开源库、Docker容器等执掌图表提供对所有依赖项的完全可见性。
今天,我们很高兴地宣布技术预览插件的Kubernetes的规范发行版它将JFrog Artifactory作为Kubernetes注册表进行自动化管理.
在CDK中部署Artifactory
范围和限制
在集成的技术预览版中,我们正在努力解决一些已知的限制和问题,然后才宣布该附加组件普遍可用。技术预览版已经在AWS云上的Kubernetes 1.9和自我管理的juju控制器上进行了测试。您可能能够让它在其他环境中工作,但是您可能会遇到问题。请向我们提供反馈和报告问题,并将有关变魔术/咒语项目的问题归档并在标题中加入“jfrog”。
在这篇博文中,我们将展示如何在CDK上使用conju- up快速轻松地设置和使用Artifactory。在高可用性部署中,用Artifactory启动并运行一个完整的k8s集群只需要不到一个小时的时间。
先决条件
安装用魔法召唤在Ubuntu上,运行以下命令:
$ snap install conju- up——经典
我们的技术预览版目前使用Kubernetes 1.9进行测试,因此您需要通过创建通道来配置conju- up以使用特定版本的Kubernetes snap。yaml文件.你需要一台机器Snapd、Python、Perl和jq。
召唤咒语
要部署Kubernetes,需要调用canonical-kubernetes法术:
- 运行用魔法召唤并指定channels.yaml文件。

- 在附加组件选择步骤中,选择JFrog Artifactory.

- 配置CDK。在我们的示例中,我们已经配置了以下设置:
—设置AWS为云提供商。
—设置用户凭据。
—设置可用配额空间的云区域。
—设置自管理巨兽控制器。
有关更多信息,请参见联想到文档. - 为了配置Artifactory,我们选择了所有默认值。有关选项的详细列表,请参见自述.注意:对于这个简单的例子,我们没有为Artifactory配置证书,这意味着Docker注册表是不安全的。附加组件支持配置TLS,因此您可以轻松地使用证书进行配置安全的Docker注册表.

完成中的步骤用魔法召唤向导。Juju通过在后台运行进程来配置Kubernetes集群。 - 查看Kubernetes和Artifactory部署的基础设施的juju状态。
护符状态 - 决赛中完成部署后步骤在向导的第一步中,“召唤”向您展示了如何通过查询Kubernetes服务将主机连接到Artifactory。

- 要找到允许您连接Artifactory的LoadBalancer主机,请运行以下命令:
获取SVC - 0 wide>
注意,所有pod完成初始化、挂载存储设备以及启动并运行Artifactory服务可能需要几分钟的时间。 - 使用实例查询正在运行服务的pod的状态。
Kubectl得到豆荚
一旦所有的吊舱都被设置为准备好了, Artifactory也开始运作了。
太棒了!现在您已经验证了您的pod准备好了。是时候启动Artifactory了。 - 在浏览器中打开LoadBalancer。Artifactory启动并运行,Artifactory Onboarding Wizard启动。

- 点击旁边激活您的Artifactory实例。如果你没有驾照,那就开一个人工工厂的企业试用用于HA部署。
重要的是:Artifactory UI中的链接指向不支持HA部署的Artifactory Pro试用版,因此请使用上面的链接。

- 通过设置密码、您可能需要的任何代理来完成设置,然后继续创建存储库。在这个例子中,我们选择了Docker、Gems、Helm和npm,这样你就可以看到Kubernetes注册表的运行情况。有关更多信息,请参见配置存储库.
让我们关注Docker注册表。 - 测试配置Docker注册表Mac版Docker允许任何不安全的注册表。当您使用证书为Artifactory部署提供TLS终止时,请记住关闭此选项。

- Ping Artifactory主机以获取LoadBalancer的IP地址。

- 在本例中,我们配置了设置指向相关的主机和存储库,因为没有DNS。我把两个码头工人虚拟和docker-local存储库。

- 要开始使用Docker客户端,请转到Docker帮我介绍在Artifactory。

- 测试Artifactory虚拟存储库功能。运行Docker拉取映像以验证它不在docker-local回购.

- 查找nginx版本包视图Docker.

现在让我们配置执掌库。 - 打开帮我介绍用于Helm虚拟存储库。

- 找出使用了哪个版本的Helm进行部署:
领导名单
添加Artifactory作为存储库:舵手回购
运行helm客户端在当前配置的helm存储库中搜索“artifactory”图表:舵机搜索装置
结尾部分
现在,您已经准备好使用Artifactory来管理您的应用程序包、操作系统组件依赖项、开源库、Docker容器和Helm图表,并对所有依赖项具有完全可见性。这是你的Kubernetes注册表!
有关Kubernetes Registry如何构建软件的复杂示例,请参阅我们的Kubernetes例子.这个例子说明了CI管道的分层方法,可以为Kubernetes应用程序实现安全和快速的更改。如果您能提供反馈,我们将不胜感激法术项目并在标题中注明“jfrog”。
欢迎本周在哥本哈根KubeCon的JFrog展位参观我们。我们迫不及待地想知道你在Kubernetes规范发行版中使用#KubernetesRegistry的所有令人兴奋的方式。














