1. 程式人生 > >雲原生週報:第 3 期

雲原生週報:第 3 期

本文首發於:微信公眾號「雲原生實驗室」,公眾號ID:cloud_native_yang。

這是雲原生週報第 3 期,主要分享雲原生社群最新開源專案和相關資訊。

如果你有什麼優秀專案和資訊,歡迎向我投稿,投稿郵箱:[email protected]。如果你想與大牛一起探討雲原生相關技術問題,可以新增我的微信後拉你進入雲原生交流群,我的微訊號是:yangchuansheng572887。

1. 開源專案推薦

diving : 基於 dive 分析 docker 映象,介面化展示了映象每層的變動(增加、修改、刪除等)、使用者層資料大小等資訊。便捷獲取映象資訊和每層映象內容的檔案樹,可以方便地瀏覽映象資訊。對於需要優化映象體積時非常方便。

Wave : Kubernetes 的配置檔案有兩種,一種是 ConfigMap,用來儲存明文;另一種是 Secret,用來儲存密文。這兩種配置檔案應用都比較廣泛,但遺憾的是,目前它們在大多數場景下都不支援熱更新,只有當 ConfigMap 掛載為 Volume 時,才能支援熱更新,其他場景均不支援。Wave 的做法比較機智,它向 API server 訂閱來自指定的 Deployment(通過 annotations 識別) 的事件,一旦某個 Deployment 被執行了任何操作(Create/Read/Update/Delete),它就會通過演算法來計算該 Deployment 中每個掛載的 ConfigMap and Secret 的 hash 值,如果掛載點發生了變化,或者掛載的資料發生了變化,都會改變 hash 值。由於該 hash 值被寫到 Pod Template 的 Annotation 中,所以 hash 更新就會觸發 Deployment 的滾動更新。

kube-eventer : Kubernetes 的核心設計思想是狀態機。在 Kubernetes 中,事件分為兩種,一種是 Warning 事件,表示產生這個事件的狀態轉換是在非預期的狀態之間產生的;另外一種是 Normal 事件,表示期望到達的狀態,和目前達到的狀態是一致的。通過事件的機制,可以豐富 Kuernetes 在監控方面的維度和準確性,彌補其他監控方案的缺欠。kube-eventer 是為了彌補事件監控場景的缺失,支援將 Kubernetes 事件傳送到釘釘機器人、SLS 日誌服務、Kafka 開源訊息佇列、InfluxDB 時序資料庫等等。

Kubernetes 修仙路徑 : 目前雲端計算行業對於 Kubernetes 學習的需求日益增加,但市面上關於 Kubernetes 的資源良莠不齊,存在幾個問題:

  • 官方文件缺少明確的"梯度",資訊錯綜複雜
  • 資料較為分散,查詢資訊費時費力
  • Kubernetes 發展很快,書籍或者網上教程容易過時

為了給廣大從業者提供一個 Kubernetes 學習路徑,為大家提供一定的指引,才雲科技(Caicloud) 推出了 Kubernetes 打怪升級指南,目標是讓所有人剝繭抽絲般地瞭解 Kubernetes,不僅僅知道怎麼用 Kubernetes,還知道 Kubernetes 各個功能是如何設計的。在學習路徑後期,我們還可以很"自然"的聯想到正確的設計思路。

YugaByte DB : YugaByte DB 是一個高效能、雲原生的分散式 SQL 資料庫。YugaByte DB 具有基於 Google Spanner 的儲存架構和基於 PostgreSQL 的查詢層,旨在為現代應用程式在雲原生基礎架構上提供分散式 SQL 中的體驗(類似 Oracle)。完全開源之後,其工程團隊將帶領 YugaByte DB 比以往更快地向雲原生模式發展。

GetEnvoy Project : 如果你的工作內容涉及到大型分散式系統,那你可能會聽說過 Envoy,它是一款為雲原生應用而設計、開源的邊緣和服務代理,也是 Istio Service Mesh 預設的資料平面。但目前最痛苦的問題是 Envoy 很難編譯,為了解決這個問題,Tetrate 的工程師(包括 Envoy 的核心貢獻者和維護者)發起了 GetEnvoy 專案,目標是利用一套經過驗證的構建工具來構建 Envoy,並通過常用的軟體包管理器來分發,包括:aptyumHomebrew。下圖是我通過 Homebrew 安裝的 Envoy:

GRBAC : Grbac 是一個快速,優雅和簡潔的 RBAC 框架。它支援增強的萬用字元並使用 Radix 樹匹配 HTTP 請求。令人驚奇的是,您可以在任何現有的資料庫和資料結構中輕鬆使用它。

ccheck : 一個用來驗證 Kubernetes 資源配置的命令列工具。它通過使用 reg 查詢語言來編寫針對 yaml 檔案的測試。

ceph-study : Ceph 是一個可靠、自動均衡、自動恢復的分散式儲存系統,通常可用於物件儲存,塊裝置儲存和檔案系統儲存。 Ceph 在儲存的時候充分利用儲存節點的計算能力,在儲存每一個數據時都會通過計算得出該資料的位置,儘量的分佈均衡。ceph-study 是網友整理的一份 ceph 學習指南,寫的十分詳細,歡迎初學者瀏覽學習。

2. 部落格推薦

到底要不要把資料庫執行在 Kubernetes 中 : 如今越來越多的應用都跑在 Kubernetes 上,Kubernetes 已經成為雲時代的 Linux 作業系統。儘管如此,資料庫的部署方式並沒有因為 Kubernetes 的浪潮而受到太多影響,因為要想容器化,就要考慮資料庫能否自動重啟、橫向擴充套件,能否適應容器隔離技術的限制。本文將會通過合理的邏輯推理告訴你到底要不要把資料庫執行在 Kubernetes。

Kubernetes 中的 Java 應用效能優化 : 在 Kubernetes 中部署應用並沒有想象中那麼簡單,如果配置不恰當,就會遇到頻繁的 oom kills 和 重啟,尤其是 Java 應用需要特別關注。本文以一個 Spring Boot 微服務應用為例,分析應用啟動消耗的 CPU 和記憶體資源,然後告訴我們如何調整資源的 requestslimits 來提高應用的啟動速度,並防止因為 OOM 機制被 kill 掉。

K8S 避坑指南 - Deployment 更新 POD 內容器無法收到 SIGTERM 訊號 : 正常情況下,在 Deployment 滾動更新時,當 pod 被 terminate 的時候,應用程序應該能夠正確處理 SIGTERM 訊號。如果應用不能正確處理 SIGTERM 訊號,一般都是因為應用程序不是容器內的 1 號程序,需要調整容器的啟動命令來解決問題。

為容器提供更好的隔離:沙箱容器技術概覽 : Docker、LXC 以及 RKT 等傳統容器都是共享主機作業系統核心的,因此不能稱之為真正的沙箱。這些技術的資源利用率很高,但是受攻擊面積和潛在的攻擊影響都很大,在多租戶的雲環境中,不同客戶的容器會被同樣的進行編排,這種威脅就尤其明顯。主機作業系統在為每個容器建立虛擬的使用者空間時,不同容器之間的隔離是很薄弱的,這是造成上述問題的根本原因。基於這樣的現狀,真正的沙箱式容器,成為很多研發工作的焦點。多數方案都對容器之間的邊界進行了重新架構,以增強隔離。本文覆蓋了四個專案,分別來自於 IBM、Google、Amazon 以及 OpenStack,幾個方案的目標是一致的:為容器提供更強的隔離。如果你想抓住即將到來的轉型機會,不妨關注一下這些新專案。

解決在 Kubernetes 中刪除 namespace 一直處於 terminating 狀態的問題 : 作者在生產環境中刪除某個 namespace 時一直處於 terminating 狀態,最後發現是因為在 namespace 中通過 Finalizers 呼叫了 pre-delete hooks,所以一直卡在那邊。具體的解決辦法請查閱文章。

papers-notebook : 這是一篇論文閱讀筆記,其中的論文一部分來自於在上海交通大學軟體學院的研究生課上需要閱讀的論文,這部分會比較偏安全和虛擬化。還有一部分論文是作者感興趣,想去了解的,這部分可能比較偏虛擬化和分散式。論文筆記希望能夠記錄自己在讀論文的時候的想法,其中包括但不限於論文的大致 idea,實現方式,以及自己對論文的評價等等。

從CNI到OVN : 本文主要介紹了 ovn ovs 怎麼與 kubernetes 擦出火花。全文主要分為兩個部分,第一部分先簡單介紹 CNI 的工作原理,然後開始安裝 OVS 和 OVN,並測試跨主機容器的連通性。第二部分主要介紹 Openflow 和 OVN 的工作原理和相關實踐。

gRPC 服務發現與服務治理技術選型 : gRPC 服務發現與服務治理,目前常見解決方案有以下兩種:

  • Nginx + consul + consul-template
  • Envoy

本文粗略講解了兩種方案的優缺點,最後總結相對於 nginx,更傾向於 envoy。首先 envoy 就是為微服務而生的負載勻衡工具,grpc 健康檢查是微服務中重要的一環。但是 nginx 擁有活躍的社群,說不定不久將來也會有支援 grpc 健康檢查的外掛。

在 Golang 中操作 Istio 和其他 CRD : 本文以 Istio 為例,演示如何使用 Golang 來對 Kubernetes 中的 CRD 資源進行增刪改查。

服務監聽 pod id 在 istio 中路由異常分析 : 在 Istio 服務網格中,絕大部分場景下使用者服務程序監聽的 ip 是 0.0.0.0,這種服務可以透明加入 istio 服務網格,但是如果使用者程序監聽的本機具體 ip(pod ip),這種服務就無法直接加入當前 isito 服務網格,因為在 Envoy 的 inbound cluster 配置中,socket_address 被寫死了,值為 127.0.0.1。本文描述瞭如何嘗試修復這個問題。

使用 Kyverno 定義 Kubernetes 策略 : Kubernetes 的日常使用過程中,在物件提交給叢集之前,我們會有很多機會,很多方法對資源的 Yaml 定義進行檢查和處理。很多讀者應該也會知道,資源提交之後,還有機會使用 Admission Controller 對資源動動手腳,這其中其實有很多可以提煉出來的標準動作,可以用統一的控制器來進行處理,Kyverno 就是這樣一個工具。有了 Kyverno 的幫助,YAML 程式設計師可以根據條件對資源進行篩選。

3. 視訊推薦

只有大氣磅礴的 BGM,才配得上史詩級的《權力的遊戲》。So,只有大氣磅礴的 BGM,才配得上雲原生時代的作業系統。

視訊觀看地址:https://www.yangcs.net/posts/cloud-native-weekly-3/

4. 電子書推薦

CIS Kubernetes Benchmark : 該文件提供了一份為 Kubernetes 1.13 建立安全配置的說明指南,主要用來幫助應用管理員、安全專家和平臺部署人員規劃在 Kubernetes 平臺上開發部署應用的解決方案。

獲取方式:公眾號後臺回覆:kubernetes benchmark

5. 福利篇

ENFI下載器 : 這可能是最騷的百度網盤不限速下載器,不僅能為你提供高速下載,還能同時讓你賺取收入,支援 Windows 和 MacOS 哦。來看看我賺的錢:

下載速度基本滿速,具體取決於你的頻寬:

測試連結:https://pan.baidu.com/s/1JlsJsTN0JpwzA3DUzvyeIA 提取碼: 7uak

Pandownload 網頁版 : 這可能是最沒有存在感的百度網盤不限速下載工具。用過 Pandownload 的同學都知道,這是一款老牌的百度網盤第三方下載器。但是它只有 Windows 版本的客戶端,macOS 使用者只能無奈地搖搖頭。最近 Pandownload 推出了網頁版本,前段時間測試了一下確實好用,只需輸入百度網盤下載連結和提取碼,即可高速下載,親測可以跑滿頻寬。相比之下,比下載各種客戶端算是解決了 Mac 使用者不支援的福利。

還嫌不夠方便?沒關係,熱心網友開發了一款油猴指令碼,可以將百度網盤分享連結自動跳轉到 PanDownload 網頁版去下載。指令碼地址:百度網盤不限速直鏈下載

baidu-netdisk-downloaderx : 另一款圖形介面的百度網盤不限速下載器,支援 Windows、Linux 和 Mac。又是 Golang 寫的,不多介紹了,自己看吧。

相關推薦

原生週報 3

本文首發於:微信公眾號「雲原生實驗室」,公眾號ID:cloud_native_yang。 這是雲原生週報第 3 期,主要分享雲原生社群最新開源專案和相關資訊。 如果你有什麼優秀專案和資訊,歡迎向我投稿,投稿郵箱:[email protected]。如果你想與大牛一起探討雲原生相關技術問題,可

【牛九心得3】你想不想也成為富人?

ont 好書 成長 ebp 時間 -c tar 幫助 -o (本文閱讀時間約3分鐘,老師每天都會把自己的心得分享給大家,文章都是自己一字一字親手打出來的,希望能幫助到大家) 大家好,我是牛九老師,接下來和大家一起討論一下,如何能成為富人?

WeTest功能優化3業內首創,有聲音的真機

第3期功能優化目錄 【雲真機遠端除錯】音訊同步傳輸實現測試有聲 【相容性測試報告】新增視訊助力動態定位問題 【雲真機遠端除錯】選單欄優化助力機型選擇     本期介紹的新功能,秉承創造使用者需求的理念,在雲真機聲音、報告截圖(視訊)、雲真機選單欄三大模板

原生週報 1 | 2019-06-24~2019-06-28

原文連結:雲原生週報第 1 期 | 2019-06-24~2019-06-28 1. 前言 雲原生不但可以很好的支援網際網路應用,也在深刻影響著新的計算架構、新的智慧資料應用。以容器、服務網格、微服務、Serverless 為代表的雲原生技術,帶來一種全新的方式來構建應用。筆者是一名雲原生狂熱信徒,長期以

Neutrino追問3|Polkadot白皮書中文版譯者嶽利鵬多鏈互動沒有隱私可言

  在追問®AMA第3期中,本期圍繞《通往區塊鏈3.0之路》主題,以神級異構多鏈專案Polkadot 與 Substrate技術框架為案例,Neutrino 特地邀請了ChainX 創始人及核心開發成員、Polkadot 白皮書中文版譯者嶽利鵬老師來擔任此次分享嘉賓。他也將

滴滴優步面臨各地競爭對手難以通吃4星|《哈佛商業評論》3

比賽 雜誌 更多 erb 學習 感想 box rect 平均值 高水平的管理學雜誌。其中“前言”和“特寫”兩個欄目中的文章最有價值。本期“特寫”欄目中的“平臺何以成功

新書《OpenShift原生架構原理與實踐》第一章三節企業級PaaS平臺OpenShift

  近十年來,資訊科技領域在經歷一場技術大變革,這場變革正將我們由傳統IT架構及其所支撐的臃腫應用系統時代,遷移至雲原生架構及其所支撐的敏捷應用系統時代。在這場變革中,新技術的出現、更新和淘汰之迅速,以及新技術的架構整合度、複雜度之高,都是前所未有的。從虛擬化到雲端計算,從虛擬機器到容器,從微服

一週精彩內容分享( 3 開工大吉的 B 面

這裡記錄過去一週,我看到的值得分享的東西。 一方面是整理記錄一下自己一週的學習,另一方面也是期待自己有更多的輸出,有更多的價值。 週刊開源(Github:[wmyskxz/weekly](https://github.com/wmyskxz/weekly)),歡迎提交 issue,投稿或推薦精彩內容。

docker集群部署3部分服務

註意 sources 計算 error compose image 共享端口 port url docker集群部署:第3部分:服務 介紹在第3部分中,我們將擴展應用程序並實現負載平衡。 關於服務在分布式應用程序中,應用程序的不同部分被稱為“服務”。例如,一個視頻共享站點

第二課3講Linux根文件系統詳解

IV oot test 訪問 自己 偽文件系統 長度 -a .so 第二課:第3講Linux根文件系統詳解1.file 命令及其用法2.ELF:可執行文件的存儲格式,常見的linux可執行二進制文件格式windows :PEliunx:ELF3.文件系統rootfs:根文件

少兒創意學編程(Scratch基礎篇)3課——捉鬼敢死隊

工具 故事 漸進 機構 編程 block solid 5.1 round 《少兒創意學編程(Scratch基礎篇)》,參考了英國公益組織發起的“code club(代碼俱樂部)”——少兒免費學編程活動。願為中國的少兒創意編程教育盡微薄之力,對國內的家長、信息教師和相關教育機

大資料和雲端計算技術週報8):NoSQL特輯

寫在第8期特輯 “大資料” 三個字事實上是個marketing語言,從技術角度看,包括範圍非常廣。計算、儲存、網路都涉及。 為了滿足眾多同學學習和工作的須要。後面社群依據情況逐漸推出專門的分類集錦。希望大家喜歡! 究竟什麼是NoSQL?公眾號一系列

IPFS官方週報11)870天之後的迴歸

距離2016年5月8日IPFS官方部落格釋出第10期週報已經過去了870天,在2年多時間之後,IPFS官博的週報再次啟動,以下就是IPFS官博週報第11期的內容。 歡迎回到IPFS週報! InterPlanetary File System(IPFS,星際檔案系統)是一種新型的,基於內容

【阿里ACE成長記5】分散式鏈路追蹤系統架構設計的經驗分享

【引言】本期由阿里雲ACE(阿里雲開發者社群)&成都檸檬雲網絡技術有限公司資深架構師 曾昌強 為大家分享個人成長經歷與個人專業技術之分散式鏈路追蹤系統架構設計。視訊:https://yq.aliyun.com/live/581 Part 1:成長經歷講述一個不知道什麼叫程式設計的門外漢,如何穿越幾千

原生JavaSpringBoot、SpringCloud與CloudFoundry彈性系統設計

網站 更多書籍點選進入>> CiCi島 下載 電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支援正版,喜歡的請購買正版書籍 暫無電子書資源 購買正版 封頁 編輯推薦 傳統企業與亞馬遜、Netflix和Etsy這類企業之

Chan 定位演算法3

Chan 定位演算法 Author: [email protected]Author: [email protected] 二、多個基站 2.3 加權最小二

Python每日一題3統計一個檔案中每個單詞出現的次數

題目: 統計一個檔案中每個單詞出現的次數,列出出現頻率最多的5個單詞。 前言: 這道題在實際應用場景中使用比較廣泛,比如統計歷年來四六級考試中出現的高頻詞彙,記得李笑來就利用他的程式設計技能出版過一本背單詞的暢銷書,就是根據詞頻來記單詞,深受學生喜歡。這就是一個把程式設計技能用來解決實際問

螞蟻JAVA網際網路高階架構師3視訊教程

目錄 ├─0001-3期-開班儀式.rar ├─0002-3期-併發程式設計專題之多執行緒基礎.rar1 ?3 G6 n- E" d3 C% w ├─0003-3期-併發程式設計專題之Java記憶體模型.rar ├─0004-3期-併發程式設計專題-多執行緒之

IPFS官方週報22

IPFS 週報-22 日期:2018年12月12日 歡迎閱讀IPFS週報! InterPlanetary File System (IPFS,星際檔案系統)是一種新型的,基於內容和身份的,超媒體分發協議。IPFS使得開發完全分散式的應用程式成為可能。它旨在使網路更快、更安全、更開

IPFS官方週報20

IPFS 週報-20 日期:2018年11月27日 歡迎閱讀IPFS週報! InterPlanetary File System (IPFS,星際檔案系統)是一種新型的,基於內容和身份的,超媒體分發協議。IPFS使得開發完全分散式的應用程式成為可能。它旨在使網路更快、更安全、更開