加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 模式 > 正文

使用Kubeflow构建机器学习流水线

发布时间:2020-06-24 22:37:36 所属栏目:模式 来源:51cto
导读:在此前的文章中,我已经向你介绍了Kubeflow,这是一个为团队设置的机器学习平台,需要构建机器学习流水线。 在本文中,我们将了解如何采用现有的机器学习详细并将其变成Kubeflow的机器学习流水线,进而可以部署在Kubernetes上。在进行本次练习的时候,请考

在这一步中,我们将从远程的Git代码库中执行一个git clone。特别是,我想要向你展示如何从私有仓库中进行git clone,因为这是大多数企业的项目所在的位置。当然,这也是一个很好的机会来演示Rancher中一个很棒的功能,它能简单地添加诸如SSH密钥之类的密钥。

使用Rancher添加密钥

访问Rancher界面。在左上角,选择local,然后选择二级菜单的Default:

使用Kubeflow构建机器学习流水线

然后,选择Resources下的Secrets

使用Kubeflow构建机器学习流水线

你应该看到一个密钥的列表,它们正在被你刚刚选择的集群所使用。点击Add Secret:

使用Kubeflow构建机器学习流水线

使用你在下图中所看到的值来填写该页面。如果kubeflow没有在命名空间栏下展示出来,你可以通过选择Add to a new namespace并且输入kubeflow简单地创建一个。

确保Scope仅是个命名空间。如果将Scope设置为所有命名空间,那么将使得在Default项目中的任意工作负载都能够使用你的ssh密钥。

在Secret Values中,key是id_rsa,值是id_rsa的内容。完成之后,点击Save。

使用Kubeflow构建机器学习流水线

如果一些进展顺利,你将会看到下图的内容。现在你已经成功地在kubeflow命名空间中添加了你的SSH密钥,并且无需使用kubectl!

使用Kubeflow构建机器学习流水线

既然我们已经添加了我们的SSH key,那么是时候回到代码。我们如何利用新添加的SSH密钥来访问私有git仓库?

def git_clone_darkrai_op(repo_url: str):      volume_op = dsl.VolumeOp(          name="create pipeline volume",          resource_name="pipeline-pvc",          modes=["ReadWriteOnce"],          size="3Gi"     )      image = 'alpine/git:latest'      commands = [          "mkdir ~/.ssh",          "cp /etc/ssh-key/id_rsa ~/.ssh/id_rsa",          "chmod 600 ~/.ssh/id_rsa",          "ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts",          f"git clone {repo_url} {PROJECT_ROOT}",          f"cd {PROJECT_ROOT}"]      op = dsl.ContainerOp(          name='git clone',          imageimage=image,          command=['sh'],          arguments=['-c', ' && '.join(commands)],          container_kwargs={'image_pull_policy': 'IfNotPresent'},          pvolumes={"/workspace": volume_op.volume}      )      # Mount Git Secrets      op.add_volume(V1Volume(name='ssh-key-volume',                             secret=V1SecretVolumeSource(secret_name='ssh-key-secret')))      op.add_volume_mount(V1VolumeMount(mount_path='/etc/ssh-key', name='ssh-key-volume', read_only=True))      return op 

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读