172 lines
6.0 KiB
YAML
172 lines
6.0 KiB
YAML
![]() |
Version: 2
|
||
|
Templates:
|
||
|
masterNode:
|
||
|
?:
|
||
|
type: io.murano.apps.docker.kubernetes.KubernetesMasterNode
|
||
|
instance:
|
||
|
?:
|
||
|
type: io.murano.resources.LinuxMuranoInstance
|
||
|
name: generateHostname($.appConfiguration.unitNamingPattern, 1)
|
||
|
flavor: $.instanceConfiguration.flavor
|
||
|
image: 'ubuntu14.04-x64-kubernetes'
|
||
|
assignFloatingIp: $.appConfiguration.assignFloatingIP
|
||
|
keyname: $.instanceConfiguration.keyPair
|
||
|
availabilityZone: $.instanceConfiguration.availabilityZone
|
||
|
|
||
|
minionNode:
|
||
|
?:
|
||
|
type: io.murano.apps.docker.kubernetes.KubernetesMinionNode
|
||
|
instance:
|
||
|
?:
|
||
|
type: io.murano.resources.LinuxMuranoInstance
|
||
|
name: generateHostname($.appConfiguration.unitNamingPattern, $index + 1)
|
||
|
flavor: $.instanceConfiguration.flavor
|
||
|
image: 'ubuntu14.04-x64-kubernetes'
|
||
|
assignFloatingIp: $.appConfiguration.assignFloatingIP
|
||
|
keyname: $.instanceConfiguration.keyPair
|
||
|
enableMonitoring: $.appConfiguration.enableMonitoring
|
||
|
|
||
|
|
||
|
gatewayNode:
|
||
|
?:
|
||
|
type: io.murano.apps.docker.kubernetes.KubernetesGatewayNode
|
||
|
instance:
|
||
|
?:
|
||
|
type: io.murano.resources.LinuxMuranoInstance
|
||
|
name: generateHostname($.appConfiguration.gatewayNamingPattern, $index)
|
||
|
flavor: $.instanceConfiguration.flavor
|
||
|
image: 'ubuntu14.04-x64-kubernetes'
|
||
|
assignFloatingIp: $.appConfiguration.assignGatewayFloatingIP
|
||
|
keyname: $.instanceConfiguration.keyPair
|
||
|
|
||
|
Application:
|
||
|
?:
|
||
|
type: io.murano.apps.docker.kubernetes.KubernetesCluster
|
||
|
name: $.appConfiguration.name
|
||
|
masterNode: $masterNode
|
||
|
minionNodes: repeat($minionNode, $.appConfiguration.maxMinionCount)
|
||
|
nodeCount: $.appConfiguration.minionCount
|
||
|
gatewayCount: $.appConfiguration.gatewayCount
|
||
|
gatewayNodes: repeat($gatewayNode, $.appConfiguration.maxGatewayCount)
|
||
|
dockerRegistry: $.appConfiguration.dockerRegistry
|
||
|
|
||
|
|
||
|
Forms:
|
||
|
- appConfiguration:
|
||
|
fields:
|
||
|
- name: name
|
||
|
type: string
|
||
|
label: Cluster Name
|
||
|
initial: KubernetesCluster
|
||
|
description: >-
|
||
|
Enter a desired name for the application. Just A-Z, a-z, 0-9, dash and
|
||
|
underline are allowed
|
||
|
- name: minionCount
|
||
|
type: integer
|
||
|
label: Initial/current number of minions
|
||
|
initial: 2
|
||
|
minValue: 1
|
||
|
required: true
|
||
|
description: >-
|
||
|
Select number of minions
|
||
|
- name: maxMinionCount
|
||
|
type: integer
|
||
|
label: Maximum number of minions
|
||
|
initial: 3
|
||
|
required: true
|
||
|
minValue: 1
|
||
|
description: >-
|
||
|
Select maximum number of minions
|
||
|
- name: assignFloatingIP
|
||
|
type: boolean
|
||
|
initial: true
|
||
|
label: Assign floating IP to Kubernetes nodes
|
||
|
description: >-
|
||
|
Check to assign floating IP to Kubernetes nodes
|
||
|
required: false
|
||
|
- name: unitNamingPattern
|
||
|
type: string
|
||
|
initial: 'kube-#'
|
||
|
helpText: \'#\' expands to machine sequence number
|
||
|
required: false
|
||
|
description: >-
|
||
|
For your convenience instance hostname can be specified.
|
||
|
Enter a name or leave blank for random name generation.
|
||
|
regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$'
|
||
|
label: Kubernetes node hostname pattern
|
||
|
- name: enableMonitoring
|
||
|
type: boolean
|
||
|
initial: true
|
||
|
required: false
|
||
|
label: Enable cAdvisor monitoring
|
||
|
description: >-
|
||
|
Enable cAdvisor monitoring
|
||
|
- name: gatewayCount
|
||
|
type: integer
|
||
|
label: Initial/current number of gateway nodes
|
||
|
initial: 1
|
||
|
minValue: 0
|
||
|
required: true
|
||
|
description: >-
|
||
|
External traffic will be routed through gateway nodes.
|
||
|
Increasing gateways count allows to set up complex and HA clusters.
|
||
|
- name: maxGatewayCount
|
||
|
type: integer
|
||
|
label: Maximum number of gateway nodes
|
||
|
initial: 2
|
||
|
required: true
|
||
|
minValue: 0
|
||
|
description: >-
|
||
|
Maximum number of gateway nodes.
|
||
|
Taken into account when performing scalability actions.
|
||
|
- name: assignGatewayFloatingIP
|
||
|
type: boolean
|
||
|
initial: true
|
||
|
label: Assign floating IP to gateway nodes
|
||
|
description: >-
|
||
|
Check to assign floating IP to gateway nodes
|
||
|
required: false
|
||
|
- name: gatewayNamingPattern
|
||
|
type: string
|
||
|
initial: gateway-#
|
||
|
required: false
|
||
|
regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$'
|
||
|
label: Gateway hostname pattern
|
||
|
helpText: \'#\' expands to gateway sequence number
|
||
|
description: >-
|
||
|
Check to assign floating IP to gateway nodes
|
||
|
- name: dockerRegistry
|
||
|
type: string
|
||
|
label: Custom Docker registry URL
|
||
|
description: >-
|
||
|
URL of docker repository mirror to use.
|
||
|
Leave empty to use Docker default.
|
||
|
required: false
|
||
|
|
||
|
- instanceConfiguration:
|
||
|
fields:
|
||
|
- name: title
|
||
|
type: string
|
||
|
required: false
|
||
|
hidden: true
|
||
|
description: Specify some instance parameters on which application would be created.
|
||
|
- name: flavor
|
||
|
type: flavor
|
||
|
label: Instance flavor
|
||
|
description: >-
|
||
|
Select one of the existing flavors. Consider that application performance
|
||
|
depends on this parameter.
|
||
|
required: false
|
||
|
- name: keyPair
|
||
|
type: keypair
|
||
|
label: Key Pair
|
||
|
description: >-
|
||
|
Select the Key Pair to control access to instances. You can login to
|
||
|
instances using this KeyPair after the deployment.
|
||
|
required: false
|
||
|
- name: availabilityZone
|
||
|
type: azone
|
||
|
label: Availability zone
|
||
|
description: Select an availability zone where the application would be installed.
|
||
|
required: false
|