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 去處理。
dns record 在 純靠北工程師 Facebook 的精選貼文
#純靠北工程師4xn
----------
說一下剛才那個 edu-tw.glitch.me 事件。其實如果你們用 Wayback Machine 查一下,就可以發現著實有這個假網站出現過:
http://web.archive.org/web/20210524074241/http://edu-tw.glitch.me/
所以,我們可以理一下時間順序了:
1) (5/24 以前)假網站出現
2) 被立委還有事實查核機構拉出來鞭
3) Hinet 在自家 DNS 把這個子網域的 A 記錄(或是用一些其他方法)設定成 127.0.0.1
4) (3, [4,5] 可能對調)5/25,假網站發布者把網站撤掉[^2]
5) 不久後某位 PTT 網友去 Glitch 把這個子網域搶下來
結果每個都只看到片面資訊(127.0.0.1、PTT 網友開的 placeholder 網頁)就以為是 DPP 自導自演⋯⋯拜託,你們有時間鍵政,怎麼沒時間去用 Wayback Machine 查核?笑死。此外你們也沒查證 Glitch 的網域可不可以更改 DNS Record 耶[^1],真以為 127.0.0.1 是自己改的嗎?🧐
[利益宣告] 我不是 DPP 人士,與 DPP 無關,是獨立網友。本文作者在撰寫此文期間無任何政治立場。
[^1] https://support.glitch.com/t/advanced-dns-input-and-ns-records/22862
[^2] http://web.archive.org/web/20210525035638/http://edu-tw.glitch.me/
----------
💖 純靠北官方 Discord 歡迎在這找到你的同溫層!
👉 https://discord.gg/tPhnrs2
----------
💖 全平台留言、文章詳細內容
👉 https://init.engineer/cards/show/6395
dns record 在 卡斯伯 Facebook 的最讚貼文
前天的大神來六角延伸文章:自建 Name Server
透過本次流程將會更了解 DNS 的運作
不過一般人並不需要這麼做 Q@Q 😇
https://hex.school/自建NameServer
dns record 在 What is a Wildcard DNS record? - Porkbun Knowledge Base 的美食出口停車場
A wildcard DNS record is a record that answers DNS requests for any subdomain you haven't already defined. You can create wildcard A records ... ... <看更多>
dns record 在 Wildcard (萬用字元) DNS record | 代碼星球 的美食出口停車場
最近在執行的案子有一個需求,要提供每位註冊的使用者一個專屬子網域,最後是使用Wildcard DNS record 來達成。 一開始想透過web 去呼叫程式來修改DNS ... ... <看更多>