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

K8S自動化運(yùn)維容器Docker集群方式

 更新時間:2025年07月10日 17:22:45   作者:哇咔z  
Kubernetes(K8S)是容器編排系統(tǒng),提供自動化運(yùn)維、彈性伸縮、服務(wù)發(fā)現(xiàn)及負(fù)載均衡等功能,采用主從架構(gòu)管理集群資源,核心組件包括API?Server、Controller?Manager、Kubelet等,支持Pod、Service、Namespace等關(guān)鍵概念

一.k8s概述

1.k8s是什么

(1)K8S全程為Kubernetes,由于K到S直接有8個字母簡稱為K8S。

(2)版本:目前一般是1.18~1.2.0,后續(xù)可能會到1.24-1.26,1.24版本后丟棄了docker(如需要使用需要第三方插件配合),目前最新版本是1.27

(3)官網(wǎng):https://kubernetes.io

2.為什么要用K8S

(1)試想下傳統(tǒng)的后端部署辦法:把程序包(包括可執(zhí)行二進(jìn)制文件、配置文件等)放到服務(wù)器上,接著運(yùn)行啟動腳本把程序跑起來,同時啟動守護(hù)腳本定期檢查程序運(yùn)行狀態(tài)、必要的話重新拉起程序。

(2)設(shè)想一下,如果服務(wù)的請求量上來,已部署的服務(wù)響應(yīng)不過來怎么辦?傳統(tǒng)的做法往往是,如果請求量、內(nèi)存、CPu超過閾值做了告警,運(yùn)維人員馬上再加幾臺服務(wù)器,部署好服務(wù)之后,接入負(fù)載均衡來分擔(dān)已有服務(wù)的壓力。

(3)這樣問題就出現(xiàn)了:從監(jiān)控告警到部署服務(wù),中間需要人力介入!那么,有沒有辦法自動完成服務(wù)的部署、更新、卸載和擴(kuò)容、縮容呢,而這就是K8S要做的事情:自動化運(yùn)維管理容器化(Docker) 程序。

(4)解決了docker的以下個問題

  • 單機(jī)使用,無法有效集群
  • 隨著容器數(shù)量的上升,管理成本攀升
  • 沒有有效的容災(zāi)、自愈機(jī)制
  • 沒有預(yù)設(shè)編排模板,無法實現(xiàn)快速、大規(guī)模容器調(diào)度
  • 沒有統(tǒng)一的配置管理中心工具
  • 沒有容器生命周期的管理工具
  • 沒有圖形化運(yùn)維管理工具

總:大量訪問請求訪問不用加機(jī)器即可解決大量訪問請求,降低成本;并且可以多臺建立集群,會將掛的容器剔除前創(chuàng)建新的容器;多個快速部署。

3.作用及功能

(1)作用:用于自動部署、擴(kuò)展、管理編排容器化應(yīng)用程序。

(2)功能:容器編排、資源調(diào)度、彈性伸縮、部署管理、服務(wù)發(fā)現(xiàn)等。

4.k8s容器集群管理系統(tǒng)

在Docker等容器技術(shù)的基礎(chǔ)上,為容器化的應(yīng)用提供部署運(yùn)行、資源調(diào)度、服務(wù)發(fā)現(xiàn)和動態(tài)伸縮等一系列完整功能,提高了大規(guī)模容器集群管理的便捷性其主要功能如下:

  • 使用 Docker等容器技術(shù)對應(yīng)用程序包裝 (package)實例化 (instantiate) 、運(yùn)行 (run)。
  • 以集群的方式運(yùn)行、管理跨機(jī)器的容器。
  • 解決 Docker 跨機(jī)器容器之間的通訊問題。
  • K8S 的自我修復(fù)機(jī)制使得容器集群總是運(yùn)行在用戶期望的狀態(tài)。

二.K8S的特性

1.彈性伸縮

使用命令、UI或者基于CPU使用情況自動快速擴(kuò)容和縮容應(yīng)用程序?qū)嵗WC應(yīng)用高并發(fā)時的高可用和業(yè)務(wù)低峰時回收資源,以最小成本運(yùn)行服務(wù)。

總:根據(jù)具體設(shè)置的機(jī)器數(shù)量,自動擴(kuò)大或縮小(等業(yè)務(wù)結(jié)束)

2.自我修復(fù)

在節(jié)點故障時重新啟動失敗的容器、替換和重新部署,保證預(yù)期的副本數(shù)量,殺死健康檢查失敗的容器,并在未準(zhǔn)備好之前不會處理客戶端請求,確保線上服務(wù)不中斷。

總:如果其中一臺容器掛掉了,k8s會自動生成一模一樣的容器,根據(jù)前面必須會有的副本數(shù)量,得恢復(fù)正常的固定幾臺

3.服務(wù)發(fā)現(xiàn)和復(fù)制均衡

為多容器提供同一的訪問入口(內(nèi)部ip地址和一個dns名稱),并且負(fù)載均衡關(guān)聯(lián)所有容器,用戶無需考慮容器ip問題

總:新創(chuàng)建的話是根據(jù)標(biāo)簽創(chuàng)建的,不會根據(jù)IP地址,因為創(chuàng)建的會不一樣

4.自動發(fā)布和回滾

默認(rèn)是滾動發(fā)布模式(其他二種發(fā)布模式,藍(lán)綠發(fā)布、灰度發(fā)布)。采用滾動更新策略更新應(yīng)用,一次更新一個Pod而不是同時刪除所有Pod如果更新過程中有問題可以回滾更改確保業(yè)務(wù)升級不受影響

總:一次更新一個Pod而不是同時刪除所有Pod如果更新過程中有問題可以回滾更改確保業(yè)務(wù)升級不受影響

5.集中化配置管理和秘鑰管理

管理機(jī)密數(shù)據(jù)和應(yīng)用程序配置,而不是把敏感數(shù)據(jù)暴露在鏡像中,提高敏感數(shù)據(jù)安全性、可以將一些常用的配置存儲在k8s中,方便應(yīng)用程序使用

6.存儲編排

支持外掛存儲并對外掛存儲進(jìn)行編排,掛載外部存儲系統(tǒng),無論是來自本地存儲,公有云還是網(wǎng)絡(luò)存儲(NFS、ceph、GlusterFS)都作為集群資源的一部分使用,極大提高存儲使用靈活性

7.任務(wù)批量處理運(yùn)行

提供一次性任務(wù),定時任務(wù);滿足批量數(shù)據(jù)處理和分析的場景

三.K8S的集群架構(gòu)

1、K8S是屬于主從設(shè)備模型(master-slave架構(gòu)),master負(fù)責(zé)集群的調(diào)度管理和運(yùn)維,slave節(jié)點是集群中運(yùn)算工作負(fù)載節(jié)點,企業(yè)中一般最少2臺master,多數(shù)為3臺作為負(fù)載。

2、主節(jié)點成為master節(jié)點,從節(jié)點成為worker node節(jié)點。每個node都會被master分配任務(wù)。

3、master可以在任何集群中的計算機(jī)上運(yùn)行,建議給master一臺獨(dú)立的服務(wù)器防止master出問題所有控制命令都將實現(xiàn),worker node節(jié)點宕機(jī)該機(jī)器上的任務(wù)會被自動轉(zhuǎn)移其他節(jié)點繼續(xù)運(yùn)行。

四.K8S的核心組件

1.Master組件

(1)Kube-apiserver

統(tǒng)一請求入口服務(wù)組件,所有資源請求或者調(diào)用都通過Kube-apiserver入口提供的接口進(jìn)行,以Http Restful API 提供接口服務(wù),所有對資源的增刪改查和監(jiān)聽都交給APIserver處理,然后再交給ETCD存儲(鍵值對存儲方式,相當(dāng)于分布式數(shù)據(jù)庫)。APIserver負(fù)責(zé)接受所有請求(uI和CLI),然后根據(jù)用戶具體請求通知其他組件干活,APIserver相當(dāng)于K8S的大腦。

總:集群統(tǒng)一入口,以restful方式交給etcd存儲(k8s內(nèi)所有的日志存儲),根據(jù)用戶請求,通知其他組件干活

(2)Kube-controller-manager

運(yùn)行管理控制器由各種控制器組成,處理常規(guī)任務(wù)的后臺線程,所有資源對象的自動化控制中心。在K8S中一個資源對應(yīng)一個控制器,controller-manager負(fù)責(zé)管理這些控制器,通過API server監(jiān)控整個集群的狀態(tài),確保集群處于預(yù)期的工作狀態(tài),當(dāng)某個node意外宕機(jī),controlle-manager會及時發(fā)現(xiàn)并自動化修復(fù),確保集群處于預(yù)期的工作狀態(tài)。

總:處理集群中常規(guī)的后臺任務(wù),一個資源對應(yīng)一個控制器處理后臺集群任務(wù)

控制器控制名稱控制器作用
Node Controller節(jié)點控制器負(fù)責(zé)在節(jié)點出現(xiàn)故障時發(fā)送和響應(yīng)
Replication Controller副本控制器負(fù)責(zé)保證集群中一個RC即資源對象所關(guān)聯(lián)的Pod副本數(shù)據(jù)始終保持預(yù)期值
Endpoints Controller端點控制器填充端點對象(service和Pods),負(fù)責(zé)監(jiān)聽service和對應(yīng)的Pod副本的變化,服務(wù)暴露出來的訪問點,如果需要訪問一個服務(wù)必須知道他都Endpoints
Service Account & Tocken Controller服務(wù)賬戶和令牌控制器為新的命名空間創(chuàng)建默認(rèn)賬戶和API訪問令牌
ResourceQuota Controller資源配額控制器確保指定的資源對象在任何時候都不會超量占用系統(tǒng)物理資源
Namespace Controller命名空間控制器管理namespace的生命周期
Service Controller服務(wù)器控制器屬于K8S集群與外部云平臺之間的一個接口控制器

(3)Kube-scheduler

負(fù)責(zé)資源調(diào)度的進(jìn)程,根據(jù)調(diào)度算法(62種算法)為新創(chuàng)建的Pod選擇一個合適的Node節(jié)點

可以理解成K8s所有Node節(jié)點的調(diào)度器,當(dāng)用戶要部署服務(wù)時,Scheduler會根據(jù)調(diào)度算法選擇最合適的Node節(jié)點來部署Pod。

預(yù)選策略(predicate):首選過濾掉資源不滿足的node

優(yōu)選策略(priorities):預(yù)選后的滿足的節(jié)點進(jìn)行打分排名選擇最優(yōu)的node

總:負(fù)責(zé)調(diào)度pod,通過預(yù)先策略,優(yōu)先策略選擇合適的node

2.配置存儲中心etcd

etcd:K8s的存儲服務(wù),是分布式鍵值存儲系統(tǒng),最少三臺最優(yōu)為8G內(nèi)存。

存儲了K8S的關(guān)鍵配置和用戶配置并且持久化保存,K8s中僅有API server才具有讀寫權(quán)限,其他組件必須通過API server的接口才能讀寫數(shù)據(jù)。

端口為2379和2380,2379用于對外客戶的提供通信,2380用于對集群服務(wù)器間內(nèi)部的通信。

總:

  • 分布式鍵值對數(shù)據(jù)庫,負(fù)責(zé)存儲k8s集群的重要信息(持久化)
  • etcd的大小最好是8G

3.Node組件

(1)Kubelet

Node節(jié)點的監(jiān)視器,以及與Master節(jié)點的通訊器。Kubelet是Master節(jié)點安插在Node節(jié)點的眼線,會定時向API server匯報自己Node節(jié)點上運(yùn)行服務(wù)的狀態(tài),并接受來自Master節(jié)點的指示采取調(diào)整措施(例如創(chuàng)建Pod)。

從Master節(jié)點獲取自己節(jié)點上Pod的期望狀態(tài)(例如運(yùn)行什么容器、運(yùn)行的副本數(shù)量、網(wǎng)絡(luò)等),直接與容器引擎交互實現(xiàn)容器的聲明周期管理,如果自己節(jié)點上的Pod狀態(tài)與期望狀態(tài)不一致調(diào)用對應(yīng)容器的接口達(dá)到預(yù)期狀態(tài)

管理鏡像和容器的清理工作,保證節(jié)點上鏡像不會占滿磁盤,退出的容器不會占用太多的資源

總:跟API server通信匯報當(dāng)前,node節(jié)點的資源使用情況和狀態(tài),接受API server指令跟容器引擎交互實現(xiàn)容器的生命周期管理

(2)Kube-Proxy

每個節(jié)點上實現(xiàn)Pod網(wǎng)絡(luò)代理,是K8S Service 資源的載體,負(fù)責(zé)維護(hù)網(wǎng)絡(luò)規(guī)則和四層負(fù)載均衡工作,負(fù)責(zé)寫入規(guī)則至iptables、ipvs等實現(xiàn)服務(wù)映射訪問的。

本身不是直接給Pod提供網(wǎng)絡(luò),Pod的網(wǎng)絡(luò)是由Kubelet提供的,實際上維護(hù)的是虛擬的Pod集群網(wǎng)絡(luò)

Kube-apiserver通過監(jiān)控Kube-Proxy 進(jìn)行對Kubernetes Service的更新和端點的維護(hù)。

在K8S集群中微服務(wù)的負(fù)載均衡是由Kube-proxy實現(xiàn)的。Kube-proxy是K8S集群內(nèi)部的負(fù)載均衡器。它是一個分布式代理服務(wù)器,在K8S的每個節(jié)點上都會運(yùn)行一個Kube-proxy 組件。

總:在node節(jié)點實現(xiàn)pod網(wǎng)絡(luò)代理,維護(hù)網(wǎng)絡(luò)規(guī)則和4層負(fù)載均衡工作,負(fù)責(zé)寫入規(guī)則到iptables或ipvs實現(xiàn)服務(wù)的映射訪問

(3)docker或rocker

容器引擎,運(yùn)行容器,負(fù)責(zé)本機(jī)的容器創(chuàng)建和管理工作

總:負(fù)責(zé)本機(jī)的容器,創(chuàng)建和管工作

4.K8S三種負(fù)載均衡模式

(1)userspace

(2)iptables——默認(rèn)使用(利用的nat默認(rèn)但不常用、從上往下,慢)

(3)ipvs——此模式更快,所有安裝是需要更改為此模式。內(nèi)核運(yùn)行更快,性能更好。(推薦,性能最好、通過VIP地址直接轉(zhuǎn)發(fā)到后端相應(yīng)的資源),實現(xiàn)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)

5.K8S的架構(gòu)及工作流程

(1)運(yùn)維人員操作Kubectl命令向API server發(fā)送任務(wù)請求,先到Auth進(jìn)行鑒權(quán)認(rèn)證,然后進(jìn)到API Server中,API Server存儲操作到Etcd

(2)然后API Server根據(jù)Etcd中用戶執(zhí)行的操作調(diào)用 controller manager對應(yīng)的控制器進(jìn)行操作,例如創(chuàng)建

(3)controller manager通過調(diào)用創(chuàng)建控制器到API Server創(chuàng)建replication副本,APIserver將操作存到Etcd中,API Server再調(diào)用Scheduler進(jìn)行算法選擇為Pod選擇最合適的節(jié)點創(chuàng)建,Scheduler需要通過API Server在node節(jié)點上的Kubelet進(jìn)行預(yù)選策略和優(yōu)選策略選擇最優(yōu)的node節(jié)點APIserver將動作保存到Etcd中

(4)Scheduler選擇完節(jié)點后通過APIserver的Kubelet在對應(yīng)的node節(jié)點上創(chuàng)建Pod,并通知對應(yīng)node節(jié)點的doker在Pod中創(chuàng)建容器

(5)容器需要對外提供服務(wù)時,通過node節(jié)點的Kube-Proxy代理對外映射端口信息,Kube-proxy進(jìn)來后通過service負(fù)載均衡器分發(fā)到容器上,訪問容器是根據(jù)Label標(biāo)簽訪問的。

運(yùn)維人員使用kubectl命令發(fā)送任務(wù)請求到API Server,經(jīng)過鑒權(quán)認(rèn)證。

  • API Server將任務(wù)請求存儲到Etcd中。
  • Controller Manager根據(jù)請求調(diào)用相應(yīng)控制器進(jìn)行操作,如創(chuàng)建副本集。
  • Scheduler選擇合適的節(jié)點,并通過API Server的Kubelet在節(jié)點上創(chuàng)建Pod。
  • Kube-Proxy代理對外映射端口信息,實現(xiàn)負(fù)載均衡。

通過Label標(biāo)簽訪問容器。

6.K8S的核心概念

包含:Pod、Label、Service、Replication、Controller。等

(1)Pod

是K8s創(chuàng)建或者部署的最小/最簡單的基本單位,一個Pod代表集群上正在運(yùn)行的一個進(jìn)程,Pod里面可以放很多容器。一個Pod由一個或多個容器組成,Pod中的容器共享網(wǎng)絡(luò)、存儲和計算資源在同一臺Docker主機(jī)上運(yùn)行,一個Pod可以運(yùn)行多個容器,又稱為邊車模式(sidecar)。生產(chǎn)中一般一個Pod就一個容器或者是有多個強(qiáng)關(guān)聯(lián)性互補(bǔ)的容器

同一個Pod直接的容器可以通過localhost互相訪問,并且可以掛載Pod內(nèi)所有數(shù)據(jù)卷。不同Pod之間的容器不能用localhost訪問,也不能掛載Pod內(nèi)所有數(shù)據(jù)卷。

(2)Pod控制器

  • Pod控制器是啟動Pod的一種模板,用來保證在K8S里啟動Pod應(yīng)始終按照用戶的預(yù)期運(yùn)行(副本數(shù)、生命周期((是否存活)、健康狀態(tài)檢查)
  • k8s內(nèi)提供了眾多的pod控制器,常用的有以下幾種①Deployment:無狀態(tài)應(yīng)用部署即無論誰來訪問都是一樣的例如http網(wǎng)頁

有狀態(tài)協(xié)議:需要持久化

有狀態(tài)的協(xié)議可以安裝的服務(wù)例如:mysql,但一般建議不安裝到k8s中,效率會慢,數(shù)據(jù)量大,可以放在云上

無狀態(tài)協(xié)議:一次性的不需要持久化,每一次請求都是一條新的數(shù)據(jù)

無狀態(tài)的協(xié)議可以安裝的服務(wù)例如:nginx

②Replicaset:受控于Deployment,確保預(yù)期的Pod副本數(shù)量,Replicaset的通就是管理和控制Pod管理他們好好工作,若發(fā)現(xiàn)某個Pod不行了就找個新的Pod來做替換。

控制副本數(shù)量,保證一直是固定的數(shù)量

③Daemonset:確保所有節(jié)點運(yùn)行同一類Pod,保證每個節(jié)點上都有一一個此類Pod運(yùn)行,通常用于實現(xiàn)系統(tǒng)級后臺任務(wù)。

Daemonset可以安裝的服務(wù)例如:zabbix、filebeat,適用于監(jiān)控和日志收集

④Statefulset:有狀態(tài)應(yīng)用部署

可以安裝mysql數(shù)據(jù)庫,但一般建議不安裝到k8s中,效率會慢,數(shù)據(jù)量大,可以放在云上

⑤Job:一次性任務(wù)。根據(jù)用戶的設(shè)置,Job 管理的Pod把任務(wù)成功完成就自動退出了。

⑥Cronjob:周期性計劃性任務(wù)

總:k8s跑無狀態(tài),微服務(wù)以及其他中間件比較多

7.Label標(biāo)簽

(1)標(biāo)簽是K8s特色的管理方式便于分類管理資源對象

(2)label可以附加到各種資源對象上,例如:node、Pod、service、Rc等,用于關(guān)聯(lián)對象、查詢和篩選

(3)一個label是一個key-value的鍵值對,key-value都由用戶自定義

(4)一個資源對象可以定義任意數(shù)量的label,同一個label也可以被添加到任意數(shù)量的資源對象中,也可以在對象創(chuàng)建后動態(tài)添加或者刪除

(5)可以通過給指定的資源對象捆綁一個或多個不通的label,實現(xiàn)多維度的資源分組管理功能

8.Label選擇器(Label selector)

(1)給某個資源對象定義一個Label,就相當(dāng)于給他打開了一個標(biāo)簽,隨后可以通過標(biāo)簽選擇器(Labelselector)查詢和篩選擁有某些Label的資源對象。

(2)標(biāo)簽選擇器目前有兩種:基于等值關(guān)系(等于、不等于)和基于集合關(guān)系(屬于、不屬于、存在。

9.Service

(1)概念 K8S集群中每個Pod會被分配一個單獨(dú)的ip地址,但是由于Pod是有生命周期的(可以被創(chuàng)建而且銷毀后不會再重啟),隨時可能會因為業(yè)務(wù)ip的變更,導(dǎo)致這個ip地址會隨著Pod的銷毀而消失

(2)Service就是用來解決這個問題的核心概念:

Service:

  • 通過標(biāo)簽選擇器關(guān)聯(lián)具有對應(yīng)Lable的Pod,再把相關(guān)的Pod
  • IP加入自己的Endpoints當(dāng)中,service根據(jù)Endpoints里的Ip進(jìn)行轉(zhuǎn)發(fā)

不是服務(wù)的含義,更像是一個網(wǎng)關(guān)層、流量均衡器、Service作用于那些Pod由標(biāo)簽選擇器來定義。

service可以看作一組提供相同服務(wù)的Pod的對外訪問接口,客戶端需要訪問的服務(wù)就是Service的對象,每個Service都有一個虛擬的ip,會自動向后端做轉(zhuǎn)發(fā)。

(3)負(fù)載均衡功能:自動把請求流量分配到后端所有的服務(wù)上,可以對客戶端透明的做水平擴(kuò)展,實現(xiàn)此功能的關(guān)鍵是Kube-proxy,Kubeproxy運(yùn)行在每個節(jié)點上監(jiān)聽APIserver中服務(wù)對象的變化,

三種流量調(diào)度模式:userspace、iptables(利用的nat默認(rèn)但不常用、從上往下,慢)、ipvs(推薦,性能最好、通過VIP地址直接轉(zhuǎn)發(fā)到后端),實現(xiàn)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)

Service是K8s服務(wù)的核心,屏蔽了服務(wù)細(xì)節(jié),統(tǒng)一了對外暴露服務(wù)接口,真正做到了微服務(wù)。用戶只需要關(guān)注一個Service入口即可,不需要關(guān)注具體請求那個Pod。用戶不會感知因為Pod上服務(wù)的意外崩潰K8S重新拉起Pod而導(dǎo)致的ip變更,也不會感知到因服務(wù)升級、服務(wù)變更等帶來的Pod替換而導(dǎo)致的IP變化。

10.Ingress

service負(fù)責(zé)K8s集群內(nèi)部的網(wǎng)絡(luò)拓?fù)?四層)、Ingress 是 K8S 集群里工作在 OSI 網(wǎng)絡(luò)參考模型下,第7層的應(yīng)用,對外暴露的接口,典型的訪問方式是 http/httpsService 只能進(jìn)行第四層的流量調(diào)度,表現(xiàn)形式是 otpot。Tnores 則可以調(diào)度不同業(yè)各域、不同uRL訪問路徑的業(yè)條流量比如: 客戶端請求 http://www.kqc.com;port——Ingress——Service—— Pod (nginx )

11.name

由于 K8S 內(nèi)部,使用“資源”來定義每一種邏輯概念(功能),所以每種資源”,都應(yīng)該有自己的“名稱”。"資源”有 api 版木 (apiversion)、類別 (kind)、元數(shù)據(jù)(metadata)、定義清單(spec)、狀態(tài)(status)等配置信息。

"名稱”通常定義在“資源”的“元數(shù)據(jù)”信息里。在同一個 namespace 空間中必須是唯一的。

12.Namespace

隨著項日增多、人員增加、集群規(guī)模的擴(kuò)大,需要一種能夠邏輯上隔離 K8S 內(nèi)各種“資源”的方法,這就是 amespace.

Namespace 是為了把一個 K8S 集群劃分為若干個資源不可共享的虛擬集群組而誕生的。

不同 Namespace 內(nèi)的“資源”名稱可以相同,相同 Naespace 內(nèi)的同種“資源”,"名稱”不能相同。

合理的使用 K8S 的 amespace,可以使得集群管理員能夠更好的對交付到 K8S 里的服務(wù)進(jìn)行分類管理和瀏覽.

K8s 里默認(rèn)存在的 Namespace 有: default、kube-system、kube-public 等。

查詢 K8S 里特定“資源” 要帶上相應(yīng)的 Namnespace。

1.控制器大類總結(jié)

(1)節(jié)點控制器

(2)副本控制器

(3) 端點控制器

(4)服務(wù)賬戶和令牌控制器

(5)資源配額控制制器

(6)命令空間控制器

(7)服務(wù)控制器

2.控制器有五大類

(1)標(biāo)簽選擇器 label

  • 給某個資源對象定義一個名稱(標(biāo)簽) 相當(dāng)于給資源打一個標(biāo)簽,能夠讓service找到相應(yīng)資源

(2)service

  • 四層, 通過四層cluster IP 轉(zhuǎn)發(fā)(通過標(biāo)簽進(jìn)行轉(zhuǎn)發(fā))給 pod 資源
  • 調(diào)度方式有三種:usersapce、iptables (默認(rèn))、ipvs (推薦 性能好)來實現(xiàn)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)
  • endpoint:自動發(fā)現(xiàn)這些pod IPservice 再把IP地址加入到配置當(dāng)中進(jìn)行動態(tài)轉(zhuǎn)發(fā)。
  • 是通過標(biāo)簽選擇器關(guān)聯(lián)具有對有l(wèi)abel的pod。再把相關(guān)pod的IP加入到自己的endpoints當(dāng)中,service再根據(jù)endpoints里的IP進(jìn)行轉(zhuǎn)發(fā)

(3)ingress

  • 通過七層轉(zhuǎn)發(fā)給 四層的service IP + port
  • 根據(jù)業(yè)務(wù)對應(yīng)cluster IP

(4)name

  • 是定義 資源 一種邏輯概念 (功能) k8s內(nèi)部
  • 資源有哪些:api 版本、kind 類別、metadata 元數(shù)據(jù)信息、spec 清單、status 狀態(tài)

(5)namespace

  • 命名空間 k8s 集群劃分為若干個資源不可共享的虛擬集群組而誕生的

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程

    Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程

    這篇文章主要為大家介紹了Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • k8s多節(jié)點master部署過程

    k8s多節(jié)點master部署過程

    這篇文章主要介紹了k8s多節(jié)點master部署過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 某集團(tuán)任意文件下載到虛擬主機(jī)getshell的方法

    某集團(tuán)任意文件下載到虛擬主機(jī)getshell的方法

    這篇文章主要介紹了某集團(tuán)任意文件下載到虛擬主機(jī)getshell的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-01-01
  • K8s中的臨時容器Ephemeral?Containers使用

    K8s中的臨時容器Ephemeral?Containers使用

    這篇文章主要介紹了K8s中的臨時容器Ephemeral?Containers使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • k8s強(qiáng)制刪除一個Pod的詳細(xì)步驟

    k8s強(qiáng)制刪除一個Pod的詳細(xì)步驟

    有時候遇到node宕機(jī)或者失聯(lián)太久導(dǎo)致pod一直處于Terminating狀態(tài),kubectl?delete又刪不掉,其實這個pod已經(jīng)確定已經(jīng)死了,需要強(qiáng)制把他摘掉,這篇文章主要給大家介紹了關(guān)于k8s強(qiáng)制刪除一個Pod的詳細(xì)步驟,需要的朋友可以參考下
    2024-11-11
  • k8s編排之Deployment知識點詳解

    k8s編排之Deployment知識點詳解

    這篇文章主要為大家介紹了k8s編排之Deployment知識點詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • K8S部署Kafka界面管理工具(kafkamanager)方法詳解

    K8S部署Kafka界面管理工具(kafkamanager)方法詳解

    這篇文章主要介紹了K8S部署Kafka界面管理工具(kafkamanager)方法詳解,需要的朋友可以參考下
    2022-01-01
  • K8s-helm簡介及基本概念詳解

    K8s-helm簡介及基本概念詳解

    ?Helm?使用的包格式稱為?chart,它是一個描述?Kubernetes?相關(guān)資源對象的文件集合,這篇文章主要介紹了K8s-helm簡介及基本概念,需要的朋友可以參考下
    2022-07-07
  • ragflow?k8s部署過程圖文詳解

    ragflow?k8s部署過程圖文詳解

    這篇文章主要介紹了ragflow?k8s部署詳細(xì)過程,本文將使用ragflow-0.18.0,來進(jìn)行演示詳細(xì)部署過程,需要的朋友可以參考下
    2025-04-04
  • Kubernetes?Ingress實現(xiàn)細(xì)粒度IP訪問控制

    Kubernetes?Ingress實現(xiàn)細(xì)粒度IP訪問控制

    這篇文章主要為大家介紹了Kubernetes?Ingress實現(xiàn)細(xì)粒度IP訪問控制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04

最新評論