k8s从私有库harbor中拉取镜像

目录

一、前言

二、配置

三、问题总结


一、前言

Docker镜像是构建应用程序的基础。然而,许多组织和开发团队希望保留他们的Docker镜像在私有仓库中,并从中拉取镜像,而不是从公共Docker Hub中下载。这样做的原因有很多,包括:

  1. 安全性:私有仓库可以提供更高的安全性,因为它们可以控制谁可以访问和下载镜像。这可以防止未经授权的访问和数据泄露。

  2. 可靠性:私有仓库可以提供更可靠的镜像下载速度和更稳定的服务。此外,私有仓库还可以缓存常用的镜像,以便更快地访问它们。

  3. 管理性:私有仓库可以帮助组织更好地管理他们的Docker镜像资源。它们可以轻松地组织和管理自己的镜像,而无需依赖第三方服务。

因此,从私有仓库中拉取镜像已经成为了许多企业和开发团队的最佳实践。在本篇博客中,我们将探讨如何在Kubernetes集群中成功地从私有仓库中拉取镜像,以便更好地管理和部署应用程序。

二、配置

进行配置前,确保已经搭建了k8s,harbor,docker,并需要有harbor的账户、密码、服务器信息。

①配置docker的daemon.json:

daemon.json路径一般在:/etc/docker/daemon.json

{

"insecure-registries": ["xxxxxxx:xx"],

"exec-opts": ["native.cgroupdriver=systemd"],

"bip":"172.12.0.1/24",

"registry-mirrors": ["http://docker-registry-mirror.kodekloud.com"],

"dns" : ["114.114.114.114","8.8.8.8"],

"log-driver": "json-file",

"log-opts": {

"max-size": "10m",

"max-file": "3"

}

}

其中insecure-registries是最重要的,即harbor的地址和端口信息

②登录docker镜像仓库

使用命令:

docker login -u userName -p password xxx.xxx.xxx.xx:xx

登录完成会显示config.json的路径,比如我这里显示的路径为: /home/halos/.docker/config.json。

查看文件显示:

③创建secret

使用命令:

kubectl create secret generic regcred --from-file=.dockerconfigjson=</home/halos/.docker/config.json> --type=kubernetes.io/dockerconfigjson

再使用base命令生成编码:

base64 /home/halos/.docker/config.json

创建harbor-secret.yaml文件:

apiVersion: v1

data:

``.dockerconfigjson: ewo3dfdsfQkJImF1dGgfgdfka0F5TURJeCIKCQl9Cgl9Cn0=

kind: Secret

metadata:

``name: harbor-secret

``namespace: default

type: kubernetes.io/dockerconfigjson

其中dockerconfigjson是base命令生成的编码,我这里是乱写的,具体的请使用自己机器生成的base编码。

最后使用命令部署:

kubectl apply -f harbor-secret.yaml

现在k8s就可以进行镜像的拉取了。

三、问题总结

①docker login无法登录

docker login无法登录的问题就是daemon.json没有配置,按照二中的①进行配置即可

②k8s无法拉取镜像

该问题就是写此文的原因,pod会显示状态:ImagePullBackOff,一般会在pod中报错如下:

相关推荐
gs801403 天前
替换 Docker.io 的 Harbor 安全部署指南:域名与 IP 双支持的镜像管理解决方案
docker·harbor
岁月变迁呀5 天前
Kubernates
k8s
知本知至6 天前
istio配置重复的svc报错
k8s·istio
年薪丰厚6 天前
如何在K8S集群中查看和操作Pod内的文件?
docker·云原生·容器·kubernetes·k8s·container
KubeSphere 云原生6 天前
云原生周刊:利用 eBPF 增强 K8s
云计算·k8s·容器平台·kubesphere
橙子家7 天前
关于 K8s 的一些基础概念整理-补充【k8s系列之五】
k8s
于顾而言8 天前
【Enjoy Kubernetes】1. 基础入门
开发语言·云原生·k8s
roshy9 天前
POD 存储、PV、PVC
docker·k8s·pod
qq_338032929 天前
k8s总结
云原生·容器·kubernetes·k8s
KubeSphere 云原生9 天前
云原生周刊:Kubernetes v1.32 正式发布
云计算·k8s·容器平台·kubesphere