k8s 拉取镜像报错 no basic auth credentials

### 文章目录

  • [@[toc]](#文章目录 @[toc] 基于现有凭据创建 Secret 通过命令行创建 Secret pod 使用指定 secret 认证私有镜像仓库)
  • [基于现有凭据创建 Secret](#文章目录 @[toc] 基于现有凭据创建 Secret 通过命令行创建 Secret pod 使用指定 secret 认证私有镜像仓库)
  • [通过命令行创建 Secret](#文章目录 @[toc] 基于现有凭据创建 Secret 通过命令行创建 Secret pod 使用指定 secret 认证私有镜像仓库)
  • [pod 使用指定 secret 认证私有镜像仓库](#文章目录 @[toc] 基于现有凭据创建 Secret 通过命令行创建 Secret pod 使用指定 secret 认证私有镜像仓库)

省流提醒:

  • 本次解决的问题是 docker login 可以正常登录,docker pull 也可以正常拉取镜像,只是 k8s 在启动 pod 的时候,没有指定 imagePullSecrets,导致没权限拉取

从私有仓库拉取镜像

基于现有凭据创建 Secret

  • 执行过 docker login 命令后,会在 ~/.docker/config.json 生成凭据文件

参考命令,记得把<> 去掉

shell 复制代码
kubectl create secret generic <secret 名字> \
    -n <namespace 名字> \
    --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson

通过命令行创建 Secret

如果有多个私有仓库,这种方式创建的 Secret 更好用一点

shell 复制代码
kubectl create secret docker-registry <secret 名字> \
  -n <namespace 名字> \
  --docker-server=<your-registry-server> \
  --docker-username=<your-name> \
  --docker-password=<your-pword> \
  --docker-email=<your-email>
  • --docker-server 是你的私有 Docker 仓库全限定域名(FQDN)
    • DockerHub 使用 https://index.docker.io/v1/
  • --docker-username 是你的 Docker 用户名
  • --docker-password 是你的 Docker 密码
  • --docker-email 是你的 Docker 邮箱

pod 使用指定 secret 认证私有镜像仓库

yaml 复制代码
apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: <secret 名字>
相关推荐
天河归来2 分钟前
在本地windows电脑使用Docker搭建xinference环境
docker·语言模型·容器
算力魔方AIPC1 小时前
使用 Docker 一键部署 PaddleOCR-VL: 新手保姆级教程
运维·docker·容器
熊出没1 小时前
Kubernetes 实操命令大全
云原生·容器·kubernetes
阿里云云原生1 小时前
深度解析云监控 2.0 日志审计:统一采集、实体建模与告警溯源能力
阿里云·云原生·云监控·可观测
Ghost Face...2 小时前
Docker实战:从安装到多容器编排指南
运维·docker·容器
闲人编程2 小时前
健康检查与就绪探针
kubernetes·web·状态机·健康检查·codecapsule·存活探针·启动探针
不惑_3 小时前
Windows 安装 Docker 和 Docker Compose 完整教程
windows·docker·容器
云霄IT5 小时前
docker使用教程之部署第一个go项目
docker·容器·golang
阿基米东5 小时前
Let‘s Encrypt 是什么?它是如何工作的?
云原生·https·云计算
故事写到这5 小时前
第一章 Ubuntu24.04环境下的K8S部署【入门保姆级】
云原生·容器·kubernetes