午夜视频福利|欧美日本一区二区三区|18女下面流水不遮图网站|久久99久久成人免费播放|毛片免费播放

前沿科技

當前位置:首頁首頁 / 學習天地 / 前沿科技

Kubernetes是什么

時間:2017/8/24

    Kubernetes是一個自動化部署、伸縮和操作應用程序容器的開源平臺。


    使用Kubernetes,你可以快速、高效地滿足用戶以下的需求:


    1、快速精準地部署應用程序;
    2、即時伸縮你的應用程序;
    3、無縫展現(xiàn)新特征;
    4、限制硬件用量僅為所需資源。


    我們的目標是培育一個工具和組件的生態(tài)系統(tǒng),以減緩在公有云或私有云中運行的程序的壓力。

 

    Kubernetes的優(yōu)勢

 

    可移動: 公有云、私有云、混合云、多態(tài)云
    可擴展: 模塊化、插件化、可掛載、可組合
    自修復: 自動部署、自動重啟、自動復制、自動伸縮

 

    Google公司于2014年啟動了Kubernetes項目。Kubernetes是在Google的長達15年的成規(guī)模的產(chǎn)品級任務的經(jīng)驗下構建的,結合了來自社區(qū)的****創(chuàng)意和實踐經(jīng)驗。

 

    為什么選擇容器?

 

    想要知道你為什么要選擇使用容器?

 

 


    程序部署的傳統(tǒng)方法是指通過操作系統(tǒng)包管理器在主機上安裝程序。這樣做的缺點是,容易混淆程序之間以及程序和主機系統(tǒng)之間的可執(zhí)行文件、配置文件、庫、生命周期。為了達到精準展現(xiàn)和精準回撤,你可以搭建一臺不可變的虛擬機鏡像。但是虛擬機體量往往過于龐大而且不可轉移。

 

    容器部署的新的方式是基于操作系統(tǒng)級別的虛擬化,而非硬件虛擬化。容器彼此是隔離的,與宿主機也是隔離的:它們有自己的文件系統(tǒng),彼此之間不能看到對方的進程,分配到的計算資源都是有限制的。它們比虛擬機更容易搭建。并且由于和基礎架構、宿主機文件系統(tǒng)是解耦的,它們可以在不同類型的云上或操作系統(tǒng)上轉移。

 

    正因為容器又小又快,每一個容器鏡像都可以打包裝載一個程序。這種一對一的“程序 – 鏡像”聯(lián)系帶給了容器諸多便捷。有了容器,靜態(tài)容器鏡像可以在編譯/發(fā)布時期創(chuàng)建,而非部署時期。因此,每個應用不必再等待和整個應用棧其它部分進行整合,也不必和產(chǎn)品基礎架構環(huán)境之間進行妥協(xié)。在編譯/發(fā)布時期生成容器鏡像建立了一個持續(xù)地把開發(fā)轉化為產(chǎn)品的環(huán)境。相似地,容器遠比虛擬機更加透明,尤其在設備監(jiān)控和管理上。這一點,在容器的進程生命周期被基礎架構管理而非被容器內(nèi)的進程監(jiān)督器隱藏掉時,尤為顯著。最終,隨著每個容器內(nèi)都裝載了單一的程序,管理容器就等于管理或部署整個應用。

 

    容器優(yōu)勢總結:

 

    敏捷的應用創(chuàng)建與部署:相比虛擬機鏡像,容器鏡像的創(chuàng)建更簡便、更高效。


    持續(xù)的開發(fā)、集成,以及部署:在快速回滾下提供可靠、高頻的容器鏡像編譯和部署(基于鏡像的不可變性)。


    開發(fā)與運營的關注點分離:由于容器鏡像是在編譯/發(fā)布期創(chuàng)建的,因此整個過程與基礎架構解耦。


    跨開發(fā)、測試、產(chǎn)品階段的環(huán)境穩(wěn)定性:在筆記本電腦上的運行結果和在云上完全一致。


    在云平臺與OS上分發(fā)的可轉移性:可以在 Ubuntu、RHEL、CoreOS、預置系統(tǒng)、Google 容器引擎,乃至其它各類平臺上運行。


    以應用為核心的管理: 從在虛擬硬件上運行系統(tǒng),到在利用邏輯資源的系統(tǒng)上運行程序,從而提升了系統(tǒng)的抽象層級。


    松散耦聯(lián)、分布式、彈性、無拘束的微服務:整個應用被分散為更小、更獨立的模塊,并且這些模塊可以被動態(tài)地部署和管理,而不再是存儲在大型的單用途機器上的臃腫的單一應用棧。


    資源隔離:增加程序表現(xiàn)的可預見性。


    資源利用率:高效且密集。

 

    為什么我需要Kubernetes,它能做什么?

 

    至少,Kubernetes能在實體機或虛擬機集群上調度和運行程序容器。而且,Kubernetes也能讓開發(fā)者斬斷聯(lián)系著實體機或虛擬機的“鎖鏈”,從以主機為中心的架構躍至以容器為中心的架構。該架構最終提供給開發(fā)者諸多內(nèi)在的優(yōu)勢和便利。Kubernetes提供給基礎架構以真正的以容器為中心的開發(fā)環(huán)境。

 

    Kubernetes滿足了一系列產(chǎn)品內(nèi)運行程序的普通需求,諸如:

 

    協(xié)調輔助進程,協(xié)助應用程序整合,維護一對一“程序 – 鏡像”模型。
    掛載存儲系統(tǒng)
    分布式機密信息
    檢查程序狀態(tài)
    復制應用實例
    使用橫向莢式自動縮放
    命名與發(fā)現(xiàn)
    負載均衡

    滾動更新
    資源監(jiān)控
    訪問并讀取日志
    程序調試
    提供驗證與授權

 

    以上兼具平臺即服務(PaaS)的簡化和基礎架構即服務(IaaS)的靈活,并促進了在平臺服務提供商之間的遷移。

 

    Kubernetes是一個什么樣的平臺?

 

    雖然Kubernetes提供了非常多的功能,總會有更多受益于新特性的新場景出現(xiàn)。針對特定應用的工作流程,能被流水線化以加速開發(fā)速度。特別的編排起初是可接受的,這往往需要擁有健壯的大規(guī)模自動化機制。這也是為什么 Kubernetes也被設計為一個構建組件和工具的生態(tài)系統(tǒng)的平臺,使其更容易地部署、縮放、管理應用程序。

 

    標簽(label)可以讓用戶按照自己的喜好組織資源。 注釋(annotation)讓用戶在資源里添加客戶信息,以優(yōu)化工作流程,為管理工具提供一個標示調試狀態(tài)的簡單方法。

 

    此外,Kubernetes 控制面板是由開發(fā)者和用戶均可使用的同樣的API構建的。用戶可以編寫自己的控制器,比如 調度器(scheduler),使用可以被通用的命令行工具識別的他們自己的API。

 

    這種設計讓大量的其它系統(tǒng)也能構建于Kubernetes之上。

 

    Kubernetes不是什么?

 

    Kubernetes不是傳統(tǒng)的、全包容的平臺即服務(Paas)系統(tǒng)。它尊重用戶的選擇,這很重要。

 

    Kubernetes:

 

    并不限制支持的程序類型。它并不檢測程序的框架(例如,Wildfly),也不限制運行時支持的語言集合(比如,Java、Python、Ruby),也不僅僅迎合12因子應用程序,也不區(qū)分應用與服務。Kubernetes旨在支持盡可能多種類的工作負載,包括無狀態(tài)的、有狀態(tài)的和處理數(shù)據(jù)的工作負載。如果某程序在容器內(nèi)運行良好,它在 Kubernetes上只可能運行地更好。


    不提供中間件(例如消息總線)、數(shù)據(jù)處理框架(例如Spark)、數(shù)據(jù)庫(例如mysql),也不把集群存儲系統(tǒng)(例如Ceph)作為內(nèi)置服務。但是以上程序都可以在Kubernetes上運行。


    沒有“點擊即部署”這類的服務市場存在。


    不部署源代碼,也不編譯程序。持續(xù)集成 (CI) 工作流程是不同的用戶和項目擁有其各自不同的需求和表現(xiàn)的地方。所以,Kubernetes支持分層CI工作流程,卻并不監(jiān)聽每層的工作狀態(tài)。


    允許用戶自行選擇日志、監(jiān)控、預警系統(tǒng)。(Kubernetes提供一些集成工具以保證這一概念得到執(zhí)行)


    不提供也不管理一套完整的應用程序配置語言/系統(tǒng)(例如jsonnet)。


    不提供也不配合任何完整的機器配置、維護、管理、自我修復系統(tǒng)。

 

    另一方面,大量的PaaS系統(tǒng)運行在Kubernetes上,諸如Openshift、Deis,以及Eldarion。你也可以開發(fā)你的自定義PaaS,整合上你自選的CI系統(tǒng),或者只在Kubernetes上部署容器鏡像。

 

    因為 Kubernetes 運營在應用程序層面而不是在硬件層面,它提供了一些 PaaS 所通常提供的常見的適用功能,比如部署、伸縮、負載平衡、日志和監(jiān)控。然而,Kubernetes 并非鐵板一塊,這些默認的解決方案是可供選擇,可自行增加或刪除的。

 

    而且, Kubernetes不只是一個編排系統(tǒng) 。事實上,它滿足了編排的需求。 編排 的技術定義是,一個定義好的工作流程的執(zhí)行:先做A,再做B,最后做C。相反地,Kubernetes囊括了一系列獨立、可組合的控制流程,它們持續(xù)驅動當前狀態(tài)向需求的狀態(tài)發(fā)展。從 A 到 C 的具體過程并不唯一。集中化控制也并不是必須的;這種方式更像是編舞。這將使系統(tǒng)更易用、更高效、更健壯、復用性、擴展性更強。

 

    Kubernetes這個單詞的含義?k8s?

 

    Kubernetes這個單詞來自于希臘語,含義是舵手或領航員。其詞根是 governor和cybernetic。K8s是它的縮寫,用8字替代了“ubernete”。

Copyright © 版權所有:江蘇嘉圖工程科技有限公司 蘇ICP備16005482號-1
本站部分內(nèi)容來源自網(wǎng)絡,如果侵害了您的合法權益,請您及時與我們聯(lián)系,我們會在第一時間刪除相關內(nèi)容!