文章目錄
在 Kubernetes 上安裝 cert-manager
之前 gRPC 都是透過 insecure 的設定來避免 gRPC 需要 SSL 的問題,雖然使用上並沒有遇到什麼狀況,但還是覺得不太正統,另外程式碼也多了一些設定,所以一直想嘗試讓內部 gRPC 也使用 SSL,要使用 SSL 首先就是需要一張憑證,今天就紀錄一下如何安裝 Kubernetes 上的憑證管理工具 : cert-manager
之前曾經考慮過將 Kubernetes 既有的憑證 mount 給 application 做使用,但後來因為不知道 Kubernetes 既有憑證的更新機制,擔心既有憑證用一用,Kubernetes 更新憑證 application 未能即時同步更新造成異常,所以最後決定另外自簽憑證
cert-manager 是基於 Kubernetes 的 open source 憑證管理工具,可以協助從包含 Let's Encrypt
, HashiCorp Vault
, Venafi
,與自簽憑證
等多個不同來源來發行憑證
基本環境說明
- macOS Catalina 10.15.7
docker desktop 3.1.0(51484)
- docker engine 20.10.2
- Kubernetes v1.19.3
Helm chart
- cert-manager v1.1.0
使用 Helm 安裝
有其他安裝方式,有興趣的可以參考 Welcome to cert-manager/Installation/Kubernetes
建立 namespace
kubectl create namespace cert-manager
加入 Helm repository
helm repo add jetstack https://charts.jetstack.io && helm repo update
安裝 cert-manager
helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --version v1.1.0 \ --set installCRDs=true
驗證安裝
kubectl get pods --namespace cert-manager
心得
cert-manager 的安裝方式,嚴格說來有三種
- 使用 yaml 安裝 cert-manager
- 使用 yaml 安裝 CRS 搭配 Helm 安裝 cert-manager
- 使用 Helm 安裝 CRD 與 cert-manager
我沒有刻意去比較用法差異,我懶所以直接選用 3. 使用 Helm 安裝 CRD 與 cert-manager
一句 script 可以裝到好,雖然 使用 yaml 安裝 cert-manager
也是一句,但我自己執行時是卡住滿久的,最後等不下去就 cancel 了,大家挑自己順眼的就好
參考資訊
文章作者 Yowko Tsai
上次更新 2021-02-08
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。