应用模板内容操作指引

最近更新时间:2019-04-12 18:50:01

在应用模板(或者应用)中,通过YAML格式的描述性语言将服务的部署信息保存成模板内容,从而实现多次复用和多环境下部署不同的应用。可以在模板内容区域导入和编辑服务的模板内容。

模板内容支持两种方式导入:1. UI导入服务 2. 新增空服务

注意:
可以根据场景选择使用其中的任意一种方式

UI导入服务可以通过在控制台填写服务的相关参数,自动转换成模板内容的YAML描述文件,适用于YAML描述文件不存在的情况。新增空服务可以直接拷贝已经存在的YAML描述文件内容到模板内容区域,适用于YAML描述文件已经存在的情况。

UI导入服务的模板内容

在新建模板(或者新建应用)页面,单击UI导入服务按钮,可以在控制台填写对应的参数,自动转换成服务的模板内容。

服务导入页面参数设置,与服务创建页面参数设置保持一致。
主要参数包括: 服务的基本信息,数据卷设置,运行容器参数设置,实例数量设置,服务访问类型和端口等。

例如在示例中部署一个nginx服务,填写的参数如下:

设置服务的基本信息:

  1. 填写服务名称nginx
  2. 填写服务描述nginx服务

设置服务的数据卷信息:
未使用数据盘,无。

设置镜像参数:

  1. 在设置容器运行参数中的镜像参数:
    容器名称设置为nginx
    镜像名称设置为nginx
    版本号选择为latest

设置服务的实例数:

  1. 服务的实例数设置为1

设置服务的访问方式:

  1. 服务的访问方式设置为集群内访问
  2. 服务的访问端口:容器端口和服务端口都设置成80

更多关于参数设置内容可以参考 服务创建操作的相关文档。

填写参数后,单击导入服务的完成按钮,控制台自动导入服务的模板内容。

新增空服务导入模板内容

如果已经存在服务对应的模板内容的YAML文件,可以直接将模板内容导入到编辑框中。具体的步骤如下:

步骤一 创建对应的服务
单击"新增空服务"按钮,新增一个服务。

步骤二 导入模板内容

可以将下面YAML文件中的内容,直接拷贝到编辑框中,导入服务的模板内容。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    description: nginx服务
  creationTimestamp: null
  name: nginx
  namespace: default
spec:
  replicas: 1
  revisionHistoryLimit: 5
  selector: {}
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
    spec:
      containers:
      - image: nginx:latest
        imagePullPolicy: Always
        name: nginx
        resources:
          requests:
            cpu: 200m
        securityContext:
          privileged: false
      serviceAccountName: ""
      volumes: null
status: {}

---
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  name: nginx
  namespace: default
spec:
  ports:
  - name: tcp-80-80-xoq5o
    nodePort: 0
    port: 80
    protocol: TCP
    targetPort: 80
  selector: {}
  type: LoadBalancer
status:
  loadBalancer: {}

步骤三 提取模板内容中的变量

在示例中,使用了NAMESPACEnamespace参数作为变量进行替换,更多关于变量替换的说明可以参考变量替换

系统自动提取模板内容中的变量作为配置项。然后在配置项中填写变量的默认值,这里设置成default

编辑模板内容

在模板内容区域,可以直接对模板内容进行编辑。例如在模板内容中将服务实例的副本数修改为2

模板内容操作-01.png

模板内容的语法规则,满足Kubernetes定义的语法,更多关于模板内容规则的说明可以参考编排语法能力说明

模板内容中参数配置化

在模板内容中,如果有些参数在不同环境下是不相同的,或者需要进行频繁的修改。可以将这部分参数转换成一个可配置的变量。例如,上面的服务实例副本数,可能在不同环境下是不相同的,我们可以将它转换成变量NGINX_REPLICAS。关于模板中变量的使用说明,可以参考变量设置

系统提取模板内容中的变量作为配置项。然后在配置项中填写变量的默认值,这里设置成2

在不同的环境部署时,可以根据需要,选择不同的配置项,从而调整服务的实例数量。