部署带证书的docker高可用的私有仓库harbor

news/2024/10/15 6:27:01/

一、部署带证书的docker高可用的私有仓库harbor

  harbor下载包:https://hub.fastgit.org/goharbor/harbor/releases

  docker阿里云地址:docker-ce-linux-centos-7-x86_64-stable-Packages安装包下载_开源镜像站-阿里云

  Harbor 是 VMware 公司开源的企业级 Registry 项目,可以帮助用户迅速搭建一个企业级的 Docker registry 服务。它以 Docker 公司开源的 registry 为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDAP 集成、以及审计日志(Audit logging) 等企业用户需求的功能,同时还原生支持中文。

  一)部署dockerdocker-compose)

  1、安装docker
#安装docker,生产需要docker存储配置足够大的磁盘
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
systemctl  start docker
systemctl  enable  docker
  2、安装docker-compose(没有pip环境,需先安装)

  安装pip环境

mkdir -p /opt/src
cd /opt/src/
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
wget https://files.pythonhosted.org/packages/69/81/52b68d0a4de760a2f1979b0931ba7889202f302072cc7a0d614211bc7579/pip-18.0.tar.gz
tar xf pip-18.0.tar.gz
cd pip-18.0/
python setup.py install
pip -V

  安装docker-compose

pip install docker-compose

  二)部署带证书的harbor

  1、生成证书
cd /opt/src
wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz
tar xf harbor-offline-installer-v1.5.0.tgz 
mkdir -p /opt/src/harbor/certs/
cd /opt/src/harbor/certs/
#生成key
openssl genrsa -out /opt/src/harbor/certs/harbor-ca.key 2048
#生成指定有效期的证书(节点1)
openssl req -x509 -new -nodes -key /opt/src/harbor/certs/harbor-ca.key  -subj "/CN=harbor01.local.com" -days 7120 -out /opt/src/harbor/certs/harbor-ca.crt
#节点2
openssl req -x509 -new -nodes -key /opt/src/harbor/certs/harbor-ca.key  -subj "/CN=harbor02.local.com" -days 7120 -out /opt/src/harbor/certs/harbor-ca.crt
  2、配置harbor

  更改配置vim /opt/src/harbor/harbor.cfg

hostname = harbor01.local.com
ui_url_protocol = httpsssl_cert = /opt/src/harbor/certs/harbor-ca.crt
ssl_cert_key = /opt/src/harbor/certs/harbor-ca.key
harbor_admin_password = test123456

  安装相关的命令

 ./install.sh

  其他操作命令

#为Harbor生成配置文件
./prepare
#安装
./install
#启动
docker-compose up -d
#关闭
docker-compose down -v

  三)客户端配置

  1、发送harbor证书到管理节点
mkdir -p /etc/docker/certs.d/harbor{01,02}.local.com
#发送证书到管理节点,然后将相关文件发送到所有操作镜像的节点
#node01
scp /opt/src/harbor/certs/harbor-ca.crt 10.0.0.10:/etc/docker/certs.d/harbor01.local.com/
#node02
scp /opt/src/harbor/certs/harbor-ca.crt 10.0.0.10:/etc/docker/certs.d/harbor02.local.com/
  2、docker登录测试

  

  登录成功后,在操作用户家目录生成.一个隐藏目 .docker,目录底下有一个文件config.json 

# cat config.json 
{"auths": {"harbor01.loclal.com": {"auth": "YWRtaW46dGVzdDEyMzQ1Ng=="}},"HttpHeaders": {"User-Agent": "Docker-Client/18.03.1-ce (linux)"}
}
  3、把相关文件送到有操作镜像的节点

  yum install sshpass -y

#!/bin/bash
#目标主机列表
IP="
10.0.0.11
10.0.0.12
10.0.0.13
10.0.0.14
"
for node in ${IP};dosshpass -p 123456 ssh-copy-id  -p 22 ${node}  -o StrictHostKeyChecking=noif [ $? -eq 0 ];thenecho "${node} 秘钥copy完成,准备环境初始化....."ssh  -p 22   ${node}  "mkdir /etc/docker/certs.d/harbor{01,02}.local.com -p"echo "Harbor 证书目录创建成功!"scp -P 22 /etc/docker/certs.d/harbor01.local.com/harbor-ca.crt ${node}:/etc/docker/certs.d/harbor01.local.com/harbor-ca.crtscp -P 22 /etc/docker/certs.d/harbor02.local.com/harbor-ca.crt ${node}:/etc/docker/certs.d/harbor02.local.com/harbor-ca.crtecho "Harbor 证书拷贝成功!"scp -P 22 /etc/hosts ${node}:/etc/hostsecho "host 文件拷贝完成"scp -r -P 22  /root/.docker  ${node}:/root/echo "Harbor 认证文件拷贝完成!"scp -r -P 22  /etc/resolv.conf  ${node}:/etc/elseecho "${node} 秘钥copy失败"fi
done

      docker 镜像仓库 Harbor 部署 以及 跨数据复制 - 丶小炒肉 - 博客园

      Harbor私有镜像仓库无坑搭建 - Mr.zou - 博客园

二、harbor高级应用

  一)harbor管理helm-charts

  对于已经安装的harbor仓库,先stop,然后执行安装命令

  1、安装
切换到harbor 的安装目录,进行操作
cd $HARBOR_HOME
docker-compose stop
sh install.sh --with-chartmuseum

  安装完,如下图

  

  2、helm使用chart仓库

  安装helm helm基本使用 - 思维无界限 - 博客园

  安装helm push插件:helm基本使用 - 思维无界限 - 博客园

  

helm  repo add --username=${USERNAME} --password=${PASSWORD} mylibrary http://${HARBOR_SERVER}/chartrepo/library
helm repo list
helm fetch stable/redis-ha #使用fetch或pull下载charts
helm cm-push redis-ha-2.0.1.tgz mylibrary #上传到私有仓库

  二)安装扫描器trivy

  扫描器的文档:Harbor 1.10 Puts Security and Pluggable Scanners in the Limelight | The Harbor blog

  对于已经安装的harbor仓库,先stop,然后执行安装命令(注意:高版本)

sh install.sh --with-chartmuseum --with-trivy

  安装后如下图

  

  三)从harbor拉取镜像慢

   docker 从harbor 拉取镜像慢_Harbor:将制品库发挥到极致-CSDN博客


http://www.ppmy.cn/news/1539308.html

相关文章

SDV 峰会聚焦:下一代软件定义汽车的关键开源技术

10 月 17 - 18 日,由 GOSIM 开源创新汇主办、CSDN 承办的 GOSIM CHINA 2024 将在北京盛大启幕。作为 GOSIM 开源年度大会的第三届盛会,本次活动邀请了 60 多位国际开源专家,汇聚了来自全球百余家顶尖科技企业、知名高校及开源社区的技术大咖、…

C++到Java学习总结(基础篇)

文章目录 一、java与C的一些区别二、java的main函数入口介绍三、java中的基本数据类型和运算符四、java中的普通数组 和 字符串五、java中的String六、java的标准输入输出七、java的if、for、while、switch基本控制结构八、java的引用九、java的函数 学完本篇,你能够…

增强对象智能:谷歌开源的XR-Objects项目简介

随着增强现实(AR)技术的发展,将物理世界与数字信息融合的需求日益增长。为了探索这一领域的可能性,谷歌推出了一项名为“增强对象智能”(Augmented Object Intelligence, AOI)的新交互范式,并发布了一个开源原型系统——XR-Objects。该系统旨在通过实时对象分割和多模态…

定期备份MYSQL数据库(Linux)

要定期保存 MySQL 数据库,通常可以使用 自动化备份脚本 配合 定时任务 1. 创建 MySQL 备份脚本 可以编写一个简单的 Shell 脚本(在 Linux 上)或 Batch 脚本(在 Windows 上)来备份数据库。 #!/bin/bash# 定义备份参数…

UE5安卓,多指点击时会调出控制台

参考文章: How to turn off "console window" on swipe (my Lemurs keep opening it!) - Platform & Builds / Mobile - Epic Developer Community Forums (unrealengine.com) 准确来说是4只手指同时在屏幕中按下。这个控制台能像编辑器那样&#xf…

396. 旋转函数

1. 找规律题,像这种题一上来给人的感觉就是n次的变化是有规律的。不妨我们就一步一步的看规律在哪里。 2. 由上图可以得出公式如下:其中和F(0)是需要我们去做初始化的。 3. 时间复杂度O(n), 空间复杂度O(1)。 class Solution {public int m…

Bluetooth Channel Sounding中关于CS Step及Phase Based Ranging相应Mode介绍

目录 BLE CS中Step定义 BLE CS中交互的数据包/波形格式 BLE CS中Step的不同Mode BLE CS中Step的执行过程 Mode0介绍 Mode0 步骤的作用 Mode0步骤的执行过程 Mode0步骤的执行时间 Mode0步骤的时间精度要求 Mode2介绍 Mode2步骤的作用和执行过程 Mode2步骤的执行时间 B…

Android Back 键与Home键相互作用效果

android的手机的back键默认行为是finish处于前台的Activity的即Activity的状态为Destroy状态,再次启动该Activity是从onCreate开始的。 而Home键默认是stop前台的Activity即状态为onStop而不是Destroy,若再次启动它,则是从OnResume开始的,即会…