使用JFrog Artifactory向AWS EKS交付软件

JFrog Artifactory在AWS EKS

AWS正在推出Amazon Elastic Container Service for Kubernetes (Amazon EKS)并宣布JFrog成为自豪的集成合作伙伴。在过去的一年里,似乎甚至那些没有进入Kubernetes采用第一阶段的公司现在也加入了这场派对。JFrog一直是容器运动,推出企业级Docker注册表回到2015年。现在,将近三年过去了,我们提供了一个强有力的Kubernetes注册表它与越来越多的Kubernetes集群提供商兼容。

根据我们对客户和社区采用Kubernetes的经验,您需要将这些结合起来3 Kubernetes必需品为了平滑地创建新的基础架构抽象:

  • k8s集群(EKS对其进行了不可思议的简化)。
  • 管道(您可以从许多来源获得,包括我们的合作伙伴,很快将在AWS CodeStar上提供)。
  • JFrog Artifactory作为你的Kubernetes注册表。

在这篇博文中,我们将向您展示如何快速轻松地将Artifactory配置为EKS的Kubernetes注册表。

配置Artifactory作为Kubernetes注册中心

部署Artifactory的选择

Artifactory可以从许多可能的位置运行。我们的例子是基于订阅的JFrog Artifactory Cloud通过AWS市场
其他可用的选项有:

让我们开始吧!

    1. 订阅JFrog Artifactory Cloud通过AWS市场
    2. 在您订阅AWS市场后,JFrog将生成并向您发送一封电子邮件,其中包含您的帐户详细信息和用户凭据。使用指定的凭据登录到JFrog Artifactory帐户管理仪表板查看和控制您的帐户信息。
      Artifactory帐户管理仪表板
      图1 - JFrog帐户管理仪表板
    3. 点击转到我的服务器启动Artifactory入职向导。

      图2 - JFrog Artifactory开机向导
    4. 选择软件存储库你想要管理。在这个例子中,我们只选择了少量的存储库,包括Docker,、Maven、NPM和NuGet。
      Artifactory中的通用存储库
      图3 - Artifactory中支持的包类型

      当您完成向导时,将显示配置摘要,其中显示为使您的生活更轻松而配置的所有方便的内容,包括本地、远程和虚拟存储库
      Artiactory新手向导

      图4 - Artifactory配置设置摘要

      要了解有关如何计划生产的更多信息,请参见构造和命名构件存储库的最佳实践

创建Artifactory私有Docker注册表

现在,让我们配置码头工人使用Artifactory作为您的私有Docker注册表

  1. 来自Artifactory首页页面中,单击Docker虚拟存储库给我介绍面板。
    系统显示登录Docker注册表的命令。
    设置Docker注册表
    图5 - Docker设置我在Artifactory
  2. 复制码头工人登录命令登录Docker客户端。使用您的Admin用户名和密码,因为我们没有启用匿名访问。
  3. 继续使用Docker客户端。

    Docker pull partners - Docker .jfrog.io/nginx使用默认标签:latest最新:从nginx提取文摘:sha256: e4f-47a75c510f40b37b6b7dc6b7dc2516241ffa8vde5a442vde3d3372c9519c84d90状态:下载更新的合作伙伴映像-docker.jfrog.io/nginx:最新的
  4. 在艺术工厂包查看器搜索nginx在Artifactory上查看。
  5. 点击图片查看标签详细信息。
    Arifactory包查看器
    图6 - Artifactory Package Viewer

供应的

使用EKS配置Kubernetes集群也很简单。

  1. 访问AWS亚马逊EKS控制台并单击创建集群
    在EKS AWS中创建K8s集群
    图7 -在AWS Amazon EKS控制台中创建集群
  2. 配置主集群。
    我们示例中的设置是用于EKS试验的默认设置。您的设置可能会有所不同。
    AWS EKS集群配置

    图8 -在AWS Amazon EKS控制台中配置主集群
    集群发放完成后,会显示EKS的进度。
    创建集群启动
    正在进行集群设置

图9 -集群是用EKS提供的
当进程结束时,将显示端点。
集群的细节

图10 -创建端点

  1. 中的描述配置工作节点AWS EKS文档
  2. 确保kubectl按照AWS EKS文档
  3. 验证没有部署pod。

    kubectl get pods没有找到2022世界杯阿根廷预选赛赛程资源。

在EKS集群上运行一个简单的nginx部署

现在让我们使用Artifactory的Docker镜像在EKS集群上运行一个简单的nginx部署。

  1. 创建一个Kubernetes秘密来验证您的私人Artifactory托管Docker注册表。
    Kubectl创建秘密docker-registry regcred
    ——docker-server = parneraws-docker.jfrog.io
    ——docker-username=admin——docker-password=[your_password]——docker-email=[your_email]
  2. 创建一个简单的Kubernetes .yaml文件来运行nginx的两个pod。引用自Kubernetes部署实例
    Craigp-mac:~ craiggp$ cat run-nginx.yamlapiVersion: apps/v1 #对于1.9.0之前的版本使用apps/v1beta2:部署元数据:名称:nginx-deployment规范:选择器:matchLabels:应用:nginxReplicas: 2 #告诉部署运行2个与模板匹配的pod使用这个模板中的pod定义创建pod元数据:#与pod-nginx不同。Yaml时,该名称不会作为惟一的名称包含在元数据中的名字是#由部署名称生成标签:应用:nginx规范:容器:—名称:nginx—image: partners -docker.jfrog.io/nginx:1.7.9港口:—containerPort: 80imagePullSecrets:—name: regcred
  3. 使用kubectl创建部署。

    Kubectl应用-f run-nginx。yaml的部署。应用程序“nginx-deployment”创建

    现在,您可以查看两个运行从您的私有Docker提取的图像的pod
    注册表。

    库贝特尔去拿吊舱Name ready状态重启ageNginx-deployment-74d975fb86-4vtxt 1/1 Running 0 51sNginx-deployment-74d975fb86-T771n 1/1 Running 0 36s

试试吧,让我们知道你的想法!

使用Artifactory作为由AWS使用EKS管理的集群的Kubernetes注册表,创建一种安全有效的方式来运行云原生应用程序,比以往任何时候都更安全、更容易。

点击尝试Amazon Elastic Container Service for Kubernetes (Amazon EKS)而且JFrog Artifactory Cloud在AWS市场上免费试用

我们很感激你的反馈。请给我你的反馈https://www.twitter.com/peterscraig