Jenkins配置Kubernetes Cloud(https)

摘要

Jenkins連接低版本的Kubernetes(v1.11以下)時不需要進行驗證,但新版本開啓了https驗證,需要爲Jenkins製作訪問apiserver的證書。

安裝Kubernetes插件

登陸Jenkins後點擊系統管理->插件管理->可選插件
在右上角搜索框中輸入kubernetes,在下方篩選出來的結果中找到“Kubernetes”後,點擊直接安裝:
在這裏插入圖片描述
點擊下方“安裝完成後重啓(空閒時)”按鈕,重啓Jenkins後生效。
重新登陸後點擊“系統管理->系統配置”,拉到最下方選擇“新增一個雲”,如下:在這裏插入圖片描述
點擊跳轉後就會出現Kubernetes的配置界面,進行配置:在這裏插入圖片描述
沒配置證書前的連接測試是會失敗的,因爲新版本的apiserver接口都是通過https去訪問的,所以我們需要在k8s的master節點上爲jenkins服務器生成一個credential。

創建證書

登陸master節點,輸入以下命令安裝cfssl,此工具生成證書非常方便, pem證書與crt證書,編碼一致可直接使用:

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
chmod +x cfssl_linux-amd64
mv cfssl_linux-amd64 /usr/local/bin/cfssl

wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
chmod +x cfssljson_linux-amd64
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson

wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
chmod +x cfssl-certinfo_linux-amd64
mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo

準備簽名證書請求

vim admin-csr.json
{
  "CN": "admin",
  "hosts": [],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "HangZhou",
      "L": "XS",
      "O": "system:masters",
      "OU": "System"
    }
  ]
}

證書請求中的O 指定該證書的 Group 爲 system:masters
而 RBAC 預定義的 ClusterRoleBinding 將 Group system:masters 與 ClusterRole cluster-admin 綁定,這就賦予了該證書具有所有集羣權限 。

創建證書和私鑰

cfssl gencert -ca=/etc/kubernetes/pki/ca.crt -ca-key=/etc/kubernetes/pki/ca.key --profile=kubernetes admin-csr.json | cfssljson -bare admin
#會生成如下三個文件
admin.csr
admin-key.pem
admin.pem

然後生成pkc證書,通過openssl來將證書轉換爲pkc格式:

openssl pkcs12 -export -out ./jenkins-admin.pfx -inkey ./admin-key.pem -in ./admin.pem -passout pass:secret

然後將生成的jenkins-admin.pfx下載至桌面準備上傳

配置Jenkins認證

使用如下命令查看服務證書key:

root@k8s-master:~# cat /etc/kubernetes/pki/ca.crt

將該內容複製到Jenkins界面的“Kubernetes服務證書key”的文本框中,如下:
在這裏插入圖片描述
然後點擊憑據後面的添加,將剛剛生成的證書進行上傳,如下:在這裏插入圖片描述
選擇文件jenkins-admin.pfk:在這裏插入圖片描述
輸入密碼secret,後面內容可以不填寫,點擊添加即可:在這裏插入圖片描述
選擇 憑據,點擊連接測試。
出現 Connection test successful 表示連接成功。在這裏插入圖片描述
添加jenkins地址:在這裏插入圖片描述
點擊保存即可

本文參考鏈接:
參考文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章