1. 羨慕!阿里內(nèi)部強推人手一份的K8S(kubernetes)學(xué)習(xí)指南,不能再詳細(xì)了

        共 3624字,需瀏覽 8分鐘

         ·

        2023-08-01 10:09

        走過路過不要錯過

        點擊藍(lán)字關(guān)注我們


        過去幾年,以 docker、kubernetes 為代表的容器技術(shù)已發(fā)展為一項通用技術(shù),BAT、滴滴、京東、頭條等大廠,都爭相把容器和 k8s 項目作為技術(shù)重心,試圖“放長線釣大魚”。

        就說阿里吧,目前基本所有業(yè)務(wù)都跑在云上,其中有一半已遷移到自己定制 kubernetes 集群上。據(jù)說,今年計劃完成 100% 基于 k8s 集群的業(yè)務(wù)部署。而服務(wù)網(wǎng)格這塊兒,在阿里的一些部門(比如螞蟻金服),已經(jīng)有線上業(yè)務(wù)在用了。

        這充分說明了容器在當(dāng)今軟件研發(fā)領(lǐng)域的地位。所以,掌握容器技術(shù)自然成為很多公司在招聘時的重要選項。

        但是,容器技術(shù)本身偏向運維,namespace 資源隔離、cgroups 資源限制等概念,對開發(fā)者來說,理解起來比較困難。這幾年,在跟朋友探討 k8s 落地時,也有一些問題被反反復(fù)復(fù)地提及,比如:

        • 為什么容器里只能跑“一個進(jìn)程”?

        • 原先一直用的某個 JVM 參數(shù),在容器里就不好使了?

        • 為什么 kubernetes 不能固定 IP 地址?容器網(wǎng)絡(luò)連不通,該如何 debug?

        • k8s 中 statefulSet 和 operator 到底什么區(qū)別?pv 和 pvc 又該怎么用?

        這些問題的答案和原理并不復(fù)雜。但對初學(xué)者來說,很難用一兩句話就解釋清楚。因為容器技術(shù)涉及操作系統(tǒng)、網(wǎng)絡(luò)、存儲、調(diào)度、分布式原理等等方方面面的知識,是個名副其實的全棧技術(shù)。

        而其技術(shù)體系里那些“牽一發(fā)而動全身”的主線,比如 Linux 進(jìn)程模型對容器本身的重要意義,“控制器”模式對整個 k8s 項目提綱挈領(lǐng)的作用等等,并不會詳細(xì)展現(xiàn)在 docker 或 kubernetes 官方文檔中,但偏偏就是它們,才是掌握容器技術(shù)體系的精髓所在。

        在這里分享我資料庫里面的一份文檔,該文檔將K8S分為理論和實踐兩個部分進(jìn)行講解,雙管齊下,事半功倍,讓我們來看看文檔內(nèi)容

        理論模塊

        理解集群控制器

        基本上來說,K8S集群的控制器,其實扮演著集群大腦的角色。有了控制器,K8S集群才有機(jī)會擺脫機(jī)械和被動,變成一個自動、智能、有大用的系統(tǒng)。

        • 控制器原理

        • 統(tǒng)一入口

        • 控制器

        • 控制器管理器

        • SharedInformer

        • ListWatcher

        • 服務(wù)控制器

        • 路由控制器

        集群網(wǎng)絡(luò)詳解

        我們主要通過網(wǎng)絡(luò)搭建和通信兩個角度去分析K8S集群網(wǎng)絡(luò)。其中網(wǎng)絡(luò)搭建包括初始階段,集群階段,節(jié)點階段以及Pod階段,這么分類有助于我們理解這些復(fù)雜的配置。而理解了各個配置,集群通信原理就比較容易理解了。

        • 集群網(wǎng)絡(luò)搭建

        • 通信

        集群伸縮原理

        總體上來說,K8S集群節(jié)點的增加與減少,主要涉及四個組件,分別是Cluster Autoscaler,ESS, 管控以及節(jié)點本身(準(zhǔn)備或清理)。根據(jù)場景不同,我們需要排查不同的組件。其中Cluster Autoscaler是一個普通的Pod,其日志的獲取和其他Pod無異;ESS彈性伸縮有其專門的控制臺,我們可以在控制臺排查其伸縮配置、伸縮規(guī)則等相關(guān)子實例日志和狀態(tài);而管控的日志,可以通過查看日志功能來查看;最后,對于節(jié)點的準(zhǔn)備與清理,其實就是排查對應(yīng)的腳本的執(zhí)行過程。

        • 節(jié)點增加原理

        • 手動添加已有節(jié)點

        • 自動添加已有節(jié)點

        • 集群擴(kuò)容

        • 自動伸縮

        • 節(jié)點減少原理

        認(rèn)證與調(diào)度

        在這節(jié)中,我們以一個簡單的容器化web程序為例,著重分析了客戶端怎么樣通過Kubernetes集群API Server認(rèn)證,以及容器應(yīng)用怎么樣被分派到合適節(jié)點這兩件事情。

        • “關(guān)在籠子里”的程序

        • 雙向數(shù)字證書驗證

        • KubeConfig文件

        • Pod配置

        集群服務(wù)的三個要點和一種實現(xiàn)

        • K8S集群服務(wù)的本質(zhì)是什么

        • 自帶通信員

        • 把服務(wù)照進(jìn)現(xiàn)實

        • 過濾器框架

        • 節(jié)點網(wǎng)絡(luò)

        • 升級過濾器框架

        • 用自定義鏈實現(xiàn)服務(wù)的反向代理

        鏡像拉取

        • 理解OAuth2.0協(xié)議

        • Docker扮演的角色

        • K8s實現(xiàn)的私有鏡像自動拉取

        • 阿里云實現(xiàn)的Acr credential helper

        實踐

        讀懂這一篇,集群節(jié)點不下線

        • 需要知道的Kubernetes知識

        • 什么是PLEG

        • 容器runtime

        • Docker Daemon調(diào)用棧分析

        • Containerd調(diào)用棧分析

        • 什么是Dbus

        • RunC請求Dbus

        • Systemd

        • Live Debugging

        • 問題修復(fù)

        節(jié)點下線姊妹篇

        • 問題現(xiàn)象

        • 止步不前的 PLEG

        • 無響應(yīng)的 Terwayd

        我們?yōu)槭裁磿h除不了集群的命名空間?

        • 從集群入口開始

        • Controller 在做什么?

        • API、Group、Version

        • Controller 為什么不能刪除命名空間里的資源

        • 節(jié)點與 Pod 之間的通信

        • Route Controller 為什么不工作?

        • 集群節(jié)點訪問云資源

        阿里云ACK產(chǎn)品安全組配置管理

        • 安全組在 ACK 產(chǎn)品中扮演的角色

        • 安全組與 ACK 集群網(wǎng)絡(luò)

        • 怎么樣管理 ACK 集群的安全組規(guī)則

        • 限制集群訪問外網(wǎng)

        • IDC 與集群互訪

        • 使用新的安全組管理節(jié)點

        • 典型問題與解決方案

        • 使用多個安全組管理集群節(jié)點

        • 限制集群訪問公網(wǎng)或者運營級 NAT 保留地址

        • 容器組跨節(jié)點通信異常

        二分之一活的微服務(wù)

        • 代理與代理的生命周期管理

        • 就緒檢查的實現(xiàn)

        • 控制面和數(shù)據(jù)面

        半夜兩點Ca證書過期問題處理慘況總結(jié)

        • 不斷重啟的 Citadel

        • 一般意義上的證書驗證

        • Citadel 證書體系

        總結(jié)

        以上就是這份文檔的概況,一次搞懂6個核心原理吃透基礎(chǔ)理論,學(xué)會6個典型問題的華麗操作,不管是架構(gòu)師還是開發(fā)者,又或是運維,都能夠從中學(xué)到不少。

        好嘍~~以上便是展示的部分內(nèi)容,由于內(nèi)容實在是太長,為了不影響整體的觀看體驗,就先展示一部分到這里了,如果這份資料對大家有用,或者這份資料有想要深入學(xué)習(xí)鞏固自身的技術(shù)棧的小伙伴,需要這份資料來學(xué)習(xí)提升的小伙伴,

        直接微信掃描下方二維碼,添加助理微信即可免費獲取,即可獲得文中提到的這份資料喲~~



        往期精彩推薦



        騰訊、阿里、滴滴后臺面試題匯總總結(jié) — (含答案)

        面試:史上最全多線程面試題 !

        最新阿里內(nèi)推Java后端面試題

        JVM難學(xué)?那是因為你沒認(rèn)真看完這篇文章


        END



        關(guān)注作者微信公眾號 —《JAVA爛豬皮》


        了解更多java后端架構(gòu)知識以及最新面試寶典



        你點的每個好看,我都認(rèn)真當(dāng)成了


        看完本文記得給作者點贊+在看哦~~~大家的支持,是作者源源不斷出文的動力

        瀏覽 143
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
          
          

            1. 国产精品亚洲AA片在线观看1 | 国产精品妇女 | 靠逼网站视频 | 亚洲一区久久 | 成年人网站国产 |