天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
文章目录
K8S部署Harbor三部曲:
K8S部署Harbor(三部曲之一:配置)本篇
K8S部署Harbor(三部曲之二:部署)
K8S部署Harbor(三部曲之三:使用)
一、环境要求
参考官网文档:https://goharbor.io/docs/2.5.0/install-config/installation-prereqs/
1. 硬件要求
以下为最低要求和建议要求参数表
资源 | 最低配置 | 建议配置 |
---|---|---|
CPU | 2 CPU | 4 CPU |
Mem | 4 GB | 8 GB |
Disk | 40 GB | 160 GB |
2. 软件要求
软件版本最低要求参数表
软件名称 | 软件版本最低配置 | 建议版本 | 描述 |
---|---|---|---|
Docker engine | 17.06.0 | 最新版本 | 可参考官网安装,用于操作容器 |
Docker Compose | 1.18.0 | 最新版本 | 可参考官网安装,用于操作harbor |
Openssl | 最新版本 | 最新版本 | 用于生成harbor仓库的证书certificate和秘钥key |
3. 网络端口
网络端口要求,可根据需要修改配置文件中的端口并开放服务器对应的端口
(本篇使用https,后面会修改配置文件中https和http对应的端口)
端口号 | 协议 | 描述 |
---|---|---|
443 | HTTPS | 用于访问harbor仓库和核心API的https的请求端口,也可以在配置文件中修改此端口 |
4443 | HTTPS | 用于连接到harbor仓库的Docker内容信任的服务,仅当启用Notary时需要,可在配置文件中修改此端口 |
80 | HTTP | 用于访问harbor仓库和核心API的http请求的端口,也可以在配置文件中修改此端口 |
二、安装包下载
1. 官网下载地址(外网github)
离线安装包harbor-offline-installer-v2.10.0.tgz官网下载链接
如果电脑可访问外网github网址则可在服务器中使用wget命令直接下载到服务器
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz
2. 国内下载地址(更快)
离线安装包harbor-offline-installer-v2.10.0.tgz国内下载链接
三、软件安装
1. 安装Docker
这个应该没有什么问题,大多数用k8s的施主应该都装了Docker
不过依然附上一个参考文章:K8S集群中安装Docker
2. 安装Docker Compose
主要用于管理harbor的多个docker实例
2.1 yum命令安装docker compose
yum install -y docker-compose
2.2 github官网资源安装docker-compose
若yum命令执行失败,执行以下方式安装
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.3 备用方案安装docker-compose
若以上两种方式都无法获取,可参考文章使用加速地址安装docker-compose:Linux系统安装docker-compose
安装后可使用docker-compose version查看版本来确保安装完成
2.4 配置执行权限
将安装的docker-compose设置为可执行
sudo chmod +x /usr/local/bin/docker-compose
2.5 全局配置
将docker-compose配置为全局可执行,即任何路径都可运行该命令
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
后面好像需要指定docker-compose.yml文件位置来全局使用,先不管,直接执行上面这个命令
3. 安装openssl
主要用于生成https访问harbor的证书和秘钥,如只需要使用http访问harbor的施主可以不安装
yum install -y openssl
四、证书秘钥配置
此部分用于设置https安全访问所需要的证书秘钥
harbor仓库基础访问方式有两种,一种http一种https
仅使用http访问harbor的施主可以跳过,本篇执行
1. 文件夹创建
创建文件夹用于存放生成的证书秘钥文件
mkdir -p /harbor/certs/
2. 秘钥生成
可在当前位置生成后再将文件移动到certs文件夹中,也可cd命令直接进入certs文件夹中生成
本篇在当前位置生成后再移动到certs文件夹
openssl genrsa -out ca.key 4096
注意:该文件的生成位置,后续就要在同样的路径下进行第3步的操作,在别的路径下执行会找不到ca.key文件
如我在/harbor/certs路径下执行第2步,就要在该路径下执行第3步
ls命令查看生成的ca.key
3. 证书秘钥与IP绑定
生成证书秘钥并绑定ip以及配置地区和有效期
ip填写你自己的harbor安装位置服务器的ip,如有ip对应的域名也可填域名,本篇未设域名仅用ip配置
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=172.30.0.224" \
-key ca.key \
-out ca.crt
4. 移动证书位置
将证书秘钥移动到我们前面创建的certs文件夹中
mv ca* /harbor/certs
这里是将ca开头的文件移动到指定位置,如ca开头的文件还有别的,可写证书文件的全称来移动文件