全球首個開放應用模型 OAM 開源 | 雲原生生態週報 Vol. 23

大濤學長發表於2019-10-22

業界要聞


2019 年 10 月 17 日,阿里巴巴合夥人、阿里雲智慧基礎產品事業部總經理蔣江偉(花名:小邪)在 Qcon 上海重磅宣佈,阿里雲與微軟聯合推出開放應用模型 Open Application Model (OAM)開源專案。OAM 的願景是以標準化的方式溝通和連線應用開發者、運維人員、應用基礎設施,讓雲原生應用管理與交付變得更加簡潔,高效,並且可控。

KubeVirt 儘管容器技術提供了各種便利,但是在特定情況下使用 VM 仍然是不可避免的(編者按:VM 只是選擇之一,不同的安全容器解決方案都可以在不同方面代替單純的 VM)。來自 Redhat 的 KubeVirt 專案可以提供在 K8s 叢集內部準備、部署、執行和管理 VM 的能力,讓使用者可以使用 Pod 一樣來使用一個 VM。現在,這個專案已經正式進入了 CNCF 的 Sandbox 了。

KubeAdvisor 日前釋出了 1.0 版本。KubeAdvisor 一款輔助 K8s 運維的工具,能夠掃描 K8s 叢集的資源、狀態、配置等,透過提供恰當的“可觀測性”(編者按:眼花繚亂的監控資料和曲線圖不等於可觀測性),為叢集使用者提供最有價值的資訊,來輔助保障基礎設施和上層應用的可靠性和穩定性。

上游重要進展

1. 允許動態調整 kube-scheduler 的 log level。kube-scheduler 作為 K8s 重要的預設排程元件,在一些情況下它們的日誌可以反映出不少資訊,這個 PR 允許 kube-scheduler 的日誌列印級別可以動態被調整。
2.排程器方面最近的一個舉動是將一些 Prioritizing 的邏輯外掛化(Score Plugin)。最近幾個相關的PR如下,感興趣的同學可以關注。
在大規模應用部署等一些特殊場景中,排程器可能成為整體效能的瓶頸。
4.這裡有兩個最佳化 kubeadm 使用體驗的 PR:
  1. kubeadm 的 structured output:結構化輸出 kubeadm 的一些輸出資訊(yaml、json 等),方便被繼續處理;
  2. kubeadm 新增 --with-ca flag 來顯示 ca 的過期資訊:ca 過期是常見的造成元件不可用的願意之一,有了這個 flag 可以更方便的指導 ca 的過期資訊。
5.下面是幾個比較重要 / 有意思的 KEP,感興趣的朋友可以關注一下:
  1. 為 Kube API Server 的 network proxy 新增了 beta 版畢業條件。KAS 允許配置 Kube API Server 的網路流量到(或者不到)指定的 proxy;
  2. insecure kubelet log:透過一個開關,使得在 kubelet 的 serving cert 過期(kube apiserver 不認識 kubelet)但kube-apiserver 的 client cert 沒有過期(kubelet 認識 kube apiserver)的條件下,允許 kubelet 透過跳過 tls 驗證返回一些 log。這個功能在測試和debug的場景是有用的。
  3. 規範化 conformanece test 的內容的實施(文件、API schema、程式碼檢驗、專家知識等)
  4. 擴充套件 NodeRestriction Controller 來限制更多 Node 可以 Pod 進行的操作(主要是來自安全上的考慮);
  5. 兩個計劃中的 GA,對於想要參與到 K8s 社群的新手貢獻者來說,這兩個 KEP 是不錯的切入點(目標、方法很明確的需求)
  6. 根據 Node condition 給 Node 打上 taint 標記,自動化幫助排程器識別出不適合的排程節點;
  7. 之前 DaemonSet 的排程邏輯是在 DaemonSet controller 中的, 這個 KEP 希望把排程邏輯移動到排程器中實現。


開源專案推薦


VMware 已經開始全面支援 K8s,最近該公司在開源方面的一個舉措是將幾個自己擁有的雲原生開源專案遷移到了新的 Organization:VMware-Tanzu。這個專案中目前包括下面幾個專案:
  • velero:應用遷移工具
  • octant:一個叢集狀態展示的 dashboard
  • sonobuoy:一個 K8s 分析工具
  • ······

K8s 1.16 中廢棄了大量的 API,影響到很多的已經用於生產的叢集配置和 Helm chart 等。這裡有一個自動轉換 K8s 1.16 中的 depreciated 的 API 的 工具,有需要的人可以瞭解一下。

本週閱讀推薦

隨著雲端計算的不斷髮展,很多開發者都對這一技術將為開發方式帶來的變化充滿興趣,雲端計算解決的是從 CAPEX 到 OPEX 的轉變問題。雲可以帶來哪些切實的好處?在雲環境下應該怎麼做應用架構?基於從傳統架構到雲架構的親身經歷,阿里巴巴合夥人、阿里雲智慧基礎產品事業部總經理蔣江偉(小邪)闡述了企業由新架構和新研發模式帶來的價值點。本文整理自正在召開的 QCon 上海 2019 蔣江偉(小邪)的演講內容。
本文介紹了 Zalando 的團隊在(公有云上)管理數量棒龐大的 K8s 叢集中得到的一些實踐經驗,例如每個 domain 或者 production community 總是部署雙叢集(prod & non-prod)、使用 Github 託管配置檔案、透過 CLM(Cluster Lifecycle Manager)管理升級等等。
Liveness Probe 和 Readiness Probe 是 K8s 中判斷應用是否可用的重要工具,然而不正確的使用 Liveness Probe 或者 Readiness Probe 會帶來的風險(例如不小心使用了外部依賴、Liveness Probe 有時候反而會阻止 Pod 正確的進入失敗狀態從而無法徹底恢復健康等),這篇文章總結了使用這兩者的最佳實踐。
Kubernetes 資源定義中的 request 和 limit 是老生常談的問題了,本文除了更好的解釋這些概念意外,還從 SLA 的角度提供瞭如何配置它們的建議。
本文透過介紹 K8s 中的一個可能導致 billions laughs attacks 漏洞的例子,講解了在生產環境中使用 K8s 的常規安全操作,包括正確配置 RBAC、定期檢查 Role 和 RoleBinding、永遠不要暴露 Master host 的地址等等。

本文作者:臨石、元毅、冬島、衷源、天元
本文為雲棲社群原創內容,未經允許不得轉載。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947441/viewspace-2660948/,如需轉載,請註明出處,否則將追究法律責任。

相關文章