内置组件列表
本文档将展示所有内置组件的参数列表。
Webservice
描述
定义一个长期运行的,可伸缩的容器化的服务,并且会暴露一个服务端点用来接受来自客户的外部流量。
参数定义
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| cmd | 容器的启动命令 | []string | false | |
| env | 容器中的环境变量 | []env | false | |
| volumeMounts | volumeMounts | false | ||
| labels | 工作负载的标签 | map[string]string | false | |
| annotations | 工作负载的注解 | map[string]string | false | |
| image | 使用的镜像 | string | true | |
| ports | 承接用户流量的端口,默认 80 | []ports | false | |
| imagePullPolicy | 镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent") | string | false | |
| cpu | CPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核) | string | false | |
| memory | 所需要的内存大小 | string | false | |
| livenessProbe | 判断容器是否存活的探针 | livenessProbe | false | |
| readinessProbe | 判断容器是否就绪,能够接受用户流量的探针 | readinessProbe | false | |
| imagePullSecrets | 容器的镜像拉取密钥 | []string | false | |
| hostAliases | 定义容器内的 hostAliases | []hostAliases | true |
readinessProbe
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| exec | 通过在容器中执行一条命令判断是否就绪。请注意就绪性检查必须并且也只能定义 httpGet,tcpSocket 或者 exec 中的一个 | exec | false | |
| httpGet | 通过发送 httpGet 请求判断容器是否就绪。 请注意就绪性检查必须并且也只能定义 httpGet,tcpSocket 或者 exec 中的一个 | httpGet | false | |
| tcpSocket | 通过 tcpSocket 是否开启判断容器是否就绪。请注意就绪性检查必须并且也只能定义 httpGet,tcpSocket 或者 exec 中的一个 | tcpSocket | false | |
| initialDelaySeconds | 定义容器启动多少秒之后开始第一次检查 | int | true | 0 |
| periodSeconds | 定义每次检查之间的时间间隔 | int | true | 10 |
| timeoutSeconds | 定义检查的超时时间 | int | true | 1 |
| successThreshold | 定义检查成功多少次之后判断容器已经就绪 | int | true | 1 |
| failureThreshold | 定义检查失败多少次之后判断容器已经不健康 | int | true | 3 |
tcpSocket
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| port | TCP 检查的端口号 | int | true |
httpGet
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| path | 定义服务端点请求的路径 | string | true | |
| port | 定义服务端点的端口号 | int | true | |
| httpHeaders | 检查请求中的请求头 | []httpHeaders | false |
httpHeaders
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | string | true | ||
| value | string | true |
exec
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| command | 容器中执行的命令,命令返回 0 则为正常,否则则为失败 | []string | true |
hostAliases
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| ip | string | true | ||
| hostnames | []string | true |
ports
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | 端口名称 | string | false | |
| port | 端口号 | int | true | |
| protocol | 端口协议类型 UDP, TCP, 或者 SCTP | string | true | TCP |
| expose | 端口是否需要暴露 | bool | true | false |
volumeMounts
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| pvc | 挂载一个 PVC 卷 | []pvc | false | |
| configMap | 挂载一个 configmap 卷 | []configMap | false | |
| secret | 挂载一个 secret 卷 | []secret | false | |
| emptyDir | 挂载一个 emptyDir 的卷 | []emptyDir | false | |
| hostPath | 挂载主机目录卷 | []hostPath | false |
hostPath
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| path | string | true | ||
| name | string | true | ||
| mountPath | string | true |
emptyDir
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | string | true | ||
| mountPath | string | true | ||
| medium | string | true | empty |
secret
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | string | true | ||
| mountPath | string | true | ||
| defaultMode | int | true | 420 | |
| items | []items | false | ||
| secretName | string | true |
items
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| path | string | true | ||
| key | string | true | ||
| mode | int | true | 511 |
configMap
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | string | true | ||
| mountPath | string | true | ||
| defaultMode | int | true | 420 | |
| cmName | string | true | ||
| items | []items | false |
items
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| path | string | true | ||
| key | string | true | ||
| mode | int | true | 511 |
pvc
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | string | true | ||
| mountPath | string | true | ||
| claimName | PVC 名称 | string | true |
env
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | 环境变量的名称 | string | true | |
| value | 环境变量的值 | string | false | |
| valueFrom | 从哪个资源中读取环境变量的定义 | valueFrom | false |
valueFrom
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| secretKeyRef | secret 键的引用 | secretKeyRef | false | |
| configMapKeyRef | configmap 键的引用 | configMapKeyRef | false |
configMapKeyRef
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | configmap 名称 | string | true | |
| key | configmap 中的键名 | string | true |
secretKeyRef
| 字段名称 | 描述 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|---|
| name | secret 名称 | string | true | |
| key | secret 中的键名 | string | true |
样例
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: website
spec:
components:
- name: frontend
type: webservice
properties:
image: oamdev/testapp:v1
cmd: ["node", "server.js"]
port: 8080
cpu: "0.1"
env:
- name: FOO
value: bar
- name: FOO
valueFrom:
secretKeyRef:
name: bar
key: bar
Worker
定义一个长期运行的,可伸缩的容器化的服务,并且不会暴露承接用户流量的网络端点。
Parameters
| NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
|---|---|---|---|---|
| cmd | 容器的启动命令 | []string | false | |
| env | 容器中的环境变量 | []env | false | |
| image | 使用的镜像 | string | true | |
| imagePullPolicy | 镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent") | string | false | |
| cpu | CPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核) | string | false | |
| memory | 所需要的内存大小 | string | false | |
| volumeMounts | volumeMounts | false | ||
| livenessProbe | 判断容器是否存活的探针 | livenessProbe | false | |
| readinessProbe | 判断容器是否就绪,能够接受用户流量的探针 | readinessProbe | false | |
| imagePullSecrets | 容器的镜像拉取密钥 | []string | false |
样例
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: app-worker
spec:
components:
- name: myworker
type: worker
properties:
image: "busybox"
cmd:
- sleep
- "1000"
Task
定义一个只执行一次代码或者脚本的任务。
Parameters
| NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
|---|---|---|---|---|
| cmd | 容器的启动命令 | []string | false | |
| env | 容器中的环境变量 | []env | false | |
| count | 定义任务执行的并行度 | int | true | 1 |
| restart | 定义失败重启策略,可选值为 Never 或者 OnFailure,默认是 OnFailure | string | true | Never |
| image | 使用的镜像 | string | true | |
| cpu | CPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核) | string | false | |
| memory | 所需要的内存大小 | string | false | |
| volumeMounts | volumeMounts | false | ||
| livenessProbe | 判断容器是否存活的探针 | livenessProbe | false | |
| readinessProbe | 判断容器是否就绪,能够接受用户流量的探针 | readinessProbe | false | |
| labels | 工作负载的标签 | []string | false | |
| annotations | 工作负载的注解 | []string | false | |
| imagePullPolicy | 镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent") | string | false | |
| imagePullSecrets | 容器的镜像拉取密钥 | []string | false |
样例
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: app-worker
spec:
components:
- name: mytask
type: task
properties:
image: perl
count: 10
cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
Cron Task
定义一个周期性运行代码或者脚本的任务。
Parameters
| NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
|---|---|---|---|---|
| cmd | 容器的启动命令 | []string | false | |
| env | 容器中的环境变量 | []env | false | |
| schedule | 执行规则 Cron 规范 | string | true | |
| suspend | 是否暂停执行 | bool | false | false |
| concurrencyPolicy | 定义任务如何处理任务的重叠运行,可选值为 "Allow","Forbid" 或者 "Replace",默认值为 Allow | string | false | Allow |
| successfulJobsHistoryLimit | 保留多少个已经成功完成的任务记录 | int | false | 3 |
| failedJobsHistoryLimit | 保留多少个已经失败的任务记录 | int | false | 1 |
| count | 每次任务执行的并行度 | int | true | 1 |
| restart | 定义失败重启策略,可选值为 Never 或者 OnFailure,默认是 OnFailure | string | true | Never |
| image | 容器使用的镜像 | string | true | |
| cpu | CPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核) | string | false | |
| memory | 所需要的内存大小 | string | false | |
| volumeMounts | volumeMounts | false | ||
| livenessProbe | 判断容器是否存活的探针 | livenessProbe | false | |
| readinessProbe | 判断容器是否就绪,能够接受用户流量的探针 | readinessProbe | false | |
| labels | 工作负载的标签 | []string | false | |
| annotations | 工作负载的注解 | []string | false | |
| imagePullPolicy | 镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent") | string | false | |
| imagePullSecrets | 容器的镜像拉取密钥 | []string | false |
样例
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: cron-worker
spec:
components:
- name: mytask
type: cron-task
properties:
image: perl
count: 10
cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
schedule: "*/1 * * * *"
k8s-objects
参数说明
| 字段名称 | 描述 | 类型 | 是否必填 | 默认值 |
|---|---|---|---|---|
| objects | Kubernetes 资源列表 | []K8s-Object | true |
K8s-Object
列表中的元素为完整的 Kubernetes 资源结构体。
样例
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: app-raw
spec:
components:
- name: myjob
type: k8s-objects
properties:
objects:
- apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4