K8S 生態週報| cilium 1.6 發佈 100% kube-proxy 的替代品

「K8S 生態週報」內容主要包含我所接觸到的 K8S 生態相關的每週值得推薦的一些信息。歡迎訂閱知乎專欄 「k8s生態」

Kind(Kubernetes In Docker) v0.5.1 正式發佈

Kind(Kubernetes In Docker) 已經普遍的應用於 Kubernetes 上游及相關項目的 CI 環境中,做爲我的本地的測試環境也很方便,推薦你們嘗試。git

本次發佈,將默認的 Kubernetes 版本更新爲 v1.15.3 ;支持了 UDP 和 SCTP 協議的端口轉發;對構建 Node 鏡像進行了優化,使它更快;同時也對 arm32 增長了有限的支持。github

對 kind load-image 進行了改進,從原先的只是判斷鏡像名稱和 tag 到如今增長了對哈希值的校驗;修正了在使用 Proxy 時,部分服務可能受代理影響致使的問題(對國內用戶友好)。golang

更多關於此版本的內容,請參考 ReleaseNote,歡迎使用和反饋。安全

Kubernetes 受 Go 的 net/http 安全漏洞影響

Kubernetes 近期緊急發佈了 v1.15.3, v1.14.6, v1.13.10 版本,距離上個集體更新發布僅過了兩週而已,上次的說明請參考兩週前的 k8s 生態週報,不過本次的漏洞的根本緣由不在 Kubernetes 的功能邏輯上,仍是在於其使用的 Go 語言的 net/http 庫的安全漏洞 CVE-2019-9512 和 CVE-2019-9514 。網絡

關於這次漏洞的信息,可參考 golang/go#33606,另外 Go 最近陸續發佈了幾個版本,建議你們也最好升到 v1.12.9 版本。工具

做爲標準庫來講,其實影響面仍是比較大的,K8S 最近也是相繼從 1.12.6 陸續升級到了 1.12.9 , 固然也包括 Docker 團隊等,也都作了相關的更新。性能

最後,仍是建議儘快升級。測試

Kubernetes v1.16.0-beta.1 發佈

本次的開發進度基本都是按照預期進行的,本週發佈了 v1.16.0-beta.1 版本,相信很快就會發布正式版了。 優化

本次的更新內容暫不展開了,有興趣的朋友能夠直接參看 ReleaseNotespa

weaveworks 出品的 Flux 成爲 CNCF sandbox 項目

Flux 做爲 Kubernetes GitOps operator 成功加入了 CNCF。

它最初是 weaveworks 內部爲了加速開發工做流而產生的,但發展至後期,比較獨立了,項目規劃也比較成熟了,因此如今就託管至 CNCF 了。

Flux 能夠確保集羣的配置與 Git 倉庫中的內容相符,同時又可自動化你的部署。實際上是一個很不錯的工具集,由於實際上它基本能知足大多數人的應用場景。

flux cd - moelove.info

關於這次成爲 CNCF sandbox 項目官宣文章請查看其官方博客

cilium 1.6 發佈 100% kube-proxy 的替代品

cilium 1.6 發佈,本次最大的新聞是它完成了最後的兩個核心需求,成功的在使用 cilium 時能夠再也不須要 kube-proxy 即它可 100% 替換 kube-proxy 。

這裏先對 cilium 作個基本介紹,它是一個基於 eBPF 實現的可用於透明的提供和保護使用 Kubernetes 和 Docker 等容器管理平臺部署的應用程序服務之間的網絡和 API 鏈接。

說的比較繞口,說直白點就是基於 eBPF 的一個性能超厲害的網絡組件。至於它具有的能力下面這張圖仍是比較明白的,有興趣研究的朋友們推薦看它的官方文檔。

cilium - moelove.info

kube-proxy 做爲 Kubernetes 集羣中的一個重要組件,它的性能問題常常被人拿出來講。其實它的性能對多數公司/場景下也表現挺好了,但追求極致纔是前進的動力嘛。如今 cilium 發佈 1.6 版本,最大的新聞就是能夠 100% 替換 kube-proxy 了,性能測試以下圖:

cilium performance - moelove.info

這裏稍微說幾句我關於 cilium 的見解:

  • 厲不厲害?厲害。
  • 值不值得研究?值得。
  • 會不會放到本身的集羣替代 kube-proxy ?不會,最起碼目前不會。

若是你想要經過 cilium 研究 eBPF 或者 XDP 我卻是建議你能夠看看,是個很不錯的項目,並且經過這個項目能加深不少網絡方面的認識。這麼說吧,若是把 cilium 的源碼及所涉及原理都研究通透了,那就很厲害了。

至於要不要替換 kube-proxy 在我看來,最起碼目前我不會這樣去作。解決問題的辦法有不少種,而替換掉一個核心組件,卻不必定是一個最值得的選擇。

關於這次的性能測試,請參考其官方博客


能夠經過下面二維碼訂閱個人文章公衆號【MoeLove】,在公衆號後臺回覆 k8s 可加入技術圈交流。

TheMoeLove