在网上找了个 k8s 教程,觉得挺全的,分享给大家。
链接: https://pan.baidu.com/s/19ECniUoF243Vn9sQF6cXpA 密码: v98f
–来自百度网盘超级会员V3的分享
一、下载安装
1 首先保证有 docker-compose
安装compose
# curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
下载离线安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.1.3/harbor-offline-installer-v2.1.3.tgz
解压
tar -xf harbor-offline-installer-v2.1.3.tgz
配置 harbor 服务的主机名
cd harbor
mv harbor.yml.tmpl harbor.yml
修改 harbor.yml 文件中的 hostname
的值为 自己宿主机的主机名或者 IP
www.sharkyun.com 为我自己的宿主机的主机名,你需要按照自己宿主机的情况修改一下
hosname = www.sharkyun.com
关闭 https
还是在 harbor.yml 文件中,注释掉如下几行
#https:
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
执行 install.sh 脚本
假如出现端口冲突的错误,修改 harbor.yml 文件中的如下内容
http:
port: 宿主机的端口, 此端口将会映射到容器内的 8080 端口
假如你采用了非 80 端口,比如上图一样
需要修改 harbor.yml 文件中的如下内容
external_url: http://www.sharkyun.com:8017
这个表示当你使用的额外的代理时候,就需要打开此选项,并且设置为正确的 url 和端口号.
成功后应该下面的样子
浏览器访问测试:http://www.sharkyun.com
或者 http://www.sharkyun.com:宿主机端口
创建仓库
创建账户
把这个用户授权给一个仓库 app-java
2、测试Harbor
上传测试
由于我们没有使用 HTTPS,所以需要在 上传镜像的服务器上设置如下内容:
[root@qfedu.com ~]# vim /etc/docker/daemon.json
{ "insecure-registries":["192.168.122.100:80"] }
假如 daemon.json
文件中有其他配置内容,比如有关于镜像加速器的配置,这个只需要把
"insecure-registries":["192.168.122.100:80"]
追加到配置文件中的大括号中即可,注意两个配置中间写上应用逗号。
例如:
{
"registry-mirrors": ["https://qgiddj46jy.mirror.aliyuncs.com"],
"insecure-registries": ["http://192.168.122.100:80"]
}
配置完成后重启 Docker 服务
systemctl restart docker
修改标签和推送
docker tag SOURCE_IMAGE[:TAG] 仓库地址:仓库端口/项目名称/REPOSITORY[:TAG]
例如:
在web界面中查看镜像是否被上传到仓库中
【扩展】重置Harbor登陆密码
harbor现使用postgresql 数据库。不再支持mysql
注:
卸载重新重新安装也不可以,原因是没有删除harbor的数据,harbor数据在/data/目录下边,如果真要重新安装需要将这个也删除,备份或者迁移,请使用这个目录的数据。
harbor版本为:1.8.0
官方的安装包为: harbor-offline-installer-v1.8.0.tgz
具体步骤:
1、进入[harbor-db]容器内部
# docker exec -it harbor-db /bin/bash
2、进入postgresql命令行,
psql -h postgresql -d postgres -U postgres #这要输入默认密码:root123 。
psql -U postgres -d postgres -h 127.0.0.1 -p 5432 #或者用这个可以不输入密码。
3、切换到harbor所在的数据库
# \c registry
4、查看harbor_user表
# select * from harbor_user;
5、例如修改admin的密码,修改为初始化密码Harbor12345 ,修改好了之后再可以从web ui上再改一次。
# update harbor_user set password='a71a7d0df981a61cbb53a97ed8d78f3e', salt='ah3fdh5b7yxepalg9z45bu8zb36sszmr' where username='admin';
6、退出 \q 退出postgresql,exit退出容器。
# \q
# exit
完成后通过WEB UI,就可以使用admin 、Harbor12345 这个密码登录了,记得修改这个默认密码哦,避免安全问题。
有更加狠点的招数,将admin账户改成别的名字,减少被攻击面:
# update harbor_user set username='wing' where user_id=1; #更改admin用户名为wing