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