【4】k8s集群管理系列--harbor镜像仓库本地化搭建

一、harbor基本概念

‌Harbor是一个由VMware开源的企业级Docker镜像仓库解决方案‌,旨在解决企业在容器化应用部署中的痛点,提供镜像存储、管理、安全和分发的全生命周期管理‌。Harbor扩展了Docker Registry,增加了企业级功能,如用户管理、权限控制、镜像扫描和镜像复制等,支持多种认证机制,帮助企业在大规模的容器环境中实现安全、高效的镜像管理‌。

二、环境配置要求

CentOS 7/8(本教程以 CentOS 7.9 为例)
最低配置:2核CPU、4GB内存、40GB磁盘
开放端口:80(HTTP)、443(HTTPS)、4443(Harbor数据同步端口)

注意:操作系统需要安装docker、docker-compose,如何安装,见专栏另外一篇文章:
搭建k8s集群系列(二进制部署)之安装docker和k8s自签证书

三、下载安装包

3.1 下载离线安装包

wget https://github.com/goharbor/harbor/releases/download/v2.7.0/harbor-offline-installer-v2.7.0.tgz
tar -xzvf harbor-offline-installer-v2.7.0.tgz
cd harbor

3.2 修改配置文件

cp harbor.yml.tmpl harbor.yml
vim harbor.yml

修改以下关键配置:

hostname: 192.168.1.23  # 改为服务器IP或域名
http:port: 80
https:port: 443certificate: /opt/harbor/ssl/harbor-server.pem  # 若需HTTPS,配置证书路径private_key: /opt/harbor/ssl/harbor-server-key.pem  # 若无需HTTPS,注释整个https块
harbor_admin_password: Harbor12345     # 管理员默认密码(需修改!)
data_volume: /data/harbor # 数据存储路径(确保目录存在)

如果启用https,则需要生成证书,这里采用自签证书:

自签证书工具安装:
cfssl 是一个开源的证书管理工具,使用 json 文件生成证书,相比 openssl 更方便使用。

# 下载cfssl工具(二进制可执行文件)
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
# 授可执行权限
chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64
# 移动到bin目录,方便直接在命令行使用该工具命令
mv cfssl_linux-amd64 /usr/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo

生成CA根证书-写如CA配置文件:

# 写入ca配置文件
cat > ca-config.json << EOF
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"harbor": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
EOF

CA根证书申请文件:

# 写入ca-csr文件
cat > ca-csr.json << EOF
{
"CN": "harbor",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "Beijing",
"ST": "Beijing",
"O": "harbor",
"OU": "System"
}
]
}
EOF

生成根证书:
cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

申请域名证书请求文件:

cat > harbor-server-csr.json << EOF
{
"CN": "harbor",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "BeiJing",
"ST": "BeiJing",
"O": "harbor",
"OU": "System"
}
]
}
EOF

执行生成域名证书:

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=harbor harbor-server-csr.json | cfssljson -bare harbor-server

3.3 执行安装

# 切换到harbor解压目录
sh ./prepare #执行安装前准备的脚本,然后会生成docker-compose配置文件和common/config配置文件目录及配置文件
sh ./install.sh #执行安装
# 等待安装完成#验证安装状态
docker-compose ps

输出 ✔ ----Harbor has been installed and started successfully.---- 表示成功。

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

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

相关文章

Docker 安装 Elasticsearch 8.x

Docker 安装 Elasticsearch 8.x 前言一、准备工作二、设置容器的目录结构三、启动一个临时的容器来复制配置文件四、复制配置文件到本地目录五、删除临时容器六、创建并运行容器&#xff0c;挂载本地目录七、修改文件配置监听端口八、端口配置&#xff1a;Host 网络模式 vs Por…

C#: 用Libreoffice实现Word文件转PDF

现实场景中要实现Word格式转PDF格式还是比较常见的。 如果要用开源的组件&#xff0c;只有用Libreoffice了。 一、下载安装Libreoffice 先进入如下链接&#xff0c;找到最新版本和匹配的操作系统来安装。 官网试过&#xff0c;下载是能下载&#xff0c;但安装了用不了&…

MoogDB数据库日常维护技巧与常见问题解析

在当今的数据驱动世界中&#xff0c;数据库作为信息存储与管理的核心组件&#xff0c;扮演着举足轻重的角色。MoogDB作为一款高性能、易扩展的数据库解决方案&#xff0c;越来越受到开发者和企业的青睐。为了确保MoogDB的稳定性与高性能&#xff0c;定期的日常维护及对常见问题…

JAVA多线程的几种实现方式

‌1. 继承 Thread 类‌ ‌原理‌&#xff1a;通过继承 Thread 类并重写 run() 方法定义线程任务&#xff0c;调用 start() 启动线程‌。‌代码示例‌&#xff1a; public class MyThread extends Thread {Overridepublic void run() {System.out.println("线程 " g…

爬虫(基本知识介绍,urllib库的说明)

爬虫 爬虫基础&#xff08;一些基本原理的梳理&#xff09; scheme://[username:password]hostname[:port][/path][;parameters][?query][#fragment] 注&#xff1a; parameters 和 query 混用&#xff0c;并且现在 query 用的多 ?query 查询 &#xff0c;用来查询某类资源…

探秘串口服务器厂家:背后的故事与应用

在科技飞速发展的今天&#xff0c;串口服务器作为连接串口设备与网络的桥梁&#xff0c;在工业自动化、智能交通、智能家居等众多领域发挥着关键作用。你是否好奇&#xff0c;那些生产串口服务器的厂家究竟有着怎样的故事&#xff1f;它们的产品背后又蕴含着怎样的原理呢&#…

工厂能耗系统智能化解决方案 —— 安科瑞企业能源管控平台

安科瑞顾强 政策背景与“双碳”战略驱动 2025年《政府工作报告》明确提出“单位国内生产总值能耗降低3%左右”的目标&#xff0c;要求通过产业结构升级&#xff08;如高耗能行业技术革新或转型&#xff09;、能源结构优化&#xff08;提高非化石能源占比&#xff09;及数字化…

BI面向模型开发和面向报表开发,有什么区别?

在数字化时代&#xff0c;商业智能&#xff08;BI&#xff09;已成为企业决策不可或缺的工具。BI项目实施时&#xff0c;通常有两种开发模式&#xff1a;面向模型开发和面向报表开发。虽然两者都旨在通过数据驱动决策&#xff0c;但在开发逻辑、目标价值和技术路径上存在显著差…

OpenHarmony人才认证证书

OpenHarmony人才认证体系目前支持初级工程师认证&#xff0c;要求了解OpenHarmony开源项目、生态进展及系统移植等基础知识&#xff0c;熟练掌握OpenHarmony的ArkUI、分布式软总线、分布式硬件、分布式数据管理等基础能力使用&#xff0c;具备基础的开发能力。 考试流程可参考O…

映射网络路路径和ftp路径原理是什么,如何使用,有什么区别

文章目录 一、原理1. 映射网络路径2. FTP路径 二、使用方法1. 映射网络路径2. FTP路径 三、主要区别1. 协议与功能2. 安全性与权限3. 适用场景 四、如何选择&#xff1f;五、注意事项 映射网络路径&#xff08;如SMB/CIFS或NFS&#xff09;和FTP路径&#xff08;FTP/FTPS/SFTP&…

Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(一)

Windows 8包括 Microsoft DirectX 功能改进&#xff0c;使开发人员、最终用户和系统制造商受益。 功能改进在以下几个方面&#xff1a; 像素格式 (5551、565、4444) &#xff1a;在低功耗硬件配置下&#xff0c;DirectX 应用程序的性能更高。双精度着色器功能&#xff1a;高级…

GitHub 趋势日报 (2025年04月15日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ &#x1f4c8; 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1yeongpin/cursor-free-vip[Support 0.48.x]&#xff08;Reset Cursor AI MachineID & Auto Sign Up / In & Bypass Higher…

2025年推荐使用的开源大语言模型top20:核心特性、选择指标和开源优势

李升伟 编译 随着人工智能技术的持续发展&#xff0c;开源大型语言模型&#xff08;LLMs&#xff09;正变得愈发强大&#xff0c;使最先进的AI能力得以普及。到2025年&#xff0c;开源生态系统中涌现出多个关键模型&#xff0c;它们在各类应用场景中展现出独特优势。 大型语言…

回收镀锡废水的必要性(笔记)

镀锡废水若直接排放&#xff0c;将对环境、经济和社会造成多重危害&#xff0c;其回收处理具有迫切性和深远意义。以下从环境、资源、法规、技术与实践、可持续发展五大维度展开分析&#xff1a; 一、环境危害的紧迫性&#xff1a;重金属与污染物的致命威胁 成分复杂&#xf…

14.2 - VDMA彩条显示实验之动态时钟

文章目录 1 实验任务2 系统框图3 硬件设计4 软件设计4.1 dynclk_api.h文件4.2 math_compat.h文件4.3 dynclk_api.c文件4.4 main.c文件 1 实验任务 参见14.1。 2 系统框图 参见14.1。 3 硬件设计 注意事项&#xff1a;基于14.1做如下改动 使能Clocking Wizard IP核的Dynam…

在边缘端进行tensorflow模型的部署(小白初探)

1.配置tensorflow的环境 &#xff08;我是安装GPU版本的&#xff09; 建议参考这个博主的文章&#xff0c;确实非常快速&#xff01; 十分钟安装Tensorflow-gpu2.6.0本机CUDA12 以及numpymatplotlib各包版本协调问题_tensorflow cuda12-CSDN博客 2.学习自制数据集 &#xf…

windows下使用nginx + waitress 部署django

架构介绍 linux一般采用nginx uwsgi部署django&#xff0c;在Windows下&#xff0c;可以取代uwsgi的选项包括Waitressa、Daphnea、Hypercoma和Gunicorna(通过WSLa 运行)。windows服务器一般采用nginx waitress 部署django&#xff0c;,他们的关系如下 django是WEB应用…

利用pnpm patch命令实现依赖包热更新:精准打补丁指南

需求场景 在Element Plus的el-table组件二次开发中&#xff0c;需新增列显示/隐藏控件功能。直接修改node_modules源码存在两大痛点&#xff1a; 团队协作时修改无法同步 依赖更新导致自定义代码丢失 解决方案选型 通过patch-package工具实现&#xff1a; &#x1f4e6; 非…

ThinkPad T520 无法读到硬盘 问题排查思路

错误提示&#xff1a;2100:detection error on hdd0(Main hdd) 1、判断错误提示含义 表示电脑在启动时无法检测到主硬盘&#xff08;HDD0&#xff09;。 2、 常见原因&#xff1a; 硬盘松动或接触不良 → 特别是笔记本在移动或震动后&#xff0c;硬盘排线松了。 硬盘损坏 →…

Doris部署生产集群最低要求的部署方案

Doris生产集群最低部署方案&#xff08;2025年4月版&#xff09; 一、节点规划与数量 1. FE节点&#xff08;Frontend&#xff09; 数量&#xff1a;至少 3个节点&#xff08;1个Follower 2个 Observer&#xff09;&#xff0c;确保高可用&#xff08;HA&#xff09;。角色分…