作者 | 陳潔、高相林
業界要聞
2020 年 2 月 3 日,CNCF 進行了 TOC(技術監督委員會)選舉,确定了 5 名新增的 TOC 成員,其中 3 名的提名者和投票者來自于 Governing Board,1 名的提名者和投票者來自于維護者,1 名的提名者和投票者來自于最終使用者社群。
- 2019 年 CNCF 新增 173 家成員,增長 50% 以上;
- KubeCon Shanghai、Barcelona、San Diego 參會人數分别達到了 3500、7700、12000 人;
- 6 個項目(CoreDNS、containerd、Jaeger、Vitness、TUF)進入畢業階段,3 個項目(CloudEvents、Falco、OPA)進入孵化階段,另外還有 12 個項目加入到 Sandbox。
Tekton 是谷歌開源的雲原生 CI/CD 系統,2019 年 Tekton 共釋出 9 個版本(0.1.0 至 0.9.2),2020 年 Tekton Pipeline 将釋出 Beta 版本。
上遊重要進展
server 端的 dry-run 支援除了 kubectl apply 以外更多的 kubectl 指令。
當 pod 不可排程且 pod backoff 的時間超過 maxDuration 時,排程器會清空它的 backoff 資訊,使其他 priority 更低的 pod 可能會出現饑餓問題。現在将重試 2*maxDuration 後才會清空 backoff 資訊。
修複 v1.17 中排程器的 pending_pods 和 schedule_attempts_total 這兩個名額沒有被記錄的 BUG。
client-go中将支援傳入外部的 context,以支援 context timeout/cancel ,以及支援後續的 distributed tracing 機制。
ctx := req.Context()
pod, err := k8client.CoreV1().Pods(namespace).WithContext(ctx).Get(podName, ...)
單個 Kubernetes 叢集中不同的 workload 可能有不同的排程需求,運作多個 scheduler binary 來滿足不同排程政策,可能會造成競争(每個排程器中的狀态可能不一緻)。該 KEP 傾向于在一個 scheduler binary 中跑不同的 framework instance,每個 instance 使用不同的 Profile,并且每個 instance 會共用相同的 node/pod cache。
開源項目推薦
kube-scan 基于規則
KCCSS(Kubernetes Common Configuration Scoring System)為 Kubernetes workload 的配置提供安全風險評級。
permission-manager 是 SIGHUP 開發的 Kubernetes RBAC 管理工具,支援建立使用者,配置設定 namespace/global 級别的權限并分發 kubeconfig,配置簡單并提供了使用者友好的 UI。
kubectx 是一個可以快速切換 kubectl context 的工具,便于在多叢集環境下的運維操作。
本周閱讀推薦
文章分析了 2020 年影響雲原生的四個方向,包括商業化企業級平台,混合雲,雲原生安全和邊緣計算。
OPA(open-policy-agent)提供了一種進階聲明性語言,可以将政策指定為代碼和簡單的 API,以減輕軟體決策的負擔。OPA 可以被使用在微服務,Kubernetes,CI / CD 管道,API 網關等中實施政策。
Jepsen 對 etcd 3.4.3 進行了測試和分析,得到了良好的結果和回報。
講述了在 LinkedIn 如何将所有的項目從 Python 2 遷移到 Python 3 。
“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”