ref: https://medium.com/flant-com/cert-manager-lets-encrypt-ssl-certs-for-kubernetes-7642e463bbce
這篇文章是個分享文,作者分享如何使用 cert-manager 這個工具透過 lets-encrypts 來獲得一個被認證的 SSL 憑證供 kubernetes 內部應用使用。
根據 CNCF Technology Radar(https://radar.cncf.io/2021-02-secrets-management) 的介紹,目前 Cert-Manager 幾乎是 k8s 內管理憑證最為知名的專案。
本篇文章針對幾個四種不同的使用情境來介紹如何使用 cert-manager,以下針對每個用法給一些摘要。
前期提要:
Kubernetes 會使用 SSL 憑證的大部分情況都是透過 Ingress 這個物件去描述需要使用 Certificate,所以文章的範例都會是基於 Ingress 的使用下手。
譬如說 Ingress 想要使用開啟 TLS 的功能,需要使用一個 secret,而 Cert-Manager 則會基於其設定最後產生出一個符合 Certificate 用法的 Secert 物件給 Ingress 使用。
Self-signed certificate
第一種是最簡單也是最直接的用法,透過 cert-manager 來產生一組自行簽署的簽證
正常情況下產生後的自簽憑證預設是不被信任的,畢竟預設情況下並沒有加入一個 CA,因此簽出來的憑證用瀏覽器打開還是會呈現不可信任
如果環境有事先準備好 CA 的話,是可以將該 CA 加入到 cert-manager 的設定中,這樣就可以簽出一個被信任的憑證了。
Let’s Encrypt certificate with the HTTP/DNS validation
第二個則是最普遍的用法,就是透過 Let's Encrypt 的服務來獲得一個可以被信任的憑證,而 Cert-Manager 目前支持兩種 ACME 的認證方式,分別是 HTTP 以及 DNS,這兩個方式最主要的目的都是要確認
申請者是該申請 domain 的擁有者,所以可以透過不同的方式來驗證。
如果想要使用 DNS 來進行驗證的則必須要確認該域名管理的服務商是否有提供相關的 API 同時該 API 是否 cert-manager 有支援,文章中作者使用 CloudFlare 來當範例展示一下如何使用 DNS 挑戰來驗證相關的 TXT Record.
由於 DNS Record 本身會有 Propagation 延遲傳遞的問題,因此驗證上通常會比使用 HTTP 的方式還來得慢一點。
Cert-Manager 本身也支援兩種方式同時使用。
另外使用 Let's Encrypt 時要特別注意,非常推薦一開始使用 Let's Encrypt Staging 的服務來進行測試,不要一開始就直接使用 Production 的 API,因為 Production 會將短時間內發送大量請求的網域給停權一陣子,要等待一段時間後才可以再次發送。
因此開發測試過程請先使用 Staging 的 API,待一切沒問題後才轉向 Production API。
Using special Ingress annotations
這種方法其實是簡化維運者的工作,Cert-Manager 會有一個額外的 Controller 去監聽所有的 Ingress 物件,如果該 Ingress 物件的 Annotation 有描述跟憑證相關的資訊,該 Controller
就會自動創造 cert-manager 相關的資源,讓管理者減少需要自己部署的物件數量,反而將部分操作轉交給 Controller 去處理。
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「certificate用法」的推薦目錄:
- 關於certificate用法 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於certificate用法 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於certificate用法 在 SJE 。 閱讀紀錄 Facebook 的最佳解答
- 關於certificate用法 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於certificate用法 在 大象中醫 Youtube 的精選貼文
- 關於certificate用法 在 大象中醫 Youtube 的最佳解答
- 關於certificate用法 在 Gavin職場英文, profile picture - Facebook 的評價
- 關於certificate用法 在 解析Certbot(Let's encrypt) 使用方式 的評價
certificate用法 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
關鍵字: KIAM, DNS, AWS IAM, latency
影響: 存取服務會花上高達十倍的延遲時間
這篇文章準確的說,問題其實跟 Kubernetes 本身關係不大,反而是遷移 Kubernetes 到系統中常見的溝通問題。作者的標題是真真實實來自 Dev Team 的回饋,當應用程式搬移到 kubernetes 後得到的效果不如預期,也許最後不是 kubernetes 的問題,但是 SRE/DevOps 還是得必須針對這些質疑去探討,找出最後真正的原因。
作者團隊當初要將一個微服務從 EC2 上給整合到 Kubernetes內,卻發現存取該服務的延遲性相對於直接部署到 EC2 上大幅度上升十倍。根據團隊的調查,EC2 的應用程式只需要 20ms 左右回覆請求,而 kubernetes 版本則需要 200ms 左右。
最後來來回回除錯找到問題根源,主要是 AWS Jave SDK 裏面的用法於不同的情境下會有不同的效果。其於 Kubernetes 下會發生每個 request 都強迫去刷新當前的 certificate 資訊,因此每個 request 都還會額外發送一個新的 request 去取得 certificate。
基本上整個問題都跟 Kubernetes 的架構無關,單純是 AWS 架構的用法,如果你有使用 KIAM 相關的服務,同時也有使用 AWS Java SDK,可以參考本篇的問題
https://srvaroa.github.io/kubernetes/migration/latency/dns/java/aws/microservices/2019/10/22/kubernetes-added-a-0-to-my-latency.html
certificate用法 在 SJE 。 閱讀紀錄 Facebook 的最佳解答
🎯 Eugnen的 #Gold金星 里程碑 😍 (第二年度LitPro)-2020/02/09
.
📝 Eugene最近接二連三的創下她幾個值得紀念的里程碑:
1️⃣ 2/1 LitPro測驗紀錄破第一個百萬字
2️⃣ 2/3 第二本長篇文學小說紀錄 (3萬字/當日4萬多字閱讀量)
和這次的 2/8
3️⃣ certificate level:Gold 金星
攀升到金星的這本書📗『Save the Earth 🌏』正好是全球矚目的議題,下午Eugene在 #SEG籃球🏀 課後教練帶著孩子們順手撿公園的垃圾,讓Eugene在讀完這本書時自己打了個評論是:
🌏『I want to be a part of the green team.』
和"金星"都意義非凡啊❤
而前陣子Eugene在閱讀中問了我『global warming』是甚麼意思,在goolge了相關的圖片後,Eugene很快地回答說她懂了(最近她都這樣查她不太懂的生字)~
對於地球議題確實也該從小開始🌎
.
印象中Eugene是去年11月開始喜歡自己Key測驗書名,雖然她不是每次都自己打書名,甚至學會『Ctrl+C』和『Ctrl+V』的快捷鍵用法🤣
但她越來越能獨立操作時,不知不覺她打字也打得不錯了,才會自己打了讀後心得這兩句,希望之後能越打越多❤️
.
#Eugene5Y2M學習紀錄 #LitPro #Gold金星
#英文橋樑書
#AR #英文閱讀測驗
certificate用法 在 コバにゃんチャンネル Youtube 的最讚貼文
certificate用法 在 大象中醫 Youtube 的精選貼文
certificate用法 在 大象中醫 Youtube 的最佳解答
certificate用法 在 解析Certbot(Let's encrypt) 使用方式 的推薦與評價
Your cert will expire on 2019-12-25. To obtain a new or tweaked # version of this certificate in the future, simply run certbot # again. ... <看更多>
certificate用法 在 Gavin職場英文, profile picture - Facebook 的推薦與評價
Certificate 和Certification 的區別Certificate >通常與文件有關>如出生證明、結婚證明>結業證明>擁有某物的證明Certification >正式證實的動作>專業上或法律上的官方 ... ... <看更多>