
This patch introduces kubernetes-dashboard addon to k8s murano application. By default this option is enabled, but user can disable it in dynamic UI corresponding form Co-Authored-By: ddovbii <ddovbii@mirantis.com> Change-Id: Id03aed1c5e3c356421beef7b5110d03c2f07d47d
255 lines
9.3 KiB
YAML
255 lines
9.3 KiB
YAML
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
Version: 2
|
|
Templates:
|
|
masterNode:
|
|
?:
|
|
type: com.mirantis.docker.kubernetes.KubernetesMasterNode
|
|
instance:
|
|
?:
|
|
type: io.murano.resources.LinuxMuranoInstance
|
|
name: generateHostname($.nodesConfiguration.unitNamingPattern, 1)
|
|
flavor: $.instanceConfiguration.flavor
|
|
image: $.instanceConfiguration.image
|
|
assignFloatingIp: $.nodesConfiguration.assignFloatingIP
|
|
keyname: $.instanceConfiguration.keyPair
|
|
availabilityZone: $.instanceConfiguration.availabilityZone
|
|
|
|
minionNode:
|
|
?:
|
|
type: com.mirantis.docker.kubernetes.KubernetesMinionNode
|
|
instance:
|
|
?:
|
|
type: io.murano.resources.LinuxMuranoInstance
|
|
name: generateHostname($.nodesConfiguration.unitNamingPattern, $index + 1)
|
|
flavor: $.instanceConfiguration.flavor
|
|
image: $.instanceConfiguration.image
|
|
assignFloatingIp: $.nodesConfiguration.assignFloatingIP
|
|
keyname: $.instanceConfiguration.keyPair
|
|
availabilityZone: $.instanceConfiguration.availabilityZone
|
|
exposeCAdvisor: $.nodesConfiguration.exposeCAdvisor
|
|
|
|
|
|
gatewayNode:
|
|
?:
|
|
type: com.mirantis.docker.kubernetes.KubernetesGatewayNode
|
|
instance:
|
|
?:
|
|
type: io.murano.resources.LinuxMuranoInstance
|
|
name: generateHostname($.nodesConfiguration.gatewayNamingPattern, $index)
|
|
flavor: $.instanceConfiguration.flavor
|
|
image: $.instanceConfiguration.image
|
|
assignFloatingIp: $.nodesConfiguration.assignGatewayFloatingIP
|
|
keyname: $.instanceConfiguration.keyPair
|
|
availabilityZone: $.instanceConfiguration.availabilityZone
|
|
|
|
Application:
|
|
?:
|
|
type: com.mirantis.docker.kubernetes.KubernetesCluster
|
|
name: $.nodesConfiguration.name
|
|
masterNode: $masterNode
|
|
minionNodes: repeat($minionNode, $.nodesConfiguration.maxMinionCount)
|
|
nodeCount: $.nodesConfiguration.minionCount
|
|
gatewayCount: $.nodesConfiguration.gatewayCount
|
|
useFlannel: $.kubeNetConfiguration.useFlannel
|
|
gatewayNodes: repeat($gatewayNode, $.nodesConfiguration.maxGatewayCount)
|
|
dockerRegistry: $.kubeNetConfiguration.dockerRegistry
|
|
dockerMirror: $.kubeNetConfiguration.dockerMirror
|
|
gcloudKey: $.kubeNetConfiguration.gcloudKey
|
|
enableKubeDns: $.kubeNetConfiguration.enableKubeDns
|
|
enableDashboard: $.kubeNetConfiguration.enableDashboard
|
|
|
|
Forms:
|
|
- nodesConfiguration:
|
|
fields:
|
|
- name: license
|
|
type: string
|
|
description: Apache License, Version 2.0
|
|
hidden: true
|
|
required: false
|
|
- 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 Kubernetes nodes
|
|
initial: 2
|
|
minValue: 1
|
|
required: true
|
|
description: >-
|
|
Select number of Kubernetes nodes
|
|
- name: maxMinionCount
|
|
type: integer
|
|
label: Maximum number of Kubernetes nodes
|
|
initial: 3
|
|
required: true
|
|
minValue: 1
|
|
description: >-
|
|
Select maximum number of Kubernetes nodes
|
|
- 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-z][-_\w#]*$'
|
|
maxLength: 64
|
|
errorMessages:
|
|
invalid: Just letters, numbers, underscores, sharps and hyphens are allowed.
|
|
label: Kubernetes node hostname pattern
|
|
- name: exposeCAdvisor
|
|
type: boolean
|
|
initial: true
|
|
required: false
|
|
label: Expose cAdvisor UI
|
|
description: >-
|
|
Opens external access to cAdvisor interface
|
|
- name: gatewayCount
|
|
type: integer
|
|
label: Initial/current number of gateway nodes
|
|
initial: 1
|
|
minValue: 1
|
|
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
|
|
maxLength: 64
|
|
regexpValidator: '^[a-zA-z][-_\w#]*$'
|
|
errorMessages:
|
|
invalid: Just letters, numbers, underscores, sharps and hyphens are allowed.
|
|
label: Gateway hostname pattern
|
|
helpText: "# expands to gateway sequence number"
|
|
description: >-
|
|
Check to assign floating IP to gateway nodes
|
|
|
|
- kubeNetConfiguration:
|
|
fields:
|
|
- name: useFlannel
|
|
type: boolean
|
|
initial: false
|
|
label: Use Flannel networking instead of Calico
|
|
description: >-
|
|
Check, if you are going to use the Flannel networking instead of Calico
|
|
required: false
|
|
- name: enableKubeDns
|
|
type: boolean
|
|
initial: true
|
|
label: Enable KubeDNS addon
|
|
description: >-
|
|
Check, if you are going to use KubeDNS feature in your cluster
|
|
required: false
|
|
- name: enableDashboard
|
|
type: boolean
|
|
initial: true
|
|
label: Enable Kubernetes Dashboard addon
|
|
description: >-
|
|
Check, if you are going to use Kubernetes Dashboard in your cluster
|
|
required: false
|
|
- name: dockerRegistry
|
|
type: string
|
|
label: Custom Docker registry URL
|
|
description: >-
|
|
Host IP or domain name of custom Docker registry to use.
|
|
For example, myregistrydomain.com
|
|
Leave empty to use Docker default.
|
|
required: false
|
|
- name: dockerMirror
|
|
type: string
|
|
label: Docker registry mirror URL
|
|
description: >-
|
|
URL of Docker registry mirror to use in the format http://<my-docker-mirror-host>.
|
|
For example, http://10.0.0.2:5000
|
|
Leave empty to not use one.
|
|
required: false
|
|
- name: gcloudKey
|
|
type: string
|
|
label: Google registry key
|
|
regexpValidator: '^{(\s*"(\\(["\\\/bfnrt]|u[a-fA-F0-9]{4})|[^"\\\0-\x1F\x7F]+)*"\s*:\s*"(\\(["\\\/bfnrt]|u[a-fA-F0-9]{4})|[^"\\\0-\x1F\x7F]+)*"\s*(,|\s*}$))*$'
|
|
errorMessages:
|
|
invalid: Text should be a valid JSON.
|
|
description: >-
|
|
Contents of JSON key file.
|
|
Used to authenticate to the Google Container Registry
|
|
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
|
|
requirements:
|
|
min_disk: 10
|
|
min_memory_mb: 1024
|
|
min_vcpus: 1
|
|
- name: image
|
|
type: image
|
|
imageType: linux.kubernetes
|
|
label: Instance image
|
|
description: >-
|
|
Select valid image for the application. Image should already be prepared and
|
|
registered in glance.
|
|
- 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
|