ref: https://lwn.net/Articles/853637/
如果對 SO_REUSEPORT 這個能夠提供網路服務吞吐量的 socket options 不陌生的話,那這篇文章強烈推薦看看。
本篇文章是從討論開啟 SO_REUSEPORT 這個選項會出現的一些行為以及可能可以怎麼做
最直得看的應該是留言區本身,有很多不同層級的討論,大家最愛講的 Google SRE 人也都出來分享自己的經驗了。
正常情況下,每個 TCP Port 只能被一個 process 給使用來聽取封包,但是對於一些網路重度使用的系統來說,就算讓該 process 將連線給分散到其他的 process 去處理,該 process 依然可能是系統的效能瓶頸。
Linux Kernel 3.9 後引入的 SO_REUSEPORT 參數就是為了解決這個效能問題而來的,這個參數允許多個 Process 同時使用一個 TCP Port,每當底層有一條新的連線請求時, Kernel 會從眾多的候選人之一中挑選一個可用來處理。
這種情況下,網路應用程式就可以專心處理連線工作,然後實務上同時執行多個 Process 即可。底層的 Kernel 會幫忙做連線的負載分配。
當眾多候選 process 其中之一掛掉了(可能是 crash,也有可能是有意的重啟), kernel 會注意到這個候選人要說掰掰,這候選人處理的所有 connection 都會被移除,比較糟糕的是其他待在 Accept-Queue 那些還沒被建立連線的連線請求也會一併被移除。
作者認為 Kernel 應該要有能力可以轉移那些 Accept-queue 中的連線到其他還工作的候選 process 下去處理,這樣使用者/Client 的連線就不會需要處理太多重連的問題。
文章後面都在探討可行的做法以及這個問題可能會導致什麼問題。
留言區滿熱鬧的,譬如說
1. 有人認為 server 重啟的情況實在太少見,有需要為這麽少見的情況導入這麼複雜的修改到 Kernel 中?
a. 有人回答使用 Let's Encrypt 你可能每幾週就要重啟一次。
b. Google SRE 回答其內部因為調整設定的緣由,幾乎無時無刻都需要重啟服務,不過這問題已經從別的層級去處理掉,所以修改 Kernel 對他們的用途不太大。
2. 有人提出 Nginx 本身有 live migration 的功能,可以將 fd 給轉移到其他的 process 去處理。
a. 有人提出這邊談的是 socket/connection 的層級,這些東西都還沒發生到 userspace process 同時也不是 userspace 應用程式可以接觸處理的。
b. 本文探討的是 bind(), accept(), listen() 這類型 function call 之間 kernel 會幫忙做的事情。
有興趣的別忘了閱讀留言區
同時也有1部Youtube影片,追蹤數超過5,250的網紅Nguyễn Hải Trung,也在其Youtube影片中提到,Tặng bạn 30 khóa học miễn phí Về lập trình web và tiếp thị liên kết Tất cả đều có trên https://gioi.net ? Đặt vé máy bay giá rẻ: http://vnbay.vn ? Đă...
「let's encrypt」的推薦目錄:
- 關於let's encrypt 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於let's encrypt 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於let's encrypt 在 GIGAZINE Facebook 的精選貼文
- 關於let's encrypt 在 Nguyễn Hải Trung Youtube 的最佳解答
- 關於let's encrypt 在 在Lightsail 中安裝萬用字元Let's Encrypt 憑證 的評價
- 關於let's encrypt 在 安裝Let's Encrypt 的評價
- 關於let's encrypt 在 Let's Encrypt - GitHub 的評價
- 關於let's encrypt 在 Let's Encrypt - 首頁 | Facebook 的評價
- 關於let's encrypt 在 Let's Encrypt 申請Wildcard SSL 憑證 - Linux 技術手札 的評價
- 關於let's encrypt 在 使用Let's Encrypt 申請Wildcard 憑證,並設定NGINX 的評價
- 關於let's encrypt 在 An Introduction to Let's Encrypt - YouTube 的評價
- 關於let's encrypt 在 Let's Encrypt 免費Wildcard 萬用字元憑證SSL/TLS for CentOS 7 的評價
let's encrypt 在 矽谷牛的耕田筆記 Facebook 的最佳解答
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 去處理。
let's encrypt 在 GIGAZINE Facebook 的精選貼文
無料SSL証明書の「Let’s Encrypt」がDDoS攻撃を受けてパフォーマンスが一時低下
let's encrypt 在 Nguyễn Hải Trung Youtube 的最佳解答
Tặng bạn 30 khóa học miễn phí
Về lập trình web và tiếp thị liên kết
Tất cả đều có trên https://gioi.net
? Đặt vé máy bay giá rẻ: http://vnbay.vn
? Đăng ký kênh: http://bit.ly/tusachvang
? Fanpage: http://fb.com/hocthietkeweb
#tusachvang #datmatrung #nguyenhaitrung
#hoctuxa #longvantu #bangdang #seoimk
#seoims #hocthietkeweb #gioinet #vnbay
#datvemaybay #photocopy #thietkeweb
let's encrypt 在 安裝Let's Encrypt 的推薦與評價
設定完成後就可以看到自己的網站有做SSL 加密了! 自動更新Let's Encrypt 憑證. 自動更新憑證 ./path/to/certbot renew --pre-hook "service nginx ... ... <看更多>
let's encrypt 在 Let's Encrypt - GitHub 的推薦與評價
A free, automated, and open certificate authority. - Let's Encrypt. ... <看更多>
let's encrypt 在 在Lightsail 中安裝萬用字元Let's Encrypt 憑證 的推薦與評價
如需如何在未使用Bitnami 堆疊的Lightsail 執行個體(例如Amazon Linux 2、Ubuntu 等) 上安裝標準Let's Encrypt SSL 憑證(非萬用字元) 的相關資訊,請參閱 ... ... <看更多>