如何在启用 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"}]}'