一、创建证书:
1、生成ca私钥、证书
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Shanghai/L=Shanghai/O=KuaiQian Payment and Settlement Service Co.,Ltd./OU=Product Operation Assurance Dept./CN=*.99bill.com" \
-key ca.key \
-out ca.crt
2、生成服务器端证书
openssl genrsa -out 99bill.com.key 4096
openssl req -sha512 -new \
-subj "/C=CN/ST=Shanghai/L=Shanghai/O=KuaiQian Payment and Settlement Service Co.,Ltd./OU=Product Operation Assurance Dept./CN=*.99bill.com" \
-key 99bill.com.key \
-out 99bill.com.csr
3、使用CA的私钥和证书对用户证书签名
添加别名
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=*.99bill.com
DNS.2=99bill.com
DNS.3=99bill
EOF
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in 99bill.com.csr \
-out 99bill.com.crt
4、查看生成证书内容
openssl x509 -in 99bill.com.crt -noout -text
二、安装harbor
Docker 升级
step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
Step 4: 开启Docker服务
sudo service docker start
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-compose -y
yum install docker-ce –y
systemctl enable docker
systemctl start docker
下载地址:
https://storage.googleapis.com/harbor-releases/
docker rm -f docker ps -a|grep -v CONTAINER|awk '{print $1}'|xargs echo
tar xf harbor-offline-installer-v1.10.0.tgz -C /opt/oracle/
vim /opt/oracle/harbor/docker-compose.yml
配置hostname 、证书和key
cd /opt/oracle/harbor/;./install.sh --with-notary --with-clair --with-chartmuseum
启动
docker-compose ps
docker-compose stop
docker-compose ps
docker-compose up -d
docker-compose ps
三、配置
1、远程同步
a、系统管理->仓库管理->新建目标
添加远程地址、用户名、密码
测试连接后,保存
b、系统管理->同步管理->新建规则
例如:
资源过滤器:资源:全部
目的registry: 刚刚填写的目标
触发模式:事件驱动
保存
2、配置保留测试
项目: 新建项目:
项目名称:test
访问级别:公开
tag保留:
保留策略: 添加规则: 应用到仓库匹配
, 保留最近推送的10个镜像基于条件tags匹配,
定时执行:每天
系统管理->垃圾清理
配置 垃圾清理周期
四、使用
docker login -u admin -p Bill9912345 vipharbor.99bill.com
docker tag goharbor/harbor-core:v1.10.0 vipharbor.99bill.com/goharbor/harbor-core:v1.10.0
docker push vipharbor.99bill.com/goharbor/harbor-core:v1.10.0
docker pull harbor2.99bill.com/99bill/app-rmse-ruleexecuter.jar:1.0.0.2
五、Harbor整体架构
Harbor运行起来后
名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry以及harbor-log
Harbor由6个大的模块所组成:
• Proxy: Harbor的registry、UI、token services等组件,都处在一个反向代理后边。该代理将来自浏览器、docker clients的请求转发到后端服务上。
• Registry: 负责存储Docker镜像,以及处理Docker push/pull请求。因为Harbor强制要求对镜像的访问做权限控制, 在每一次push/pull请求时,Registry会强制要求客户端从token service那里获得一个有效的token。
• Core services: Harbor的核心功能,主要包括如下3个服务:
• UI: 作为Registry Webhook, 以图像用户界面的方式辅助用户管理镜像。1) WebHook是在registry中配置的一种机制, 当registry中镜像发生改变时,就可以通知到Harbor的webhook endpoint。Harbor使用webhook来更新日志、初始化同步job等。 2) Token service会根据该用户在一个工程中的角色,为每一次的push/pull请求分配对应的token。假如相应的请求并没有包含token的话,registry会将该请求重定向到token service。 3) Database 用于存放工程元数据、用户数据、角色数据、同步策略以及镜像元数据。
• Job services: 主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。
• Log collector: 负责收集其他模块的日志到一个地方
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。