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

Kubernetes 系列:了解 k8s 架構(一)

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

Kubernetes 概述

當下,我們很多項目于都在Cloud Native(云原生)的上面,這種方法旨在使組織能夠確??捎眯圆⒖焖夙憫瓦m應變化,云原生其實就是一組本質(zhì)上支持在不同云環(huán)境(公共云、私有云或混合云)上大規(guī)模構建、運行和管理應用程序的實踐和技術。

云原生離不開兩個概念:容器微服務,這兩個概念是任何云原生應用程序的構建塊:

  • 微服務是小型、獨立的服務(軟件)的集合,可以在容器中輕松打包和執(zhí)行。
  • 容器基于容器鏡像, 容器是一個標準的軟件單元,它打包代碼及其所有依賴項,無論基礎設施如何, 都允許應用程序快速可靠地運行
  • 容器鏡像是一個輕量級的、獨立的、可執(zhí)行的軟件包,其中包含運行應用程序所需的一切,容器鏡像在運行時成為容器

使用微服務架構是確保應用程序速度、敏捷性、增長和可用性的基礎,因此,它改善了用戶體驗。

例如,隨著網(wǎng)絡流量的增加或減少,放置在單體專用服務器上的整體應用程序比一組微服務更難擴展和縮減。

然而,微服務架構的快速采用導致生產(chǎn)環(huán)境中容器數(shù)量的增加,這使得容器的管理和維護變得非常困難。并且,如果服務的請求量上來,已部署的服務響應不過來的時候怎么辦呢?傳統(tǒng)的做法是,如果請求量、內(nèi)存、CPU超過閾值做了告警,運維馬上再加幾臺服務器,部署好服務之后,接入負載均衡來分擔已有服務的壓力。這樣從監(jiān)控告警到部署服務,中間需要人力介入。 因此,Kubernetes 的誕生就是為了解決這個問題。k8s實現(xiàn)自動完成服務的部署、更新、卸載和擴容、縮容等功能

Kubernetes(也稱為 K8s)是一個開源平臺,旨在自動化容器化應用程序的配置、管理、可擴展性和可用性。(或者簡單地說,它是一個編排工具)

Kubernetes 最初是一個名為 Borg 的 Google 內(nèi)部項目。 然后它被交給開源社區(qū),現(xiàn)在由云原生計算基金會(CNCF)維護。

架構

從上圖可以看到:

Kubernetes 集群由Control Plane和工作節(jié)點(Worker Node)組成。

Worker Nodes

Worker Node負責托管稱為 Pod 的 k8s 對象。而Pod是k8s對象的最小單位。它在其中運行一個容器化應用程序。
所有 k8s 節(jié)點都運行三個主要代理:

  • Container Runtime: 在節(jié)點上運行容器, 負責從注冊表加載容器鏡像、監(jiān)視容器資源、將容器彼此隔離以及管理容器生命周期(即 docker)
  • kube-proxy: 它通過監(jiān)視兩個主要的 k8s 對象:ServicesEndpoints 來維護 k8s 節(jié)點上的網(wǎng)絡規(guī)則。這些網(wǎng)絡規(guī)則允許 Pods 在 k8s 集群內(nèi)部或外部可訪問
  • kubelet:一個 systemd 進程。它接收 PodSpecAPI 調(diào)用并與Container Runtime通信,以確保遵守 PodSpec。

PodSpec: 是描述 Pod 的文件,它的文件格式可以是 YAMLJSON 格式。每次更改后,會由 kube-controller-manager 通過 kube-apiserver 發(fā)送到 Kubelet 代理,以便 Kubelet 可以執(zhí)行必要的更新以實現(xiàn)當前狀態(tài)和所需狀態(tài)之間的匹配。它還會發(fā)送到 kube-scheduler 以決定在哪個節(jié)點上運行 pod。

Control Plane Node

Control Plane由與Worker Node相同的代理加上幾個其他代理組成。大多數(shù)進程在容器內(nèi)執(zhí)行,其中一些是 systemd 進程。他們負責確保集群的當前狀態(tài)與所需狀態(tài)匹配

  • kube-apiserver: apiserver k8s 集群的單一入口,它主要負責根據(jù)用戶的具體請求,去通知其他組件
    從架構圖可以看出k8s各個代理之間不直接通信。 數(shù)據(jù)通過kube-apiserver在代理之間傳遞。因此,kube-apiserver是 k8s 集群的單個入口,處理所有內(nèi)部和外部的 k8s 流量(API 調(diào)用)。

apiserver調(diào)用時會為每個 API 調(diào)用執(zhí)行身份驗證(authentication)、授權(authorization)和admission control。

authentication:當客戶端提供有效的 TLS 證書時建立(有效的 TLS 證書是由集群的 CA 簽名并受apiserver信任的證書)
authorization:通過RBAC,指定客戶端是否可以對某些 k8s 對象執(zhí)行CRUD 操作
admission controlCRUD operation: 如果客戶端對 k8s對象執(zhí)行的操作合法,則成立。例如,當集群有一個 ResourceQuota 對象將命名空間 dev 中可以創(chuàng)建的 pod 數(shù)量限制為 2 時。如果用戶嘗試創(chuàng)建 第3個 pod,則其請求將被拒絕

  • kube-controller-manager:由一組稱為控制器的 k8s 對象組成
    在 k8s 中,Controller負責監(jiān)控和調(diào)整在Worker Node上部署的服務的狀態(tài),比如用戶要求A服務部署2個副本,當其中一個服務掛了,Controller會馬上調(diào)整,讓Scheduler再選擇一個Worker Node重新部署服務。
  • cloud-controller-manager: 這是一個可選組件,僅在云上創(chuàng)建 Kubernetes 集群時才需要。該組件將 Kubernetes 集群鏈接到云提供商
  • kube-scheduler: K8S 所有Worker Node的調(diào)度器。當用戶要部署服務時,Scheduler會選擇最合適的Worker Node(服務器)來部署
  • etcd: K8S的存儲服務。etcd存儲了K8S的關鍵配置和用戶配置,K8S中僅API Server才具備讀寫權限,其他組件必須通過API Server的接口才能讀寫數(shù)據(jù)

最好是始終確保有 etcd 數(shù)據(jù)的備份

總結

好了,到這里就簡單的說明了k8s內(nèi)部的一些組件作用和他的一個主要架構,總的來說k8sMaster Node具備:請求入口管理(API Server),Worker Node調(diào)度(Scheduler),監(jiān)控和自動調(diào)節(jié)(Controller Manager),以及存儲功能(etcd);而Worker Node具備:狀態(tài)和監(jiān)控收集(Kubelet),網(wǎng)絡和負載均衡(Kube-Proxy)、保障容器化運行環(huán)境(Container Runtime)

下一篇我們介紹k8s里面一些重要的概念:PodVolume,Container,Deployment 和 ReplicaSet以及Service和Ingress等。

轉載:風向閱讀 - Kubernetes 系列:了解 k8s 架構(一)文章來源地址http://www.zghlxwxcb.cn/news/detail-499843.html

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

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

領支付寶紅包贊助服務器費用

相關文章

  • 【K8s】K8s是什么,一文帶你了解kubernetes

    【K8s】K8s是什么,一文帶你了解kubernetes

    作者簡介: 辭七七,目前大二,正在學習C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄: 七七的閑談 歡迎大家點贊 ?? 收藏 ? 加關注哦!???? kubernetes,簡稱K8s,是用8代替名字中間的8個字符“ubernete”而成的縮寫。是一個開源的,用于管理云平臺中多個主

    2024年02月03日
    瀏覽(90)
  • 四、Kubernetes(K8S):kubectl概述、安裝、設置

    四、Kubernetes(K8S):kubectl概述、安裝、設置

    目錄 概述 安裝與配置kubectl 語法 命令 對象 規(guī)則結構 命令選項 資源類型 輸出選項 格式化輸出 自定義列 排序列表對象 常用操作示例 kubectl 是Kubernetes命令行工具。它允許用戶與Kubernetes集群進行交互,并管理Kubernetes對象,如Pod、Service、Deployment等。kubectl可以在命令行界面中

    2024年02月12日
    瀏覽(84)
  • 4、Kubernetes 架構、理解 k8s 架構

    4、Kubernetes 架構、理解 k8s 架構

    kubeadm 用于初始化 Cluster。 kubectl 是 Kubernetes 命令行工具。通過 kubectl 可以部署和管理應用,查看各種資源,創(chuàng)建、刪除和更新各種組件。 kubelet 運行在 Cluster 所有節(jié)點上,負責啟動 Pod 和容器。 Kubernetes Cluster 由 Master 和 Node 組成,節(jié)點上運行著若干 Kubernetes 服務。 通過 kub

    2024年02月16日
    瀏覽(21)
  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架構、Master節(jié)點 Node節(jié)點 K8S架構圖

    【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架構、Master節(jié)點 Node節(jié)點 K8S架構圖

    一、docker的問世 ????????在LXC(Linux container)Linux容器虛擬技術出現(xiàn)之前,業(yè)界網(wǎng)紅是虛擬機。虛擬機技術的代表,是VMWare和OpenStack。 虛擬機是什么? ????????虛擬機其實就是 在你的操作系統(tǒng)里面,裝一個軟件,然后通過這個軟件,再模擬一臺甚至多臺“子電腦”出來。

    2024年03月26日
    瀏覽(36)
  • 【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

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

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

    2024年02月03日
    瀏覽(859)
  • Kubernetes(k8s) 架構原理一文詳解

    目錄 一、k8s?概述 1.什么是k8s? 2.特性 3.主要功能 三、集群架構與組件 1.Master 組件 (1)Kube-apiserver (2)Kube-controller-manager (3)Kube-scheduler 2.配置存儲中心 3.Node 組件 (1)Kubelet (2)Kube-Proxy (3)docker 或 rocket 四、k8s的工作流程 五、k8s的資源對象 1.Pod 2.Pod 控制器 2.Label 3

    2024年02月09日
    瀏覽(31)
  • 華為云arm架構安裝k8s(kubernetes)

    先安裝Docker 華為云arm架構安裝Docker 設置主機名稱 配置k8s的yum源 arm64的源 配置iptables 安裝kubelet,kubeadm,kubectl 啟動kubelet并設置開機啟動服務 初始化k8s集群Master –apiserver-advertise-address=192.168.0.5 為Master的IP –image-repository registry.aliyuncs.com/google_containers 指定鏡像倉庫,如果不指定默

    2024年02月09日
    瀏覽(18)
  • 簡單易學的Kubernetes(k8s):架構和源碼解讀

    簡單易學的Kubernetes(k8s):架構和源碼解讀

    1▲?點擊上方\\\"DevOps和k8s全棧技術\\\"關注公眾號 Kubernetes(K8s)為云原生應用提供了強大的管理和編排能力。本文將深入探討Kubernetes的架構,解剖其核心組件,以幫助讀者更好地理解這個復雜而強大的系統(tǒng)。 第一部分: K8S基本概念和架構介紹 1. Kubernetes基本概念 Pods: 是Kubern

    2024年04月28日
    瀏覽(19)
  • 深入了解Kubernetes(k8s):安裝、使用和Java部署指南(持續(xù)更新中)

    深入了解Kubernetes(k8s):安裝、使用和Java部署指南(持續(xù)更新中)

    Docker和Kubernetes是兩個不同的概念和技術,它們在容器化應用和容器編排方面有著不同的功能和作用。 Docker: Docker是一個開源的容器化平臺,用于構建、打包和運行應用程序。通過使用Docker,你可以將應用程序及其依賴項打包到一個獨立的輕量級容器中,使其可以在不同的環(huán)

    2024年02月10日
    瀏覽(25)
  • 從零開始學習K8s系列——Kubernetes指南

    作者:禪與計算機程序設計藝術 Kubernetes(簡稱k8s)是一個開源的,用于自動部署、擴展和管理容器化的應用的平臺。它主要提供四大功能,包括: 服務發(fā)現(xiàn)和負載均衡 :Kubernetes集群中的服務能夠自動地尋找其他運行著的服務并進行負載均衡。 存儲編排 :Kubernetes允許用戶

    2024年02月06日
    瀏覽(50)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包