色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

k8s架構篇:服務部署模式是如何變遷的

馬哥Linux運維 ? 來源:csdn ? 2023-10-15 15:39 ? 次閱讀

kubernetes,簡稱 K8s,是用 8 代替中間 8 個字符 “ubernete” 而成的縮寫,是一個開源的,用于管理云平臺中多個主機上的容器化的應用,Kubernetes 的目標是讓部署容器化的應用簡單并且高效(powerful),Kubernetes 提供了應用部署,規劃,更新,維護的一種機制。

k8s 在企業中的應用場景

首先我們了解一下 k8s 的三個基本特點:

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可擴展: 模塊化,插件化,可掛載,可組合

自動化: 自動部署,自動重啟,自動復制,自動伸縮/擴展

自動化運維平臺

對于中小型企業,為了降本增效,使用 k8s 來構建一套自動化運維平臺,提供了應用部署,規劃,更新,維護的一種機制。 對于大型互聯網公司更要使用容器化部署。現在服務器越來越多,不可能都人工部署,需要使用自動化的運維平臺來監控服務,來實現自動服務化的部署、運維。

充分利用服務器資源

假設現在有一個開發量為 200 個的請求,服務器配置為 2cpus 4G

靜態請求:150(訪問 CDN,Nginx,cache 等)

動態請求:50(訪問數據庫,需要把數據讀入內存)

估算服務器資源(只考慮內存,不考慮程序響應時間RT,不考慮CPU切換時間) 假設一個靜態請求進程占用2M,一個動態請求進程占用10M,則這200個請求并發占用:150×2M + 50×10M = 800M 內存 可以支持的 QPS (批發量,每秒查詢率) 為:200×4=800(因為 800 M× 4 < 4G) 因此如果要充分利用服務器資源,需要達到 QPS=800,此時占用內存 3.2G(剩下 0.8G 給 OS 等) 實際上:800QPS 無法達到,還要考慮 RT、CPU 切換、內存等因素,那就保守把 QPS=300,但這時沒能充分利用服務器的資源。更何況當下服務器配置可不止 2cpus 4G 容器化解決方案,在服務器部署多個容器,容器當中運行著我們部署的各種服務

0b90baaa-6a68-11ee-939d-92fbcf53809c.png

服務無縫遷移

在開發環境開發,然后拿到測試環境去測試,但往往一上線就會有 bug,因為應用的運行、配置、管理、所有生存周期將與當前操作系統綁定,所以生產環境的不一致就可能導致錯誤。 使用容器化解決方案,每個應用可以被打包成一個容器鏡像(紅色圈起來表示把服務部署在容器中),使用容器可以在 開發 或 測試 的階段,為應用創建容器鏡像,這些鏡像能夠完全脫離環境,每個應用不需要與其余的應用堆棧組合,也不依賴于生產環境基礎結構,這使得從研發到測試、生產能提供一致環境。使用 kubernetes 來管理這些容器,便能夠實現服務的無縫遷移。

0ba1fee6-6a68-11ee-939d-92fbcf53809c.png

服務部署模式變遷 & 服務部署變化問題的思考

服務部署模式是如何變遷的

物理機:傳統的應用部署方式是通過插件或腳本來安裝應用。這樣做的缺點是應用的運行、配置、管理、所有生存周期將與當前操作系統綁定,這樣做并不利于應用的升級更新/回滾等操作。

虛擬化 (虛擬機):當然上面的問題可以通過創建虛擬機的方式來實現某些功能,但是虛擬機本身就很占用資源,并不利于可移植性。(就是把服務部署在虛擬機中,達到分隔物理資源的作用——充分利用服務器資源)

容器部署:每個容器之間互相隔離,每個容器有自己的文件系統 ,容器之間進程不會相互影響,能區分計算資源。相對于虛擬機,容器能快速部署,由于容器與底層設施、機器文件系統解耦的,所以它能在不同云、不同版本操作系統間進行遷移。而且更輕量級、運行效率更快。

服務部署模式變化,帶來了哪些問題

前提條件:SOA 架構,微服務架構模式下,服務拆分越來越多,部署維護的服務越來越多,該如何管理? 虛擬機服務部署方式(通過 openstack 軟件提供可視化的方式來管理虛擬機) 容器化部署模式(通過 k8s 軟件管理容器,其實容器也可以看成一個虛擬機,只不過更輕量級) 容器化部署問題:

如何對服務橫向擴展?

容器宕機怎么辦?如何恢復?

重新發布版本如何更新且更新后不影響業務?

如何監控容器?

容器如何調度創建?

數據安全性如何保證?

使用 k8s 管理容器,以上問題都能夠完美的解決

云架構 & 云原生

云 和 k8s 的關系

云:使用容器構建的一套服務集群網絡,云是由很多的容器構成。 k8s:用來管理云中的容器

云架構

iaas:基礎設施即服務

用戶角度:租用(購買或分配權限)云主機,用戶不用考慮網絡、DNS、存儲和硬件環境等方面的問題。 運營商角度:提供網絡、DNS、存儲等這樣的服務就叫做基礎設置服務

paas:平臺即服務

在平臺上提供了很多服務,如 MySQL 服務、Redis 服務、MQ 服務、Elasticsearch 服務等等

saas:軟件即服務

釘釘、財務管理等等,一些軟件維護工作都是由運行商來做,用戶只管體驗軟件提供的服務就行了。

serverless:server 服務,less 無 —— 無服務 不需要服務器

站在用戶角度考慮問題,用戶只需要使用云服務器即可。 在云服務器上的所有的基礎環境、軟件環境都不需要考慮和維護,非常方便。 未來開發的趨勢都是 severless,企業都構建了自己的私有云或者公有云環境。使用 k8s 構建非常方便。

云原生

為了讓應用程序(項目,服務軟件)都運行在云上的解決方案,這樣方案叫做云原生,有以下特點:

容器化:所有的服務都必須部署在容器中。

微服務:web 服務架構是微服務架構

CI/CD:可持續交互和可持續部署

DevOps:開發和運維密不可分

kubernetes 架構原理

k8s 的歷史

k8s 是由 Google 公司 用go 語言開發的。google 在全球有相當多的服務器,當然需要一個管理軟件。Google內部本身就有一個叫 borg 的系統云平臺管理工具,已經使用了十幾年。后來參照 borg 系統架構開發了 k8s,主要用它來編排、管理容器,為容器化的應用提供部署運行、資源調度、服務發現和動態伸縮等一系列完整功能,提高了大規模容器集群管理的便捷性。

k8s 的架構

k8s 集群(Cluster)

0bae4dc2-6a68-11ee-939d-92fbcf53809c.png

一個 master 對應一群 node 節點

master 節點

0bbc2410-6a68-11ee-939d-92fbcf53809c.png

api server:相當于 k8s 的網關,所有的指令請求都必須經過 api server

scheduler:調度器,使用調度算法,把請求資源調度到某個 node 節點

controller:控制器,維護 k8s 資源對象(CRUD:添加、刪除、更新、修改)

etcd:存儲資源對象(可以服務注冊、發現等等)

node 節點

0bc7e976-6a68-11ee-939d-92fbcf53809c.png

docker:運行容器的基礎環境,容器引擎

kubelet:每個 node 節點都有一份kubelet,在 node 節點上的資源操作指令由 kuberlet 來執行,scheduler 把請求交給api ,然后 api sever 再把信息指令數據存儲在 etcd 里,于是 kuberlet 會掃描 etcd 并獲取指令請求,然后去執行

kube-proxy:代理服務,負載均衡

fluentd:日志收集服務

pod:k8s 管理的基本單元(最小單元),pod 內部是容器。k8s 不直接管理容器,而是管理 pod

回顧架構特點

k8s 是用來管理容器的,但是不直接操作容器,最小的操作單元是 pod(間接管理容器)

一個 master 對應一群 node 節點。

master 節點不存儲容器,只負責調度,網關,控制器,資源對象存儲等

容器存儲在 node 節點 的 pod 內部

pod 內部可以有一個或多個容器

kubelet 負責本地的 pod 的維護,CRUD

kube-proxy 負責負載均衡,在多個 pod 間負載均衡
編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10854

    瀏覽量

    211583
  • 服務器
    +關注

    關注

    12

    文章

    9123

    瀏覽量

    85324
  • 容器
    +關注

    關注

    0

    文章

    495

    瀏覽量

    22060
  • 進程
    +關注

    關注

    0

    文章

    203

    瀏覽量

    13960
  • kubernetes
    +關注

    關注

    0

    文章

    224

    瀏覽量

    8712

原文標題:通俗易懂 k8s ——架構篇

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    全面提升,阿里云Docker/Kubernetes(K8S) 日志解決方案與選型對比

    摘要: 今天,日志服務再次升級Kubernetes(k8s)的日志解決方案。1分鐘內即可完成整個集群部署,支持動態擴容,提供采集宿主機日志、容器日志、容器stdout等所有數據源的一站式采集。點此
    發表于 02-28 12:49

    如何利用K8S全面擁抱微服務架構

    K8S是第一個將“一切以服務為中心,一切圍繞服務運轉”作為指導思想的創新型產品,它的功能和架構設計自始至終都遵循了這一指導思想,構建在K8S
    的頭像 發表于 10-08 15:59 ?2.7w次閱讀

    OpenStack與K8s結合的兩種方案的詳細介紹和比較

    OpenStack與K8S結合主要有兩種方案。一是K8S部署在OpenStack平臺之上,二是K8S和OpenStack組件集成。
    的頭像 發表于 10-14 09:38 ?2.7w次閱讀

    Docker不香嗎為什么還要用K8s

    。 關于 K8s 的基本概念我們將會圍繞如下七點展開: Docker 的管理痛點 什么是 K8s? 云架構 云原生 K8s 架構原理
    的頭像 發表于 06-02 11:56 ?3437次閱讀

    簡單說明k8s和Docker之間的關系

    這篇文章主要介紹了k8s和Docker關系簡單說明,本文利用圖文講解的很透徹,有需要的同學可以研究下 最近項目用到kubernetes(以下簡稱k8sks之間有
    的頭像 發表于 06-24 15:48 ?3404次閱讀

    K8S集群服務訪問失敗怎么辦 K8S故障處理集錦

    問題1:K8S集群服務訪問失敗? ? ? 原因分析:證書不能被識別,其原因為:自定義證書,過期等。 解決方法:更新證書即可。 問題2:K8S集群服務訪問失敗? curl: (7) Fa
    的頭像 發表于 09-01 11:11 ?1.6w次閱讀
    <b class='flag-5'>K8S</b>集群<b class='flag-5'>服務</b>訪問失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    mysql部署k8s上的實現方案

    的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。這里主要講 mysql 部署k8s 上,mysql 部署
    的頭像 發表于 09-26 10:39 ?2506次閱讀

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡稱K8s,是一個開源的,用于管理云平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單并且高效(powerful
    發表于 07-19 13:14 ?1113次閱讀

    什么是K3sK8sK3sK8s有什么區別?

    Kubernetes,通常縮寫為 K8s,是領先的容器編排工具。該開源項目最初由 Google 開發,幫助塑造了現代編排的定義。該系統包括了部署和運行容器化系統所需的一切。
    的頭像 發表于 08-03 10:53 ?7512次閱讀

    K8S落地實踐經驗分享

    k8s 即 Kubernetes,是一個開源的容器編排引擎,用來對容器化應用進行自動化部署、 擴縮和管理。
    的頭像 發表于 01-02 11:45 ?1116次閱讀
    <b class='flag-5'>K8S</b>落地實踐經驗分享

    常用的k8s容器網絡模式有哪些?

    常用的k8s容器網絡模式包括Bridge模式、Host模式、Overlay模式、Flannel模式
    的頭像 發表于 09-19 11:29 ?234次閱讀

    服務部署k8s需要什么配置?

    服務部署K8s需要至少2核CPU、4GB內存、50GBSSD存儲的主節點用于管理集群,工作節點建議至少2核CPU、2GB內存、20GBSSD。還需安裝Docker,選擇兼容的Kubernetes版本,配置網絡插件,以及確保系
    的頭像 發表于 10-09 15:31 ?204次閱讀

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網絡連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務插件以實現資源互通。然后,編寫Deploym
    的頭像 發表于 11-07 09:37 ?140次閱讀

    k8s服務架構就是云原生嗎?兩者是什么關系

    k8s服務架構就是云原生嗎?K8s服務架構并不等同于云原生,但兩者之間存在密切的聯系。Kub
    的頭像 發表于 11-25 09:39 ?136次閱讀

    k8s和docker區別對比,哪個更強?

    部署、擴展、管理和應用生命周期管理能力,可實現高可用性和自動伸縮,兩者常結合使用以優化容器化和應用管理。UU云小編將對k8s和docker區別進行詳細對比:
    的頭像 發表于 12-11 13:55 ?74次閱讀
    主站蜘蛛池模板: 啪啪激情婷婷久久婷婷色五月| 男女午夜性爽快免费视频不卡| 久久精品观看影院2828| 巨胸美女狂喷奶水www网麻豆| 免费女人光着全身网站| 欧美视频 亚洲视频| 少女亚洲free| 亚洲精品无码成人AAA片| 伊人22222| tobu中国日本高清| 国产福利秒拍weipai.ee| 精品久久中文字幕有码| 免费的黄直播| 少妇伦子伦精品无码| 亚洲综合中文| ebc5恐怖5a26房间| 国产精品无码亚洲精品| 久久合| 男人的天堂色偷偷| 视频成人app永久在线观看| 亚洲精品国产字幕久久vr| 7723日本高清完整版在线观看| 动漫美女被爆挤奶歪歪漫画| 韩国无遮羞禁动漫在线观看96| 蜜臀AV色欲A片无码一区| 特级毛片AAAAAA| 中文字幕成人在线观看| 成人在免费视频手机观看网站| 国内精品视频久久久久免费| 免费看成人毛片| 羞羞答答影院在线| 99国产这里只有精品视频| 国产人妻人伦精品1国产| 男男校园园bl文全肉高h寝室| 我要色导航| 521人成a天堂v| 国产精品夜夜春夜夜爽久久小| 免费人成网站在线观看10分钟| 小SAO货边洗澡边CAO你动漫| 999久久狠狠免费精品| 国产亚洲日韩另类在线观看|