欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kubernetes(k8s)基礎(chǔ)介紹

 更新時間:2018年10月16日 15:06:00   作者:Stavros Korokithakis  
今天小編就為大家分享一篇關(guān)于Kubernetes(k8s)基礎(chǔ)介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

之前我一直想學(xué)習(xí)Kubernetes,因為它聽起來很有意思(如果你是希臘人,你會覺得這個名字很有問題),但我從來沒有機(jī)會,因為我沒有任何東西需要運行在集群中。而最近,我的工作中開始逐步涉及Kubernetes相關(guān)的事情,所以這次我抓住機(jī)會,開始查資料,但后來我發(fā)現(xiàn)目前所有的資料(包括官方教程)都過于冗長,結(jié)構(gòu)也不合理,這讓我一開始有點沮喪。

經(jīng)過幾天的研究,我開始逐步理解Kubernetes的核心理念,并且把他部署到了生產(chǎn)環(huán)境中。因為我的簡歷現(xiàn)在說自己是個“Kubernetes專家”,一個想法立刻誕生了:為什么不把我對這個系統(tǒng)的寬泛理解以及我已經(jīng)耗費了幾個小時的研究所收集的知識讓更多人看到?雖然我無法說服自己不應(yīng)該再寫另一篇漫無目的的文章,但是我很快就明白了:
這就是那篇文章。

我在現(xiàn)有文章中遇到的主要問題是,在深入研究具體細(xì)節(jié)之前,我找不到的任何內(nèi)容總結(jié)了這些組件是什么以及它們?nèi)绾谓M合起來的高級概述。 而這種高屋建瓴的呈現(xiàn)方式是我學(xué)習(xí)最好的方式。我是以這種方式來寫的,希望它也適合你。如果你知道任何描述了Kubernetes如何工作,而且讓人容易理解的專家級的文章/教程,請不要告訴我,因為你在我需要你的時候你在哪里,現(xiàn)在我寫了我的文章而你卻沒有及早把它拿出來。

另外請記住,我實際上只學(xué)習(xí)了Kubernetes一個星期左右,所以學(xué)得不會非常深入,有些可能是不準(zhǔn)確的,希望沒有什么錯誤,這里的信息應(yīng)該足夠讓你達(dá)到運行簡單集群的程度。

話雖如此,最后我發(fā)現(xiàn)Kubernetes中的概念還是非常簡單的,雖然我確信有很多東西我還不知道。但是,我知道的事情就足以建立一個集群并讓我們的應(yīng)用在其上運行,而且我很確定它們足以讓大多數(shù)人知道如何開始。

基本概念

我們需要做的第一件事是詳細(xì)介紹Kubernetes的各個部分:

  • 控制平面(Control plane):顧名思義,這是控制其他一切的部分,這也是我一無所知的部分,因為我們只是向亞馬遜付費,讓亞馬遜幫我們處理這部分。我的理解是,這是最好的決定,除非你是谷歌,否則你應(yīng)該付費給一些公司,讓他們?yōu)槟愎芾怼?/li>
  • 節(jié)點(Nodes):節(jié)點本質(zhì)上就是一臺服務(wù)器,就像您付費的物理機(jī)worker一樣。 這是所有代碼部署的地方,將裸服務(wù)器變成節(jié)點的方法是在其上安裝Docker,kubelet,kube-proxy和其他一些東西。本文假設(shè)您的群集中已有一些worker。
  • 容器集(Pod):Pod是容器集合。 這是您的代碼所在的位置,通常每個容器都有一個Pod,盡管您可能希望將一些密切相關(guān)的服務(wù)放在同一個Pod中。 Pod在單個節(jié)點上運行(但是一個節(jié)點可以運行許多Pod),這意味著Pod中的所有容器將具有相同的IP地址,并且它們可以通過連接到localhost上的彼此端口來相互通信。Pod在部署后無法更新,只能刪除或替換它們。
  • 部署(Deployments): Deployment是您將Pod實際部署到群集的方式。 您可以在沒有Deployment的情況下運行Pod,但如果沒有Deployment,則無法輕松指定所需的副本數(shù)量,在失敗時自動重新部署Pod,回滾到早期狀態(tài)等。Deployment使代碼生命周期管理變得更容易,并且您可以使用它來使Docker鏡像在Kubernetes上運行。
  • 服務(wù)(Service):服務(wù)允許您從一個Pod打開端口到其他Pod,并指定一個Pod的DNS名稱,以便能夠查找并連接到群集中的其他Pod。
  • 入口(Ingress):Ingresses是你如何告訴你的Ingress控制器(通常是像Traefik這樣的web server)向外界暴露什么,以及在哪個路徑或主機(jī)名上。 入口將映射到將實際應(yīng)答該請求的Pod。本教程也假設(shè)您已經(jīng)配置了入口,雖然設(shè)置Traefik來做到這一點不應(yīng)該非常困難(在用他們的教程時請使用Deployment方法)。

所有這些都可以使用命令行的kubectl創(chuàng)建,或者更安全地通過YAML文件創(chuàng)建,該文件將包含您要部署的內(nèi)容的定義和詳細(xì)信息(然后執(zhí)行kubectl apply -f <yaml file>)。

概括地講,您把容器放入pods中,這些pods將由deployment創(chuàng)建和部署,其網(wǎng)絡(luò)將由service處理,并添加ingress以便外部世界可以訪問您的服務(wù)器。

讓我們逐個介紹這些部分,看看它們的YAML配置是什么樣的。

The Pod

讓我們看一下將在容器中運行Redis鏡像的pod的YAML配置。 請記住,Pod并不是持久性的,所以你幾乎不會直接使用它。 相反,您將使用deployment間接部署Pod,我們將在下面介紹。

以下配置示例僅供您進(jìn)行修改。 你只需要看看它,然后繼續(xù)閱讀,不要停下來驚嘆它的美麗。

正如您所看到的,它非常簡單,您添加了一堆Kubernetes特定的東西,每個都只是復(fù)制粘貼,然后您聲明此配置是為Pod,給它一個名稱,指定在其中運行的容器和他們監(jiān)聽的端口,請刪除整個文件吧,你已經(jīng)準(zhǔn)備好了!

Kubernetes官方文檔中提供了更多關(guān)于Pod的信息。

The Deployment

以下是您實際運行上述Pod的方式,即使用deployment。 請記住,您根本不需要關(guān)注上面的Pod配置,我們將在deployment里重新定義它。

您會注意到這主要是上面的Pod配置,但有一些額外的配置,如副本(replica)等。這些定義了deployment的名稱以及我們要部署的副本數(shù)量。 更改副本數(shù)量,將會部署更多template部分中指定的Pod。

Kubernetes官方文檔中提供了更多關(guān)于Deployments的信息。

The Service

現(xiàn)在我們已經(jīng)部署了一個Pod,我們需要將其端口暴露給集群的其余部分。 部署中的containerPort指令暴露了Docker端口,但實際上并不轉(zhuǎn)發(fā)主機(jī)上的端口,因此多個Pod(不是同一Pod中的容器)可以使用相同的端口而不會發(fā)生沖突。

要將上面的端口實際暴露給集群上運行的其他Pod,我們需要為它創(chuàng)建一個Service。 這將創(chuàng)建轉(zhuǎn)發(fā)端口所需的規(guī)則,并為我們提供DNS條目,我們可以使用該條目來解析該Pod的IP。

這會將Redis端口暴露給集群中的其他Pod,可以通過my-service:6379連接它。

要部署你的應(yīng)用中更多部分,只需將另一個deployment和關(guān)聯(lián)的Service添加到群集即可。 您可以使用與上面的Redis完全相同的方式部署主應(yīng)用程序服務(wù)。

The Ingress

最后,我們可以使用Ingress將我們的服務(wù)暴露給互聯(lián)網(wǎng)。 這里是使用Traefik的一個例子,雖然您可能實際上并不想將Redis暴露給外面的世界,但同樣的方法適用于您自己的應(yīng)用程序。

這一節(jié)配置是告訴Traefik你希望所有名為redis.yourdomain.com的主機(jī)上的流量都轉(zhuǎn)發(fā)到我的服務(wù)端口6379。據(jù)我所知,這只是針對Traefik的配置。 在應(yīng)用配置后,Pod將通過redis.yourdomain.com上的Traefik暴露到互聯(lián)網(wǎng)。

我希望這篇文章對初學(xué)者有用。這篇文章很簡短,因為Kubernetes的基礎(chǔ)很短,但我們設(shè)法涵蓋了如何以最小的麻煩來運行服務(wù)。

現(xiàn)在你應(yīng)該懂Kubernetes是什么了!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • Docker容器固定IP分配詳解

    Docker容器固定IP分配詳解

    本文介紹在centos7 docker環(huán)境下使用pipework腳本對容器分配固定IP。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解在Ubuntu 14.04安裝和使用Docker

    詳解在Ubuntu 14.04安裝和使用Docker

    Docker是一個開源軟件,它可以把一個Linux應(yīng)用和它所依賴的一切(比如配置文件)都封裝到一個容器。本篇文章主要介紹了在Ubuntu 14.04安裝和使用Docker,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • 如何查看docker-compose.yml所在位置

    如何查看docker-compose.yml所在位置

    這篇文章主要介紹了如何查看docker-compose.yml所在位置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker版es、milvus、minio啟動命令詳解

    docker版es、milvus、minio啟動命令詳解

    這篇文章主要介紹了docker版es、milvus、minio啟動命令詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解docker 容器不自動退出結(jié)束運行的方法

    詳解docker 容器不自動退出結(jié)束運行的方法

    本文主要簡單介紹 docker 容器與前置進(jìn)程的關(guān)系,以及如何編寫 Dockerfile/docker-compose.yml 優(yōu)雅的讓容器可以常駐運行。具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 基于Docker部署Tomcat集群、 Nginx負(fù)載均衡的問題小結(jié)

    基于Docker部署Tomcat集群、 Nginx負(fù)載均衡的問題小結(jié)

    這篇文章主要介紹了基于Docker部署 Tomcat集群、 Nginx負(fù)載均衡,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Prometheus 整合 AlertManager的教程詳解

    Prometheus 整合 AlertManager的教程詳解

    Alertmanager 主要用于接收 Prometheus 發(fā)送的告警信息,它很容易做到告警信息的去重,降噪,分組,策略路由,是一款前衛(wèi)的告警通知系統(tǒng)。這篇文章主要介紹了Prometheus 整合 AlertManager的教程 ,需要的朋友可以參考下
    2019-07-07
  • Docker批量容器編排的實現(xiàn)

    Docker批量容器編排的實現(xiàn)

    這篇文章主要介紹了Docker批量容器編排的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • win10中docker部署和運行countly-server的流程

    win10中docker部署和運行countly-server的流程

    這篇文章主要記錄一下windows10中使用docker容器安裝和部署countly-server的整個流程,本文給大家講解的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-11-11
  • Docker快速入門以及環(huán)境配置詳解

    Docker快速入門以及環(huán)境配置詳解

    Docker應(yīng)該算是很熱門的技術(shù)了,之前一直沒怎么真正地去了解、接觸。通過翻譯這篇簡單的教程,我同時也對Dcoker有了入門的了解。Docker確實是跨平臺開發(fā)的利器。有需要的朋友們下面跟著小編一起來看看吧。
    2016-10-10

最新評論