更新时间:2023-12-13 GMT+08:00

concat

在编写模板时,经常会使用到字符串拼接功能。例如,从虚拟机的结果中获取一个IP,从APP的结果中获取一个监听Port,并在模板的输出中打印出最终的、直观的访问http地址。

字符串拼接是一个内置函数,concat用于将描述字段转换成字符串并进行拼接,支持内嵌get_attribute、get_input函数

当前版本,仅支持concat定义在output中,不支持在node_templates中定义concat并嵌套get_attribute形式。

语法

concat: [args, {get_attribute[…]}, {get_input: […]} ]

参数说明

表1 参数说明

参数

参数说明

args

用户自定义的任意字段,支持整型,布尔型,字符串型

例如:

concat:[“string example”, 100, -10, true, false], {get_attribute: […]}, {get_input: […]}

上述三种参数排列无顺序要求,内置函数同get_attribute、get_input

返回值

返回拼接成功的字符串

示例

properties:
  package:
    image: {get_input: magento-image}
    imagePullPolicy: {get_input: imagePullPolicy}
      env:
        - name: MYSQL_HOST #告诉业务,MySQL在哪里
          value:
            concat:
              - {get_input: mysql-name}
              - .default.svc.cluster.local # MySQL实际地址,是一个k8s的内部域名
        - name: MYSQL_USER
            value: {get_input: mysql-user}
        - name: MYSQL_PASSWORD
            value: {get_input: mysql-password}
        - name: MYSQL_DATABASE
            value: {get_input: mysql-database}
        - name: ACCESS_URL
            value: 
              concat:
                - "http://"
                - {get_input: magento-EIP}
                - ":"
                - {get_input: magento-EPORT-s}