pod : 最小执行调度单元
Deployment :部署无状态应用
Daemonset : 部署守护应用
Cronjob :部署定时任务
job : 部署定时任务
statefulset : 部署有状态应用
service ,endpoint, ingress 为服务类型
![RR)]YOAL~WQ92H0C~@7H({4.png](/uploads/projects/mingyi-10t0e@mwo5qi/99f66fe6a065c1a6781eba73ccb33ae4.png)


args和command
Dockerfike内容
CMD:用于设置容器启动后执行的命令,会被docker run后面的命令行覆盖。
ENTRYPOINT:用于设置容器启动后执行的命令,不会被忽略,一定会被执行。
docker run后面的参数可以传递给ENTRYPOINT指令当作参数。
Dockerfile中只能指定一个ENTRYPOINT,如果指定了多个,只有最后一个有效。
· 如果command和args均没有写,那么用Docker默认的配置。
· 如果command写了,但args没有写,那么Docker默认的配置会被忽略而且仅仅执行.yaml文件的command(不带任何参数的)。
· 如果command没写,但args写了,那么Docker默认配置的ENTRYPOINT的命令行会被执行,但是调用的参数是.yaml中的args。
· 如果如果command和args都写了,那么Docker默认的配置被忽略,使用.yaml的配置。
例:
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: debian
command: [“tail”]
args: [“-f”, “/etc/profile”]
Image Entrypoint Image Cmd Container command Container args Command run
[/ep-1] [foo bar]
[/ep-1] [foo bar] [/ep-2]
[/ep-1] [foo bar]
[/ep-1] [foo bar] [/ep-2] [zoo boo] [ep-2 zoo boo]



如果省略imagePullPolicy 镜像tag为 :latest 策略为always ,否则 策略为 IfNotPresent
、
Label是自定义的一些key/value对
- 基于等式的Selector(Equality-based)
- 基于集合的Selector(Set-based)
RC只支持基于等式的Selector,而RS两种Selector都支持。
matchLabels用于定义一组Label,与直接写在Selector中作用相同;matchExpressions用于定义一组基于集合的筛选条件,可用的条件运算符包括:In、NotIn、Exists和DoesNotExist。 如果同时设置了matchLabels和matchExpressions,则两组条件为“AND”关系,即所有条件需要同时满足才能完成Selector的筛选。
