成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

小白都會了:十分鐘理解Kubernetes核心概念

云計算
Kubernetes(k8s)是自動化容器操作的開源平臺,這些操作包括部署,調度和節點集群間擴展。如果你曾經用過Docker容器技術部署容器,那么可以將Docker看成Kubernetes內部使用的低級別組件。Kubernetes不僅僅支持 Docker,還支持Rocket,這是另一種容器技術。

本文將會簡單介紹Kubernetes的核心概念。因為這些定義可以在Kubernetes的文檔中找到,所以文章也會避免用大段的枯燥的文字介紹。相反,我們會使用一些圖表(其中一些是動畫)和示例來解釋這些概念。我們發現一些概念(比如Service)如果沒有圖表的輔助就很難全面地理解。在合適的地方我們也會提供Kubernetes文檔的鏈接以便讀者深入學習。

這就開始吧。

什么是Kubernetes?

Kubernetes(k8s)是自動化容器操作的開源平臺,這些操作包括部署,調度和節點集群間擴展。如果你曾經用過Docker容器技術部署容器,那么可以將Docker看成Kubernetes內部使用的低級別組件。Kubernetes不僅僅支持 Docker,還支持Rocket,這是另一種容器技術。

使用Kubernetes可以:

  • 自動化容器的部署和復制
  • 隨時擴展或收縮容器規模
  • 將容器組織成組,并且提供容器間的負載均衡
  • 很容易地升級應用程序容器的新版本
  • 提供容器彈性,如果容器失效就替換它,等等...

實際上,使用Kubernetes只需一個部署文件,使用一條命令就可以部署多層容器(前端,后臺等)的完整集群:

  1. $ kubectl create -f single-config-file.yaml 

kubectl是和Kubernetes API交互的命令行程序。現在介紹一些核心概念。

集群

集群是一組節點,這些節點可以是物理服務器或者虛擬機,之上安裝了Kubernetes平臺。下圖展示這樣的集群。注意該圖為了強調核心概念有所簡化。這里可以看到一個典型的Kubernetes架構圖。

上圖可以看到如下組件,使用特別的圖標表示Service和Label:

* Pod

* Container(容器)

* Label([[161196]])(標簽)

* Replication Controller(復制控制器)

* Service([[161197]])(服務)

* Node(節點)

* Kubernetes Master(Kubernetes主節點)

Pod

Pod(上圖綠色方框)安排在節點上,包含一組容器和卷。同一個Pod里的容器共享同一個網絡命名空間,可以使用localhost互相通信。Pod是短暫的,不是持續性實體。你可能會有這些問題:

如果Pod是短暫的,那么我怎么才能持久化容器數據使其能夠跨重啟而存在呢? 是的,Kubernetes支持卷的概念,因此可以使用持久化的卷類型。

是否手動創建Pod,如果想要創建同一個容器的多份拷貝,需要一個個分別創建出來么?可以手動創建單個Pod,但是也可以使用Replication Controller使用Pod模板創建出多份拷貝,下文會詳細介紹。

如果Pod是短暫的,那么重啟時IP地址可能會改變,那么怎么才能從前端容器正確可靠地指向后臺容器呢?這時可以使用Service,下文會詳細介紹。

Lable

正如圖所示,一些Pod有Label([[161198]])。一個Label是attach到Pod的一對鍵/值對,用來傳遞用戶定義的屬性。比如,你可能創建了一個"tier"和“app”標簽,通過Label(tier=frontend, app=myapp)來標記前端Pod容器,使用Label(tier=backend, app=myapp)標記后臺Pod。然后可以使用Selectors選擇帶有特定Label的Pod,并且將Service或者Replication Controller應用到上面。

Replication Controller

是否手動創建Pod,如果想要創建同一個容器的多份拷貝,需要一個個分別創建出來么,能否將Pods劃到邏輯組里?

Replication Controller確保任意時間都有指定數量的Pod“副本”在運行。如果為某個Pod創建了Replication Controller并且指定3個副本,它會創建3個Pod,并且持續監控它們。如果某個Pod不響應,那么Replication Controller會替換它,保持總數為3.如下面的動畫所示:

如果之前不響應的Pod恢復了,現在就有4個Pod了,那么Replication Controller會將其中一個終止保持總數為3。如果在運行中將副本總數改為5,Replication Controller會立刻啟動2個新Pod,保證總數為5。還可以按照這樣的方式縮小Pod,這個特性在執行滾動升級時很有用。

當創建Replication Controller時,需要指定兩個東西:

  • Pod模板:用來創建Pod副本的模板
  • Label:Replication Controller需要監控的Pod的標簽。

現在已經創建了Pod的一些副本,那么在這些副本上如何均衡負載呢?我們需要的是Service。

Service

如果Pods是短暫的,那么重啟時IP地址可能會改變,怎么才能從前端容器正確可靠地指向后臺容器呢?

Service是定義一系列Pod以及訪問這些Pod的策略的一層抽象。Service通過Label找到Pod組。因為Service是抽象的,所以在圖表里通常看不到它們的存在,這也就讓這一概念更難以理解。

現在,假定有2個后臺Pod,并且定義后臺Service的名稱為‘backend-service’,lable選擇器為(tier=backend, app=myapp)。backend-service 的Service會完成如下兩件重要的事情:

會為Service創建一個本地集群的DNS入口,因此前端Pod只需要DNS查找主機名為 ‘backend-service’,就能夠解析出前端應用程序可用的IP地址。

現在前端已經得到了后臺服務的IP地址,但是它應該訪問2個后臺Pod的哪一個呢?Service在這2個后臺Pod之間提供透明的負載均衡,會將請求分發給其中的任意一個(如下面的動畫所示)。通過每個Node上運行的代理(kube-proxy)完成。這里有更多技術細節。

下述動畫展示了Service的功能。注意該圖作了很多簡化。如果不進入網絡配置,那么達到透明的負載均衡目標所涉及的底層網絡和路由相對先進。如果有興趣,這里有更深入的介紹。

有一個特別類型的Kubernetes Service,稱為'LoadBalancer',作為外部負載均衡器使用,在一定數量的Pod之間均衡流量。比如,對于負載均衡Web流量很有用。

Node

節點(上圖橘色方框)是物理或者虛擬機器,作為Kubernetes worker,通常稱為Minion。每個節點都運行如下Kubernetes關鍵組件:

  • Kubelet:是主節點代理。
  • Kube-proxy:Service使用其將鏈接路由到Pod,如上文所述。
  • Docker或Rocket:Kubernetes使用的容器技術來創建容器。

Kubernetes Master

集群擁有一個Kubernetes Master(紫色方框)。Kubernetes Master提供集群的獨特視角,并且擁有一系列組件,比如Kubernetes API Server。API Server提供可以用來和集群交互的REST端點。master節點包括用來創建和復制Pod的Replication Controller。

下一步

現在我們已經了解了Kubernetes核心概念的基本知識,你可以進一步閱讀Kubernetes 用戶手冊。用戶手冊提供了快速并且完備的學習文檔。

如果迫不及待想要試試Kubernetes,可以使用Google Container Engine。Google Container Engine是托管的Kubernetes容器環境。簡單注冊/登錄之后就可以在上面嘗試示例了。

原文鏈接:http://dockone.io/article/932

責任編輯:Ophira 來源: dockone
相關推薦

2019-04-01 14:59:56

負載均衡服務器網絡

2022-03-23 09:32:38

微服務容器Kubernetes

2025-03-18 12:20:00

編程

2020-12-17 06:48:21

SQLkafkaMySQL

2022-03-09 09:44:58

云原生Linux云計算

2016-06-13 14:07:50

Java動態代理

2020-09-27 14:41:37

C語言編程語言計算機

2023-04-12 08:21:30

ChatGPTQQDiscord

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2024-06-19 09:58:29

2021-09-07 09:40:20

Spark大數據引擎

2023-04-12 11:18:51

甘特圖前端

2024-05-13 09:28:43

Flink SQL大數據

2015-09-06 09:22:24

框架搭建快速高效app

2012-07-10 01:22:32

PythonPython教程

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2020-11-26 14:05:39

C ++運算符數據

2019-09-16 09:14:51

2009-10-09 14:45:29

VB程序

2023-07-15 18:26:51

LinuxABI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产乱码久久久久久久久 | 国产高清精品一区二区三区 | 欧美极品在线播放 | 精品视频在线免费观看 | 国产精品久久久久久久毛片 | 欧美性猛交一区二区三区精品 | 欧美成人影院 | 国产在线aa | 欧美a区 | 国产精品久久久久久一区二区三区 | 日本成人中文字幕在线观看 | 久久久久国 | 国产女人叫床高潮大片免费 | 丝袜美腿一区二区三区 | www.亚洲精品 | 男人的天堂久久 | 91av精品| 国产在线麻豆精品入口 | 中文字幕亚洲一区二区三区 | 日韩精品一区二区三区中文在线 | 亚洲伊人a | 五月天激情电影 | 91久久国产综合久久 | 日韩精品久久久 | 免费一级大片 | 91正在播放 | 中文字幕第7页 | 亚洲乱码一区二区三区在线观看 | 久热免费在线 | 91人人在线| 蜜桃精品在线 | 久久99精品久久久水蜜桃 | 国产精品久久免费观看 | 超碰成人免费 | 午夜在线精品 | 日韩二区| av国产精品毛片一区二区小说 | 国产一级一级国产 | 亚洲天堂av在线 | 一区二区三区四区视频 | 波多野结衣一区二区 |