Kubernets二进制安装(5)之私有仓库harbor搭建
在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor
harbor下载地址:
harbor下载连接地址:https://github.com/goharbor/harbor/releases/tag/v1.10.0
平时访问GitHub的时候非常慢,特别是对于稍大项目Clone的时候就会更慢,当Clone项目的时候,可以将github地址变成github.com.cnpmjs.org就会获得加速
更改的harbor下载地址:https://github.com.cnpmjs.org/goharbor/harbor/releases/tag/v1.10.0


1.下载harbor
在mfyxw50机器上把harbor v1.10.0 下载回来或者使用迅雷下载回来再上传到服务器
[root@mfyxw50 ~]#wget https://github.com.cnpmjs.org/goharbor/harbor/releases/download/v1.10.0/harbor-offline-installer-v1.10.0.tgz
#在此已经通过迅雷下载回来了并上传到服务器,解压出来
[root@mfyxw50 ~]#ls
[root@mfyxw50 ~]# tar xf harbor-offline-installer-v1.10.0.tgz

2.把解压后的harbor移到/opt/src目录并软连接
#可能在/opt目录下没有src,如有不需要创建,如没有则需要创建
[root@mfyxw50 ~]#mkdir -p /opt/src
[root@mfyxw50 ~]#mv harbor /opt/src
[root@mfyxw50 ~]#cd /opt/src
[root@mfyxw50 ~]#ln -s harbor harbor-v1.10.0 #做软连接是方便以后升级使用

3.对harbor的harbor.yml文件进行修改
[root@mfyxw50 ~]#cd harbor-v1.10.0
[root@mfyxw50 ~]#vim harbor.yml
#hostname修改为在dns上设置的名字或host中设置的,前面的bind9中没有添加到,之 #后我会在上面添加此记录
hostname: harbor.od.com
http:
#原来是port:80的,为了避免以后面安装的nginx服务的使用80端口产生冲突
port: 180
https
port: 443
#存放证书的目录
certificate: /data/cert/harbor.crt
private_key: /data/cert/harbor.key
harbor_admin_password: Harbor12345 #修改harbor管理员admin的密码
data_volume: /data/harbor #存储harbor仓库镜像
log
location: /data/harbor/logs #存放harbor日志文件
#创建存储数据目录和日志目录
[root@mfyxw50 ~]#mkdir -p /data/harbor
[root@mfyxw50 ~]#mkdir -p /data/harbor/log
温馨提示:harbor 1.10.0需要使用https才能从客户端上传镜像,故后面会有申请证书


4.安装docker-compose
docker-compose下载链接地址:https://github.com/docker/compose/releases/download/1.25.4/docker-compose-Linux-x86_64
通过迅雷软件下载后再上传到服务器
或者使用yum -y install docker-compose进入下载
把上传好的docker-compose软件复制至/usr/local/bin/目录下,并授予可执行权限
[root@mfyxw50 ~]#mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
[root@mfyxw50 ~]#chmod a+x /usr/local/bin/docker-compose

5.查看docker-compose的版本
[root@mfyxw50 ~]#docker-compose --version

6.创建harbor证书
#创建保存证书的目录
[root@mfyxw50 ~]#mkdir -p /data/cert
[root@mfyxw50 ~]#cd /data/cert/
#生成私钥,需要设置密码
[root@mfyxw50 cert]#openssl genrsa -des3 -out harbor.key 2048
#生成CA证书,需要输入密码
[root@mfyxw50 cert]#openssl req -sha512 -new \
-subj "/C=CN/ST=GD/L=GZ/O=Heroge/OU=Heroge/CN=harbor.od.com" \
-key harbor.key \
-out harbor.csr
#备份证书
[root@mfyxw50 cert]#cp harbor.key harbor.key.bak
[root@mfyxw50 cert]#cp harbor.csr harbor.csr.bak
#退掉私钥密码,以便docker访问(也可以参考官方进行双向认证)
[root@mfyxw50 cert]#openssl rsa -in harbor.key.bak -out harbor.key
#使用证书进行签名
[root@mfyxw50 cert]#openssl x509 -req -days 3650 -in harbor.csr -signkey harbor.key -out harbor.crt
#证书目录授权
[root@mfyxw50 ~]#chmod -R 777 /data/cert/

7.安装harbor
[root@mfyxw50 ~]#cd /opt/src/harbor-v1.10.0
[root@mfyxw50 ~]#./install.sh

8.查看使用docker-compose安装的harbor是否正常运行
[root@mfyxw50 ~]#docker-compose ps

9.安装nginx用来反向代理harbor
#添加nginx源
[root@mfyxw50 ~]#rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#安装nginx
[root@mfyxw50 ~]#yum -y install nginx
10.为harbor反向代理提供一个配置文件
[root@mfyxw50 ~]#cat > /etc/nginx/conf.d/harbor.od.com.conf << EOF
server {
listen 80;
server_name harbor.od.com;
client_max_body_size 1000m;
location / {
proxy_pass http://127.0.0.1:443;
}
}
EOF

11.检查nginx配置文件是否有误,添加nginx为开机启动并立即启动服务
[root@mfyxw50 ~]#nginx -t
[root@mfyxw50 ~]#systemctl enable --now nginx

12.到dns(bind9)mfyxw10主机上添加记录
在mfyxw10.mfyxw.com主机上操作
[root@mfyxw10 ~]#cat > /var/named/od.com.zone << EOF
\$ORIGIN od.com.
\$TTL 600 ; 10 minutes
@ IN SOA dns.od.com. dnsadmin.od.com. (
;序号请加1,表示比之前版本要新
2020031303 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.od.com.
\$TTL 60 ; 1 minute
dns A 192.168.80.10
harbor A 192.168.80.50 ;添加harbor记录
EOF

13.重启dns服务
[root@mfyxw10 ~]#systemctl restart named

14.在dns机器上查询下harbor.od.com是否得到IP地址
[root@mfyxw10 ~]#dig -t A harbor.od.com +short

15.在自己的PC机上访问http://harbor.od.com

16.登录到harbor
新建项目,名称为:public,访问级别为:公开

17.打标签并推送镜像到仓库
打标签并推送镜像到仓库,需要按照如下的来设置

18.下载一个nginx镜像
[root@mfyxw50 ~]#docker pull nginx:1.7.9

19.为nginx:1.7.9打标签,登录harbor,并上传到harbor仓库
[root@mfyxw50 ~]#docker tag nginx:1.7.9 harbor.od.com/public/nginx:v1.7.9
[root@mfyxw50 ~]#docker login harbor.od.com #输入用户名和密码登录即可
[root@mfyxw50 ~]#docker push harbor.od.com/public/nginx:v1.7.9

20.在PC端上打开私有仓库查看
可以查看到,在私有仓库中,已经上传到了一个nginx,标签为:v1.7.9


Kubernets二进制安装(5)之私有仓库harbor搭建的更多相关文章
- 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
- 菜鸟系列docker——搭建私有仓库harbor(6)
docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...
- Kubernetes-5:搭建企业级私有仓库Harbor
搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...
- Git 安装及用法 github 代码发布 gitlab私有仓库的搭建
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...
- 企业级镜像仓库harbor搭建
企业级镜像仓库harbor搭建 一. Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...
- docker 私有仓库简易搭建
概要 本地私有仓库 局域网私有仓库 总结 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用. 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协 ...
- ndoe.js 和npm私有仓库的搭建
下载nodejs的压缩包 网址:https://nodejs.org/en/ 下载以tar.xz结尾的包例如:node-v8.9.4-linux-x64.tar.xz 上传包到制定的目录 可以用lrz ...
- NPM 私有仓库的搭建
NPM 私有仓库的搭建 为什么搭建私有仓库 balabala,当然是有需求的时候嘛 搭建流程 介绍和安装verdaccio 备注: 程序启动后,配置文件为/home/work/.config/verd ...
- docker学习------docker私有仓库的搭建
192.168.138.102:23451.私有仓库的搭建(docker pull registry),拉取最新的镜像 2.查看拉取的仓库镜像(docker images) 3.启用registry镜 ...
随机推荐
- SDUST数据结构 - chap2 线性表
一.判断题: 二.选择题: 三.编程题: 7-1 jmu-ds-顺序表区间元素删除 : 输入样例: 10 5 1 9 10 67 12 8 33 6 2 3 10 输出样例: 1 67 12 33 2 ...
- 关于springboot项目通过jar包启动之后无法读取项目根路径静态资源
在一次项目开发过程中,项目根路径下存放了一张图片,生成二维码的时候调用了该图片作为二维码的logo,在windows环境下二维码可以正常生成,但是部署到生产测试环境之后二维码生成报错,FileNotF ...
- kubernetes备份恢复之velero
Velero备份.恢复.迁移Kubernetes集群 Velero简介 Velero 地址:https://github.com/vmware-tanzu/velero Velero属于VMWare开 ...
- uni-app开发经验分享十九: uni-app对接微信小程序直播
uni-app对接微信小程序直播 1.登录微信小程序后台-点击>设置->第三方设置->添加直播插件 2.添加直播组件后->点击<详情> 记录这两个参数直播 ...
- Flink 中极其重要的 Time 与 Window 详细解析(深度好文,建议收藏)
前言 Flink 是流式的.实时的 计算引擎 上面一句话就有两个概念,一个是流式,一个是实时. 流式:就是数据源源不断的流进来,也就是数据没有边界,但是我们计算的时候必须在一个有边界的范围内进行,所以 ...
- GlusterFS数据存储脑裂修复方案最全解析
本文档介绍了glusterfs中可用于监视复制卷状态的heal info命令以及解决脑裂的方法 一. 概念解析 常见术语 名称 解释 Brick GlusterFS 的基本存储单元,由可信存储池中服务 ...
- WinForm中实现按Enter将光标移动到下一个文本框
首先窗体加载出来是上面这个样子.有五个文本框,我们要实现的功能就是输入姓名后按Enter,使光标直接定位到手机号中. 在页面加载的时候我们就要获取所有文本框控件,并添加回车事件 private voi ...
- Webpack4.0各个击破(8)tapable篇
目录 一. tapable概述 二. tapable-0.2源码解析 2.1 代码结构 2.2 事件监听方法 2.3 事件触发方法 三. tapable1.0概述 一. tapable概述 tapab ...
- 【PY从0到1】第七节 函数
# 7 第七节 函数 # 函数对于编程语言来说是一块重量级的内容. # 他可以实现或者简化编写的代码. # 编写好特定功能的函数后,就可以重复调用函数来完成任务. # 下面我们就用函数的形式来封装前面 ...
- XCTF-基础Android
前期工作 查壳,无.打开看是普通的输入注册码然后验证. 逆向分析 这题太简单了,就不贴图了.看Manifest得知MainActivity是启动类,也就是点进去输入注册码那个类.密码不重要,验证成功后 ...