自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在CoreOS集成Kubernetes核心組件Kubelet

云計(jì)算
本文為CoreOS官方博客發(fā)布的新聞和說明,介紹了CoreOS中對(duì)Kubernetes的核心組件kubelet的集成和支持。通過在CoreOS中安裝和使用Kubelet,演示了Kubelet的使用技巧,以及如何在Kubernetes中更好的管理和監(jiān)控容器資源 。

這周我們?cè)贑oreOS Linux的alpha開發(fā)版中集成了kubelet——Kubernetes的一個(gè)核心內(nèi)嵌組件。Kubelet負(fù)責(zé)維護(hù)pod(應(yīng)用實(shí)例)集合。Pod集合由本地系統(tǒng)的一個(gè)或多個(gè)容器構(gòu)成。在Kubernetes集群中,kubelet作為本地代理,通過訪問 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)模式下工作。這篇文章接下來將會(huì)重點(diǎn)介紹運(yùn)行在單機(jī)模式下的Kubelet,比如運(yùn)行單節(jié)點(diǎn)的Kubernetes集群,借助 cAdvisor 內(nèi)建工具監(jiān)控容器資源利用率。

首先我們要安 kubelet并運(yùn)行起來。請(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)程) 單元

  1. sudo vim /etc/systemd/system/kubelet.service
  1. [Unit] 
  2. Description=Kubernetes Kubelet 
  3. Documentation=https://github.com/kubernetes/kubernetes 
  4.  
  5. [Service] 
  6. ExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/manifests 
  7. ExecStart=/usr/bin/kubelet \ 
  8. --api-servers=http://127.0.0.1:8080 \ 
  9. --allow-privileged=true \ 
  10. --config=/etc/kubernetes/manifests \ 
  11. --v=2 
  12. Restart=on-failure 
  13. RestartSec=5 
  14.  
  15. [Install] 
  16. WantedBy=multi-user.target 

啟動(dòng)kubelet服務(wù)

配置好systemd單元文件后,使用systemctl命令啟動(dòng)Kubelet:

  1. sudo systemctl daemon-reload 
  2. sudo systemctl start kubelet 

為確保kubelet能開機(jī)自啟動(dòng),需要激活服務(wù):

  1. sudo systemctl enable kubelet 

這時(shí)kubelet服務(wù)應(yīng)該已經(jīng)跑起來了。你可以用systemctl狀態(tài)命令確認(rèn):

  1. sudo systemctl status kubelet 

啟動(dòng)一個(gè)單節(jié)點(diǎn)Kubernetes集群

Kubelet提供了一個(gè)非常方便的接口來管理容器。Kubelet有一個(gè)清單(manifest)字典,每20秒會(huì)默認(rèn)監(jiān)控一次以更新pod的manifest文件。在這之前, 需要通過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

  1. 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)容。

  1. cat kubernetes.yaml 

此時(shí)我們只需要拷貝kubernetes.yaml這個(gè)pod manifest到kubelet的manifest目錄以啟動(dòng)單節(jié)點(diǎn)集群。

  1. sudo cp kubernetes.yaml /etc/kubernetes/manifests/ 

復(fù)制完成后,你可以使用標(biāo)準(zhǔn)Docker命令行工具看到Docker鏡像和容器啟動(dòng):

  1. sudo docker images sudo docker ps 

幾分鐘后,Kubernetes集群就可以運(yùn)行起來了。接下來你可以下載官方的Kubernetes客戶端工具。

下載 Kubernetes 客戶端

kubectl是官方的命令行工具,用于和Kubernetes集群交互。每個(gè)Kubernetes的發(fā)行版都包含一個(gè)新的kublet版本。下載并更改它為可執(zhí)行程序:

  1. wget https://storage.googleapis.com/kubernetes-release/release/v1.0.3/bin/linux/amd64/kubectl 
  2. chmod +x kubectl 

Kubectl可用于獲取運(yùn)行的集群信息。

  1. ./kubectl cluster-info 

Kubernetes master運(yùn)行在http://localhost:8080。

kubectl也可用于啟動(dòng)pods。

  1. ./kubectl run nginx --image=nginx 

用get pods命令查看運(yùn)行的 pods:

  1. ./kubectl get pods 

更多Kubernetes細(xì)節(jié)請(qǐng)翻閱 Kubernetes on CoreOS docs。

#p#

用cAdvisor監(jiān)控容器

Kubelet內(nèi)置打包了cAdvisor,它用于收集、合計(jì)、處理并導(dǎo)出給定系統(tǒng)的運(yùn)行中容器的信息。cAdvisor 包含內(nèi)置web接口,可通過4194端口訪問。

[ cadvisor web 界面 ]

 

CoreOS集成Kubernetes核心組件Kubelet

通過cAdvisor web UI,可很方便查看系統(tǒng)資源利用狀況和處理列表。

[ 系統(tǒng)利用狀況圖 ]

CoreOS集成Kubernetes核心組件Kubelet

 

cAdvisor也可用于監(jiān)控特殊容器,例如在Kubernetes pod里運(yùn)行的 kube-apiserver:

[ 用 cadvisor查看容器信息 ]

CoreOS集成Kubernetes核心組件Kubelet

想了解更多cAdvisor信息請(qǐng)翻閱upstream docs

CoreOS和Kubernetes的更多信息

CoreOS Linux鏡像中集成kubelet表明我們對(duì)(支持)Kubernetes的承諾和要為我們用戶帶來最好的開源容器技術(shù)的(決心)。原生支持了 Kubernetes kubelet ,我們希望提升Kubernetes的部署效率,并提供健壯的接口以管理和監(jiān)控CoreOS系統(tǒng)上的容器。
 

責(zé)任編輯:Ophira 來源: dockone
相關(guān)推薦

2015-07-20 15:08:58

CoreOS安裝

2021-02-19 08:38:36

Kubernetes容器化分布式

2025-04-01 00:54:00

2021-09-10 15:16:19

Kubernetes核心組件運(yùn)維

2019-07-12 16:28:32

MacKubernetes

2020-08-06 08:16:26

Kubernetes架構(gòu)開源

2020-07-13 07:00:21

Kubernetes

2021-04-19 11:11:57

云計(jì)算數(shù)字

2023-09-07 10:38:08

Kubernetes控制器

2020-08-06 08:26:22

Kubernetes架構(gòu)開發(fā)

2011-03-02 17:42:35

2020-12-13 08:25:32

FedoraCoreOSLinux

2020-07-20 07:00:00

KubernetesHostPath

2021-08-09 09:00:00

Kubernetes云計(jì)算架構(gòu)

2021-05-28 17:59:37

K8sDNS解析CoreDNS

2023-11-02 11:15:01

容器Kubernetes

2024-07-22 15:49:07

KubernetesRedis

2020-12-25 10:09:29

代碼開發(fā)平臺(tái)

2020-12-15 08:00:00

KubernetesDocker容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)