国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

從零開始了解 Kubernetes

云計算
本文將帶著大家快速了解 Kubernetes ,了解我們談論 Kubernetes 都是在談論什么。

Kubernetes 已經成為容器編排領域的王者,它是基于容器的集群編排引擎,具備擴展集群、滾動升級回滾、彈性伸縮、自動治愈、服務發現等多種特性能力。

本文將帶著大家快速了解 Kubernetes ,了解我們談論 Kubernetes 都是在談論什么。

Kubernetes 架構

從宏觀上來看 Kubernetes 的整體架構,包括 Master、Node 以及 etcd。

Master 即主節點,負責控制整個 Kubernetes 集群。它包括 API Server、Scheduler、Controller 等組成部分。它們都需要和 etcd 進行交互以存儲數據。

  • API Server:主要提供資源操作的統一入口,這樣就屏蔽了與 etcd 的直接交互。功能包括安全、注冊與發現等。
  • Scheduler:負責按照一定的調度規則將 Pod 調度到 Node 上。
  • Controller:資源控制中心,確保資源處于預期的工作狀態。
  • Node 即工作節點,為整個集群提供計算力,是容器真正運行的地方,包括運行容器、kubelet、kube-proxy。
  • kubelet:主要工作包括管理容器的生命周期、結合 cAdvisor 進行監控、健康檢查以及定期上報節點狀態。
  • kube-proxy:主要利用 Service 提供集群內部的服務發現和負載均衡,同時監聽 Service/Endpoints 變化并刷新負載均衡。

從創建 Deployment 開始

Deployment 是用于編排 Pod 的一種控制器資源,我們會在后面做介紹。這里以 Deployment 為例,來看看架構中的各組件在創建 Deployment 資源的過程中都干了什么。

首先是 kubectl 發起一個創建 deployment 的請求

  • apiserver 接收到創建 deployment 請求,將相關資源寫入 etcd;之后所有組件與 apiserver/etcd 的交互都是類似的
  • deployment controller list/watch 資源變化并發起創建 replicaSet 請求
  • replicaSet controller list/watch 資源變化并發起創建 Pod 請求
  • scheduler 檢測到未綁定的 Pod 資源,通過一系列匹配以及過濾選擇合適的 Node 進行綁定
  • kubelet 發現自己 Node 上需創建新 Pod,負責 Pod 的創建及后續生命周期管理
  • kube-proxy 負責初始化 Service 相關的資源,包括服務發現、負載均衡等網絡規則

至此,經過 Kubernetes 各組件的分工協調,完成了從創建一個 deployment 請求開始到具體各 Pod 正常運行的全過程。

Pod

在 Kubernetes 眾多的 API 資源中,Pod 是最重要和基礎的,是最小的部署單元。

首先我們要考慮的問題是,我們為什么需要 Pod?Pod 可以說是一種容器設計模式,它為那些“超親密”關系的容器而設計,我們可以想象 servelet 容器部署 war 包、日志收集等場景,這些容器之間往往需要共享網絡、共享存儲、共享配置,因此我們有了 Pod 這個概念。

對于 Pod 來說,不同 container 之間通過 infra container 的方式統一識別外部網絡空間,而通過掛載同一份 Volume 就自然可以共享存儲了,比如它對應宿主機上的一個目錄。

容器編排

容器編排是 Kubernetes 的看家本領了,所以我們有必要了解一下。Kubernetes 中有諸多編排相關的控制資源,例如編排無狀態應用的 deployment,編排有狀態應用的 StatefulSet,編排守護進程 DaemonSet 以及編排離線業務的 Job/CronJob 等等。

我們還是以應用最廣泛的 deployment 為例。deployment、replicatset、Pod 之間的關系是一種層層控制的關系。簡單來說,replicaset 控制 Pod 的數量,而 deployment 控制 replicaset 的版本屬性。這種設計模式也為兩種最基本的編排動作實現了基礎,即數量控制的水平擴縮容、版本屬性控制的更新/回滾。

水平擴縮容

水平擴縮容非常好理解,我們只需修改 replicaset 控制的 Pod 副本數量即可,比如從 2 改到 3,那么就完成了水平擴容這個動作,反之即水平收縮。

更新/回滾

更新/回滾則體現了 replicaset 這個對象的存在必要性。例如我們需要應用 3 個實例的版本從 v1 改到 v2,那么 v1 版本 replicaset 控制的 Pod 副本數會逐漸從 3 變到 0,而 v2 版本 replicaset 控制的 Pod 數會注解從 0 變到 3,當 deployment 下只存在 v2 版本的 replicaset 時變完成了更新。回滾的動作與之相反。

滾動更新

可以發現,在上述例子中,我們更新應用,Pod 總是一個一個升級,并且最小有 2 個 Pod 處于可用狀態,最多有 4 個 Pod 提供服務。這種"滾動更新"的好處是顯而易見的,一旦新的版本有了 bug,那么剩下的 2 個 Pod 仍然能夠提供服務,同時方便快速回滾。

在實際應用中我們可以通過配置 RollingUpdateStrategy 來控制滾動更新策略,maxSurge 表示 deployment 控制器還可以創建多少個新 Pod;而 maxUnavailable 指的是,deployment 控制器可以刪除多少個舊 Pod。

Kubernetes 中的網絡

我們了解了容器編排是怎么完成的,那么容器間的又是怎么通信的呢?

講到網絡通信,Kubernetes 首先得有“三通”基礎:

  • Node 到 Pod 之間可以通
  • Node 的 Pod 之間可以通
  • 不同 Node 之間的 Pod 可以通

簡單來說,不同 Pod 之間通過 cni0/docker0 網橋實現了通信,Node 訪問 Pod 也是通過 cni0/docker0 網橋通信即可。而不同 Node 之間的 Pod 通信有很多種實現方案,包括現在比較普遍的 Flannel 的 VXLAN/HostGW 模式等。Flannel 通過 etcd 獲知其他 Node 的網絡信息,并會為本 Node 創建路由表,最終使得不同 Node 間可以實現跨主機通信。

微服務:Service

在了解接下來的內容之前,我們得先了解一個很重要的資源對象:Service。

我們為什么需要 Service 呢?在微服務中,Pod 可以對應實例,那么 Service 對應的就是一個微服務。而在服務調用過程中,Service 的出現解決了兩個問題:

Pod 的 IP 不是固定的,利用非固定 IP 進行網絡調用不現實服務調用需要對不同 Pod 進行負載均衡

Service 通過 label 選擇器選取合適的 Pod,構建出一個 Endpoints,即 Pod 負載均衡列表。實際運用中,一般我們會為同一個微服務的 Pod 實例都打上類似 app=xxx 的標簽,同時為該微服務創建一個標簽選擇器為 app=xxx 的 Service。

Kubernetes 中的服務發現與網絡調用

在有了上述“三通”的網絡基礎后,我們可以開始微服務架構中的網絡調用在 Kubernetes 中是怎么實現的了。

這部分內容其實在《說說 Kubernetes 是怎么實現服務發現的》已經講得比較清楚了,比較細節的地方可以參考上述文章,這里做一個簡單的介紹。

服務間調用

首先是東西向的流量調用,即服務間調用。這部分主要包括兩種調用方式,即 ClusterIP 模式以及 DNS 模式。

ClusterIP 是 Service 的一種類型,在這種類型模式下,kube-proxy 通過 iptables/ipvs 為 Service 實現了一種 VIP(虛擬 IP)的形式。只需要訪問該 VIP,即可負載均衡地訪問到 Service 背后的 Pod。

上圖是 ClusterIP 的一種實現方式,此外還包括 userSpace 代理模式(基本不用),以及 ipvs 模式(性能更好)。

DNS 模式很好理解,對 ClusterIP 模式的 Service 來說,它有一個 A 記錄是 service-name.namespace-name.svc.cluster.local,指向 ClusterIP 地址。所以一般使用過程中,我們直接調用 service-name 即可。

服務外訪問

南北向的流量,即外部請求訪問 Kubernetes 集群,主要包括三種方式:nodePort、loadbalancer、Ingress。

nodePort 同樣是 Service 的一種類型,通過 iptables 賦予了調用宿主機上的特定 port 就能訪問到背后Service 的能力。

loadbalancer 則是另一種 Service 類型,通過公有云提供的負載均衡器實現。

我們訪問 100 個服務可能需要創建 100 個 nodePort/loadbalancer。我們希望通過一個統一的外部接入層訪問內部 Kubernetes 集群,這就是 Ingress 的功能。Ingress 提供了統一接入層,通過路由規則的不同匹配到后端不同的 Service 上。Ingress 可以看做是“Service 的 Service”。Ingress 在實現上往往結合 nodePort 以及 loadbalancer 完成功能。

到現在為止,我們簡單了解了 Kubernetes 的相關概念,它大致是怎么運作的,以及微服務是怎么運行在 Kubernetes 中的。于是當我們聽到別人討論 Kubernetes 時,我們可以知道他們在討論什么。

責任編輯:未麗燕 來源: Dockone.io
相關推薦

2018-04-18 07:01:59

Docker容器虛擬機

2024-11-28 10:35:47

2024-12-06 17:02:26

2015-11-17 16:11:07

Code Review

2019-01-18 12:39:45

云計算PaaS公有云

2023-09-03 22:35:02

2024-05-15 14:29:45

2021-05-17 22:40:56

區塊鏈比特幣技術

2018-09-14 17:16:22

云計算軟件計算機網絡

2010-05-26 17:35:08

配置Xcode SVN

2016-02-19 09:33:14

無線知識無線技術2016

2015-10-15 14:16:24

2011-04-06 15:55:50

開發webOS程序webOS

2024-04-10 07:48:41

搜索引擎場景

2020-06-03 09:10:10

5G技術網絡

2023-11-02 08:41:39

2011-05-24 13:37:16

jQueryAjax

2015-09-18 10:09:05

Swift

2024-08-01 11:21:52

2019-08-12 09:36:49

點贊
收藏

51CTO技術棧公眾號

久久精品国产久精国产爱| 国产精品自在在线| 亚洲精品tv| 国产成人精品综合久久久| 污片在线观看一区二区| 日韩在线视频免费观看| 久久久久久久免费| 2020中文字幕在线播放| 成人av影音| 中文字幕欧美三区| 欧美另类交人妖| 天美av一区二区三区久久| 国产伦精品一区二区三区免费视频| 精品国产美女在线| www.日韩视频| 一本色道久久综合亚洲精品婷婷| 精品国产乱码久久久久久丨区2区| 久久久久久久久久久网站| 欧美大胆人体bbbb| 自拍另类欧美| 国产视频在线一区二区| 欧美在线免费观看视频| 精品免费日韩av| 国产黄色激情视频| 成年人黄色大片在线| 麻豆精品在线观看| 91精品视频播放| 久青青在线观看视频国产| 一区二区三区午夜探花| 欧美美女一区二区| 潘金莲一级淫片aaaaa免费看| av成人亚洲| 成人av高清在线| 久久免费视频在线观看| 2019一级黄色毛片免费看网 | 欧美极品中文字幕| 中文字幕一区二区三区在线不卡| 国产成人久久久| 国内精品国产成人国产三级粉色| 亚洲va欧美va人人爽午夜| 亚洲在线视频福利| 国产第一页在线| 欧美日韩精品一区| 日韩欧美精品一区| 国产精品久久夜| 中文字幕视频在线免费欧美日韩综合在线看| 国产免费观看久久黄| 国产精品国模大尺度视频| 伊人久久婷婷色综合98网| 亚洲制服av| 亚洲性猛交xxxxwww| www黄色在线| 日韩欧美一区二区三区免费看| 2018国产精品视频| 男女男精品视频站| 欧美亚洲在线日韩| 日韩丝袜情趣美女图片| 黄色片视频在线免费观看| 日韩在线看片| 92看片淫黄大片欧美看国产片 | 亚洲精品综合在线| 欧美二区三区在线| 美女在线视频一区| 91精品国产色综合| 国内精品久久久久久久久电影网| 欧美一区二区三区四区久久| 国产精品丝袜久久久久久消防器材| 国产999精品久久| 国产日韩欧美视频在线| 欧美专区福利免费| 日本道色综合久久| 99热久久这里只有精品| 亚洲草久电影| 视频在线观看一区二区| 国产韩日精品| 91黄色激情网站| 黄色小说在线播放| 久久偷看各类女兵18女厕嘘嘘| 97在线资源在| 石原莉奈在线亚洲三区| 最新国产精品久久久| 亚洲精品美女视频| 天堂俺去俺来也www久久婷婷| 亚洲欧美一区二区三区在线| 白虎精品一区| 欧美午夜精品免费| 偷拍自拍在线看| av综合电影网站| japanese色系久久精品| 91精品国产91久久久久久不卡| 欧美电影一二区| 欧美交受高潮1| 欧美xxav| 一区二区三区四区欧美日韩| 国产视频一区在线播放| 91精品一区二区三区四区| 欧美人成在线| 精品一区二区三区免费| 九色91视频| 精品国产乱码久久久久久图片| 精品一区二区三区无码视频| 精品99一区二区三区| 26uuu色噜噜精品一区二区| 亚洲欧美国产制服动漫| 亚洲国产精品一区二区第四页av| 国产欧美一区二区精品久久久| 亚洲一区二区三区xxx视频| 美女视频黄免费的久久| 黄色漫画在线免费观看| 久久综合狠狠综合久久综合88 | 日韩欧美一区二区三区久久| 国产免费999| 国产69精品久久久久777| 成人片在线播放| 亚洲第一视频在线观看| 暖暖日本在线观看| 在线观看免费成人| 在线看片你懂的| 亚洲最快最全在线视频| 免费观影入口看日本视频| 中文一区二区在线观看| 高清免费电影在线观看| 91精品一区二区三区久久久久久| 久久国产精品高清一区二区三区| 亚洲精品免费在线播放| 99色在线播放| 夜夜嗨av一区二区三区中文字幕| 成a人片在线观看| 国产精品免费福利| 97偷自拍亚洲综合二区| 久在线观看视频| 久久精品欧美一区二区三区不卡| 免费在线看黄网站| 国产精品av在线播放| 国产 日韩 欧美 综合 一区| 成人免费视频观看| 欧美日韩在线不卡视频| 蜜桃免费在线| 久久91亚洲精品中文字幕| 日韩av中文字幕一区二区| 亚洲欧美99| 欧美视频第二页| 亚洲综合影视| 伊人激情综合网| 国产一区二区三区黄网站| 久久6免费高清热精品| 久久夜色精品亚洲噜噜国产mv| 国内精品嫩模av私拍在线观看| 精品麻豆av| 精品福利视频导航| 中文字幕精品影院| av成人午夜| 青草国产精品久久久久久| 麻豆av电影在线观看| 日本精品性网站在线观看| 精品国产午夜| 成人动漫视频在线观看完整版| 久久久国产精品麻豆| 免费高清视频日韩| 欧美精品video| 国产亚洲欧美日韩俺去了| 777午夜精品电影免费看| japanese在线视频| 国产日韩影视精品| 国产亚洲精aa在线看| 成人毛片视频网站| 综合网中文字幕| www.欧美日韩| 黄页视频在线免费观看| 51精品久久久久久久蜜臀| 亚洲小说区图片区| 精品久久久无码人妻字幂| 91麻豆成人久久精品二区三区| 国内精彩免费自拍视频在线观看网址| 欧美中日韩免费视频| 91论坛在线播放| 国产成人精品一区二区三区免费| 一区二区冒白浆视频| 亚洲国产欧美日韩精品| 里番精品3d一二三区| 精品一区日韩成人| 日韩欧美国产wwwww| 久久成人免费日本黄色| 欧美大胆a人体大胆做受| 国产精品99蜜臀久久不卡二区| 成人欧美一区二区三区小说 | 国产一区二区不卡| 男裸体无遮挡网站| 日本一区二区不卡| 午夜精品福利一区二区三区av | 自拍偷拍亚洲欧美| 中文字幕免费在线观看视频一区| 国内毛片久久| 在线观看麻豆视频| 亚洲国产天堂久久国产91| 紧缚捆绑精品一区二区| 日本成本人片免费观看| 国产99视频精品免费视频36| 99国内精品久久| 超碰在线免费播放|