3. Kubernetes の決定版ガイド --- ポッドを徹底的に習得する

第3章 深入掌握Pod 
3.1 Pod定义详解 

3.2 Pod的基本用法 
	在使用docker时,可以使用docker run命令创建并启动一个容器。而在k8s系统中对长时间运行容器的要求是:其主程序需要一直在前台执行。
如果我们创建docker镜像的启动命令是后台执行程序,例如Linux脚本:
	nohup ./start.sh &

	则在kubelet创建包含这个容器的Pod之后运行完该命令,即认为Pod执行结束,将立即销毁该pod。如果为该pod定义了ReplicationController,
则系统会监控到该pod已经终止,之后根据RC定义中Pod的replicas副本数量生成一个新的pod。一旦创建新的pod,又陷入循环中了。这就是k8s需要我们
自己创建的docker镜像并以一个前台作为启动命令的原因。
	
	对于无法改造成前台执行的应用,可以用Supervisor辅助进行管理。

3.3 静态Pod 
		静态Pod是由kubelet进行管理的仅存在于Node上的Pod。它们不能通过API Server进行管理,无法与ReplicationController、
	Deployment或者DaemonSet进行关联,并且kubelet无法对它们进行健康检查。静态Pod总是由kubelet创建的,并且总在kubelet所在的node
	上运行。

		创建静态pod有2种方式:配置文件方式和HTTP方式。

		1.配置文件方式
			设置kubelet的启动参数 "--pod-manifest-path"。或者在 kubelet 配置文件中设置 staticPodPath,推荐这个。

		2.HTTP方式
			通过设置 kubelet 的启动参数 "--manifest-url",kubelet将会定期从该url地址下载Pod的定义文件,并以.yaml或
		.json文件的格式进行解析,然后创建Pod。其实现方式和配置文件方式

おすすめ

転載: blog.csdn.net/enlyhua/article/details/127954297