国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Kubernetes k8s

這篇具有很好參考價值的文章主要介紹了Kubernetes k8s。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Kubernetes k8s

一個開源的容器編排引擎,用來對容器化應用進行自動化部署、 擴縮和管理。

從架構設計層面,k8s能很好的解決可用性,伸縮性;從部署運維層面,服務部署,服務監(jiān)控,應用擴容和故障處理,k8s都提供了很好的解決方案。

k8s主要包括以下幾點:

  • 服務發(fā)現(xiàn)與調度

    • Kubernetes 可以把用戶提交的容器放到 Kubernetes 管理的集群的某一臺節(jié)點上去。Kubernetes 的調度器是執(zhí)行這項能力的組件,它會觀察正在被調度的這個容器的大小、規(guī)格。 比如說容器所需要的 CPU 以及 memory,然后在集群中找一臺相對比較空閑的機器來進行一次 placement,也就是一次放置的操作。
  • 存儲編排

  • 自動部署和回滾

  • 服務自愈

    • Kubernetes 有一個節(jié)點健康檢查的功能,它會監(jiān)測這個集群中所有的宿主機,當宿主機本身出現(xiàn)故障,或者軟件出現(xiàn)故障的時候,這個節(jié)點健康檢查會自動對它進行發(fā)現(xiàn)。Kubernetes 會把運行在這些失敗節(jié)點上的容器進行自動遷移,遷移到一個正在健康運行的宿主機上,來完成集群內容器的一個自動恢復。
  • 服務彈性擴容

  • 橫向擴容

    • Kubernetes 有業(yè)務負載檢查的能力,它會監(jiān)測業(yè)務上所承擔的負載,如果這個業(yè)務本身的 CPU 利用率過高,或者響應時間過長,它可以對這個業(yè)務進行一次擴容。比如下面的例子,黃顏色的過度忙碌,Kubernetes 可以把黃顏色負載從一份變?yōu)槿荨=酉聛?,它就可以通過負載均衡把原來打到第一個黃顏色上的負載平均分到三個黃顏色的負載上去,以此來提高響應的時間。
    • Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生
  • 存儲卷掛載

一、概述

1. 部署發(fā)展史

Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生

二、k8s架構

Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生

1. Master

  • API Server:處理 API 操作的,Kubernetes 中所有的組件都會和 API Server 進行連接,組件與組件之間一般不進行獨立的連接,都依賴于 API Server 進行消息的傳送;
  • Controller:控制器,用來完成對集群狀態(tài)的一些管理。比如剛剛我們提到的兩個例子之中,第一個自動對容器進行修復、第二個自動進行水平擴張,都是由 Kubernetes 中的 Controller 來進行完成的;
  • Scheduler:是調度器,完成調度的操作,比如把一個用戶提交的 Container,依據它對 CPU、對 memory 請求大小,找一臺合適的節(jié)點,進行放置;
  • etcd:是一個分布式的一個存儲系統(tǒng),API Server 中所需要的這些原信息都被放置在 etcd 中,etcd 本身是一個高可用系統(tǒng),通過 etcd 保證整個 Kubernetes 的 Master 組件的高可用性。

API Server,它本身在部署結構上是一個可以水平擴展的一個部署組件;Controller 是一個可以進行熱備的一個部署組件,它只有一個 active,它的調度器也是相應的,雖然只有一個 active,但是可以進行熱備。

2. 節(jié)點

Kubernetes 的 Node 是真正運行業(yè)務負載的,通過將容器放入在節(jié)點(Node)上運行的 Pod 中來執(zhí)行工作負載。 節(jié)點可以是一個虛擬機或者物理機器,取決于所在的集群配置。 每個節(jié)點包含運行 Pod 所需的服務; 這些節(jié)點由控制面負責管理。
每個業(yè)務負載會以 Pod 的形式運行。
一個 Pod 中運行的一個或者多個容器,真正去運行這些 Pod 的組件的是叫做 kubelet,也就是 Node 上最為關鍵的組件,它通過 API Server 接收到所需要 Pod 運行的狀態(tài),然后提交到下面這個 Container Runtime 組件中。
Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生
Node上的四個組件:

  • 在 OS 上創(chuàng)建容器所需要運行的環(huán)境,最終把容器或者 Pod 運行起來,也需要對存儲跟網絡進行管理。Kubernetes 并不會直接進行網絡存儲的操作,他們會靠 Storage Plugin 或者是網絡的 Plugin 來進行操作。用戶自己或者云廠商都會去寫相應的 Storage Plugin 或者 Network Plugin,完成存儲操作或網絡操作。
  • 在 Kubernetes 自己的環(huán)境中,也會有 Kubernetes 的 Network,它是為了提供 Service network 來進行搭網組網的。真正完成 service 組網的組件的是 Kube-proxy,它是利用了 iptable 的能力來進行組建 Kubernetes 的 Network,就是 cluster network。

Kubernetes 的 Node 不會直接和 user 進行 interaction,它的 interaction 只會通過 Master。而 User 是通過 Master 向節(jié)點下發(fā)這些信息的。Kubernetes 每個 Node 上,都會運行我們剛才提到的這幾個組件。

Kubernetes 架構中的組互相進行 interaction 舉例:
Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生

  • 用戶通過 UI 或者 CLI 提交一個 Pod 給 Kubernetes 進行部署,這個 Pod 請求首先會通過 CLI 或者 UI 提交給 Kubernetes API Server,下一步 API Server 會把這個信息寫入到它的存儲系統(tǒng) etcd,之后 Scheduler 會通過 API Server 的 watch 或者叫做 notification 機制得到這個信息:有一個 Pod 需要被調度。
  • 這個時候 Scheduler 會根據它的內存狀態(tài)進行一次調度決策,在完成這次調度之后,它會向 API Server report 說:“OK!這個 Pod 需要被調度到某一個節(jié)點上?!?/li>
  • 這個時候 API Server 接收到這次操作之后,會把這次的結果再次寫到 etcd 中,然后 API Server 會通知相應的節(jié)點進行這次 Pod 真正的執(zhí)行啟動。相應節(jié)點的 kubelet 會得到這個通知,kubelet 就會去調 Container runtime 來真正去啟動配置這個容器和這個容器的運行環(huán)境,去調度 Storage Plugin 來去配置存儲,network Plugin 去配置網絡。

三、Kubernetes 的核心概念與它的 API

1. 核心概念

Pod
  • Pod 是 Kubernetes 的一個最小調度以及資源單元
  • 一個或多個容器組成。用戶可以通過 Kubernetes 的 Pod API 生產一個 Pod,讓 Kubernetes 對這個 Pod 進行調度,也就是把它放在某一個 Kubernetes 管理的節(jié)點上運行起來。一個 Pod 簡單來說是對一組容器的抽象,它里面會包含一個或多個容器。

比如這個圖片:包含了兩個容器,每個容器可以指定所需要資源大小。比如說,一個核一個 G,或者2個核2個 G。
在這個 Pod 中也可以包含一些其他所需要的資源:比如說我們所看到的 Volume 卷這個存儲資源;比如說我們需要 100 個 GB 的存儲或者 20GB 的另外一個存儲。
Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生

Volume

Volume 就是卷的概念,它是用來管理 Kubernetes 存儲的

  • 用來聲明在 Pod 中的容器可以訪問文件目錄的,
  • 一個卷可以被掛載在 Pod 中一個或者多個容器的指定路徑下面。
  • 一個 Volume 可以支持多種的后端的存儲。比如說 Kubernetes 的 Volume 就支持了很多存儲插件,它可以支持本地的存儲,可以支持分布式的存儲,比如說像 ceph,GlusterFS ;它也可以支持云存儲,比如說阿里云上的云盤、AWS 上的云盤、Google 上的云盤等等。
    Kubernetes k8s,服務器,基礎架構,kubernetes,容器,云原生
Deployment

Deployment 是在 Pod 這個抽象上更為上層的一個抽象

  • 定義一組 Pod 的副本數目、以及這個 Pod 的版本。一般大家用 Deployment 這個抽象來做應用的真正的管理,而 Pod 是組成 Deployment 最小的單元。
  • Kubernetes 是通過 Controller去維護 Deployment 中 Pod 的數目,它也會幫助 Deployment 自動恢復失敗的 Pod
    比如可以定義一個 Deployment,這個 Deployment 里面需要兩個 Pod,當一個 Pod 失敗的時候,控制器就會監(jiān)測到,它重新把 Deployment 中的 Pod 數目從一個恢復到兩個,新生成一個 Pod。
  • 通過控制器,完成發(fā)布的策略。比如說進行滾動升級,進行重新生成的升級,或者進行版本的回滾。
Service
  • Service 提供了一個或者多個 Pod 實例的穩(wěn)定訪問地址。
    比如一個 Deployment 可能有兩個甚至更多個完全相同的 Pod。對于一個外部的用戶來講,訪問哪個 Pod 其實都是一樣的,所以它希望做一次負載均衡,在做負載均衡的同時,我只想訪問某一個固定的 VIP,也就是 Virtual IP 地址,而不希望得知每一個具體的 Pod 的 IP 地址。
  • Service 支持多種訪問方式實現(xiàn),Kubernetes 支持 Cluster IP,上面我們講過的 kuber-proxy 的組網,它也支持 nodePort、 LoadBalancer 等其他的一些訪問的能力。
Namespaces
  • Namespace 是用來做一個集群內部的邏輯隔離的,它包括鑒權、資源管理等。
  • Kubernetes 的每個資源都屬于一個 Namespace,比如剛才講的 Pod、Deployment、Service
  • 同一個 Namespace 中的資源需要命名的唯一性
  • 不同的 Namespace 中的資源可以重名。
    Namespace 一個用例,比如像在阿里巴巴,內部會有很多個 business units,在每一個BU 之間,希望有一個視圖上的隔離,并且在鑒權上也不一樣,在 cuda 上面也不一樣,可以用 Namespace 給每一個 BU 提供一個他所看到的這么一個看到的隔離的機制。

四、Kubernetes 的 API

從 high-level 上看,Kubernetes API 是由 **HTTP+JSON **組成的:用戶訪問的方式是 HTTP,訪問的 API 中 content 的內容是 JSON 格式的。
Kubernetes 的 kubectl 也就是 command tool,Kubernetes UI,或者有時候用 curl,直接與 Kubernetes 進行溝通,都是使用 HTTP + JSON 這種形式。文章來源地址http://www.zghlxwxcb.cn/news/detail-826731.html

到了這里,關于Kubernetes k8s的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • K8s(Kubernetes)學習(二):k8s集群搭建

    K8s(Kubernetes)學習(二):k8s集群搭建

    minikube 只是一個 K8S 集群模擬器,只有一個節(jié)點的集群,只為測試用,master 和 worker 都在一起。 裸機安裝 至少需要兩臺機器(主節(jié)點、工作節(jié)點個一臺),需要自己安裝 Kubernetes 組件,配置會稍微麻煩點。 缺點:配置麻煩,缺少生態(tài)支持,例如負載均衡器、云存儲。 直接用

    2024年02月09日
    瀏覽(37)
  • Kubernetes(K8S)學習(四):K8S之Storage

    Kubernetes(K8S)學習(四):K8S之Storage

    kubernetes使用NFS共享存儲有兩種方式: (1)手動方式靜態(tài)創(chuàng)建所需要的PV和PVC(見本文1.3.2小節(jié))。 (2)通過創(chuàng)建PVC動態(tài)地申請PV(見本文1.4.2小節(jié))。 Volume地址 :https://kubernetes.io/docs/concepts/storage/ 1.1.1、Volume簡介 volume(/?v?lju?m/,IT詞匯–百度百科): 在電腦中, volume(

    2024年04月15日
    瀏覽(26)
  • K8s(Kubernetes)學習(一):k8s概念及組件

    K8s(Kubernetes)學習(一):k8s概念及組件

    Kubernetes中文文檔:https://kubernetes.io/zh-cn/docs/home/ Kubernetes源碼地址:https://github.com/kubernetes/kubernetes 首先要了解應用程序部署經歷了以下幾個時代: 傳統(tǒng)部署時代:在物理服務器上運行應用程序。 虛擬化部署時代:虛擬化技術允許你在單個物理服務器的 CPU 上運行多臺虛擬機

    2024年02月05日
    瀏覽(26)
  • Kubernetes(K8s)

    為 容器化 應用提供集群部署和管理的開源工具,由 Google 研發(fā),在2014開源。 Pod :一個 pod 可以運行多個容器。 運行在 cluster 所有節(jié)點上,負責啟動 POD 和容器。 用于初始化 cluster Kubenetes 命令行工具,部署和應用,查看各種資源、創(chuàng)建、刪除和更新組件。 統(tǒng)一路由

    2024年02月08日
    瀏覽(21)
  • Kubernetes k8s

    Kubernetes k8s

    一個開源的容器編排引擎,用來對容器化應用進行自動化部署、 擴縮和管理。 從架構設計層面,k8s能很好的解決可用性,伸縮性;從部署運維層面,服務部署,服務監(jiān)控,應用擴容和故障處理,k8s都提供了很好的解決方案。 k8s主要包括以下幾點: 服務發(fā)現(xiàn)與調度 Kubernetes

    2024年02月19日
    瀏覽(23)
  • 【K8s】K8s是什么,一文帶你了解kubernetes

    【K8s】K8s是什么,一文帶你了解kubernetes

    作者簡介: 辭七七,目前大二,正在學習C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄: 七七的閑談 歡迎大家點贊 ?? 收藏 ? 加關注哦!???? kubernetes,簡稱K8s,是用8代替名字中間的8個字符“ubernete”而成的縮寫。是一個開源的,用于管理云平臺中多個主

    2024年02月03日
    瀏覽(90)
  • Kubernetes(k8s)實戰(zhàn):使用k8s+jenkins實現(xiàn)CICD

    Kubernetes(k8s)實戰(zhàn):使用k8s+jenkins實現(xiàn)CICD

    CIDI(Continuous Integration,Continuous Delivery Deployment),持續(xù)集成,持續(xù)部署,持續(xù)發(fā)布。 也就是說,在本地開發(fā)完代碼之后,push到遠程倉庫,然后代碼打包、部署的這個過程完全是自動化完成的。 但是我們不要進入一個誤區(qū),CICD并不意味著一定就是這一套流程,只要實現(xiàn)了代

    2024年02月12日
    瀏覽(31)
  • yum部署kubernetes(k8s)集群、k8s常用資源管理

    目錄 一、環(huán)境搭建 1、準備環(huán)境 1)計算機說明,建議系統(tǒng)版本7.4或者7.6 2)修改所有主機的計算機名設置host文件 ?2、安裝master節(jié)點 1)安裝etcd配置etcd 2)安裝k8s-master節(jié)點 3)配置apiserver 4)配置controller和scheduler 5)啟動k8s服務 3、安裝k8s-master上的node 1)安裝node 2)配置kube

    2024年02月13日
    瀏覽(35)
  • 【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

    【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務 service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結 Kubernetes 簡稱 k8s,是支持云原生部署的一個平臺,起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(859)
  • Kubernetes (K8S)概述

    1、K8S 是什么? K8S 的全稱為 Kubernetes (K12345678S),PS:“嘛,寫全稱也太累了吧,不如整個縮寫”。 1.1 作用 用于自動部署、擴展和管理“容器化(containerized)應用程序”的開源系統(tǒng)。 可以理解成 K8S 是負責自動化運維管理多個容器化程序(比如 Docker)的集群,是一個生態(tài)極

    2024年02月08日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包