You need to enable JavaScript to run this app.
文档中心
持续交付

持续交付

复制全文
下载 pdf
组件模板
预置组件模板
复制全文
下载 pdf
预置组件模板
应用交付提供组件模板功能,帮助快速生成 OAM 应用中的组件。本文为您介绍系统预置的组件模板。​
说明​
当前仅 OAM 应用支持该功能。​
空白模板​
系统预置的空白模板。适用于有明确需求,希望自行编写组件内容的场景。​
预置 Deployment 服务模版​
系统预置的 Deployment 和 Service 服务模板。适用于需多次复用的任务。​
​
apiVersion: apps/v1​
kind: Deployment​
metadata:​
name: {{ .AppDeliver.componentName }}​
labels:​
run: {{ .AppDeliver.componentName }}​
namespace: {{ .Values.namespace }}​
spec:​
{{- if .Values.replicas }}​
replicas: {{ .Values.replicas }}​
{{- end }}​
selector:​
matchLabels:​
run: {{ .AppDeliver.componentName }}​
template:​
metadata:​
labels:​
run: {{ .AppDeliver.componentName }}​
spec:​
containers:​
- name: {{ .AppDeliver.componentName }}​
image: {{ .AppDeliver.image.backend }}​
# 端口配置 ​
ports:​
- containerPort: {{ .Values.port }}​
​
​
​
apiVersion: v1​
kind: Service​
metadata:​
name: {{ .AppDeliver.componentName }}​
namespace: {{ .Values.namespace }}​
spec:​
selector:​
run: {{ .AppDeliver.componentName }}​
ports:​
- protocol: TCP​
port: {{ .Values.port }}​
targetPort: {{ .Values.port }}​
​
预置 MSE 灰度服务模板​
系统预置的 Deployment + Service 服务模板,关联了微服务引擎 MSE 泳道配置,适用于集群环境内部东西向的应用做灰度发布。需要提前在 MSE 创建治理中心实例,并配置泳道。​
​
apiVersion: v1​
kind: Service​
metadata:​
name: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
namespace: {{ .Values.namespace }}​
labels:​
run: {{ .AppDeliver.componentName }}​
app: "{{ .AppDeliver.componentName }}"​
spec:​
selector:​
run: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
ports:​
- protocol: TCP​
port: {{ .Values.port }}​
targetPort: {{ .Values.port }}​
​
​
apiVersion: apps/v1​
kind: Deployment​
metadata:​
name: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
labels:​
run: {{ .AppDeliver.componentName }}​
app: "{{ .AppDeliver.componentName }}"​
namespace: {{ .Values.namespace }}​
spec:​
{{- if .Values.replicas }}​
replicas: {{ .Values.replicas }}​
{{- end }}​
selector:​
matchLabels:​
run: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
template:​
metadata:​
annotations:​
sidecar.mesh.io/prestop-timeout: "{{ .Values.prestopTimeout }}"​
labels:​
run: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
app: "{{ .AppDeliver.componentName }}"​
sidecar.mesh.io/mse-namespace: "{{ .Values.mseNamespace }}"​
sidecar.mesh.io/lane: "{{ .Values.lane }}"​
sidecar.mesh.io/data-plane-mode: "{{ .Values.dataPlanMode }}"​
sidecar.istio.io/inject: "false"​
spec:​
containers:​
- name: {{ .AppDeliver.componentName }}​
image: {{ .AppDeliver.image.backend }}​
# 端口配置 ​
command:​
- /bin/sh​
args:​
- '-c'​
- {{ .Values.startCommand }}​
ports:​
- containerPort: {{ .Values.port }}​
​
预置 MSE 灰度服务和 Ingress 网关路由模板​
系统预置的 Deployment + Service + ingress 入口服务和路由(基于请求头)模板,适用于南北向流量的第一跳的应用做灰度发布。模板关联了微服务引擎 MSE 泳道配置,结合了 ingress 入口服务和路由的功能,通过请求头进行路由控制,通过 Kubernetes Ingress 通用控制器网关进行关联,可结合 预置 MSE 灰度服务模板 的应用一起使用。需要提前创建 MSE 治理中心实例和 ingress 控制器(如 APIG,nginx-ingress 等)。​
​
apiVersion: apps/v1​
kind: Deployment​
metadata:​
name: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
labels:​
run: {{ .AppDeliver.componentName }}​
app: "{{ .AppDeliver.componentName }}"​
namespace: {{ .Values.namespace }}​
spec:​
{{- if .Values.replicas }}​
replicas: {{ .Values.replicas }}​
{{- end }}​
selector:​
matchLabels:​
run: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
template:​
metadata:​
annotations:​
sidecar.mesh.io/prestop-timeout: "{{ .Values.prestopTimeout }}"​
labels:​
run: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
app: "{{ .AppDeliver.componentName }}"​
sidecar.mesh.io/mse-namespace: "{{ .Values.mseNamespace }}"​
sidecar.mesh.io/lane: "{{ .Values.lane }}"​
sidecar.mesh.io/data-plane-mode: "{{ .Values.dataPlanMode }}"​
sidecar.istio.io/inject: "false"​
spec:​
containers:​
- name: {{ .AppDeliver.componentName }}​
image: {{ .AppDeliver.image.backend }}​
# 端口配置 ​
command:​
- /bin/sh​
args:​
- '-c'​
- {{ .Values.startCommand }}​
ports:​
- containerPort: {{ .Values.port }}​
​
​
apiVersion: v1​
kind: Service​
metadata:​
name: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
namespace: {{ .Values.namespace }}​
labels:​
run: {{ .AppDeliver.componentName }}​
app: "{{ .AppDeliver.componentName }}"​
spec:​
selector:​
run: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
ports:​
- protocol: TCP​
port: {{ .Values.port }}​
targetPort: {{ .Values.port }}​
​
​
# 支持自定义 kubernetes 资源 ​
apiVersion: networking.k8s.io/v1​
kind: Ingress​
metadata:​
name: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
labels:​
run: {{ .AppDeliver.componentName }}​
app: "{{ .AppDeliver.componentName }}"​
annotations:​
nginx.ingress.kubernetes.io/canary: "{{ .Values.isCanary }}"​
nginx.ingress.kubernetes.io/canary-by-header: "{{ .Values.headerKey }}"​
nginx.ingress.kubernetes.io/canary-by-header-value: "{{ .Values.headerValue }}"​
spec:​
rules:​
- host: "{{ .Values.host }}"​
http:​
paths:​
- path: "{{ .Values.ingressPath }}"​
pathType: "{{ .Values.ingressPathType }}"​
backend:​
service:​
name: {{ .AppDeliver.componentName }}-{{ .AppDeliver.envName }}​
port:​
number: {{ .Values.port }}​
​
​
​
最近更新时间:2025.09.04 19:20:17
这个页面对您有帮助吗?
有用
有用
无用
无用