1. 程式人生 > >Falco 進入 CNCF Incubator 專案 | 雲原生生態週報 Vol. 35

Falco 進入 CNCF Incubator 專案 | 雲原生生態週報 Vol. 35

作者 | 王思宇、陳潔、敖小劍

業界要聞

  1. Falco 進入 CNCF Incubator 專案

原於 2018 年 8 月進入 sandbox,旨在 Kubernetes 執行時環境下支援配置規則來加強應用安全性、降低風險。

  1. Kubernetes v1.17.1 釋出

解決部分 cloud provider 和 kubelet 相關問題,比如:

  • kubelet 更新 Pod ready status 失敗
  • kubelet 清理 Pod volumes 發生 panic
  1. CFP 2020 K8s Contributor Summit Amsterdam 開始徵集 talk

將與 KubeCon 2020 EU 同期進行,歡迎 K8s contributor 參會。

  1. Istio 1.14.3 釋出

Istio 釋出 1.4.3 版本,此版本修復看一些 bug 以提高系統魯棒性和使用者體驗。

上游重要進展

Kubenetes

  1. LoadBalancer Service 支援多種不同 protocol 型別的 port

目前一個 LoadBalancer Service 可以寫多個 port,但是這些 port 的型別必須相同,比如都是 tcp 或 udp。這個 PR 允許在一個 LoadBalancer Service 中定義多種不同型別的 port,以支援不同雲廠商提供的 service 服務。(對應的 PR)

  1. 解決元件特定 ComponentConfig 的配置問題

ComponentConfig 是支援編寫 Kubernetes-style 的配置檔案,來給各種 Kubernetes 核心元件作為啟動配置,而不是直接通過命令列引數的方式配置,這個 KEP 是為了解決在編寫 ComponentConfig 的時候不同元件的特定配置問題。

  1. device manager 中增加 release api 介面

在 Kubelet devicemanager 中增加 release 介面,支援 device plugin 釋放已經分配給 Pod 的裝置。

type Manager interface {
    // ...
    
    // Release release devices allocated to pods.
    Release(pod *v1.Pod) error
}
  1. PDB status 中新增 conditions

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

  1. 為Telemetry V2 開啟 TCP 元資料交換

Telemetry V2 依靠對等代理之間的元資料交換,以便它們可以在不依賴於 side lookup 的情況下產生豐富的遙測資訊。 Istio 1.4 使用 "x-envoy-peer-metadata" http header 來支援 http 流量的元資料交換。Istio 1.5 將支援 TCP 流量的元資料交換,該提案目前已經得到批准。

  1. 在 AuthorizationPolicy 實現 deny 和 exclude

Istioi 社群提出更改 AuthorizationPolicy 的 API,以支援拒絕 (deny) 和排除 (exclude) 語義。目標包括支援通過使用 AuthorizationPolicy 來拒絕請求,並支援在 AuthorizationPolicy 中使用否定匹配 (not_XXX)。使用者無需複製或修改其現有策略即可使用新功能。

  1. 可驗證的自定義屬性

在 SPIFFE 標識(service account 和 namespace)之外,允許客戶在 Istio 授權中建立和使用可驗證的自定義屬性。當前這個提案還處於早期階段,討論動機和用例,收集反饋,尚未開始設計。

開源專案推薦

  1. Flux

一個面向 GitOps 流程的 operator(CNCF sandbox 專案),支援監聽 Git 變化並自動觸發一系列打包部署等操作。

  1. Kubeless

符合原生 Kubernetes 模式的 serverless framework。安裝部署之後,只需要提交自己寫的 code 以及依賴給 kubeless cli,由 kubeless 負責部署執行。 

本週閱讀推薦

  1. 《Manage Thousands of Clusters with GitOps and the Cluster API》

Weaveworks 團隊如何通過 GitOps 和 Cluster API 來管理數千個 Kubernetes 叢集。其中 GitOps 正是使用了上面開源專案推薦中介紹的 Flux 工具,來把 GitOps 鏈路打通,並結合 Cluster API 組成了 GitOps 模式的多叢集管理。

  1. 《Vault replication across multiple datacenters on Kubernetes》

本文介紹了基於 Kubernetes 之上,如何管理跨多個數據中心的 Vault 叢集。

  1. 《Kubernetes Networking Demystified - A Brief Guide》

本文從一次網路連線開始,介紹了 Kubernetes 中各類網路鏈路和配置,包括 Service、Load balancer、kube-proxy、Pod 網路等,推薦對 Kubernetes 網路機制感興趣的同學閱讀。

  1. 《從零開始入門 K8s | GPU 管理和 Device Plugin 工作機制》

本文主要介紹 K8s 中 GPU 管理方式、如何為容器配置 GPU,以及對應的 Extended Resource 和 Device Plugin的工作原理。

  1. 《K8s 實踐 | 如何解決多租戶叢集的安全隔離問題?》

如何解決多租戶叢集的安全隔離問題是企業上雲的一個關鍵問題,本文主要介紹了 Kubernetes 多租戶叢集的基本概念和常見應用形態,以及在企業內部共享叢集的業務場景下,基於 Kubernetes 原生和 ACK 叢集現有安全管理能力快速實現多租戶叢集的相關方案。

雲原生實踐峰會即將開幕

“阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公眾號。”