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中报错如下:

相关推荐
新手小白*7 分钟前
Kubernetes 运维实战:etcd 备份恢复、集群升级与证书更新
k8s
百锦再1 小时前
【无标题】
服务器·ai·k8s·京东云·core·net·云鼎
新手小白*2 天前
K8s-Calico 网络组件
k8s
幽弥千月6 天前
k8s离线环境下部署【calico】网络插件
k8s
中杯可乐多加冰6 天前
深度解析openFuyao核心组件:从NUMA亲和调度看云原生算力释放新思路
华为·云原生·k8s·gpu算力·openfuyao
科技D人生6 天前
Kubernetes 学习总结(47)—— Kubernetes 持久化存储之 Volume、PV、PVC、StorageClass 到底怎么用?
云原生·容器·kubernetes·k8s·k8s 数据卷
新手小白*7 天前
Kubernetes 持久化存储与特殊容器
k8s
退役小学生呀9 天前
二十六、K8s集群备份恢复
linux·云原生·容器·kubernetes·k8s
悬弧12 天前
第2章:工作负载管理 - 可视化应用部署
kubernetes·k8s
fushan201212 天前
Windows 虚拟机配置与驱动安装记录
windows·k8s·vm·kubevirt