二進位制安裝kubernetes v1.11.2 (瀏覽器訪問 kube-apiserver 安全埠)
參考:
https://github.com/opsnull/follow-me-install-kubernetes-cluster/blob/master/A.%E6%B5%8F%E8%A7%88%E5%99%A8%E8%AE%BF%E9%97%AEkube-apiserver%E5%AE%89%E5%85%A8%E7%AB%AF%E5%8F%A3.md
-----------------------------------------------------------------------------------------------------------------------------------------------------
瀏覽器訪問 kube-apiserver 的安全埠 8443 時,提示證書不被信任。下面使用 firefox 瀏覽器
這是因為 kube-apiserver 的 server 證書是我們建立的根證書 ca.pem 簽名的,需要將根證書 ca.pem 匯入作業系統,並設定為永久信任
設定完成後,再次訪問,提示 401, 未授權的訪問
我們需要給瀏覽器生成一個 client 證書,訪問 apiserver 的8443 https 埠使用。
這裡使用部署 kubectl 命令列工具時建立的 admin 證書、私鑰和上面的 ca 證書,建立一個瀏覽器可以使用的PKCS#12/PFX 格式的證書:
[[email protected] ~]# cd /opt/k8s/cert/ [[email protected]-m1 cert]# ls admin*.pem ca*.pem admin-key.pem admin.pem ca-key.pem ca.pem
[[email protected]-m1 cert]# openssl pkcs12 -export -out admin.pfx -inkey admin-key.pem -in admin.pem -certfile ca.pem Enter Export Password: Verifying- Enter Export Password:
[[email protected]-m1 cert]# ls admin.pfx admin.pfx
使用 firefox 瀏覽器匯入 admin.pfx 證書:
再次開啟 https://192.168.56.6:8443/
使用qq瀏覽器時,標籤欄一直在載入狀態,不顯示任何內容,直接進入qq瀏覽器設定頁面,匯入 admin.pfx 即可
重新開啟 https://192.168.56.6:8443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login,進入下面的頁面
客戶端選擇證書的原理:
1.證書選擇是在客戶端和服務端 SSL/TLS 握手寫上階段商定的
2.服務端如果要求客戶端提供證書,則在握手時會向客戶端傳送一個它接收的 CA 列表
3.客戶端查詢它的證書列表(一般是作業系統的證書,對於mac為keychain),看有沒有被 CA 簽名的證書,如果有,則將他們提供給使用者選擇(證書的私鑰)
4.使用者選擇一個證書和私鑰,然後客戶端使用它和服務端通訊