溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

yarn和k8s混合部署初步方案是怎樣的

發(fā)布時(shí)間:2021-12-16 09:53:51 來(lái)源:億速云 閱讀:371 作者:柒染 欄目:云計(jì)算

yarn和k8s混合部署初步方案是怎樣的,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

版本

yarn 2.6.0
k8s v1.15.2

背景

隨著k8s的越來(lái)越火熱以及k8s的可擴(kuò)展以及自修復(fù)優(yōu)勢(shì),k8s勢(shì)必是互聯(lián)網(wǎng)的優(yōu)勢(shì),但是很大一部分公司的資源管理工具依舊是yarn,而且yarn和k8s也必然并行很久一段時(shí)間,
但是由于yarn的隔離型相對(duì)于k8s來(lái)說(shuō)還是很弱的,好在yarn 2.6.0版本也集成了LinuxContainerExecutor(默認(rèn)是DefaultContainerExecutor),也就是說(shuō)yarn在好長(zhǎng)一段時(shí)間是不支持cpu限制的,LinuxContainerExecutor的利用了cgroup來(lái)進(jìn)行cpu的限制,而memory的隔離是在利用container進(jìn)行隔離。
我們知道對(duì)于多種資源管理工具的混合部署來(lái)說(shuō),資源的爭(zhēng)奪必定是存在的。分析一下k8s,k8s默認(rèn)是支持docker runtime的,也就是說(shuō)k8s在支持docker的情況下,是利用docke進(jìn)行資源隔離的,而docker是利用了liunx 的namespace進(jìn)行隔離,用cgroup進(jìn)行資源限制。而相對(duì)于yarn,只需要修改配置文件就行。

具體實(shí)施以及配置

k8s

對(duì)于k8s來(lái)說(shuō),按照k8s官網(wǎng),我們把docker cgroups的驅(qū)動(dòng)修改為systemd。具體修改方式參照官網(wǎng):

# Set up the Docker daemon
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

修改完后重啟docker,運(yùn)行docker info會(huì)打印出:

...
Cgroup Driver: systemd
...

說(shuō)明設(shè)置成功。

關(guān)于cgroup的兩種驅(qū)動(dòng)cgroupfs和sysmted的區(qū)別:
cgroupfs是直接把pid寫入對(duì)應(yīng)的cgroup文件,然后把對(duì)應(yīng)的資源限制也寫入相應(yīng)的cpu memory的cgroup文件。
systemd本身可以提供一個(gè)cgroup的管理方式。直接在service的文件中寫入對(duì)應(yīng)的資源限制就可以

另外我們得設(shè)置dockerd的cgroup-parent和yarn在同一個(gè)目錄下,這樣才能達(dá)到y(tǒng)arn和k8s按照配置文件進(jìn)行資源的分配和管理 按照dockerd官網(wǎng) 直接運(yùn)行

dockerd --cgroup-parent /path/to/cgroup

yarn

yarn配置支持cpu的限制網(wǎng)上很多資料。如這里關(guān)于yarn的linuxcontainerExecutor的jira,參考這里 注意一下這個(gè)配置:

<property>
  <name>yarn.nodemanager.linux-container-executor.cgroups.mount-path</name>
  <value>/sys/fs/cgroup<value>
</property>

這個(gè)配置最好和docker的--cgroup-parent一致,這樣才能更好的管理和控制資源

關(guān)于yarn和k8s混合部署初步方案是怎樣的問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI