pod : 最小执行调度单元

    Deployment :部署无状态应用

    Daemonset : 部署守护应用

    Cronjob :部署定时任务

    job : 部署定时任务

    statefulset : 部署有状态应用

    service ,endpoint, ingress 为服务类型

    RR)]YOAL~WQ92H0C~@7H({4.png

    11.png

    22.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-1] [foo bar] [/ep-2] [ep-2]
    [/ep-1] [foo bar] [zoo boo] [ep-1 zoo boo]
    [/ep-1] [foo bar] [/ep-2] [zoo boo] [ep-2 zoo boo]

    33.png

    44.png

    55.png

    如果省略imagePullPolicy 镜像tag为 :latest 策略为always ,否则 策略为 IfNotPresent

    66.png

    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的筛选。