国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

kubernetes(k8s)——使用教程

這篇具有很好參考價值的文章主要介紹了kubernetes(k8s)——使用教程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、重要概念

1.1 基礎(chǔ)

1、為了保證k8s的穩(wěn)定,和其他的應(yīng)用一樣,我們會搭建k8s集群。
2、k8s集群管理我們發(fā)布的容器。
3、k8s是通過pod管理容器的:將共享一些資源和端口的容器放到同一個pod中,然后負責(zé)pod的創(chuàng)建和部署。
4、k8s部署pod的方式:選擇一個node(就是節(jié)點,也可以理解為主機),將pod部署上去。
5、k8s將node進行分類,一類的在同一個service中

1.2 補充

  1. k8s集群
    為了保證k8s的運行正常,一般會搭建k8s集群
  2. deployment
    在集群中,需要搭建deployment,用來創(chuàng)建和管理pod
  3. pod
    創(chuàng)建或部署的最小/最簡單的基本單位。
    pod可以有多個容器(容器就是我們部署的,一般用docker作為容器),他們常會共享一些資源和端口空間。
    同時,pod是有生命周期的。當(dāng)一個工作節(jié)點(Node)銷毀時,節(jié)點上運行的Pod也會銷毀,然后通過ReplicationController動態(tài)創(chuàng)建新的Pods來保持應(yīng)用的運行。
  4. node
    node可以是虛擬機、物理機。pod創(chuàng)建后,會被部署到不同的node上面。

二、組件

本文介紹了Kubernetes集群所需的各種二進制組件。

2.1 Master 組件

Master組件提供集群的管理控制中心。

Master組件可以在集群中任何節(jié)點上運行。但是為了簡單起見,通常在一臺VM/機器上啟動所有Master組件,并且不會在此VM/機器上運行用戶容器。請參考 構(gòu)建高可用群集以來構(gòu)建multi-master-VM。

kube-apiserver

kube-apiserver用于暴露Kubernetes API。任何的資源請求/調(diào)用操作都是通過kube-apiserver提供的接口進行。請參閱構(gòu)建高可用群集。

ETCD

etcd是Kubernetes提供默認的存儲系統(tǒng),保存所有集群數(shù)據(jù),使用時需要為etcd數(shù)據(jù)提供備份計劃。

kube-controller-manager

kube-controller-manager運行管理控制器,它們是集群中處理常規(guī)任務(wù)的后臺線程。邏輯上,每個控制器是一個單獨的進程,但為了降低復(fù)雜性,它們都被編譯成單個二進制文件,并在單個進程中運行。

這些控制器包括:

  1. 節(jié)點(Node)控制器。
  2. 副本(Replication)控制器:負責(zé)維護系統(tǒng)中每個副本中的pod。
  3. 端點(Endpoints)控制器:填充Endpoints對象(即連接Services&Pods)。
  4. Service Account和Token控制器:為新的Namespace 創(chuàng)建默認帳戶訪問API Token。
  5. cloud-controller-manager
    云控制器管理器負責(zé)與底層云提供商的平臺交互。云控制器管理器是Kubernetes版本1.6中引入的,目前還是Alpha的功能。

云控制器管理器僅運行云提供商特定的(controller loops)控制器循環(huán)??梢酝ㄟ^將—cloud-provider flag設(shè)置為external啟動kube-controller-manager ,來禁用控制器循環(huán)。

cloud-controller-manager 具體功能:

節(jié)點(Node)控制器
路由(Route)控制器
Service控制器
卷(Volume)控制器
kube-scheduler
kube-scheduler 監(jiān)視新創(chuàng)建沒有分配到Node的Pod,為Pod選擇一個Node。

插件 addons
插件(addon)是實現(xiàn)集群pod和Services功能的 。Pod由Deployments,ReplicationController等進行管理。Namespace 插件對象是在kube-system Namespace中創(chuàng)建。

DNS

雖然不嚴格要求使用插件,但Kubernetes集群都應(yīng)該具有集群 DNS。

群集 DNS是一個DNS服務(wù)器,能夠為 Kubernetes services提供 DNS記錄。

由Kubernetes啟動的容器自動將這個DNS服務(wù)器包含在他們的DNS searches中。

用戶界面

kube-ui提供集群狀態(tài)基礎(chǔ)信息查看。更多詳細信息,請參閱使用HTTP代理訪問Kubernetes API

容器資源監(jiān)測

容器資源監(jiān)控提供一個UI瀏覽監(jiān)控數(shù)據(jù)。

Cluster-level Logging

Cluster-level logging,負責(zé)保存容器日志,搜索/查看日志。

2.2 節(jié)點(Node)組件

節(jié)點組件運行在Node,提供Kubernetes運行時環(huán)境,以及維護Pod。

kubelet

kubelet是主要的節(jié)點代理,它會監(jiān)視已分配給節(jié)點的pod,具體功能:

安裝Pod所需的volume。
下載Pod的Secrets。
Pod中運行的 docker(或experimentally,rkt)容器。
定期執(zhí)行容器健康檢查。
Reports the status of the pod back to the rest of the system, by creating a mirror pod if necessary.
Reports the status of the node back to the rest of the system.

kube-proxy

kube-proxy通過在主機上維護網(wǎng)絡(luò)規(guī)則并執(zhí)行連接轉(zhuǎn)發(fā)來實現(xiàn)Kubernetes服務(wù)抽象。

docker

docker用于運行容器。

RKT

rkt運行容器,作為docker工具的替代方案。

supervisord

supervisord是一個輕量級的監(jiān)控系統(tǒng),用于保障kubelet和docker運行。

fluentd

fluentd是一個守護進程,可提供cluster-level logging.。

三、pod詳解

Kubernetes中的Pod使用可分兩種主要方式:

  1. Pod中運行一個容器?!皁ne-container-per-Pod”模式是Kubernetes最常見的用法; 在這種情況下,你可以將Pod視為單個封裝的容器,但是Kubernetes是直接管理Pod而不是容器。
  2. Pods中運行多個需要一起工作的容器。Pod可以封裝緊密耦合的應(yīng)用,它們需要由多個容器組成,它們之間能夠共享資源,這些容器可以形成一個單一的內(nèi)部service單位 - 一個容器共享文件,另一個“sidecar”容器來更新這些文件。Pod將這些容器的存儲資源作為一個實體來管理。
    請注意,在單個Pod中共同管理多個容器是一個相對高級的用法,應(yīng)該只有在容器緊密耦合的特殊實例中使用此模式。

網(wǎng)絡(luò)

每個Pod被分配一個獨立的IP地址,Pod中的每個容器共享網(wǎng)絡(luò)命名空間,包括IP地址和網(wǎng)絡(luò)端口。Pod內(nèi)的容器可以使用localhost相互通信。當(dāng)Pod中的容器與Pod 外部通信時,他們必須協(xié)調(diào)如何使用共享網(wǎng)絡(luò)資源(如端口)。

存儲

Pod可以指定一組共享存儲volumes。Pod中的所有容器都可以訪問共享volumes,允許這些容器共享數(shù)據(jù)。volumes 還用于Pod中的數(shù)據(jù)持久化,以防其中一個容器需要重新啟動而丟失數(shù)據(jù)。有關(guān)Kubernetes如何在Pod中實現(xiàn)共享存儲的更多信息,請參考Volumes。

使用Pod

你很少會直接在kubernetes中創(chuàng)建單個Pod。因為Pod的生命周期是短暫的,用后即焚的實體。當(dāng)Pod被創(chuàng)建后(不論是由你直接創(chuàng)建還是被其他Controller),都會被Kuberentes調(diào)度到集群的Node上。直到Pod的進程終止、被刪掉、因為缺少資源而被驅(qū)逐、或者Node故障之前這個Pod都會一直保持在那個Node上。

注意:重啟Pod中的容器跟重啟Pod不是一回事。Pod只提供容器的運行環(huán)境并保持容器的運行狀態(tài),重啟容器不會造成Pod重啟。
Pod不會自愈。如果Pod運行的Node故障,或者是調(diào)度器本身故障,這個Pod就會被刪除。同樣的,如果Pod所在Node缺少資源或者Pod處于維護狀態(tài),Pod也會被驅(qū)逐。Kubernetes使用更高級的稱為Controller的抽象層,來管理Pod實例。雖然可以直接使用Pod,但是在Kubernetes中通常是使用Controller來管理Pod的。

Pod和Controller

Controller可以創(chuàng)建和管理多個Pod,提供副本管理、滾動升級和集群級別的自愈能力。例如,如果一個Node故障,Controller就能自動將該節(jié)點上的Pod調(diào)度到其他健康的Node上。

包含一個或者多個Pod的Controller示例:

Deployment
StatefulSet
DaemonSet
通常,Controller會用你提供的Pod Template來創(chuàng)建相應(yīng)的Pod。

Pod模板

Pod模板是包含了其他對象(如Replication Controllers,Jobs和 DaemonSets)中的pod定義 。Controllers控制器使用Pod模板來創(chuàng)建實際需要的pod。

pod模板類似cookie cutters?!耙坏╋灨杀磺械簦灨珊偷秾]有關(guān)系”。隨后對模板的后續(xù)更改甚至切換到新模板對已創(chuàng)建的pod并沒有任何的影響。

四、deployment詳解

Deployment為Pod和Replica Set(升級版的 Replication Controller)提供聲明式更新。

你只需要在 Deployment 中描述您想要的目標狀態(tài)是什么,Deployment controller 就會幫您將 Pod 和ReplicaSet 的實際狀態(tài)改變到您的目標狀態(tài)。您可以定義一個全新的 Deployment 來創(chuàng)建 ReplicaSet 或者刪除已有的 Deployment 并創(chuàng)建一個新的來替換。

注意:您不該手動管理由 Deployment 創(chuàng)建的 Replica Set,否則您就篡越了 Deployment controller 的職責(zé)!下文羅列了 Deployment 對象中已經(jīng)覆蓋了所有的用例。如果未有覆蓋您所有需要的用例,請直接在 Kubernetes 的代碼庫中提 issue。

典型的用例如下:

  1. 使用Deployment來創(chuàng)建ReplicaSet。ReplicaSet在后臺創(chuàng)建pod。檢查啟動狀態(tài),看它是成功還是失敗。
  2. 然后,通過更新Deployment的PodTemplateSpec字段來聲明Pod的新狀態(tài)。這會創(chuàng)建一個新的ReplicaSet,Deployment會按照控制的速率將pod從舊的ReplicaSet移動到新的ReplicaSet中。
  3. 如果當(dāng)前狀態(tài)不穩(wěn)定,回滾到之前的Deployment revision。每次回滾都會更新Deployment的revision。
  4. 擴容Deployment以滿足更高的負載。
  5. 暫停Deployment來應(yīng)用PodTemplateSpec的多個修復(fù),然后恢復(fù)上線。
  6. 根據(jù)Deployment 的狀態(tài)判斷上線是否hang住了。
  7. 清除舊的不必要的 ReplicaSet。

四、Deployments詳解

Deployment為Pod和Replica Set(升級版的 Replication Controller)提供聲明式更新。

你只需要在 Deployment 中描述您想要的目標狀態(tài)是什么,Deployment controller 就會幫您將 Pod 和ReplicaSet 的實際狀態(tài)改變到您的目標狀態(tài)。您可以定義一個全新的 Deployment 來創(chuàng)建 ReplicaSet 或者刪除已有的 Deployment 并創(chuàng)建一個新的來替換。

注意:您不該手動管理由 Deployment 創(chuàng)建的 Replica Set,否則您就篡越了 Deployment controller 的職責(zé)!下文羅列了 Deployment 對象中已經(jīng)覆蓋了所有的用例。如果未有覆蓋您所有需要的用例,請直接在 Kubernetes 的代碼庫中提 issue。

典型的用例如下:

使用Deployment來創(chuàng)建ReplicaSet。ReplicaSet在后臺創(chuàng)建pod。檢查啟動狀態(tài),看它是成功還是失敗。
然后,通過更新Deployment的PodTemplateSpec字段來聲明Pod的新狀態(tài)。這會創(chuàng)建一個新的ReplicaSet,Deployment會按照控制的速率將pod從舊的ReplicaSet移動到新的ReplicaSet中。
如果當(dāng)前狀態(tài)不穩(wěn)定,回滾到之前的Deployment revision。每次回滾都會更新Deployment的revision。
擴容Deployment以滿足更高的負載。
暫停Deployment來應(yīng)用PodTemplateSpec的多個修復(fù),然后恢復(fù)上線。
根據(jù)Deployment 的狀態(tài)判斷上線是否hang住了。
清除舊的不必要的 ReplicaSet。文章來源地址http://www.zghlxwxcb.cn/news/detail-443961.html

到了這里,關(guān)于kubernetes(k8s)——使用教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • kubernetes(k8s)——使用教程

    1、為了保證k8s的穩(wěn)定,和其他的應(yīng)用一樣,我們會搭建k8s集群。 2、k8s集群管理我們發(fā)布的容器。 3、k8s是通過pod管理容器的:將共享一些資源和端口的容器放到同一個pod中,然后負責(zé)pod的創(chuàng)建和部署。 4、k8s部署pod的方式:選擇一個node(就是節(jié)點,也可以理解為主機),將

    2024年02月04日
    瀏覽(27)
  • Kubernetes(k8s)概念介紹

    Kubernetes(k8s)概念介紹

    K8s是一個開源的用于管理云平臺中多個主機上的容器化的應(yīng)用,k8s的目標是讓部署容器化的應(yīng)用簡單并且高效,k8s提供了應(yīng)用部署,規(guī)劃,更新,維護的一種機制。k8s是google在2014年開源的容器化集群部署管理系統(tǒng),使用k8s可以進行容器化應(yīng)用部署,它有利于應(yīng)用擴展,k8s目標

    2024年02月15日
    瀏覽(91)
  • 【云原生 ? Kubernetes】認識 k8s、k8s 架構(gòu)、核心概念點介紹

    【云原生 ? Kubernetes】認識 k8s、k8s 架構(gòu)、核心概念點介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構(gòu) 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務(wù) service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結(jié) Kubernetes 簡稱 k8s,是支持云原生部署的一個平臺,起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(859)
  • kubernetes(k8s)大白學(xué)習(xí)02:容器和docker基礎(chǔ)、使用、架構(gòu)學(xué)習(xí)

    kubernetes(k8s)大白學(xué)習(xí)02:容器和docker基礎(chǔ)、使用、架構(gòu)學(xué)習(xí)

    簡單說:容器(container)就是計算機上的一個沙盒進程,它與計算機上的所有其它進程相隔離。 這種隔離是怎么做到的呢?它利用了內(nèi)核提供的 namespace 和 cgroup 這 2 種技術(shù)。這些技術(shù)能力在 Linux 中已經(jīng)存在了很長時間。而 Docker 或容器技術(shù)致力于將這些功能更易于使用和更

    2024年02月07日
    瀏覽(45)
  • Kubernetes[k8s] 最新版1.27.3安裝教程,使用containerd模式

    公司使用的是交老的k8s版本(1.16),由于老版本的K8s對于現(xiàn)在很多新特性不支持,所以需要升級到新版本。目前2023年7月11日最新版本的k8s是v1.27.3。通過參考官方文檔進行k8s部署工作。其中涉及到操作系統(tǒng)配置、防火墻配置、私有鏡像倉庫等。 推薦一個AI工具:態(tài)靈AI: chata

    2024年02月09日
    瀏覽(20)
  • Kubernetes(K8s)從入門到精通系列之五:K8s的基本概念和術(shù)語之應(yīng)用類

    Service: Service指的是無狀態(tài)服務(wù),通常多個程序副本提供服務(wù),在特殊情況下也可以是有狀態(tài)的單實例服務(wù),比如MySQL這種數(shù)據(jù)存儲類的服務(wù)。 K8s里的Service具有一個全局唯一的虛擬ClusterIP地址,客戶端可以通過這個虛擬IP地址+服務(wù)的端口直接訪問該服務(wù),再通過部署K8s集群的

    2024年02月14日
    瀏覽(92)
  • Kubernetes(K8s)從入門到精通系列之四:K8s的基本概念和術(shù)語之集群類

    集群表示一個由Master和Node組成的K8s集群。 Master指的是集群的控制節(jié)點。 在每個K8s集群都需要有一個或一組被稱為Master的節(jié)點,來負責(zé)整個集群的管理和控制。 Master通常占據(jù)一個獨立的服務(wù)器(在高可用部署中建議至少使用3臺服務(wù)器),是整個集群的大腦。 在Master上運行以下

    2024年02月15日
    瀏覽(27)
  • Kubernetes(K8s)從入門到精通系列之七:K8s的基本概念和術(shù)語之安全類

    開發(fā)的Pod應(yīng)用需要通過API Server查詢、創(chuàng)建及管理其他相關(guān)資源對象,所以這類用戶才是K8s的關(guān)鍵用戶。K8s設(shè)計了Service Account這個特殊的資源對象,代表Pod應(yīng)用的賬號,為Pod提供必要的身份驗證。在此基礎(chǔ)上,K8s實現(xiàn)和完善了基于角色的訪問控制權(quán)限系統(tǒng)——RBAC(Role-Based Acce

    2024年02月15日
    瀏覽(92)
  • Kubernetes(K8s)從入門到精通系列之三:K8s的基本概念和術(shù)語之資源對象概述

    K8s中的基本概念和術(shù)語大多是圍繞資源對象(Resource Object)來說的,而資源對象在總體上可分為以下兩類: 某種資源的對象,例如節(jié)點(Node)、Pod、服務(wù)(Service)、存儲卷(Volume)。 與資源對象相關(guān)的事物與動作,例如標簽(Label)、注解(Annotation)、命名空間(Namespace)、部署(Deployment)、

    2024年02月14日
    瀏覽(110)
  • Kubernetes[k8s] 最新版1.27.3 - 1.28.0安裝教程,使用containerd模式

    公司使用的是交老的k8s版本(1.16),由于老版本的K8s對于現(xiàn)在很多新特性不支持,所以需要升級到新版本。目前2023年7月11日最新版本的k8s是v1.27.3。通過參考官方文檔進行k8s部署工作。其中涉及到操作系統(tǒng)配置、防火墻配置、私有鏡像倉庫等。 推薦一個AI工具:態(tài)靈AI: chata

    2024年02月06日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包