K8s如何使用GITHUB_TOKEN从Github容器仓库(ghcr)拉取私有镜像

8

使用GITHUB_TOKEN可以在Github容器注册表中拉取私有镜像吗?

如果可以,我需要在k8s中配置什么?

谢谢!

2个回答

10

是可以的。您需要在您的群集中创建一个secret对象。

kubectl create secret docker-registry ghcr-login-secret --docker-server=https://ghcr.io --docker-username=$YOUR_GITHUB_USERNAME --docker-password=$YOUR_GITHUB_TOKEN --docker-email=$YOUR_EMAIL

注意:您的凭据将成为shell历史的一部分,所以请小心并在使用后删除shell历史记录。

这将在内部创建一个带有您提供的值的dockerconfig.json文件,并生成一个用于与您的注册表进行身份验证的密钥。

然后,您可以在您的Pod规范中指定您正在使用私有注册表,并将此密钥作为参数传递:

...
imagePullSecrets:
  - name: ghcr-login-secret
...

您可以在这里阅读有关使用 Kubernetes 与外部注册表进行接口操作的更多信息


谢谢!让我试试。这对我来说是新的。 - Joseph Y
是 'imagePullSecrets:' - emvidi

0

好的,我对GITHUB_TOKEN有了更好的理解。

GITHUB_TOKEN是用于github内部使用的,用于Actions等生成docker镜像并推送到github容器注册表。

为了让k8s从github拉取镜像,我们必须生成PAT,然后将其添加到k8s的secret中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接