k8s从私有库harbor中拉取镜像

news2024/10/5 16:30:36

一、前言

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue学习笔记(二)快速入门

Vue学习笔记&#xff08;二&#xff09;快速入门 vue小试牛刀 hello-vue3.html <body><div id"app"><h1>{{msg}}</h1></div><script type"module">import {createApp} from https://unpkg.com/vue3/dist/vue.esm-b…

电脑用的视频编辑软件有哪些 视频剪辑软件排行榜 视频剪辑软件推荐 视频剪辑培训学习 视频剪辑制作自学 电脑视频剪辑需要什么配置

电脑视频剪辑软件这么多&#xff0c;到底哪些比较好用&#xff1f;下面就让我们以十大电脑视频剪辑软件排行榜来细数好用的软件。另外&#xff0c;电脑视频剪辑需要什么配置&#xff1f;本文也会给大家从内存、CPU等参数上介绍&#xff0c;并推荐好用的电脑设备。 一、十大电脑…

代码随想录算法训练营第36天 | 435.无重叠区间 + 763.划分字母区间 + 56.合并区间

今日任务 435. 无重叠区间 763.划分字母区间 56. 合并区间 435.无重叠区间 - Medium 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需…

【Linux】多线程(线程概念+线程控制)

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

vue3 [Vue warn]: Unhandled error during execution of scheduler flush

文章目录 前言一、报错截图二、排除问题思路相关问题 Vue3 优雅解决方法异步组件异同之处&#xff1a;好处&#xff1a;在使用异步组件时&#xff0c;有几个注意点&#xff1a; vue3 定义与使用异步组件 总结 前言 Bug 记录。开发环境运行正常&#xff0c;构建后时不时触发下面…

5、应急响应-拒绝服务钓鱼识别DDOS压力测试邮件反制分析应用日志

目录 前言&#xff1a; 1、#内网应急-日志分析-爆破&横向&数据库 2、#红队APT-钓鱼邮件识别-内容&发信人&附件 3、#拒绝服务攻击-DDOS&CC-代理&防火墙防御 用途&#xff1a;个人学习笔记&#xff0c;欢迎指正&#xff01; 前言&#xff1a; 了解和…

DVI接口如何连接HDMI接口显示器?DVI转HDMI转换器DHA

DVI转HDMI转换器DHA简介 DVI转HDMI转换器DHA能够将DVI信号和R/L音频信号输入转换成HDMI信号输出,独特的功能使其顺畅地整合到家庭影院中&#xff0c;并且播放出高品质的图像。主要用于数据监控中心、大型会议展示中心、学校及各个公司 DVI转HDMI转换器DHA特点 01.支持分辨率4K…

分治 (地毯填补问题)

地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里&#xff0c;有一座宫殿。宫殿里有个四四方方的格子迷宫&#xff0c;国王选择驸马的方法非常特殊&#xff0c;也非常简单&#xff1a;公主就站在其中一个方格子上&#xff0c;只要谁能用地毯将除公主站立的地方外的所有地…

开发数据产品+AI产品通关上岸课程

该课程全面解析数据产品和人工智能产品的开发与设计。学员将学习产品规划、数据分析以及AI技术应用&#xff0c;通过案例实践掌握产品开发流程&#xff0c;致力于帮助他们成功进入数据和人工智能产品领域。 课程大小&#xff1a;9.8G 课程下载&#xff1a;https://download.cs…

【HarmonyOS】鸿蒙开发之HTTP网络请求——第5章

HTTP网络请求封装 network/request.ets import { configInterface } from ./type import http from ohos.net.http import { getToken } from ../utils/storage//网络请求封装 export const request (config:configInterface)>{let httpRequest:http.HttpRequest http.c…

汽车销量可视化分析

目录 一.分析的背景、目的、意义 1、背景 2、目的 3、意义 二.数据来源 三.图表分析 1、汽车品牌销量柱状图 2、中国汽车销量柱状图 3、汽车销量前10排行柱状图 4、汽车厂商销量折线图 ​编辑5、汽车销量词云图 6、汽车车型销量 7、汽车价格分布雷达图 8、汽车分…

认识Spring 中的日志

这篇文章你将了解到Spring生态中日志框架是如何演化集成的 Spring Boot 日志 众说周知&#xff0c;Spring Boot 统一了日志框架&#xff0c;统一使用Logback进行日志输出&#xff0c;不管内部依赖框架使用的何种日志&#xff0c;最终都以Logback输出&#xff0c;他为什么需要统…

力扣hot100 跳跃游戏 II 贪心 思维

Problem: 45. 跳跃游戏 II 思路 &#x1f468;‍&#x1f3eb; 参考 每次在上次能跳到的范围&#xff08;end&#xff09;内选择一个能跳的最远的位置&#xff08;也就是能跳到max_far位置的点&#xff09;作为下次的起跳点 &#xff01; Code ⏰ 时间复杂度: O ( n ) O(n…

11.Ubuntu

目录 1. 什么是Ubuntu 1.1. 概述 1.2. Ubuntu版本简介 1.2.1. 桌面版 1.2.2. 服务器版 2. 部署系统 2.1. 新建虚拟机 2.2. 安装系统 2.3. 部署后的设置 2.3.1. 设置root密码 2.3.2. 关闭防火墙 2.3.3. 启用允许root进行ssh 2.3.4. 安装所需软件 2.3.5. 制作快照 …

RHCE DNS域名解析服务器

目录 1. 正向解析 1.1 安装必要软件 1.2 配置静态ip 1.3 DNS配置 1.4 测试 2. 反向解析 2.1 关闭安全软件&#xff0c;安装必要软件 2.2 配置静态ip 2.3 DNS配置 2.4 测试 1. 正向解析 1.1 安装必要软件 1.2 配置静态ip 服务器配置 nmcli c modify ens32 ipv4.method man…

ElementUI 组件:Container 布局容器实例

ElementUI安装与使用指南 Container 布局容器 点击下载learnelementuispringboot项目源码 效果图 项目里el-container-example.vue代码 <script> export default {name: el_container_example,data() {const item {date: 2024-01-31,name: 国龙,address: 上海市某区…

持续集成的学习(jenkins)

Jenkins &#xff1a;持续集成和交付工具 它就是一个执行命令的工具&#xff0c;任何可以在终端当中执行的都可以使用这个工具进行执行。 功能 自动化构建&#xff08;git 、svn&#xff09;&#xff1a;自动发布的功能持续集成&#xff1a;不断的去做某个操作&#xff08;发…

Pycharm 关闭/退出烦人的Pytest模式

Pycharm 遇到&#xff1a;Run Python tests in ***.py &#xff0c;但很多时候我们并不需要&#xff0c;真心烦人&#xff01; 如何解决: 1 打开File-Settings &#xff08;图片是新版界面&#xff0c;旧版同样操作&#xff09; 2 Tools 中的Python Integrated Tools 在Tes…

AI在数模中的应用(附2024年美赛AI规则解读)

近期一直有人私信询问AI对数模的应用。本次想借着2024年美赛对AI工具的使用说明已经去年国赛开会的结果&#xff0c;跟大家分享一下国赛、美赛对于AI的态度以及如何使用AI应用于数模。本文将基于本人常用的三种AI工具(ChatGPT、文心一言、NEW bing)进行讲解 根据2023年国赛总结…

Vue3项目封装一个Element-plus Pagination分页

前言:后台系统分页肯定是离不开的,但是ui框架都很多,我们可以定义封装一种格式,所有项目按到这个结构来做. 实例: 第一步:在项目components组件新建一个分页组件,用来进行封装组件. 第二步:根据官方的进行定义,官方提供的这些,需要我们封装成动态模式 第三步:代码改造 <!-…