为了账号安全,请及时绑定邮箱和手机立即绑定

kubernetes 指定在哪个node启动镜像?

/ 猿问

kubernetes 指定在哪个node启动镜像?

烧仙草VB 2018-09-21 11:06:53

kubernetes 指定在哪个node启动镜像


查看完整描述

2 回答

?
tonybai

在k8s上,我们一般使用controller来控制pod的创建。常用的控制器包括deployment、rc等。目前主流是deployment。在deployment yaml文件中,我们可以使用nodeSelector来通过label匹配选择pod>部署的node节点。关于如何启动pod的详细信息,在免费课: 《Kubernetes基础:开启云原生之门》中有讲解。如果想更深入了解k8s,可以学习一下实战课: “kubernetes实战:高可用集群搭建,配置,运维与应用”。


查看完整回答
反对 回复 2018-10-19
?
慕容3067478

Kubelet运行在Kubernetes Minion Node上. 它是container agent的逻辑继任者(使用golang重写),它是GCE镜像的一部分. Kubelet二进制程序负责维护在特定主机上运行的一组容器。它从配置文件或是从etcd 服务器上同步容器配置清单。容器配置清单是描述一个pod的文件。Kubelet采用一组使用各种机制提供的清单并确保这些清单描述的容器被启动并持续运行. 有以下几种方式提供给kubelet一个容器清单:
文件 通过一个命令行参数传递。此文件每20秒(可配置)重新检查.
HTTP URL 通过命令行参数传递HTTP URL参数。 此端点每20秒检查(也可配置), 通过查询获得容器清单.
Etcd服务器 Kubelet发现etcd服务器并watch相关的key。watch的etcd key是 /registry/nodes/$(hostname -f)。由于这是一种etcd watch机制,注意到改变并采取相应的行动非常迅速. Kubelet 的组成元素可以从如下代码-Kubelet结构体定义看出:

// Kubelet 结构体描述了kubelet使用到的重要元素.
type Kubelet struct {
hostname  string
dockerClient  dockertools.DockerInterface
rootDirectory string
networkContainerImage string
podWorkers *podWorkers
resyncInterval time.Duration
pods  []api.BoundPod
etcdClient tools.EtcdClient  
...
cadvisorClient cadvisorInterface
...
}

其中重要的是如下的几个元素:
dockerClient : 使用github.com/fsouza/go-dockerclient 作为docker client.
etcdClient : 使用 coreos/go-etcd/etcd 作为etcd client.
rootDirectory : 维护kubelet文件(volume mounts,etc) 的目录.默认值是/var/lib/kubelet
podWorkers : 记录上面有正在运行工作的workers的pod信息
cAdvisorClient : google cAdvisor 用来监测minion机器和之上容器的资源使用情况. 使用github.com/google/cadvisor/client
其中还有一个配置Kubelet的结构体,名为KubeletConfig, 他从启动命令行参数构造,最后作为启动kubelet的参数传入,源代码如下,具体可以参见后文的描述.

type KubeletConfig struct {
EtcdClient      tools.EtcdClient
DockerClient    dockertools.DockerInterface
CAdvisorPort    uint
Address util.IP
...
AllowPrivileged bool
HostnameOverride string
RootDirectory   string
...
ManifestURL     string
FileCheckFrequency      time.Duration
HttpCheckFrequency      time.Duration
Hostname string
...
   }


查看完整回答
反对 回复 2018-10-09

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信