服务模板
OAM 服务模板有助于快速生成应用中的服务,为团队成员云原生研发协作提供规范性参考。运维或技术专家可以将团队中常用的应用模型设为服务模板,提升创建应用的效率。
查看模板
前往团队设置中心,点击“功能设置”中的“服务模板”。
你可以在此处查看团队中的所有服务模板,还可以通过筛选栏快速找到目标模板。
指定代码仓库
正式开始创建服务模板前,需提前指定一个代码仓库用以保存服务模板元数据。点击页面右上角菜单栏下的“仓库配置”选项。
指定项目中的代码仓库与对应的分支与目录。
创建模板
点击右上方的“创建服务模板”按钮,选择符合需求的模板类型。
空白模板
模板中不填充任何信息,需自行手动编写,适合有明确目的的需求。
Job 服务模板
适用于一次性任务,将在模板中自动填充以下信息:
apiVersion: batch/v1
kind: Job
metadata:
name: {{.name}}
spec:
template:
spec:
containers:
- name: {{.name}}
image: {{.image}}
{{- if .cmd}}
command:
- {{.cmd}}
{{- end}}
{{- if .args}}
args:
{{- range .args}}
- {{.}}
{{- end}}
{{- end}}
restartPolicy: {{.restart}}
backoffLimit: 3
{{- if .parallel}}
parallelism: {{.parallel}}
completions: {{.parallel}}
{{- end }}
Deployment 服务模板
适用于需多次复用的任务,将在模板自动填充以下信息:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{.name}}
annotations:
reloader.stakater.com/auto: "true"
spec:
{{- if .replicas }}
replicas: {{ .replicas }}
{{- end }}
selector:
matchLabels:
app: {{.name}}
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
template:
metadata:
labels:
app: {{.name}}
spec:
containers:
- name: {{.name}}
image: {{ .image }}
imagePullPolicy: IfNotPresent
ports:
- containerPort: {{.port}}
编辑模板
以内置 deployment 模版为例,左侧页面是模版的 yaml 配置,采用 {{.xxx}}
的 go template 的语法形式在 yaml 配置中引用变量,模版将自动生成部分变量。
你可以在右侧页面中为模板添加自定义变量。
在“服务发现”中填写 service 配置:
服务模板还支持添加运维插件。运维插件的作用是给模板中的配置注入另外一段 yaml 片段用以增加额外的能力。
使用模板
创建应用后,前往应用中的“服务管理”页。点击左侧的蓝色 ➕ 按钮,选择对应的模板并设置启动顺序。
删除与下架
模版被服务引用后将不能被删除,但允许下架。下架后将不支持再次引用此模版创建新的服务,但已引用的此模版的服务将不受影响。
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。