當(dāng)前位置:
首頁(yè) >
CoreOS集成Kubernetes核心组件Kubelet
發(fā)布時(shí)間:2024/4/13
35
豆豆
生活随笔
收集整理的這篇文章主要介紹了
CoreOS集成Kubernetes核心组件Kubelet
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本文講的是CoreOS集成Kubernetes核心組件Kubelet,【編者的話】本文為CoreOS官方博客發(fā)布的新聞和說(shuō)明,介紹了CoreOS中對(duì)Kubernetes的核心組件kubelet的集成和支持。通過(guò)在CoreOS中安裝和使用Kubelet,演示了Kubelet的使用技巧,以及如何在Kubernetes中更好的管理和監(jiān)控容器資源 。
這周我們?cè)贑oreOS Linux的alpha開(kāi)發(fā)版中集成了kubelet——Kubernetes的一個(gè)核心內(nèi)嵌組件。Kubelet負(fù)責(zé)維護(hù)pod(應(yīng)用實(shí)例)集合。Pod集合由本地系統(tǒng)的一個(gè)或多個(gè)容器構(gòu)成。在Kubernetes集群中,kubelet作為本地代理,通過(guò)訪問(wèn)Kubernetes的API服務(wù)器,監(jiān)控PodSpecs的狀態(tài)。Kubelet也負(fù)責(zé)注冊(cè)節(jié)點(diǎn)到Kubernetes,發(fā)送事件和pod狀態(tài),匯報(bào)資源利用率。
Kubelet在Kubernetes集群中扮演著非常重要的角色,但它也可以在單機(jī)(standalone)模式下工作。這篇文章接下來(lái)將會(huì)重點(diǎn)介紹運(yùn)行在單機(jī)模式下的Kubelet,比如運(yùn)行單節(jié)點(diǎn)的Kubernetes集群,借助?cAdvisor?內(nèi)建工具監(jiān)控容器資源利用率。
首先我們要安 kubelet并運(yùn)行起來(lái)。請(qǐng)?jiān)贑oreOS Linux 773.1.0或更新版本中使用本指南。
[Unit] Description=Kubernetes?Kubelet Documentation=https://github.com/kubernetes/kubernetes[Service] ExecStartPre=/usr/bin/mkdir?-p?/etc/kubernetes/manifests ExecStart=/usr/bin/kubelet?\ --api-servers=http://127.0.0.1:8080?\ --allow-privileged=true?\ --config=/etc/kubernetes/manifests?\ --v=2 Restart=on-failure RestartSec=5[Install] WantedBy=multi-user.target
sudo?systemctl?daemon-reload sudo?systemctl?start?kubelet
為確保kubelet能開(kāi)機(jī)自啟動(dòng),需要激活服務(wù):
sudo?systemctl?enable?kubelet
這時(shí)kubelet服務(wù)應(yīng)該已經(jīng)跑起來(lái)了。你可以用systemctl狀態(tài)命令確認(rèn):
sudo?systemctl?status?kubelet
Pod manifest文件用JSON或YAML文件格式化并描述文件卷集合和一個(gè)或多個(gè)容器。我們可以使用一個(gè)在manifest目錄的pod manifest,部署一個(gè)單節(jié)點(diǎn)Kubernetes集群。
在互聯(lián)網(wǎng)下載pod manifest會(huì)有存在安全風(fēng)險(xiǎn),所以請(qǐng)?jiān)谑褂盟鼈冎皺z查所有pod manifest的內(nèi)容。
cat?kubernetes.yaml
此時(shí)我們只需要拷貝kubernetes.yaml這個(gè)pod manifest到kubelet的manifest目錄以啟動(dòng)單節(jié)點(diǎn)集群。
sudo?cp?kubernetes.yaml?/etc/kubernetes/manifests/
復(fù)制完成后,你可以使用標(biāo)準(zhǔn)Docker命令行工具看到Docker鏡像和容器啟動(dòng):
sudo?docker?images?sudo?docker?ps
幾分鐘后,Kubernetes集群就可以運(yùn)行起來(lái)了。接下來(lái)你可以下載官方的Kubernetes客戶端工具。
wget?https://storage.googleapis.com/kubernetes-release/release/v1.0.3/bin/linux/amd64/kubectl chmod?+x?kubectl
Kubectl可用于獲取運(yùn)行的集群信息。
./kubectl?cluster-info
Kubernetes master運(yùn)行在http://localhost:8080。
kubectl也可用于啟動(dòng)pods。
./kubectl?run?nginx?--image=nginx
用get pods命令查看運(yùn)行的 pods:
./kubectl?get?pods
更多Kubernetes細(xì)節(jié)請(qǐng)翻閱?Kubernetes on CoreOS docs。
[ cadvisor web 界面 ]
通過(guò)cAdvisor web UI,可很方便查看系統(tǒng)資源利用狀況和處理列表。
[ 系統(tǒng)利用狀況圖 ]
cAdvisor也可用于監(jiān)控特殊容器,例如在Kubernetes pod里運(yùn)行的 kube-apiserver:
[ 用 cadvisor查看容器信息 ]
想了解更多cAdvisor信息請(qǐng)翻閱upstream docs。
如果你對(duì)Kubernetes有興趣,請(qǐng)務(wù)必出席在你的城市即將開(kāi)展的Kubernetes的一些培訓(xùn)。如果你想要私人的在線培訓(xùn),請(qǐng)聯(lián)系我們。
原文鏈接:Introducing the Kubernetes kubelet in CoreOS Linux(翻譯:沈冠璞)
原文發(fā)布時(shí)間為:2015-08-19 本文作者:沈冠璞? 本文來(lái)自云棲社區(qū)合作伙伴DockerOne,了解相關(guān)信息可以關(guān)注DockerOne。 原文標(biāo)題:CoreOS集成Kubernetes核心組件Kubelet
這周我們?cè)贑oreOS Linux的alpha開(kāi)發(fā)版中集成了kubelet——Kubernetes的一個(gè)核心內(nèi)嵌組件。Kubelet負(fù)責(zé)維護(hù)pod(應(yīng)用實(shí)例)集合。Pod集合由本地系統(tǒng)的一個(gè)或多個(gè)容器構(gòu)成。在Kubernetes集群中,kubelet作為本地代理,通過(guò)訪問(wèn)Kubernetes的API服務(wù)器,監(jiān)控PodSpecs的狀態(tài)。Kubelet也負(fù)責(zé)注冊(cè)節(jié)點(diǎn)到Kubernetes,發(fā)送事件和pod狀態(tài),匯報(bào)資源利用率。
Kubelet在Kubernetes集群中扮演著非常重要的角色,但它也可以在單機(jī)(standalone)模式下工作。這篇文章接下來(lái)將會(huì)重點(diǎn)介紹運(yùn)行在單機(jī)模式下的Kubelet,比如運(yùn)行單節(jié)點(diǎn)的Kubernetes集群,借助?cAdvisor?內(nèi)建工具監(jiān)控容器資源利用率。
首先我們要安 kubelet并運(yùn)行起來(lái)。請(qǐng)?jiān)贑oreOS Linux 773.1.0或更新版本中使用本指南。
用systemd配置Kubelet
CoreOS Linux默認(rèn)集成了kubelet,并做了安全優(yōu)化和易用性優(yōu)化。但我們將會(huì)放寬安全限制以支持高級(jí)容器。這需要在單節(jié)點(diǎn)Kubernetes 上跑代理組件,該組件需要iptables的操作權(quán)限,以方便配置 Kubernetes的服務(wù)發(fā)現(xiàn)模型。創(chuàng)建 kubelet systemd(系統(tǒng)管理守護(hù)進(jìn)程) 單元
sudo?vim?/etc/systemd/system/kubelet.service[Unit] Description=Kubernetes?Kubelet Documentation=https://github.com/kubernetes/kubernetes[Service] ExecStartPre=/usr/bin/mkdir?-p?/etc/kubernetes/manifests ExecStart=/usr/bin/kubelet?\ --api-servers=http://127.0.0.1:8080?\ --allow-privileged=true?\ --config=/etc/kubernetes/manifests?\ --v=2 Restart=on-failure RestartSec=5[Install] WantedBy=multi-user.target
啟動(dòng)kubelet服務(wù)
配置好systemd單元文件后,使用systemctl命令啟動(dòng)Kubelet:sudo?systemctl?daemon-reload sudo?systemctl?start?kubelet
為確保kubelet能開(kāi)機(jī)自啟動(dòng),需要激活服務(wù):
sudo?systemctl?enable?kubelet
這時(shí)kubelet服務(wù)應(yīng)該已經(jīng)跑起來(lái)了。你可以用systemctl狀態(tài)命令確認(rèn):
sudo?systemctl?status?kubelet
啟動(dòng)一個(gè)單節(jié)點(diǎn)Kubernetes集群
Kubelet提供了一個(gè)非常方便的接口來(lái)管理容器。Kubelet有一個(gè)清單(manifest)字典,每20秒會(huì)默認(rèn)監(jiān)控一次以更新pod的manifest文件。在這之前, 需要通過(guò)Kubelet Systemd單元中的--config標(biāo)志配置文件目錄 /etc/kubernetes/manifests。Pod manifest文件用JSON或YAML文件格式化并描述文件卷集合和一個(gè)或多個(gè)容器。我們可以使用一個(gè)在manifest目錄的pod manifest,部署一個(gè)單節(jié)點(diǎn)Kubernetes集群。
下載 Kubernetes pod manifest
wget?https://raw.githubusercontent.com/coreos/pods/master/kubernetes.yaml在互聯(lián)網(wǎng)下載pod manifest會(huì)有存在安全風(fēng)險(xiǎn),所以請(qǐng)?jiān)谑褂盟鼈冎皺z查所有pod manifest的內(nèi)容。
cat?kubernetes.yaml
此時(shí)我們只需要拷貝kubernetes.yaml這個(gè)pod manifest到kubelet的manifest目錄以啟動(dòng)單節(jié)點(diǎn)集群。
sudo?cp?kubernetes.yaml?/etc/kubernetes/manifests/
復(fù)制完成后,你可以使用標(biāo)準(zhǔn)Docker命令行工具看到Docker鏡像和容器啟動(dòng):
sudo?docker?images?sudo?docker?ps
幾分鐘后,Kubernetes集群就可以運(yùn)行起來(lái)了。接下來(lái)你可以下載官方的Kubernetes客戶端工具。
下載 Kubernetes 客戶端
kubectl是官方的命令行工具,用于和Kubernetes集群交互。每個(gè)Kubernetes的發(fā)行版都包含一個(gè)新的kublet版本。下載并更改它為可執(zhí)行程序:wget?https://storage.googleapis.com/kubernetes-release/release/v1.0.3/bin/linux/amd64/kubectl chmod?+x?kubectl
Kubectl可用于獲取運(yùn)行的集群信息。
./kubectl?cluster-info
Kubernetes master運(yùn)行在http://localhost:8080。
kubectl也可用于啟動(dòng)pods。
./kubectl?run?nginx?--image=nginx
用get pods命令查看運(yùn)行的 pods:
./kubectl?get?pods
更多Kubernetes細(xì)節(jié)請(qǐng)翻閱?Kubernetes on CoreOS docs。
用cAdvisor監(jiān)控容器
Kubelet內(nèi)置打包了cAdvisor,它用于收集、合計(jì)、處理并導(dǎo)出給定系統(tǒng)的運(yùn)行中容器的信息。cAdvisor 包含內(nèi)置web接口,可通過(guò)4194端口訪問(wèn)。[ cadvisor web 界面 ]
通過(guò)cAdvisor web UI,可很方便查看系統(tǒng)資源利用狀況和處理列表。
[ 系統(tǒng)利用狀況圖 ]
cAdvisor也可用于監(jiān)控特殊容器,例如在Kubernetes pod里運(yùn)行的 kube-apiserver:
[ 用 cadvisor查看容器信息 ]
想了解更多cAdvisor信息請(qǐng)翻閱upstream docs。
CoreOS和Kubernetes的更多信息
CoreOS Linux鏡像中集成kubelet表明我們對(duì)(支持)Kubernetes的承諾和要為我們用戶帶來(lái)最好的開(kāi)源容器技術(shù)的(決心)。原生支持了 Kubernetes kubelet ,我們希望提升Kubernetes的部署效率,并提供健壯的接口以管理和監(jiān)控CoreOS系統(tǒng)上的容器。如果你對(duì)Kubernetes有興趣,請(qǐng)務(wù)必出席在你的城市即將開(kāi)展的Kubernetes的一些培訓(xùn)。如果你想要私人的在線培訓(xùn),請(qǐng)聯(lián)系我們。
原文鏈接:Introducing the Kubernetes kubelet in CoreOS Linux(翻譯:沈冠璞)
原文發(fā)布時(shí)間為:2015-08-19 本文作者:沈冠璞? 本文來(lái)自云棲社區(qū)合作伙伴DockerOne,了解相關(guān)信息可以關(guān)注DockerOne。 原文標(biāo)題:CoreOS集成Kubernetes核心組件Kubelet
總結(jié)
以上是生活随笔為你收集整理的CoreOS集成Kubernetes核心组件Kubelet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 纽瓦克市政厅电脑遭勒索软件劫持,部分公共
- 下一篇: 【51NOD】1486 大大走格子