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

Canonical和JFrog合作

本文由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。创建一个通道。yaml文件

召唤咒语

要部署Kubernetes,需要调用canonical-kubernetes法术:

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

    在CDK中配置一个拼写
    完成中的步骤用魔法召唤向导。Juju通过在后台运行进程来配置Kubernetes集群。

  5. 查看Kubernetes和Artifactory部署的基础设施的juju状态。
    护符状态
  6. 决赛中完成部署后步骤在向导的第一步中,“召唤”向您展示了如何通过查询Kubernetes服务将主机连接到Artifactory。
    post-deploy步骤
  7. 要找到允许您连接Artifactory的LoadBalancer主机,请运行以下命令:

    获取SVC - 0 wide>


    注意,所有pod完成初始化、挂载存储设备以及启动并运行Artifactory服务可能需要几分钟的时间。

  8. 使用实例查询正在运行服务的pod的状态。

    Kubectl得到豆荚


    一旦所有的吊舱都被设置为
    准备好了, Artifactory也开始运作了。
    查看pod状态
    太棒了!现在您已经验证了您的pod准备好了。是时候启动Artifactory了。

  9. 在浏览器中打开LoadBalancer。Artifactory启动并运行,Artifactory Onboarding Wizard启动。JFrog人工向导
  10. 点击旁边激活您的Artifactory实例。如果你没有驾照,那就开一个人工工厂的企业试用用于HA部署。
    重要的是:Artifactory UI中的链接指向不支持HA部署的Artifactory Pro试用版,因此请使用上面的链接。

    激活artifactory

  11. 通过设置密码、您可能需要的任何代理来完成设置,然后继续创建存储库。在这个例子中,我们选择了Docker、Gems、Helm和npm,这样你就可以看到Kubernetes注册表的运行情况。有关更多信息,请参见配置存储库
    让我们关注Docker注册表。
  12. 测试配置Docker注册表Mac版Docker允许任何不安全的注册表。当您使用证书为Artifactory部署提供TLS终止时,请记住关闭此选项。
    测试Docker注册表
  13. Ping Artifactory主机以获取LoadBalancer的IP地址。
    ping artifactory主机获取IP地址
  14. 在本例中,我们配置了设置指向相关的主机和存储库,因为没有DNS。我把两个码头工人虚拟docker-local存储库。
    查看Docker存储库
  15. 要开始使用Docker客户端,请转到Docker帮我介绍在Artifactory。
    码头给我下了套
  16. 测试Artifactory虚拟存储库功能。运行Docker拉取映像以验证它不在docker-local回购
    Docker本地回购
  17. 查找nginx版本包视图Docker
    在Artifactory中查看Docker注册表
    现在让我们配置执掌库。
  18. 打开帮我介绍用于Helm虚拟存储库。
    在Artifactory中设置一个Helm Repository
  19. 找出使用了哪个版本的Helm进行部署:

    领导名单


    添加Artifactory作为存储库:

    舵手回购


    运行helm客户端在当前配置的helm存储库中搜索“artifactory”图表:

    舵机搜索装置

    舵机搜索装置

结尾部分

现在,您已经准备好使用Artifactory来管理您的应用程序包、操作系统组件依赖项、开源库、Docker容器和Helm图表,并对所有依赖项具有完全可见性。这是你的Kubernetes注册表!

有关Kubernetes Registry如何构建软件的复杂示例,请参阅我们的Kubernetes例子.这个例子说明了CI管道的分层方法,可以为Kubernetes应用程序实现安全和快速的更改。如果您能提供反馈,我们将不胜感激法术项目并在标题中注明“jfrog”。

欢迎本周在哥本哈根KubeCon的JFrog展位参观我们。我们迫不及待地想知道你在Kubernetes规范发行版中使用#KubernetesRegistry的所有令人兴奋的方式。