Kubernetes权威指南

3 深入掌握Pod(1)

2020-07-21  本文已影响0人  ZYvette

本章主要讲
Pod和容器的使用、应用配置管理、Pod的控制和调度管理、Pod的升级和回滚,以及Pod的扩缩容机制等内容。
本节内容包括:
1.Pod定义详解
2.Pod的基本用法
3.静态Pod
4.Pod容器共享Volume

3.1 Pod 定义详解

3.2 Pod的基本用法

1. Docker容器中应用的运行要求

a. 其主程序需要一直在前台执行。

2.Pod的封装

3.3静态Pod

1. 什么是静态Pod

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

2. 静态Pod的两种方式

a. 配置文件方式

kubelet 启动时由 --pod-manifest-path 指定的目录(默认/etc/kubernetes/manifests),kubelet会定期扫描这个目录,并根据这个目录下的 .yaml 或 .json 文件进行创建和更新操作。

image.png

查看配置文件,可查到静态pod的路径


image.png

注意:由于静态Pod无法通过API Server直接管理,所以在Master上尝试删除这个Pod时,会使其变成Pending状态,且不会被删除,只能去路径下把对应yaml文件删除。

b. HTTP方式

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

3.4 Pod容器共享Volume

同一个Pod中的多个容器能够共享Pod级别的存储卷Volume。Volume可以被定义为各种类型,多个容器各自进行挂载操作,将一个Volume挂载为容器内部需要的目录。

image.png
image.png

上述代码可以看书,两个镜像里都挂在了app-logs ,只是挂在到不同路径下,但是可以看出,文件内容应该是相同的。

上一篇 下一篇

猜你喜欢

热点阅读