Skip to main content
版本:v1.3

内置组件列表

本文档将展示所有内置组件的参数列表。

Webservice

描述

定义一个长期运行的,可伸缩的容器化的服务,并且会暴露一个服务端点用来接受来自客户的外部流量。

参数定义

字段名称描述类型是否必须默认值
cmd容器的启动命令[]stringfalse
env容器中的环境变量[]envfalse
volumeMountsvolumeMountsfalse
labels工作负载的标签map[string]stringfalse
annotations工作负载的注解map[string]stringfalse
image使用的镜像stringtrue
ports承接用户流量的端口,默认 80[]portsfalse
imagePullPolicy镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent")stringfalse
cpuCPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核)stringfalse
memory所需要的内存大小stringfalse
livenessProbe判断容器是否存活的探针livenessProbefalse
readinessProbe判断容器是否就绪,能够接受用户流量的探针readinessProbefalse
imagePullSecrets容器的镜像拉取密钥[]stringfalse
hostAliases定义容器内的 hostAliases[]hostAliasestrue

readinessProbe

字段名称描述类型是否必须默认值
exec通过在容器中执行一条命令判断是否就绪。请注意就绪性检查必须并且也只能定义 httpGet,tcpSocket 或者 exec 中的一个execfalse
httpGet通过发送 httpGet 请求判断容器是否就绪。 请注意就绪性检查必须并且也只能定义 httpGet,tcpSocket 或者 exec 中的一个httpGetfalse
tcpSocket通过 tcpSocket 是否开启判断容器是否就绪。请注意就绪性检查必须并且也只能定义 httpGet,tcpSocket 或者 exec 中的一个tcpSocketfalse
initialDelaySeconds定义容器启动多少秒之后开始第一次检查inttrue0
periodSeconds定义每次检查之间的时间间隔inttrue10
timeoutSeconds定义检查的超时时间inttrue1
successThreshold定义检查成功多少次之后判断容器已经就绪inttrue1
failureThreshold定义检查失败多少次之后判断容器已经不健康inttrue3
tcpSocket
字段名称描述类型是否必须默认值
portTCP 检查的端口号inttrue
httpGet
字段名称描述类型是否必须默认值
path定义服务端点请求的路径stringtrue
port定义服务端点的端口号inttrue
httpHeaders检查请求中的请求头[]httpHeadersfalse
httpHeaders
字段名称描述类型是否必须默认值
namestringtrue
valuestringtrue
exec
字段名称描述类型是否必须默认值
command容器中执行的命令,命令返回 0 则为正常,否则则为失败[]stringtrue
hostAliases
字段名称描述类型是否必须默认值
ipstringtrue
hostnames[]stringtrue

ports

字段名称描述类型是否必须默认值
name端口名称stringfalse
port端口号inttrue
protocol端口协议类型 UDP, TCP, 或者 SCTPstringtrueTCP
expose端口是否需要暴露booltruefalse

volumeMounts

字段名称描述类型是否必须默认值
pvc挂载一个 PVC 卷[]pvcfalse
configMap挂载一个 configmap 卷[]configMapfalse
secret挂载一个 secret 卷[]secretfalse
emptyDir挂载一个 emptyDir 的卷[]emptyDirfalse
hostPath挂载主机目录卷[]hostPathfalse
hostPath
字段名称描述类型是否必须默认值
pathstringtrue
namestringtrue
mountPathstringtrue
emptyDir
字段名称描述类型是否必须默认值
namestringtrue
mountPathstringtrue
mediumstringtrueempty
secret
字段名称描述类型是否必须默认值
namestringtrue
mountPathstringtrue
defaultModeinttrue420
items[]itemsfalse
secretNamestringtrue
items
字段名称描述类型是否必须默认值
pathstringtrue
keystringtrue
modeinttrue511
configMap
字段名称描述类型是否必须默认值
namestringtrue
mountPathstringtrue
defaultModeinttrue420
cmNamestringtrue
items[]itemsfalse
items
字段名称描述类型是否必须默认值
pathstringtrue
keystringtrue
modeinttrue511
pvc
字段名称描述类型是否必须默认值
namestringtrue
mountPathstringtrue
claimNamePVC 名称stringtrue

env

字段名称描述类型是否必须默认值
name环境变量的名称stringtrue
value环境变量的值stringfalse
valueFrom从哪个资源中读取环境变量的定义valueFromfalse
valueFrom
字段名称描述类型是否必须默认值
secretKeyRefsecret 键的引用secretKeyReffalse
configMapKeyRefconfigmap 键的引用configMapKeyReffalse
configMapKeyRef
字段名称描述类型是否必须默认值
nameconfigmap 名称stringtrue
keyconfigmap 中的键名stringtrue
secretKeyRef
字段名称描述类型是否必须默认值
namesecret 名称stringtrue
keysecret 中的键名stringtrue

样例

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

NAMEDESCRIPTIONTYPEREQUIREDDEFAULT
cmd容器的启动命令[]stringfalse
env容器中的环境变量[]envfalse
image使用的镜像stringtrue
imagePullPolicy镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent")stringfalse
cpuCPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核)stringfalse
memory所需要的内存大小stringfalse
volumeMountsvolumeMountsfalse
livenessProbe判断容器是否存活的探针livenessProbefalse
readinessProbe判断容器是否就绪,能够接受用户流量的探针readinessProbefalse
imagePullSecrets容器的镜像拉取密钥[]stringfalse

样例

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

NAMEDESCRIPTIONTYPEREQUIREDDEFAULT
cmd容器的启动命令[]stringfalse
env容器中的环境变量[]envfalse
count定义任务执行的并行度inttrue1
restart定义失败重启策略,可选值为 Never 或者 OnFailure,默认是 OnFailurestringtrueNever
image使用的镜像stringtrue
cpuCPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核)stringfalse
memory所需要的内存大小stringfalse
volumeMountsvolumeMountsfalse
livenessProbe判断容器是否存活的探针livenessProbefalse
readinessProbe判断容器是否就绪,能够接受用户流量的探针readinessProbefalse
labels工作负载的标签[]stringfalse
annotations工作负载的注解[]stringfalse
imagePullPolicy镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent")stringfalse
imagePullSecrets容器的镜像拉取密钥[]stringfalse

样例

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

NAMEDESCRIPTIONTYPEREQUIREDDEFAULT
cmd容器的启动命令[]stringfalse
env容器中的环境变量[]envfalse
schedule执行规则 Cron 规范stringtrue
suspend是否暂停执行boolfalsefalse
concurrencyPolicy定义任务如何处理任务的重叠运行,可选值为 "Allow","Forbid" 或者 "Replace",默认值为 AllowstringfalseAllow
successfulJobsHistoryLimit保留多少个已经成功完成的任务记录intfalse3
failedJobsHistoryLimit保留多少个已经失败的任务记录intfalse1
count每次任务执行的并行度inttrue1
restart定义失败重启策略,可选值为 Never 或者 OnFailure,默认是 OnFailurestringtrueNever
image容器使用的镜像stringtrue
cpuCPU 核数 0.5 (0.5 CPU 核), 1 (1 CPU 核)stringfalse
memory所需要的内存大小stringfalse
volumeMountsvolumeMountsfalse
livenessProbe判断容器是否存活的探针livenessProbefalse
readinessProbe判断容器是否就绪,能够接受用户流量的探针readinessProbefalse
labels工作负载的标签[]stringfalse
annotations工作负载的注解[]stringfalse
imagePullPolicy镜像拉取策略,可选值为("Always","Never" 或者 "IfNotPresent")stringfalse
imagePullSecrets容器的镜像拉取密钥[]stringfalse

样例

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

参数说明

字段名称描述类型是否必填默认值
objectsKubernetes 资源列表[]K8s-Objecttrue

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