阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CoreOS集成Kubernetes核心组件Kubelet

184次阅读
没有评论

共计 3483 个字符,预计需要花费 9 分钟才能阅读完成。

【编者的话】本文为 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 或更新版本中使用本指南。

用 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 界面]

CoreOS 集成 Kubernetes 核心组件 Kubelet

通过 cAdvisor web UI,可很方便查看系统资源利用状况和处理列表。

[系统利用状况图]

CoreOS 集成 Kubernetes 核心组件 Kubelet

cAdvisor 也可用于监控特殊容器,例如在 Kubernetes pod 里运行的 kube-apiserver:

[用 cadvisor 查看容器信息]

CoreOS 集成 Kubernetes 核心组件 Kubelet

想了解更多 cAdvisor 信息请翻阅 upstream docs。

CoreOS 和 Kubernetes 的更多信息

CoreOS Linux 镜像中集成 kubelet 表明我们对(支持)Kubernetes 的承诺和要为我们用户带来最好的开源容器技术的(决心)。原生支持了 Kubernetes kubelet,我们希望提升 Kubernetes 的部署效率,并提供健壮的接口以管理和监控 CoreOS 系统上的容器。

更多 CoreOS 相关教程见以下内容

在 CoreOS 下部署 WordPress 实例教程 http://www.linuxidc.com/Linux/2014-07/104806.htm 

服务器操作系统 CoreOS 初体验 http://www.linuxidc.com/Linux/2014-07/104807.htm 

CoreOS 实战:剖析 etcd  http://www.linuxidc.com/Linux/2014-11/109725.htm

CoreOS 实战:CoreOS 及管理工具介绍  http://www.linuxidc.com/Linux/2014-11/109728.htm

[教程]在 CoreOS 上构建你的第一个应用  http://www.linuxidc.com/Linux/2014-12/110799.htm

CoreOS 在 PC 上快速安装上手  http://www.linuxidc.com/Linux/2015-07/120074.htm

CoreOS 环境下通过 register 镜像搭建私有仓库 http://www.linuxidc.com/Linux/2015-06/118545.htm

CoreOS 的详细介绍:请点这里
CoreOS 的下载地址:请点这里 

原文链接:Introducing the Kubernetes kubelet in CoreOS Linux(翻译:沈冠璞)

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-08/122071.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3483字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中