使用GITHUB_TOKEN可以在Github容器注册表中拉取私有镜像吗?
如果可以,我需要在k8s中配置什么?
谢谢!
使用GITHUB_TOKEN可以在Github容器注册表中拉取私有镜像吗?
如果可以,我需要在k8s中配置什么?
谢谢!
是可以的。您需要在您的群集中创建一个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 与外部注册表进行接口操作的更多信息。
好的,我对GITHUB_TOKEN有了更好的理解。
GITHUB_TOKEN是用于github内部使用的,用于Actions等生成docker镜像并推送到github容器注册表。
为了让k8s从github拉取镜像,我们必须生成PAT,然后将其添加到k8s的secret中。