镜像registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2到本地

要将无法直接访问的镜像(如 registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2)下载并上传到本地镜像库,可以按照以下步骤操作:

1. 设置镜像代理源

由于中国国内可能无法直接访问 registry.k8s.io,需要通过国内可用的代理源获取镜像。以下是常见国内镜像源替代:

替代源示例:

  • 阿里云镜像仓库: registry.aliyuncs.com
  • Docker Hub 国内代理: dockerproxy.com

通过以下命令拉取镜像:

podman pull dockerproxy.com/registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2

如果使用阿里云(需要登录阿里云镜像服务):

podman pull registry.aliyuncs.com/google_containers/sig-storage/nfs-subdir-external-provisioner:v4.0.2

2. 重新标记镜像

将镜像标记为适用于本地私有仓库的名称,例如 cp-registry:

 

podman tag dockerproxy.com/registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 \

localhost:5001/sig-storage/nfs-subdir-external-provisioner:v4.0.2

这里的 localhost:5001 指向本地私有仓库的地址和端口。localhost最好换成FQDN。

3. 推送镜像到本地仓库

确保本地私有仓库正在运行,并且可以访问(如问题中的容器 cp-registry 运行于 localhost:5001)。推送镜像到本地仓库:

podman push localhost:5001/sig-storage/nfs-subdir-external-provisioner:v4.0.2

如果私有仓库启用了认证,添加 --creds 选项提供用户名和密码:

podman push --creds <username>:<password> \

localhost:5001/sig-storage/nfs-subdir-external-provisioner:v4.0.2

4. 验证镜像是否推送成功

登录本地私有仓库,检查镜像是否存在:

curl -k https://localhost:5001/v2/_catalog

查询特定镜像的标签:

curl -k https://localhost:5000/v2/sig-storage/nfs-subdir-external-provisioner/tags/list

5. 在 Kubernetes 集群中使用本地镜像

在 Kubernetes 集群中创建或修改镜像拉取配置,将镜像拉取地址改为本地仓库,例如:

containers:

- name: nfs-provisioner

  image: localhost:5001/sig-storage/nfs-subdir-external-provisioner:v4.0.2

如果本地仓库未启用 TLS,可以在 Kubernetes 配置中跳过 TLS 校验:

imagePullSecrets:

- name: regcred

或在 /etc/containers/registries.conf 配置中添加例外。

总结

通过代理源拉取镜像、重标记为本地仓库格式并推送到本地私有仓库,再配置 Kubernetes 使用本地镜像仓库,就能解决镜像无法直接访问的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深海科技服务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值