欧美激情网站,特级一级全黄毛片免费,欧美亚洲视频一区,国产高清在线播放免费观看,欧美日韩中文国产,欧美日韩操

Kubernetes中如何部署一個應用?



近日以來,Kubernetes棄用Docker、不再維護與Docker之間的橋接關系已在Apache開源基金會公布,在技術圈內也傳的風生水起,其實Docker的結局不是偶然,而是必然。自Google大舉推出Kubernetes以來,快速的完善其能力,Docker的被拋棄已是必然,只是時間早晚問題。作為互聯網研發運維同學,我們是時候好好了解下Kubernetes了~

什么是Kubernetes呢?一個自動化容器操作的開源平臺,支持自動部署、調度節點、彈性伸縮。此外,它還是一個開放的開發平臺,不局限于任何開發平臺,不限定任何編程接口。無論是使用Java、python、golang、net編寫的服務都可以映射為k8s的service,通過標準的tcp協議進行交互。并且由于k8s對開發框架、開發語言沒有侵入性,所以即使應用原先部署在私有云、物理機平臺都可以平滑地遷移到k8s平臺。最后它還是一個分布式系統開發與支撐平臺,提供靈活的服務注冊和服務發現機制、強大的故障發現能力、自我修復能力、彈性擴容能力,涵蓋了從開發到上線運維的全過程,讓開發人員只聚焦于業務開發。

Kubernetes中有MasterNode、WorkNode兩大技術概念。主節點masternode控制整個集群,是指揮中心,從節點worknode處理業務,是業務骨干。

MasterNode包括kubectl、Apiserver、Scheduler、Controller、Ectd,我們從數據流來看Kubernetes內部是如何運轉。管理人員(一般為運維人員)通過kubetcl來執行資源的增、刪、改、查等操作,而kubetcl是通過APIserver來去執行這一系列管理動作的,并在執行的過程中將所有資源對象的信息存在在etcd,Scheduler負責整個Pod資源的調度(比如業務訪問量增大需要擴容等),Controller-manager通過Apiserver提供的接口實時監控整個集群資源對象的當前狀態,當某個node發生意外時會執行自動修復流程,保障業務的正常運行。

Workernode包括kubelet、Kube-proxy、Pod、Container,其中Kubelet負責Pod對應的容器的創建、啟動、停止等任務,同時與Master節點一起管理集群,Kube-proxy負責內外的通信,即將來自外部的Internet訪問和具體的業務Pod節點關聯,Pod即業務節點,由一個或多個Docker容器組成,底層基于Docker引擎來創建容器。Service服務負責業務與機器之間的映射,一個Service對應多個處理同類業務。

Kubernetes的基礎概念介紹完了之后,我們來看看在Kubernetes中如何從0到1的部署一個應用呢?總的來說包含6個部分:制作鏡像—》管理Pod—〉持久化Pod數據—》暴露應用—〉發布應用—》監控應用。

第一步是制作鏡像,我們知道應用除了業務服務之外,還包含數據庫、MQ等中間件,Centos、Ubuntu等中間件。在Kubernetes中承載應用的便是容器,而容器中承載應用的便是鏡像。鏡像就像一個文件目錄,從下往上包含基礎鏡像、中間件鏡像、服務鏡像,一層層的堆疊起來。運維人員把基礎鏡像、中間件鏡像做好了之后,交給開發人員制作服務鏡像,三個鏡像都完事兒之后,應用鏡像就做好了,里面包含了應用的代碼和所運行的環境。

第二步是管理Pod。在Kubernetes中,服務通過鏡像部署在容器中,但容器畢竟只是一個封閉式的沙箱,每一個相互隔離,我們需要有更上層的概念把它們給組合起來,這便是Pod,一個Pod中有多個容器,共享相同的網絡和IP地址。在Kubernetes中主要是通過控制器Controller管理控制。從業務的類型分為有狀態應用(產生持久化數據,需要數據存儲功能等,比如mysql、Kafka)、無狀態應用(應用實例不涉及事務交互,不產生持久化數據,對同一個請求響應結果完全一致,比如tomcat)、守護型應用(長期運行、提供持續的監聽服務)、批處理型應用(一次性的處理大量任務)來看,控制器也分為Deployment、StatefulSet、DaemonSet、Job、CronJob幾類。根據應用的不同類型,可設置不同的控制器,通過Kind字段進行定義即可。

第三步是持久化Pod數據,在容器部署過程中一般需要啟動時的初始化數據、啟動過程中的臨時數據、啟動中產生的持久化數據,在Pod內通過Volume卷進行數據持久化,即使容器銷毀了,Volume卷中的數據仍然存在。Kubernetes支持多達28種數據類型,EmptyDir類型在創建Pod時產生、Pod移除時數據卷才被釋放;HostPath支持將Pod中文件系統的某一個文件或目錄掛載容器組;Persistent類型是Pod集群中的一塊存儲空間,作為一個資源對象被管理,通過編寫yaml文件可進行持久化數據。

第四步是暴露應用,在Kubernetes中的Service便可提供Pod服務的暴露,一個Service對應多個Pod,用戶請求對應多個Service,通過Service的服務發現和負載均衡作用,將一個請求轉發給多個Pod進行完成。

第五步是發布應用,在Kuernetes中一般通過ingress去發布應用,讓用戶去訪問,每個ingress會關聯一組pod,而service會創建這組pod的負載均衡,通過service去區分這些節點上的Pod。結合DevOps流程,開發人員通過在Github等代碼倉庫上傳下載代碼,使用Jenkins進行編譯構建,最后通過Kubernetes進行部署即可。

第六步是監控應用,監控就像我們的眼睛一樣,替我們看管著Kubernetes中的上百上千個Container節點。在Kubernetes常用的監控有兩種方式,其一是在服務中插入探針,隨著Docker一起部署運行,采集實時運行狀態(如服務調用鏈路、接口調用情況)進行分析,其二是獲取從容器到應用的運行日志。

至此,關于Kubernetes是什么?技術架構和核心概念、如何的從0到1部署應用我們便介紹完了。在背靠Google的情況下,Kubernetes毫無疑問會成為云原生最熱門的技術,趕快學習、實戰起來吧~
北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 亚洲一区免费视频| 九九热精品视频| 日日操天天| 免费成人激情视频| 国产原创91| 国产对白在线观看| pppd-528| 99在线国内精品自产拍| 亚洲日本一区二区三区| 亚洲国产成人久久99精品| 手机看片久久青草福利盒子| 青青草原国产在线| 国产专区在线| 99视频在线播放| 97成人精品视频在线播放| 2828av| 222aaa精品影院| 2022av在线| 99热这里只有精品首页精品| 999成人网| 成年人在线免费看视频| 三级视频网站| 国产成人aaa在线视频免费观看| 尹人香蕉久久99天天| 中文字幕成人免费高清在线 | 国产成人资源| 国产精品成人aaaaa网站| 国产亚洲欧美日韩综合综合二区| 国产欧美在线观看视频| 99在线精品免费视频| 豆国产97在线 | 亚洲| 国产精品天天看特色大片不卡| 国产一区二区在线视频播放 | 中文字幕国产在线观看| 亚洲高清无在码在线无弹窗| 一级做a爱过程免费视频超级| 沈新vk| 亚洲人成电影网站国产精品| 亚洲天堂在线视频| 国产成人h在线视频| 国产成人cao在线|