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

Kubernetes架構(gòu)設(shè)計與組件

這篇具有很好參考價值的文章主要介紹了Kubernetes架構(gòu)設(shè)計與組件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Kubernetes簡述

簡介:

  • 一套容器集群管理系統(tǒng)
  • 一個開源平臺
  • 實現(xiàn)容器集群的自動化部署、自動擴縮容、維護等功能

兩個核心角色:

  • Master:Master管理Node
  • Node:Node管理容器

Master

主要負責(zé)整個集群的管理控制。
通常Master會占用一臺獨立的服務(wù)器,基于高可用原因,也有可能是多臺。

組成:

  • kube-apiserver
  • etcd
  • kube-scheduler
  • kube-controller-manager

kube-apiserver

為Kubernetes中各類資源對象提供了增刪改查等HTTP REST接口。
于資源的任何操作,都需要經(jīng)過API Server進程來處理。

訪問API Server進程的3種方式:

  • REST Request的方式
  • 官方提供的客戶端
  • 命令行工具kubectl

etcd

Kubernetes的“數(shù)據(jù)庫”。
一種輕量級的分布式鍵值存儲。
可以在單臺Master服務(wù)器上配置,也可以配置到多臺服務(wù)器。
保存集群中所有的配置和各個對象的狀態(tài)信息

只有API Server進程才能直接訪問和操作etcd。

kube-scheduler

kube-scheduler是Pod資源的調(diào)度器。
監(jiān)聽最近創(chuàng)建但還未分配Node的Pod資源,會為Pod自動分配相應(yīng)的Node。

一個實例的運作原理:

  1. 通過API Server進程的Watch接口監(jiān)聽新建的Pod。
  2. 搜索所有滿足Pod需求的Node列表。
  3. 執(zhí)行Pod調(diào)度邏輯。
  4. 會將Pod綁定到目標Node上。

Pod:Kubernetes的最小可操作單元,一個Pod包含一個或多個容器。

kube-controller-manager

大部分功能是由控制器執(zhí)行的。
為了方便使用和學(xué)習(xí),控制器由多個功能模塊組合到一起,合成一個進程。
這些功能模塊原本應(yīng)該是各個獨立的進程。

功能模塊:

  • Node控制器:Node出現(xiàn)故障時做出響應(yīng)
  • Replication控制器:對系統(tǒng)中的每個ReplicationController對象維護正確數(shù)量的Pod
  • Endpoint控制器:生成和維護所有Endpoint對象的控制器
  • ServiceAccount及Token控制器:為新的命名空間創(chuàng)建默認賬戶和API訪問令牌

Endpoint:用于監(jiān)聽Service和對應(yīng)的Pod副本的變化。

kube-controller-manager所執(zhí)行的各項操作也是基于API Server進程。

Node

Kubernetes集群中的各個工作節(jié)點。
Node由Master管理,提供運行容器所需的各種環(huán)境,對容器進行實際的控制,而這些容器會提供實際的應(yīng)用服務(wù)。

組成:

  • kubelet
  • kube-proxy
  • 容器運行時

kubelet

每個Node上都運行的主要代理進程。
kubelet負責(zé)維護容器的生命周期。
也負責(zé)存儲卷(volume)等資源的管理。
以PodSpec為單位來運行任務(wù)。
kubelet會定期向API Server進程報告自身狀態(tài),API Server進程將狀態(tài)更新到etcd中。

PodSpec是一種描述Pod的YAML或JSON對象。

不是Kubernetes創(chuàng)建的容器將不屬于kubelet的管理范圍。

kube-proxy

主要用于管理Service的訪問入口。

  1. 集群內(nèi)的其他Pod到Service的訪問。
  2. 從集群外訪問Service。

容器運行時

負責(zé)運行容器的軟件。

Kubernetes支持多種運行時,例如:

  • Docker
  • containerd
  • cri-o(Podman 原來是 CRI-O 項目的一部分)
  • rktlet

任何基于Kubernetes CRI(容器運行時接口)的實現(xiàn)都支持

Pod創(chuàng)建時各組件協(xié)作流程

  1. 使用kubectl創(chuàng)建Pod。
  2. kubectl命令將轉(zhuǎn)換為對API Server的調(diào)用。
  3. API Server驗證請求并將其保存到etcd中。
  4. etcd通知API Server新Pod產(chǎn)生。
  5. API Server調(diào)用調(diào)度器。
  6. 調(diào)度器決定在哪個節(jié)點運行Pod,并將其返回給API Server。
  7. API Server將對應(yīng)節(jié)點保存到etcd中。
  8. etcd通知API Server。
  9. API Server在相應(yīng)的節(jié)點中調(diào)用kubelet。
  10. kubelet與容器運行時API發(fā)生交互,與容器守護進程通信以創(chuàng)建容器。
  11. kubelet將Pod狀態(tài)更新到API Server中。
  12. API Server把最新的狀態(tài)保存到etcd中。

Kubernetes的核心對象

雖然底層為容器。
為了屏蔽底層的技術(shù)細節(jié),
Kubernetes抽象出各種對象實例(概念),
用戶操作對象實例,便可以操控容器。

Pod

Kubernetes處理的最基本單元。
容器本身并不會直接分配到主機上,而是會封裝到名為Pod的對象中。

特性:

  • 一個Pod代表單個應(yīng)用程序。
  • 一個Pod由一個或多個關(guān)系緊密的容器構(gòu)成。
  • 一個Pod中的容器擁有同樣的生命周期。
  • 一個Pod中的容器作為一個整體一起編排到Node上。
  • 一個Pod中的容器共享環(huán)境、存儲卷和IP空間。

注意:用戶不應(yīng)自行管理Pod,因為Pod并沒有提供應(yīng)用程序通常會用到的一些特性,如復(fù)雜的生命周期管理及動態(tài)伸縮。

控制器

Pod由控制器來管理。
在控制器中定義Pod的部署方式(如有多少個副本、需要在哪種Node上運行等)。

根據(jù)不同的業(yè)務(wù)場景,Kubernetes提供了多種控制器:

  • ReplicationController和ReplicaSet控制器
  • Deployment控制器
  • StatefulSet控制器
  • DaemonSet控制器
  • Job控制器和CronJob控制器

ReplicationController和ReplicaSet控制器

ReplicationController和ReplicaSet控制器功能類似。

相同功能:

  • 定義Pod模板
  • 保證在集群中部署的Pod數(shù)量與配置中的Pod數(shù)量一致。

ReplicationController更多的功能:

  • 執(zhí)行滾動更新,將一組Pod逐個切換到最新版本。

ReplicaSet更多的功能:

  • Pod識別功能。
  • 副本篩選功能。

都沒有的功能:

  • 更細粒度的生命周期管理功能。

Deployment控制器

基于ReplicaSet控制器。
有部分功能和ReplicationController相似。
最常用的工作負載對象之一。

優(yōu)勢:

  • 增加了更靈活的生命周期管理功能。
  • 管理應(yīng)用程序不同版本之間的切換。
  • 自動維護事件歷史記錄及自動撤銷功能。

Deployment控制器可能是使用頻率最高的對象。

StatefulSet控制器

提供了排序和唯一性保證的特殊Pod控制器。
部署順序、持久數(shù)據(jù)或固定網(wǎng)絡(luò)等相關(guān)的特殊需求時使用。

可以通過Pod轉(zhuǎn)移持久性數(shù)據(jù)卷。即使刪除了Pod,這些卷也依然存在,以防止數(shù)據(jù)意外丟失。

雖然各個Pod的定義是一樣的,但是因為其數(shù)據(jù)的不同,所以提供的服務(wù)是有差異的。

  • 分布式存儲系統(tǒng)。
  • 服務(wù)端會話,不同會話的Pod提供的服務(wù)也不盡相同。

主要用于有狀態(tài)的應(yīng)用(例如,數(shù)據(jù)庫)。

DaemonSet控制器

在集群的各個節(jié)點上運行單一的Pod副本。
非常適合部署那些為節(jié)點本身提供服務(wù)或執(zhí)行維護的Pod。

  • 日志收集和轉(zhuǎn)發(fā)、監(jiān)控
  • 運行以增加節(jié)點本身功能為目的的服務(wù)

用于提供基本服務(wù)的,并且每個節(jié)點都需要。

可以繞過某些用于阻止控制器將Pod分配給某些主機的調(diào)度限制。
例如:原本Master服務(wù)器不可用于常規(guī)的Pod調(diào)度,但DaemonSet控制器可以越過基于Pod的限制,確?;A(chǔ)服務(wù)的運行。

Job控制器和CronJob控制器

Job控制器:

  • 基于特定任務(wù)而運行。
  • 運行任務(wù)的容器完成工作后,Job就會成功退出。
  • 適合執(zhí)行一次性的任務(wù)。

CronJob控制器:

  • 在Job控制器的基礎(chǔ)上增加了時間調(diào)度。
  • 在給定的時間點運行一個任務(wù)。
  • 也可以周期性地在給定時間點運行一個任務(wù)。

服務(wù)與存儲

Service組件和Ingress

Service組件:

  • 內(nèi)部負載均衡器中的一種組件。
  • 將相同功能的Pod在邏輯上組合到一起,讓它們表現(xiàn)得如同一個單一的實體。
  • 通過Service組件可以發(fā)布服務(wù)。
  • 跟蹤并路由到所有指定類型的后端容器。

    當(dāng)需要給另一個應(yīng)用程序或外部用戶提供某些Pod的訪問權(quán)限時,就可以配置一個Service組件。

Ingress:

  • 通過Ingress來整合Service組件。
  • 充當(dāng)多個Service組件的統(tǒng)一入口。
  • 支持將路由規(guī)則合并到單個資源中。

    通過同一域名或IP地址下不同的路徑來訪問不同的Service組件。

存儲卷和持久存儲卷

存儲卷(volume):

  • 允許Pod中的所有容器共享數(shù)據(jù)。
  • 在Pod終止之前一直保持可用。
  • Pod中的容器故障不會影響對共享文件的訪問。
  • Pod終止后,共享的存儲卷會被銷毀。

持久存儲卷(persistent volume):

  • 允許管理員為集群配置存儲資源。
  • 用戶可以為正在運行的Pod請求和聲明存儲資源。
  • 可預(yù)防節(jié)點級的故障。
  • 分配比本地更多的可用存儲空間。

持久存儲卷的Pod一旦使用完畢,存儲卷的回收策略將決定是保留存儲卷(直到手動刪除),還是立即刪除數(shù)據(jù)。

資源劃分

命名空間

對Kubernetes集群資源進行劃分。
實現(xiàn)多租戶的資源隔離。

邏輯劃分

標簽和注解

標簽(label):一種語義化標記。

附加到Kubernetes對象上,對它們進行標記或劃分。
針對不同的實例進行管理或路由,可以用標簽來進行選擇。
每種基于控制器的對象都可以使用標簽來識別需要操作的Pod。
Service組件也可以使用標簽來確定應(yīng)該將請求路由到哪些后端Pod。

每個單元可以擁有多個標簽。
每個單元對于每個鍵只能擁有一個值。

鍵值對形式。標簽的使用更像是對資源進行劃分細類。

注解(annotation)也是一種類似的機制。

將任意鍵值信息附加到某一對象中。
可以包含少量結(jié)構(gòu)化數(shù)據(jù)。

向?qū)ο筇砑痈嘣獢?shù)據(jù)的一種方式,但并不用于篩選。文章來源地址http://www.zghlxwxcb.cn/news/detail-480562.html

到了這里,關(guān)于Kubernetes架構(gòu)設(shè)計與組件的文章就介紹完了。如果您還想了解更多內(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)的核心組件簡介

    Kubernetes(簡稱 K8s)是一個開源的,用于自動化部署、擴展和管理容器化應(yīng)用程序的平臺。在這篇文章中,我們將深入研究 Kubernetes 的核心組件及其功能。 一、Master 組件 1. API Server:Kubernetes 的主要管理組件。所有的管理任務(wù)都是通過 API Server 進行的。它是 Kubernetes 的前端,

    2024年02月15日
    瀏覽(22)
  • Kubernetes架構(gòu)與組件詳解

    Kubernetes是由Google開源的容器編排系統(tǒng),用于自動化部署、擴展和管理容器化應(yīng)用程序的平臺。Kubernetes充分利用了云計算和容器化技術(shù),可以大幅簡化應(yīng)用程序的開發(fā)、部署和運行過程。 Kubernetes的優(yōu)勢主要包括以下幾點: 高可用性 :Kubernetes可以在多個地理位置和云平臺上運

    2024年02月05日
    瀏覽(27)
  • Kubernetes集群架構(gòu)與組件介紹

    Kubernetes集群架構(gòu)與組件介紹

    個人博客 1.kubelet 該組件運行在每個Kubernetes節(jié)點上,用于管理節(jié)點。用來接收、處理、上報kube-apiserver組件下發(fā)的任務(wù)。 主要負責(zé)所在節(jié)點上的Pod資源對象的管理,例如Pod資源對象的創(chuàng)建、修改、監(jiān)控、刪除、驅(qū)逐及Pod生命周期管理等。 kubelet組件會定期監(jiān)控所在節(jié)點的資源

    2024年02月07日
    瀏覽(32)
  • Kubernetes基礎(chǔ)概念及架構(gòu)和組件

    Kubernetes基礎(chǔ)概念及架構(gòu)和組件

    目錄 一、kubernetes簡介 1、kubernetes的介紹與作用 2、為什么要用K8S? 二、kubernetes特性 1、自我修復(fù) 2、彈性伸縮 ?3、服務(wù)發(fā)現(xiàn)和負載均衡 4、自動發(fā)布(滾動發(fā)布/更新)和回滾 5、集中化配置管理和密鑰管理 6、存儲編排 7、任務(wù)批量處理運行 三、kubernetes集群架構(gòu)與核心組件

    2024年02月07日
    瀏覽(27)
  • Kubernetes 架構(gòu)原則和對象設(shè)計

    云計算平臺的分類? 以O(shè)penstack為典型的虛擬化平臺 虛擬機構(gòu)建和業(yè)務(wù)代碼部署分離。 可變的基礎(chǔ)架構(gòu)使后續(xù)維護風(fēng)險變大。 以谷歌borg為典型的基于進程的作業(yè)調(diào)度平臺 技術(shù)的迭代引發(fā)borg的換代需求。 早期的隔離依靠chrootjail實現(xiàn),一些不合理的設(shè)計需要在新產(chǎn)品中改進。

    2024年02月06日
    瀏覽(17)
  • 【解讀Kubernetes架構(gòu)】全面指南,帶你掌握Kubernetes的設(shè)計原理與構(gòu)成!

    【解讀Kubernetes架構(gòu)】全面指南,帶你掌握Kubernetes的設(shè)計原理與構(gòu)成!

    本文關(guān)于 Kubernetes 架構(gòu)的綜合指南旨在通過插圖詳細解釋每個 Kubernetes 組件。 了解 Kubernetes 的架構(gòu)。 掌握 Kubernetes 的基本概念。 了解 Kubernetes 架構(gòu)組件。 探索連接這些組件的工作流。 以下 Kubernetes 架構(gòu)圖顯示了 Kubernetes 集群的所有組件以及外部系統(tǒng)如何連接到 Kubernetes 集

    2024年04月12日
    瀏覽(30)
  • 軟件架構(gòu)設(shè)計(二) 軟件架構(gòu)風(fēng)格其他風(fēng)格簡介

    軟件架構(gòu)設(shè)計(二) 軟件架構(gòu)風(fēng)格其他風(fēng)格簡介

    架構(gòu)師備戰(zhàn)(四)-軟件架構(gòu)設(shè)計(二) 軟件架構(gòu)風(fēng)格其他風(fēng)格簡介 架構(gòu)風(fēng)格其實是很重要的知識,我們先了解了基本的五種架構(gòu)風(fēng)格, 我們之前也提到除了這五種風(fēng)格之外, 還有一些沒有收錄在這幾種風(fēng)格之內(nèi)的, 這次會去做一個探索。 概念 當(dāng)軟件被用來操作一個物理系統(tǒng)時,軟件

    2024年02月10日
    瀏覽(20)
  • 本文將從云原生的概念、背景知識、Kubernetes架構(gòu)及核心組件、應(yīng)用場景、案例研究等方面深入剖析云原生課程的相關(guān)知識點

    作者:禪與計算機程序設(shè)計藝術(shù) 2020年,技術(shù)快速發(fā)展,云計算火爆。云原生領(lǐng)域也隨之蓬勃發(fā)展。云原生已經(jīng)成為大勢所趨,大量企業(yè)都在逐漸轉(zhuǎn)型云原生應(yīng)用架構(gòu)。國內(nèi)外云服務(wù)廠商也紛紛推出基于Kubernetes的服務(wù)平臺,而Kubernetes又是云原生開源技術(shù)體系的一部分。為了幫

    2024年02月07日
    瀏覽(49)
  • 架構(gòu)設(shè)計內(nèi)容分享(一百三十六):Spring AI 項目簡介

    目錄 1、概覽 2、Spring AI 的主要概念 2.1、高級的 Prompt 和 AiResponse 3、Spring AI 入門 4、Spring AI 實踐 4.1、在 Spring Boot 中注入 AiClient 4.2、使用 PromptTemplate 配置查詢 5、Error 處理 6、總結(jié) Spring 通過 Spring AI 項目正式啟用了 AI(人工智能)生成提示功能。本文將帶你了解如何在 Spri

    2024年02月22日
    瀏覽(19)
  • 【微服務(wù)】------架構(gòu)設(shè)計及常用組件

    【微服務(wù)】------架構(gòu)設(shè)計及常用組件

    前言 在當(dāng)今迅猛發(fā)展的軟件開發(fā)領(lǐng)域,微服務(wù)架構(gòu)已經(jīng)成為構(gòu)建靈活、可擴展系統(tǒng)的關(guān)鍵方法之一。本文將帶領(lǐng)讀者深入了解微服務(wù)架構(gòu)的核心思想,并介紹構(gòu)建這一架構(gòu)所需的常用組件,為各位開發(fā)者提供全面的指導(dǎo)和洞察力。 BigDiagram 我們從一張大圖來展示微服務(wù)架構(gòu)的

    2024年04月14日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包