美文网首页
Jenkins Docker 插件TLS认证配置

Jenkins Docker 插件TLS认证配置

作者: 赵荆州 | 来源:发表于2018-01-23 11:17 被阅读198次

    接上一篇,Docker Remote API TLS 认证
    上面配置的时候留了一处坑,CURL测试的时候很愉快的就成功了,但是万万没想到,接下去配置jenkins docker插件的时候就一波三折。。。
    我的心情就像是坐上过山车一样。

    首先,jenkins docker插件如果你没有安装的话,先去google装上。

    然后应该可以在系统管理>系统设置里面看到如下画面:

    image.png

    当你在没有开启Docker TLS认证的时候这样就可以很愉快的连接上Docker,开启TLS后我们需要配置下cert file path

    jenkins 我们一般会挂载jenkins_home 到 docker主机上,找到你的jenkins_home在主机上的目录,我这里是/home/jenkins_home
    然后在/home/jenkins_home 创建一个目录,例如叫cert,然后将上一篇文章里面创建的那些证书文件放到这个目录,大概需要这几个文件(ca.pem,key.pem,cert.pem)。

    注意给以上文件授权,chmod 777 /home/jenkins_home/cert/*

    然后这里设置cert file path ,注意这里的path不是指的主机上的path,而是docker 容器里面的path,一般jenkins容器里面的目录是/var/jenkins_home,那么这里的path完整路径就应该是/var/jenkins_home/cert
    设置完成后是这样的:

    image.png
    点一下test connection,不出意外的话你会看到各种错误,例如:
    image.png

    首先说下最常见的几种错误,路径错误,证书文件不存在,文件无权限访问等等。如果出现这些问题,那你得好好反省下了。

    下面说说这种错误:

    Host name '172.20.20.25' does not match the certificate subject provided by the peer (CN=172.20.20.25)

    是不是有点莫名其妙?CN(Common Name)与Host name不是一致吗?

    于是开始各种google ,baidu,看到大部分人的配置都是IP地址,然后通过CURL测试了一下成功了,整个配置介绍就结束了。

    后来无意中在生成证书的相关命令中看到这样一行:

    openssl req -subj "/CN=172.20.20.25" -sha256 -new -key server-key.pem -out server.csr
    echo subjectAltName = DNS:172.20.20.25,IP:127.0.0.1 > extfile.cnf

    DNS?? 莫非要走DNS解析?那是不是配置下host-to-IP mapping 就好了?

    说干就干。

    重新生成相关证书文件,更改上面两行命令为:

    openssl req -subj "/CN=master" -sha256 -new -key server-key.pem -out server.csr
    echo subjectAltName = DNS:master,IP:127.0.0.1 > extfile.cnf

    master 你可以换成其他任意。

    然后参照上一篇文章,重新生成证书文件。注意提示输入CN的时候需要与这里的master 一致。

    生成好了,这里遇到一个问题,docker 容器怎么更改hosts呢?
    进入容器直接更改,重启后不就丢失了?这里有很多办法解决这个问题,我使用的其中我认为最简单一种,docker run 有一个参数叫--add-host,这里重新运行jenkins镜像,并且制定--add-host master:172.20.20.25 .

    待jenkins启动好后,重新进入系统配置界面:


    image.png

    点击Test Connection : Connected to tcp://master:2375

    搞定!~

    相关文章

      网友评论

          本文标题:Jenkins Docker 插件TLS认证配置

          本文链接:https://www.haomeiwen.com/subject/xdzjaxtx.html