日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

浅淡Kubernetes 与容器技术体系的最佳方法

發(fā)布時(shí)間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅淡Kubernetes 与容器技术体系的最佳方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們已經(jīng)進(jìn)入到容器化時(shí)代,Kubernetes成為了市場(chǎng)上容器編排的事實(shí)標(biāo)準(zhǔn),而且k8S 同樣具備了微服務(wù)所需要的服務(wù)注冊(cè)與發(fā)現(xiàn)、負(fù)載均衡、配置中心。Spring cloud 的核心是Netflix微服務(wù)框架,非常成熟,但是在netflix oss開發(fā)初期,那個(gè)時(shí)候還沒有docker,我們現(xiàn)在所有的服務(wù)都是通過虛擬容器承載的。

Netflix oss的許多內(nèi)容都是在一個(gè)已經(jīng)過去的年代寫出來的,那時(shí)所有東西都只能運(yùn)行在AWS云上而沒有其它選擇。關(guān)于那個(gè)年代的許多寶貴遺產(chǎn)和前提假設(shè)都已經(jīng)被封裝到了Netflix的庫(kù)里面,對(duì)于現(xiàn)在你運(yùn)行的環(huán)境(比如Linux容器)已經(jīng)不適用了。在Linux容器、Docker、容器管理系統(tǒng)等等出現(xiàn)之后,我們?cè)絹碓娇吹桨盐覀兊奈⒎?wù)運(yùn)行在容器(公有云、私有云,或者都要等等)里的巨大價(jià)值。另外,因?yàn)檫@些容器都是直接把這些服務(wù)打包起來,所以我們傾向于不要過多關(guān)心在容器里面運(yùn)行的到底是什么技術(shù)(是Java?還是Node.js?或者Go?或者.NET Core?)

Kubernetes是多語(yǔ)言的,以通用的方式為所有語(yǔ)言解決分布式計(jì)算問題。Kubernetes提供了配置管理、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、跟蹤、統(tǒng)計(jì)、單實(shí)例、平臺(tái)級(jí)和應(yīng)用棧之外的調(diào)度工作。該應(yīng)用不需要任何客戶端邏輯的庫(kù)或代理程序,可以用任何語(yǔ)言編寫。這意味著一個(gè)平臺(tái)可以被多個(gè)團(tuán)隊(duì)(包括使用SpringJava開發(fā)人員)使用,并提供多種用途:應(yīng)用程序開發(fā)、測(cè)試環(huán)境、構(gòu)建環(huán)境(源碼運(yùn)行、構(gòu)建服務(wù)、依賴倉(cāng)庫(kù))等。Kubernetes解決了更廣的微服務(wù)架構(gòu)問題。除了提供運(yùn)行時(shí)服務(wù),Kubernetes也可以讓你制定環(huán)境、設(shè)置資源限制、RBAC、管理應(yīng)用程序生命周期、允許自動(dòng)擴(kuò)容和自我修復(fù)(幾乎表現(xiàn)得像一個(gè)抗脆弱平臺(tái))。

  • 在K8s集群中,沒有必要擁有Eureka。K8s中的ETCD擁有所有必要的信息。

  • 您的應(yīng)用程序?qū)⑼ㄟ^指定的K8s服務(wù)名稱聯(lián)系K8s API服務(wù)器以獲取端點(diǎn)信息。

  • Kubernetes 可以解決你所遇到的問題,可能可以取代netflix的整套技術(shù)

  • 容器化時(shí)代我們應(yīng)當(dāng)選擇Kubernetes

  • 基于Kubernetes 構(gòu)建.NET Core 的技術(shù)體系

  • 為什么是容器,Docker和Kubernetes?


今天我們來談一談,學(xué)習(xí) Kubernetes 和容器技術(shù)體系的最佳方法,到底是什么。學(xué)習(xí)一門綜合性的技術(shù),不應(yīng)該著急一頭扎進(jìn)去看源碼。理清楚自己的定位,才是最重要的。


定位一:純粹的開發(fā)人員


如果你是一位純粹的開發(fā)人員,無論是前端、后端,還是應(yīng)用、游戲的開發(fā),你首先應(yīng)該明白這樣兩個(gè)道理:


  • Kubernetes 和容器技術(shù)主要解決的,是代碼編寫完成后的事情。這不單單是發(fā)布或者 CI/CD,而是指從你執(zhí)行完 git commit && git push 之后開始,都應(yīng)該進(jìn)入容器化的管理流程當(dāng)中,當(dāng)然包括后續(xù)的發(fā)布、運(yùn)維、升級(jí)、回n滾等所有階段。


  • Kubernetes 體系的核心,是為開發(fā)者提供編寫代碼過程中的“微服務(wù)編程范式”。


  • 比如,在你編寫代碼的時(shí)候,你應(yīng)該清楚地知道:我該如何劃分模塊,就能更方便地利用到 Kubernetes 的 Pod 模型,來構(gòu)建更加低耦合、高內(nèi)聚的代碼制品,讓我后面的升級(jí)和重構(gòu)工作更加容易。


    再比如,當(dāng)你的代碼需要與一個(gè)外部資源進(jìn)行交互的時(shí)候,你應(yīng)該首先想到:我的這個(gè)外部資源,是不是可以作為一個(gè) Kubernetes 的 CRD 放到 Etcd 里面。


    這樣,我編寫的代碼,就可以遵循一個(gè)自定義 Controller 或者 Operator 的編程范式,通過聲明式 API 的方式來執(zhí)行業(yè)務(wù)邏輯。這樣寫出來的代碼一定會(huì)更加簡(jiǎn)單、健壯、容易維護(hù)。


    這樣的例子其實(shí)非常多。作為開發(fā)人員,你最應(yīng)該關(guān)注的,是 Kubernetes API 對(duì)象的細(xì)節(jié)、容器設(shè)計(jì)模式以及 Kubernetes API 編程范式。


    Kubernetes里的所有API對(duì)象


    • 你應(yīng)該習(xí)慣于把你的服務(wù)想象成一個(gè)個(gè)容器,把整個(gè)應(yīng)用想象成一個(gè) Pod,學(xué)會(huì)把基于容器和 Kubernetes 的設(shè)計(jì)思想和架構(gòu)方式,融入到自己平常的工程實(shí)踐當(dāng)中。

    • 你應(yīng)該大量實(shí)踐這些思想和設(shè)計(jì)模式,編寫各種各樣的 CRD 和 Controller,并想辦法提高這些自己編寫的自定義 Controller 項(xiàng)目的性能和服務(wù)能力。

    • 你應(yīng)該嘗試扮演公司或者組織中推廣微服務(wù)和云原生體系倡導(dǎo)者,并熱心地幫助團(tuán)隊(duì)成員共同學(xué)習(xí) Kubernetes 的設(shè)計(jì)思想和 API,全力幫助 Istio 或者 Knative 這樣的 Service Mesh 和 PaaS 平臺(tái)在組織中落地。


    這些,都是增強(qiáng)你在即將到來的云計(jì)算時(shí)代競(jìng)爭(zhēng)力的有效手段。


    當(dāng)然,如果你對(duì) Kubernetes API 以及編程范式還不熟悉,甚至對(duì) Kubernetes API 的普適性還有所懷疑,那么你可以閱讀一下《深入剖析 Kubernetes》的最后一篇文章。相信 Kubernetes ?API 成為云上編程標(biāo)準(zhǔn)的故事,一定會(huì)對(duì)你有所啟迪。現(xiàn)在訂閱《深入剖析 Kubernetes 》,還可以享受拼團(tuán)優(yōu)惠價(jià)¥79,原價(jià)¥99,僅限今天24小時(shí)。


    掃碼二維碼,馬上免費(fèi)試看


    定位二:專注于服務(wù)器端的編程人員/運(yùn)維工程師


    而如果你是一位專注于服務(wù)器端的編程人員,或者運(yùn)維工程師,那么你更應(yīng)該關(guān)注的是 Kubernetes 這個(gè)項(xiàng)目背后的實(shí)現(xiàn)原理,它所體現(xiàn)出來的 Borg 和 Omega 項(xiàng)目多年來大規(guī)模集群管理的經(jīng)驗(yàn)教訓(xùn)。


    比如,聲明式 API 的設(shè)計(jì)與實(shí)現(xiàn)原理,Informer、Controller 這些機(jī)制的實(shí)現(xiàn)方式,為什么說 Etcd 最適合的場(chǎng)景是配置管理,集中式集群調(diào)度器的核心機(jī)制與常用策略都有哪些。


    此外,Kubernetes 項(xiàng)目的各個(gè)可擴(kuò)展性接口,也是你需要重點(diǎn)關(guān)注和理解的對(duì)象,比如 CNI 和網(wǎng)絡(luò)插件的工作方式、CSI 和存儲(chǔ)插件的設(shè)計(jì)、Kubernetes Volume 管理的完整流程,以及 CRI 的設(shè)計(jì)和各種 container runtime的異同。


    從這個(gè)角度來說,Kubernetes 項(xiàng)目就是當(dāng)前云計(jì)算平臺(tái)層開源項(xiàng)目的事實(shí)標(biāo)準(zhǔn),熟悉它的思想、架構(gòu)、實(shí)現(xiàn)細(xì)節(jié)甚至核心組件的源碼,不僅是學(xué)習(xí)這項(xiàng)技術(shù)的必經(jīng)之路,也是傳統(tǒng)后端技術(shù)人員向云端轉(zhuǎn)型的最佳途徑。


    ? ? ? ?

    Kubernetes通過存儲(chǔ)插件管理容器

    持久化存儲(chǔ)的原理


    你應(yīng)該嘗試扮演公司和組織中進(jìn)行云原生和基礎(chǔ)架構(gòu)轉(zhuǎn)型的關(guān)鍵角色,而不是充當(dāng)傳統(tǒng)和守舊那一方。你應(yīng)該嘗試用容器和 Kubernetes 化的思想來影響周邊的每一位工程師。要記住,這個(gè)進(jìn)程每前進(jìn)一步,你的價(jià)值就放大一分。


    定位三:學(xué)生、剛剛?cè)胄械某鯇W(xué)者


    而作為學(xué)生、剛剛?cè)胄械某鯇W(xué)者,或者是對(duì)這個(gè)領(lǐng)域充滿興趣準(zhǔn)備在這里作為一番的后端從業(yè)人員,我希望你對(duì)容器和 Kubernetes 技術(shù)體系的學(xué)習(xí)和實(shí)踐,更要關(guān)注這個(gè)項(xiàng)目和平臺(tái)背后更深層的基礎(chǔ)和底盤部分,這包括:


    • 了解操作系統(tǒng)和硬件的實(shí)際工作方式,尤其是CPU、存儲(chǔ)和網(wǎng)絡(luò)。

    • 充分理解操作系統(tǒng)的設(shè)計(jì),甚至可以根據(jù)需要重新實(shí)現(xiàn)或者繞過某些部分,這是你后面進(jìn)行系統(tǒng)性能優(yōu)化的關(guān)鍵所在。

    • 理解“所有系統(tǒng)都是分布式系統(tǒng)”的道理。了解經(jīng)典的分布式系統(tǒng)設(shè)計(jì)的思想,并從實(shí)際的工程實(shí)踐中理解這些解決思路,這也是 Kubernetes 這個(gè)分布式項(xiàng)目構(gòu)建的基礎(chǔ)。


    只有清楚了自己的定位,你才能夠在 Kubernetes 這樣一個(gè)大而全的技術(shù)體系面前做到“有所放矢,有的放矢”,才能夠把容器和 Kubernetes 這項(xiàng)技術(shù)發(fā)展浪潮,與自己的技術(shù)路線和個(gè)人成長(zhǎng)歷程,真正地關(guān)聯(lián)起來。

    ? ? ?

    Kubernetes 項(xiàng)目核心功能的“全景圖”


    一旦明確了定位,抓到了這其中的精髓和主線,那么接下來的學(xué)習(xí)過程對(duì)于你來說,其實(shí)就是“無招勝有招”,可以隨心所欲地按照你實(shí)際的項(xiàng)目、所關(guān)心的領(lǐng)域逐步展開,而完全不必拘泥于某種特定的套路了。


    這里再推薦一下《深入剖析 Kubernetes 》,作者是張磊,也是Kubernetes項(xiàng)目資深成員和項(xiàng)目維護(hù)者 ,他在專欄中對(duì)Kubernetes的整體架構(gòu)進(jìn)行深入的剖析。會(huì)從容器的發(fā)展史開始講起,可以幫助你輕松的學(xué)習(xí)Kubernetes,我已經(jīng)學(xué)習(xí)了一半,講得不錯(cuò),是我至今為止看到的最好的Kubernetes學(xué)習(xí)資料。所以也推薦給你。


    對(duì)了,現(xiàn)在訂閱《深入剖析 Kubernetes 》,還可以享受拼團(tuán)優(yōu)惠價(jià)¥79,原價(jià)¥99,僅限今天24小時(shí)。


    .NET社區(qū)新聞,深度好文,歡迎訪問公眾號(hào)文章匯總?http://www.csharpkit.com?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的浅淡Kubernetes 与容器技术体系的最佳方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。