作者 | 王思宇、陳潔、敖小劍
業界要聞
原於 2018 年 8 月進入 sandbox,旨在 Kubernetes 運行時環境下支持配置規則來加強應用安全性、降低風險。
解決部分 cloud provider 和 kubelet 相關問題,比如:
將與 KubeCon 2020 EU 同期進行,歡迎 K8s contributor 參會。
Istio 發佈 1.4.3 版本,此版本修復看一些 bug 以提高系統魯棒性和用戶體驗。
上游重要進展
Kubenetes
目前一個 LoadBalancer Service 可以寫多個 port,但是這些 port 的類型必須相同,比如都是 tcp 或 udp。這個 PR 允許在一個 LoadBalancer Service 中定義多種不同類型的 port,以支持不同雲廠商提供的 service 服務。(對應的 PR)
ComponentConfig 是支持編寫 Kubernetes-style 的配置文件,來給各種 Kubernetes 核心組件作爲啓動配置,而不是直接通過命令行參數的方式配置,這個 KEP 是爲了解決在編寫 ComponentConfig 的時候不同組件的特定配置問題。
在 Kubelet devicemanager 中增加 release 接口,支持 device plugin 釋放已經分配給 Pod 的設備。
type Manager interface {
// ...
// Release release devices allocated to pods.
Release(pod *v1.Pod) error
}
conditions 用於上報當前 PDB 的一些狀態信息,比如 PodDisruptionBudgetFailure(Failure),用於 disruption controller 在 failSafe 階段上報狀態標識。
type PodDisruptionBudgetStatus struct {
// ...
// Conditions represents the latest available observations of a PDB's current state.
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []PodDisruptionBudgetCondition
}
Istio
- 爲Telemetry V2 開啓 TCP 元數據交換
Telemetry V2 依靠對等代理之間的元數據交換,以便它們可以在不依賴於 side lookup 的情況下產生豐富的遙測信息。 Istio 1.4 使用 "x-envoy-peer-metadata" http header 來支持 http 流量的元數據交換。Istio 1.5 將支持 TCP 流量的元數據交換,該提案目前已經得到批准。
- 在 AuthorizationPolicy 實現 deny 和 exclude
Istioi 社區提出更改 AuthorizationPolicy 的 API,以支持拒絕 (deny) 和排除 (exclude) 語義。目標包括支持通過使用 AuthorizationPolicy 來拒絕請求,並支持在 AuthorizationPolicy 中使用否定匹配 (not_XXX)。用戶無需複製或修改其現有策略即可使用新功能。
- 可驗證的自定義屬性
在 SPIFFE 標識(service account 和 namespace)之外,允許客戶在 Istio 授權中創建和使用可驗證的自定義屬性。當前這個提案還處於早期階段,討論動機和用例,收集反饋,尚未開始設計。
開源項目推薦
一個面向 GitOps 流程的 operator(CNCF sandbox 項目),支持監聽 Git 變化並自動觸發一系列打包部署等操作。
符合原生 Kubernetes 模式的 serverless framework。安裝部署之後,只需要提交自己寫的 code 以及依賴給 kubeless cli,由 kubeless 負責部署運行。
本週閱讀推薦
Weaveworks 團隊如何通過 GitOps 和 Cluster API 來管理數千個 Kubernetes 集羣。其中 GitOps 正是使用了上面開源項目推薦中介紹的 Flux 工具,來把 GitOps 鏈路打通,並結合 Cluster API 組成了 GitOps 模式的多集羣管理。
本文介紹了基於 Kubernetes 之上,如何管理跨多個數據中心的 Vault 集羣。
本文從一次網絡連接開始,介紹了 Kubernetes 中各類網絡鏈路和配置,包括 Service、Load balancer、kube-proxy、Pod 網絡等,推薦對 Kubernetes 網絡機制感興趣的同學閱讀。
本文主要介紹 K8s 中 GPU 管理方式、如何爲容器配置 GPU,以及對應的 Extended Resource 和 Device Plugin的工作原理。
如何解決多租戶集羣的安全隔離問題是企業上雲的一個關鍵問題,本文主要介紹了 Kubernetes 多租戶集羣的基本概念和常見應用形態,以及在企業內部共享集羣的業務場景下,基於 Kubernetes 原生和 ACK 集羣現有安全管理能力快速實現多租戶集羣的相關方案。
雲原生實踐峯會即將開幕
“阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公衆號。”