Rancher2.x+Pipeline+harbor+http环境
1. Rancher2.x环境搭建
具体详情可参考官网搭建,下面附上官网中文版搭建过程
https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/
2. harbor搭建过程
https://blog.csdn.net/u013201439/article/details/79025609
3. pipeline使用教程
https://my.oschina.net/u/593517/blog/3011521
4. 问题总结
4.1 harbor支持https,个人比较麻烦的是证书安装和使用的问题,生产环境建议使用https,个人实验和测试的http就满足了。关于https配置可参考
https://github.com/goharbor/harbor/blob/master/docs/configure_https.md
https://blog.csdn.net/ccy19910925/article/details/80271207
这里说一点,产生的证书,需要在客户端(非harbor服务器)配置docker信任证书,一个是新建/etc/docker/certs.d/reg.yourdomain.com(或您的harbor的IP)目录,里面放的就是ca.crt, 还有cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/reg.yourdomain.com.crt,然后调用update-ca-trust更新。这里是centos路径,ubuntu路径是/usr/local/share/ca-certificates。
测试的过程发现,但不一定对,客户端只需要ca.crt和reg.yourdomain.com.crt,即可访问harbor,但是如果你有多台设备,就需要多次生成reg.yourdomain.com.crt,产生证书的过程需要填写具体不同的参数,我测试的过程中是以客户端IP来命名crt的,就IP.crt就不会重复。由于个人对证书这个的内容了解有限,表达不清楚,建议参考官网配置
4.2 pipleline的使用问题,首先pipline过程中,build镜像是在容器中进行的(不是主机上),所以主机配置daemon.json是不会起作用,需要再“流水线”->“:”->“查看/编辑YAML”,如下增加pushRemote和PLUGIN_INSECURE参数(一定要两个都加上),这些额外的参数是UI上不提供的,只能编辑文件来实现。这类问题在github的issue有提得比较多,碰到疑难问题需要自行去github或者google
stages:
- name: build
steps:
- publishImageConfig:
dockerfilePath: ./Dockerfile
buildContext: .
tag: myproject
pushRemote: true
registry: index.docker.io
env:
PLUGIN_DEBUG: "true"
PLUGIN_INSECURE: "true"