如何在启用 2FA 的情况下从 dockerhub 中提取私有图像?
How do i pull a private image from dockerhub with 2FA enabled?
我有一个私有图像,并且可以使用 imagePullSecrets 访问:到目前为止,但是在为 docker-hub 启用 2FA 之后,Kubernetes 无法再拉取我的图像,我该如何解决这个问题?
目前正在使用:
api版本:apps/v1
种类:部署
您需要创建一个新的 imagePullSecret 并在您的清单中使用它。
使用您的用户名和个人访问令牌登录。这将更新你的 ~/.docker/config.json
docker login registry.example.com -u <your_username> -p <your_personal_access_token>
使用更新后的 config.json
创建您的 imagePullSecret
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=<path/to/.docker/config.json> \
--type=kubernetes.io/dockerconfigjson
更新您的部署、statefulset、pod、作业以使用这个新密钥
或者,如果您想将此 imagePullSecret 作为名称空间的默认设置。只需确保秘密存在于该名称空间中即可。 Secret 可能在多个命名空间中具有相同的名称,因为它是一个命名空间对象。
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regcred"}]}'
我有一个私有图像,并且可以使用 imagePullSecrets 访问:到目前为止,但是在为 docker-hub 启用 2FA 之后,Kubernetes 无法再拉取我的图像,我该如何解决这个问题?
目前正在使用: api版本:apps/v1 种类:部署
您需要创建一个新的 imagePullSecret 并在您的清单中使用它。
使用您的用户名和个人访问令牌登录。这将更新你的 ~/.docker/config.json
docker login registry.example.com -u <your_username> -p <your_personal_access_token>
使用更新后的 config.json
创建您的 imagePullSecretkubectl create secret generic regcred \
--from-file=.dockerconfigjson=<path/to/.docker/config.json> \
--type=kubernetes.io/dockerconfigjson
更新您的部署、statefulset、pod、作业以使用这个新密钥
或者,如果您想将此 imagePullSecret 作为名称空间的默认设置。只需确保秘密存在于该名称空间中即可。 Secret 可能在多个命名空间中具有相同的名称,因为它是一个命名空间对象。
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regcred"}]}'