一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深入研究Kubernetes調(diào)度

阿銘linux ? 來(lái)源:K8sMeetup社區(qū) ? 作者:Ron Sobol ? 2021-08-23 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“本文從 Pod 和節(jié)點(diǎn)的配置開(kāi)始,介紹了 Kubernetes Scheduler 框架、擴(kuò)展點(diǎn)、API 以及可能發(fā)生的與資源相關(guān)的瓶頸,并展示了性能調(diào)整設(shè)置,涵蓋了 Kubernetes 中調(diào)度的大多方面。

Kubernetes Scheduler 是 Kubernetes 控制平面的核心組件之一。它在控制平面上運(yùn)行,將 Pod 分配給節(jié)點(diǎn),同時(shí)平衡節(jié)點(diǎn)之間的資源利用率。將 Pod 分配給新節(jié)點(diǎn)后,在該節(jié)點(diǎn)上運(yùn)行的 kubelet 會(huì)在 Kubernetes API 中檢索 Pod 定義,根據(jù)節(jié)點(diǎn)上的 Pod 規(guī)范創(chuàng)建資源和容器。換句話說(shuō),Scheduler 在控制平面內(nèi)運(yùn)行,并將工作負(fù)載分配給 Kubernetes 集群。

本文將對(duì) Kubernetes Scheduler 進(jìn)行深入研究,首先概述一般的調(diào)度以及具有親和力(affinity)和 taint 的驅(qū)逐調(diào)度,然后討論調(diào)度程序的瓶頸以及生產(chǎn)中可能遇到的問(wèn)題,最后研究如何微調(diào)調(diào)度程序的參數(shù)以適合集群。

調(diào)度簡(jiǎn)介

Kubernetes 調(diào)度是將 Pod 分配給集群中匹配節(jié)點(diǎn)的過(guò)程。Scheduler 監(jiān)控新創(chuàng)建的 Pod,并為其分配最佳節(jié)點(diǎn)。它會(huì)根據(jù) Kubernetes 的調(diào)度原則和我們的配置選項(xiàng)選擇最佳節(jié)點(diǎn)。最簡(jiǎn)單的配置選項(xiàng)是直接在 PodSpec 設(shè)置 nodeName:

apiVersion: v1

kind: Pod

metadata:

name: nginx

spec:

containers

- name: nginx

image: nginx

nodeName: node-01

上面的 nginx pod 默認(rèn)情況下將在 node-01 上運(yùn)行,但是 nodeName 有許多限制導(dǎo)致無(wú)法正常運(yùn)行 Pod,例如云中節(jié)點(diǎn)名稱(chēng)未知、資源節(jié)點(diǎn)不足以及節(jié)點(diǎn)網(wǎng)絡(luò)間歇性問(wèn)題等。因此,除了測(cè)試或開(kāi)發(fā)期間,我們最好不使用 nodeName。

如果要在一組特定的節(jié)點(diǎn)上運(yùn)行 Pod,可以使用 nodeSelector。我們?cè)?PodSpec 中將 nodeSelector 定義為一組鍵值對(duì):

apiVersion: v1

kind: Pod

metadata:

name: nginx

spec:

containers:

- name: nginx

image: nginx

nodeSelector:

disktype: ssd

對(duì)于上面的 nginx pod,Kubernetes Scheduler 將找到一個(gè)磁盤(pán)類(lèi)型為 ssd 的節(jié)點(diǎn)。當(dāng)然,該節(jié)點(diǎn)可以具有其他標(biāo)簽。我們可以在 Kubernetes 參考文檔中查看標(biāo)簽的完整列表。

地址:https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/

使用 nodeSelector 有約束 Pod 可以在有特定標(biāo)簽的節(jié)點(diǎn)上運(yùn)行。但它的使用僅受標(biāo)簽及其值限制。Kubernetes 中有兩個(gè)更全面的功能來(lái)表達(dá)更復(fù)雜的調(diào)度需求:節(jié)點(diǎn)親和力(node affinity),標(biāo)記容器以將其吸引到一組節(jié)點(diǎn)上;taint 和 toleration,標(biāo)記節(jié)點(diǎn)以排斥 Pod。這些功能將在下面討論。

節(jié)點(diǎn)親和力

節(jié)點(diǎn)親和力(Node Affinity)是在 Pod 上定義的一組約束,用于確定哪些節(jié)點(diǎn)適合進(jìn)行調(diào)度,即使用親和性規(guī)則為 Pod 的節(jié)點(diǎn)分配定義硬性要求和軟性要求。例如可以將 Pod 配置為僅運(yùn)行帶有 GPU 的節(jié)點(diǎn),并且最好使用 NVIDIA_TESLA_V100 運(yùn)行深度學(xué)習(xí)工作負(fù)載。Scheduler 會(huì)評(píng)估規(guī)則,并在定義的約束內(nèi)找到合適的節(jié)點(diǎn)。與 nodeSelectors 相似,節(jié)點(diǎn)親和性規(guī)則可與節(jié)點(diǎn)標(biāo)簽一起使用,但它比 nodeSelectors 更強(qiáng)大。

我們可以為 podspec 添加四個(gè)相似性規(guī)則:

requiredDuringSchedulingIgnoredDuringExecution

requiredDuringSchedulingRequiredDuringExecution

preferredDuringSchedulingIgnoredDuringExecution

preferredDuringSchedulingRequiredDuringExecution

這四個(gè)規(guī)則由兩個(gè)條件組成:必需或首選條件,以及兩個(gè)階段:計(jì)劃和執(zhí)行。以 required 開(kāi)頭的規(guī)則描述了必須滿足的嚴(yán)格要求。以 preferred 開(kāi)頭的規(guī)則是軟性要求,將強(qiáng)制執(zhí)行但不能保證。調(diào)度階段是指將 Pod 首次分配給節(jié)點(diǎn)。執(zhí)行階段適用于在調(diào)度分配后節(jié)點(diǎn)標(biāo)簽發(fā)生更改的情況。

如果規(guī)則聲明為 IgnoredDuringExecution,Scheduler 在第一次分配后不會(huì)檢查其有效性。但如果使用 RequiredDuringExecution 指定了規(guī)則,Scheduler 會(huì)通過(guò)將容器移至合適的節(jié)點(diǎn)來(lái)確保規(guī)則的有效性。

以下是示例:

apiVersion: v1kind: Pod

metadata:

name: nginx

spec:

affinity:

nodeAffinity:

requiredDuringSchedulingIgnoredDuringExecution:

nodeSelectorTerms

- matchExpressions:

- key: topology.kubernetes.io/region

operator: In

values:

- us-east

preferredDuringSchedulingIgnoredDuringExecution:

- weight: 1

preference:

matchExpressions:

- key: topology.kubernetes.io/zone

operator: In

values:

- us-east-1

- us-east-2

containers:

- name: nginx

image: nginx

上面的 Nginx Pod 具有節(jié)點(diǎn)親和性規(guī)則,該規(guī)則讓 Kubernetes Scheduler 將 Pod 放置在 us-east 的節(jié)點(diǎn)上。第二條規(guī)則指示優(yōu)先使用 us-east-1 或 us-east-2。

使用親和性規(guī)則,我們可以讓 Kubernetes 調(diào)度決策適用于自定義需求。

Taint 與 Toleration

集群中并非所有 Kubernetes 節(jié)點(diǎn)都相同。某些節(jié)點(diǎn)可能具有特殊的硬件,例如 GPU、磁盤(pán)或網(wǎng)絡(luò)功能。同樣,我們可能需要將一些節(jié)點(diǎn)專(zhuān)用于測(cè)試、數(shù)據(jù)保護(hù)或用戶組。我們可以將 Taint 添加到節(jié)點(diǎn)以排斥 Pod,如以下示例所示:

kubectl taint nodes node1 test-environment=true:NoSchedule

使用 test-environment=true:NoScheduletaint 時(shí),除非在 podspec 具有匹配的 toleration,否則 Kubernetes Scheduler 將不會(huì)分配任何 pod:

apiVersion: v1kind: Pod

metadata:

name: nginx

spec:

containers:

- name: nginx

image: nginx

tolerations:

- key: “test-environment”

operator: “Exists”

effect: “NoSchedule”

taint 和 tolerations 共同發(fā)揮作用,讓 Kubernetes Scheduler 專(zhuān)用于某些節(jié)點(diǎn)并分配特定 Pod。

調(diào)度瓶頸

盡管 Kubernetes Scheduler 能選擇最佳節(jié)點(diǎn),但是在 Pod 開(kāi)始運(yùn)行之后,“最佳節(jié)點(diǎn)”可能會(huì)改變。所以從長(zhǎng)遠(yuǎn)來(lái)看,Pod 的資源使用及其節(jié)點(diǎn)分配可能存在問(wèn)題。

資源請(qǐng)求(Request)和限制(Limit):“Noisy Neighbor”

“Noisy Neighbor”并不特定于 Kubernetes。任何多租戶系統(tǒng)都是它們的潛在地。假設(shè)有兩個(gè)容器 A 和 B,它們?cè)谕还?jié)點(diǎn)上運(yùn)行。如果 Pod B 試圖通過(guò)消耗所有 CPU 或內(nèi)存來(lái)創(chuàng)造 noise,Pod A 將出現(xiàn)問(wèn)題。如果我們?yōu)槿萜髟O(shè)置了資源請(qǐng)求和限制就能控制住 neighbor。Kubernetes 將確保為容器安排其請(qǐng)求的資源,并且不會(huì)消耗超出其資源限制的資源。如果在生產(chǎn)中運(yùn)行 Kubernetes,最好設(shè)置資源請(qǐng)求和限制以確保系統(tǒng)可靠。

系統(tǒng)進(jìn)程資源不足

Kubernetes 節(jié)點(diǎn)主要是連接到 Kubernetes 控制平面的虛擬機(jī)。因此,節(jié)點(diǎn)上也有自己的操作系統(tǒng)和相關(guān)進(jìn)程。如果 Kubernetes 工作負(fù)載消耗了所有資源,則這些節(jié)點(diǎn)將無(wú)法運(yùn)行,并會(huì)發(fā)生各種問(wèn)題問(wèn)題。我們需要在 kubelet 中使用 –system -reserved 設(shè)置保留資源,以防止發(fā)生這種情況。

搶占或調(diào)度 Pod

如果 Kubernetes Scheduler 無(wú)法將 Pod 調(diào)度到可用節(jié)點(diǎn),則可以從節(jié)點(diǎn)搶占(preempt)或驅(qū)逐(evict)一些 Pod 以分配資源。如果看到 Pod 在集群中移動(dòng)而沒(méi)有發(fā)現(xiàn)特定原因,可以使用優(yōu)先級(jí)類(lèi)對(duì)其進(jìn)行定義。同樣,如果沒(méi)有調(diào)度好 Pod,并且正在等待其他 Pod,也需要檢查其優(yōu)先級(jí)。

以下是示例:

apiVersion: scheduling.k8s.io/v1kind: PriorityClass

metadata:

name: high-priority-nonpreempting

value: 100000preemptionPolicy: NeverglobalDefault: false

description: “This priority class will not preempt other pods.”

可以通過(guò)以下方式在 podspec 中為分配優(yōu)先級(jí):

apiVersion: v1kind: Pod

metadata:

name: nginx

spec:

containers:

- name: nginx

image: nginx

priorityClassName: high-priority-nonpreempting

調(diào)度框架

Kubernetes Scheduler 具有可插拔的調(diào)度框架架構(gòu),可向框架添加一組新的插件。插件實(shí)現(xiàn) Plugin API,并被編譯到調(diào)度程序中。下面我們將討論調(diào)度框架的工作流、擴(kuò)展點(diǎn)和 Plugin API。

工作流和擴(kuò)展點(diǎn)

調(diào)度 Pod 包括兩個(gè)階段:調(diào)度周期(scheduling cycle)和綁定周期(binding cycle)。在調(diào)度周期中,Scheduler 會(huì)找到一個(gè)可用節(jié)點(diǎn),然后在綁定過(guò)程中,將決策應(yīng)用于集群。

工作流中的以下幾點(diǎn)對(duì)插件擴(kuò)展開(kāi)放:

QueueSort:對(duì)隊(duì)列中的 Pod 進(jìn)行排序

PreFilter:檢查預(yù)處理 Pod 的相關(guān)信息以安排調(diào)度周期

Filter:過(guò)濾不適合該 Pod 的節(jié)點(diǎn)

PostFilter:如果找不到可用于 Pod 的可行節(jié)點(diǎn),調(diào)用該插件

PreScore:運(yùn)行 PreScore 任務(wù)以生成一個(gè)可共享狀態(tài)供 Score 插件使用

Score:通過(guò)調(diào)用每個(gè) Score 插件對(duì)過(guò)濾的節(jié)點(diǎn)進(jìn)行排名

NormalizeScore:合并分?jǐn)?shù)并計(jì)算節(jié)點(diǎn)的最終排名

Reserve:在綁定周期之前選擇保留的節(jié)點(diǎn)

Permit:批準(zhǔn)或拒絕調(diào)度周期結(jié)果

PreBind:執(zhí)行任何先決條件工作,例如配置網(wǎng)絡(luò)卷

Bind:將 Pod 分配給 Kubernetes API 中的節(jié)點(diǎn)

PostBind:通知綁定周期的結(jié)果

插件擴(kuò)展實(shí)現(xiàn)了 Plugin API,是 Kubernetes Scheduler 的一部分。我們可以在 Kubernetes 存儲(chǔ)庫(kù)中檢查。插件應(yīng)使用以下名稱(chēng)進(jìn)行注冊(cè):

// Plugin is the parent type for all the scheduling framework plugins.

type Plugin interface {

Name() string

}

插件還實(shí)現(xiàn)了相關(guān)的擴(kuò)展點(diǎn),如下所示:

// QueueSortPlugin is an interface that must be implemented by “QueueSort” plugins.

// These plugins are used to sort pods in the scheduling queue. Only one queue sort plugin may be enabled at a time.

type QueueSortPlugin interface {

Plugin

// Less are used to sort pods in the scheduling queue.

Less(*QueuedPodInfo, *QueuedPodInfo) bool

}

Scheduler 性能調(diào)整

Kubernetes Scheduler 有一個(gè)工作流來(lái)查找和綁定 Pod 的可行節(jié)點(diǎn)。當(dāng)集群中的節(jié)點(diǎn)數(shù)量非常多時(shí),Scheduler 的工作量將成倍增加。在大型集群中,可能需要很長(zhǎng)時(shí)間才能找到最佳節(jié)點(diǎn),因此要微調(diào)調(diào)度程序的性能,以在延遲和準(zhǔn)確性之間找到折中方案。

percentageOfNodesToScore 將限制節(jié)點(diǎn)的數(shù)量來(lái)計(jì)算自己的分?jǐn)?shù)。默認(rèn)情況下,Kubernetes 在 100 節(jié)點(diǎn)集群的 50% 和 5000 節(jié)點(diǎn)集群的 10% 之間設(shè)置線性閾值。默認(rèn)最小值為 5%,它要確保至少考慮集群中 5% 節(jié)點(diǎn)的調(diào)度。

下面的示例展示了如何通過(guò)性能調(diào)整 kube-scheduler 來(lái)手動(dòng)設(shè)置閾值:

apiVersion: kubescheduler.config.k8s.io/v1alpha1

kind: KubeSchedulerConfiguration

algorithmSource:

provider: DefaultProvider

percentageOfNodesToScore: 50

如果有一個(gè)龐大的集群并且 Kubernetes 工作負(fù)載不能承受 Kubernetes Scheduler 引起的延遲,那么更改百分比是個(gè)好主意。

總結(jié)

本文涵蓋了 Kubernetes 調(diào)度的大多方面,從 Pod 和節(jié)點(diǎn)的配置開(kāi)始,包括 nodeSelector、親和性規(guī)則、taint 和 toleration,然后介紹了 Kubernetes Scheduler 框架、擴(kuò)展點(diǎn)、API 以及可能發(fā)生的與資源相關(guān)的瓶頸,最后展示了性能調(diào)整設(shè)置。盡管 Kubernetes Scheduler 能簡(jiǎn)單地將 Pod 分配給節(jié)點(diǎn),但是了解其動(dòng)態(tài)性并對(duì)其進(jìn)行配置以實(shí)現(xiàn)可靠的生產(chǎn)級(jí) Kubernetes 設(shè)置至關(guān)重要。

原文鏈接:https://thenewstack.io/a-deep-dive-into-kubernetes-scheduling/

作者:Ron Sobol. 翻譯:Bach(才云)

校對(duì):星空下的文仔(才云)、bot(才云)

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    245

    瀏覽量

    9064

原文標(biāo)題:Kubernetes 調(diào)度詳解

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    生產(chǎn)環(huán)境中Kubernetes容器安全的最佳實(shí)踐

    隨著容器化技術(shù)的快速發(fā)展,Kubernetes已成為企業(yè)級(jí)容器編排的首選平臺(tái)。然而,在享受Kubernetes帶來(lái)的便利性和可擴(kuò)展性的同時(shí),安全問(wèn)題也日益凸顯。本文將從運(yùn)維工程師的角度,深入探討生產(chǎn)環(huán)境中
    的頭像 發(fā)表于 07-14 11:09 ?100次閱讀

    你懂不懂DL/T645協(xié)議?看這篇文章,包你懂!

    DL/T645協(xié)議不用深入研究,掌握這些就夠用了。
    的頭像 發(fā)表于 06-12 17:24 ?638次閱讀
    你懂不懂DL/T645協(xié)議?看這篇文章,包你懂!

    詳解Kubernetes中的Pod調(diào)度親和性

    Kubernetes(K8s)中,Pod 調(diào)度親和性(Affinity) 是一種高級(jí)調(diào)度策略,用于控制 Pod 與節(jié)點(diǎn)(Node)或其他 Pod 之間的關(guān)聯(lián)(親和)或反關(guān)聯(lián)(反親和)關(guān)系。通過(guò)親和性規(guī)則,管理員可以更精細(xì)地控
    的頭像 發(fā)表于 06-07 13:56 ?215次閱讀

    Kubernetes Helm入門(mén)指南

    Helm 是 Kubernetes 的包管理工具,它允許開(kāi)發(fā)者和系統(tǒng)管理員通過(guò)定義、打包和部署應(yīng)用程序來(lái)簡(jiǎn)化 Kubernetes 應(yīng)用的管理工作。Helm 的出現(xiàn)是為了解決在 Kubernetes
    的頭像 發(fā)表于 04-30 13:42 ?2265次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門(mén)指南

    直流電機(jī)控制方法的Matlab仿真研究

    針對(duì)無(wú)刷直流電機(jī)的控制方法進(jìn)行了深入研究 。根據(jù)無(wú)刷直流電機(jī)實(shí)際物理模型建立相應(yīng)的數(shù)學(xué)模型,電機(jī)使用雙閉環(huán)進(jìn)行控制 。根據(jù)電機(jī)的實(shí)際工作特點(diǎn),使用模糊自適應(yīng) PID 算法替代常規(guī) PID 算法建立
    發(fā)表于 03-27 12:15

    Kubernetes中部署MySQL集群

    一般情況下 Kubernetes 可以通過(guò) ReplicaSet 以一個(gè) Pod 模板創(chuàng)建多個(gè) pod 副本,但是它們都是無(wú)狀態(tài)的,任何時(shí)候它們都可以被一個(gè)全新的 pod 替換。
    的頭像 發(fā)表于 03-18 16:22 ?282次閱讀
    <b class='flag-5'>Kubernetes</b>中部署MySQL集群

    Kubernetes包管理工具Helm的安裝和使用

    Helm 可以幫助我們管理 Kubernetes 應(yīng)用程序 - Helm Charts 可以定義、安裝和升級(jí)復(fù)雜的 Kubernetes 應(yīng)用程序,Charts 包很容易創(chuàng)建、版本管理、分享和分布。
    的頭像 發(fā)表于 03-13 16:06 ?910次閱讀

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發(fā)表于 02-17 14:06 ?493次閱讀
    <b class='flag-5'>Kubernetes</b> Pod常用管理命令詳解

    電容器深入研究:電路保護(hù)、濾波和能量存儲(chǔ)

    校參加了一些課程,并獲得了一些關(guān)于何時(shí)使用電容器以及它們?nèi)绾喂ぷ鞯恼鎸?shí)示例。從電路保護(hù)到濾波,從能量存儲(chǔ)到傳感,我正在深入研究簡(jiǎn)單而復(fù)雜的電容器世界。 這些東西是如何運(yùn)作的? 事實(shí)上,構(gòu)成電容器的只是由絕緣體隔開(kāi)的兩個(gè)導(dǎo)體。
    的頭像 發(fā)表于 01-25 15:13 ?553次閱讀
    電容器<b class='flag-5'>深入研究</b>:電路保護(hù)、濾波和能量存儲(chǔ)

    Kubernetes:構(gòu)建高效的容器化應(yīng)用平臺(tái)

    Kubernetes 作為容器編排的事實(shí)標(biāo)準(zhǔn),在容器化應(yīng)用部署中發(fā)揮著關(guān)鍵作用。 搭建 Kubernetes 集群是應(yīng)用的基礎(chǔ)??梢允褂胟ubeadm工具快速搭建。在主節(jié)點(diǎn)執(zhí)行kubeadm
    的頭像 發(fā)表于 01-23 15:22 ?317次閱讀

    對(duì)于電力系統(tǒng)中新能源電動(dòng)車(chē)充電樁布局與調(diào)度優(yōu)化方法的研究

    本文針對(duì)電動(dòng)車(chē)充電樁在電力系統(tǒng)布局及調(diào)度方面進(jìn)行深入研究,借鑒地理信息系統(tǒng)與電網(wǎng)模型,綜合考量電力供應(yīng)的能力,大眾對(duì)電動(dòng)車(chē)出行需求,以及充電設(shè)備的安全,多因多目標(biāo)優(yōu)化模型誕生。有效地確定充電樁的*優(yōu)布局方案。
    的頭像 發(fā)表于 12-12 08:39 ?923次閱讀
    對(duì)于電力系統(tǒng)中新能源電動(dòng)車(chē)充電樁布局與<b class='flag-5'>調(diào)度</b>優(yōu)化方法的<b class='flag-5'>研究</b>

    基于量子計(jì)算技術(shù)的AGV調(diào)度問(wèn)題研究

    由于自動(dòng)化和智能化的普及,AGV(自動(dòng)導(dǎo)引車(chē))調(diào)度問(wèn)題在物流、運(yùn)輸和生產(chǎn)領(lǐng)域有著廣泛的應(yīng)用。 隨著AGV數(shù)量的增加,經(jīng)典計(jì)算方法難以滿足大規(guī)模調(diào)度的需求,而玻色量子自研的相干光量子計(jì)算技術(shù)具有強(qiáng)大
    的頭像 發(fā)表于 11-11 09:36 ?847次閱讀
    基于量子計(jì)算技術(shù)的AGV<b class='flag-5'>調(diào)度</b>問(wèn)題<b class='flag-5'>研究</b>

    構(gòu)建語(yǔ)音控制機(jī)器人 - 深入研究電路

    2024-07-29 |Annabel Ng S1XT33N項(xiàng)目 正如[之前的博客文章]中提到的,加州大學(xué)伯克利分校的 EECS 16B 課程重點(diǎn)關(guān)注構(gòu)建名為 S1XT33N 的語(yǔ)音控制機(jī)器人的為期一個(gè)學(xué)期的項(xiàng)目。然而,這個(gè)機(jī)器人并不是你在初中或高中時(shí)建造的標(biāo)準(zhǔn)機(jī)器人汽車(chē)。我和我的實(shí)驗(yàn)室伙伴只獲得了基本的兩輪機(jī)器人組件,包括輪子、電機(jī)、底盤(pán)、Arduino Leonardo、電池和面包板,我們必須自己構(gòu)建和連接其他所有組件。如果您有興趣了解有關(guān)該課程的更多信息,請(qǐng)?jiān)L問(wèn)課程網(wǎng)站[https://www.eec
    的頭像 發(fā)表于 10-02 16:40 ?650次閱讀
    構(gòu)建語(yǔ)音控制機(jī)器人 - <b class='flag-5'>深入研究</b>電路

    深入探討Linux的進(jìn)程調(diào)度

    Linux操作系統(tǒng)作為一個(gè)開(kāi)源且廣泛應(yīng)用的操作系統(tǒng),其內(nèi)核設(shè)計(jì)包含了許多核心功能,而進(jìn)程調(diào)度器(Scheduler)就是其中一個(gè)至關(guān)重要的模塊。進(jìn)程調(diào)度器負(fù)責(zé)決定在任何給定的時(shí)刻哪個(gè)進(jìn)程可以運(yùn)行
    的頭像 發(fā)表于 08-13 13:36 ?1282次閱讀
    <b class='flag-5'>深入</b>探討Linux的進(jìn)程<b class='flag-5'>調(diào)度</b>器

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團(tuán)隊(duì)(被 VMWare 收購(gòu))開(kāi)源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?640次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群