使用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市场.
其他可用的选项有:
- 订阅通过JFrog在AWS上的Artifactory.
- 将Artifactory部署到EKS集群(哈或单独的节点)使用舵图。
- 使用一个现有的Artifactory实例。
让我们开始吧!
-
- 订阅JFrog Artifactory Cloud通过AWS市场.
- 在您订阅AWS市场后,JFrog将生成并向您发送一封电子邮件,其中包含您的帐户详细信息和用户凭据。使用指定的凭据登录到JFrog Artifactory帐户管理仪表板查看和控制您的帐户信息。

图1 - JFrog帐户管理仪表板 - 点击转到我的服务器启动Artifactory入职向导。

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

图3 - Artifactory中支持的包类型
当您完成向导时,将显示配置摘要,其中显示为使您的生活更轻松而配置的所有方便的内容,包括本地、远程和虚拟存储库.
图4 - Artifactory配置设置摘要要了解有关如何计划生产的更多信息,请参见构造和命名构件存储库的最佳实践.
创建Artifactory私有Docker注册表
现在,让我们配置码头工人使用Artifactory作为您的私有Docker注册表.
- 来自Artifactory首页页面中,单击Docker虚拟存储库给我介绍面板。
系统显示登录Docker注册表的命令。
图5 - Docker设置我在Artifactory - 复制码头工人登录命令登录Docker客户端。使用您的Admin用户名和密码,因为我们没有启用匿名访问。
- 继续使用Docker客户端。
Docker pull partners - Docker .jfrog.io/nginx使用默认标签:latest最新:从nginx提取文摘:sha256: e4f-47a75c510f40b37b6b7dc6b7dc2516241ffa8vde5a442vde3d3372c9519c84d90状态:下载更新的合作伙伴映像-docker.jfrog.io/nginx:最新的
- 在艺术工厂包查看器搜索nginx在Artifactory上查看。
- 点击图片查看标签详细信息。

图6 - Artifactory Package Viewer
供应的
使用EKS配置Kubernetes集群也很简单。
- 访问AWS亚马逊EKS控制台并单击创建集群.

图7 -在AWS Amazon EKS控制台中创建集群 - 配置主集群。
我们示例中的设置是用于EKS试验的默认设置。您的设置可能会有所不同。
图8 -在AWS Amazon EKS控制台中配置主集群
集群发放完成后,会显示EKS的进度。
图9 -集群是用EKS提供的
当进程结束时,将显示端点。
图10 -创建端点
在EKS集群上运行一个简单的nginx部署
现在让我们使用Artifactory的Docker镜像在EKS集群上运行一个简单的nginx部署。
- 创建一个Kubernetes秘密来验证您的私人Artifactory托管Docker注册表。
Kubectl创建秘密docker-registry regcred——docker-server = parneraws-docker.jfrog.io——docker-username=admin——docker-password=[your_password]——docker-email=[your_email] - 创建一个简单的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
- 使用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.







