「K8S 生態週報」內容主要包含我所接觸到的 K8S 生態相關的每週值得推薦的一些信息。歡迎訂閱知乎專欄「k8s生態」。node
本週 The Update Framework (TUF) 正式從 CNCF 畢業,如今 TUF 的官方 Python 實現有 954 個 star ,142 個 fork 以及 43 位貢獻者和 3525 次 commit 記錄。git
TUF 是從 CNCF 正式畢業的第 9 個項目,沒記錯的話也是至今爲止惟一一個 star 數未上千就正式畢業的項目。不過 TUF 項目自己與其餘項目不一樣,star 數也說明不了項目狀態。github
可能很多人以爲 TUF 項目的存在感很低,或是沒有了解或使用過 TUF 項目,我姑且對它作一點介紹。redis
TUF 項目大概是十年前啓動,並於 2017 年開始託管於 CNCF,它的主要目標正如它的名字通常,提供用於更新的框架,但它更重要的點在於它的安全性設計上。docker
它充分考慮到了各個環節可能出現的攻擊,在提供更新功能的同時,也能夠很好的保護現有程序或者是驗證待更新版本的安全和可靠性。你可能想問它是如何作到這一點的,其實它主要是提供了一套標準規範,並在各個環節中增長了更多的元數據和相關的檢查,包括簽名信息,文件 hash ,元數據簽名和過時時間等。安全
至於它的存在感嘛,不知道你是否有使用過 Docker Content Trust(DCT) 相關的功能,簡單來講你能夠看成就是 docker trust
所涉及到的相關功能,這其中的部分功能是構建在 Docker Notary 之上的,而 Docker Notary 則是使用 TUF 做爲其基礎安全框架的。(PS:Docker Inc 也已經將 Docker Notary 捐獻給了 CNCF)bash
如今多數公有云(好比 IBM,Azure 等)提供可信鏡像倉庫服務時,基本也都間接的依賴於 Docker Notary 和 TUF 了,這也是 TUF 被普遍使用的方面。 除了容器生態外,一些語言的包管理器也都在探索基於 TUF 實現其安全更新,包括 Python 的 pip, Haskell 的 hackage 以及 OCaml 的 opam 等。框架
不過相關擴展內容不是本篇的重點,暫且跳過。最後再次恭喜 TUF 順利畢業!spa
Linkerd 本週發佈了 v2.6.1 版本,這是一個很是小的 bugfix 版本。在這裏提到是由於這個小版本主要是改善 Proxy 的穩定性,經過修復了 Proxy 可能中止接收服務發現更新,致使 503 的 bug 。設計
對此問題感興趣的朋友能夠參考 linkerd2-proxy 的更新記錄。
Kubernetes v1.17 已經發布了,如今上游也進入了 v1.18 的開發階段,本週發佈了 v1.18.0-alpha.1 , 其中有個頗有用的變動。
kubectl drain
在 --dry-run
的時候,能夠顯示會驅逐掉的 pod
信息了。 示例以下:
# kubectl v1.18.0-alpha.1
(MoeLove) ➜ bin ./kubectl.v1.18 drain --dry-run=true 10.19.47.253
node/10.19.47.253 cordoned (dry run)
evicting pod infra/redis-7c647bfd97-fdk2r (dry run)
evicting pod kube-system/coredns-65b546d87d-6jmfp (dry run)
evicting pod kube-system/coredns-65b546d87d-pwqvh (dry run)
node/10.19.47.253 drained (dry run)
複製代碼
而以前版本中是沒有展現被驅逐 pod
信息的:
# kubectl below v1.18.0-alpha.1
(MoeLove) ➜ bin ./kubectl.v1.17 drain --dry-run=true 10.19.47.253
node/10.19.47.253 cordoned (dry run)
node/10.19.47.253 drained (dry run)
複製代碼
能夠經過下面二維碼訂閱個人文章公衆號【MoeLove】,在公衆號後臺回覆 k8s 可加入技術圈交流。