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

相关推荐
xbd_zc4 天前
【Jenkins简单自动化部署案例:基于Docker和Harbor的自动化部署流程记录】
docker·自动化·jenkins·harbor
格桑阿sir4 天前
Kubernetes控制平面组件:Kubelet 之 Static 静态 Pod
kubernetes·k8s·kubelet·static pod·静态pod·mirror pod·镜像pod
牛奔5 天前
Ubuntu20.04 搭建Kubernetes 1.28版本集群
k8s
xbd_zc8 天前
【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】
docker·harbor
matrixlzp9 天前
K8S 基于本地存储的持久卷
云原生·容器·kubernetes·k8s
matrixlzp10 天前
K8S PV 与 PVC 快速开始、入门实战
云原生·容器·kubernetes·k8s
A尘埃12 天前
K8S的使用(部署pod\service)+安装kubesphere图形化界面使用和操作
k8s·kubesphere
matrixlzp13 天前
K8S ConfigMap 快速开始
k8s
yuanlaile19 天前
Go全栈_Golang、Gin实战、Gorm实战、Go_Socket、Redis、Elasticsearch、微服务、K8s、RabbitMQ全家桶
linux·redis·golang·k8s·rabbitmq·gin
人生偌只如初见19 天前
Kubernetes学习笔记-配置Service对接第三方访问
kubernetes·k8s