configuring-certificates-for-jenkins-kubernetes-plugin.md
---------------------------------------------------------
```
@version    180807:1
@author     zhangxuhong <zhangxuhong@xitu.io>
```

Name
----

    configuring-certificates-for-jenkins-kubernetes-plugin - 配置jenkins kubernetes查件的认证.

    
Table of Contents
-----------------

* [Name](#name)
* [Reference 参考文档](#reference)



Reference 参考文档
------------------

* [简单来讲这个文章可以搞定一切](https://illya-chekrygin.com/2017/08/26/configuring-certificates-for-jenkins-kubernetes-plugin-0-12/)


Generate Kubernetes server certificate key 生成 kubernetes 认证
---------------------------------------------------------------

首先 kubectl 的配置文件默认在 ```~/.kube/config```, 我们需要 decode 其中的 certificate-authority-data 来获得ca证书.

echo {PASTE certificate-authority-data HERE} | base64 -d > ca.crt

将生成的 ca.crt 粘贴到 Kubernetes server certificate key 中.

同样步骤将 client-certificate-data 生成 client.crt, client-key-data 生成 client.key.

最后用 openssl 生成 PKCS12 格式的客户端认证.  

openssl pkcs12 -export -out cert.pfx -inkey client.key -in client.crt -certfile ca.crt 

注意生成需要输入 Export Password 这是必须的, 空密码会造成后续配置产生问题.

然后将生成的 cert.pfx 上传, 并且填写密码. (注意这里有bug, 直到你填写完毕密码之前, 他都提示你未上传. 是没有上传成功提示的.)

最后可以点击Test Connection 按钮来测试配置是否正确. Connection test successful 即为配置正确.