murano-apps/kubernetes/io.murano.apps.docker.kuber.../Classes/KubernetesGatewayNode.yaml

73 lines
2.5 KiB
YAML

Namespaces:
=: io.murano.apps.docker.kubernetes
std: io.murano
res: io.murano.resources
sys: io.murano.system
Name: KubernetesGatewayNode
Extends: KubernetesNode
Methods:
initialize:
Body:
- $._environment: $.find(std:Environment).require()
- $._cluster: $.find(KubernetesCluster).require()
deployInstance:
Body:
- If: not $.getAttr(deployed, false)
Then:
- $._environment.reporter.report($this, 'Creating Gateway node for Kubernetes services')
- $.super($.deployInstance())
- $.setAttr(deployed, true)
setupEtcd:
Body:
- $._environment.reporter.report($, 'Configuring etcd node {0}'.format($.instance.name))
- $resources: new(sys:Resources)
- $template: $resources.yaml('EtcdAddMember.template').bind(dict(
name => $.instance.name,
ip => $.getIp()
))
- $clusterConfig: $._cluster.masterNode.instance.agent.call($template, $resources)
- $template: $resources.yaml('MemberEtcdSetup.template').bind(dict(
name => $.instance.name,
ip => $.getIp(),
clusterConfig => $clusterConfig
))
- $.instance.agent.call($template, $resources)
setupNode:
Body:
- $._environment.reporter.report($this, 'Setup Flannel network on {0}'.format($.instance.name))
- $resources: new(sys:Resources)
- $template: $resources.yaml('SetupFlannelNode.template')
- $.instance.agent.call($template, $resources)
- $._environment.reporter.report($, 'Setup Load Balancer on {0}'.format($.instance.name))
- $template: $resources.yaml('HAProxySetup.template').bind(dict(
masterIp => $._cluster.masterNode.getIp()
))
- $.instance.agent.call($template, $resources)
- $template: $resources.yaml('KubeRegisterNode.template').bind(dict(
name => $.instance.name,
ip => $.getIp()
))
- $._cluster.masterNode.instance.agent.call($template, $resources)
removeFromCluster:
Body:
- If: $.getAttr(deployed, false)
Then:
- $._environment.reporter.report($this, 'Deleting Kubernetes Minion')
- $resources: new(sys:Resources)
- $template: $resources.yaml('RemoveMinion.template').bind(dict(name=>$.getIp()))
- $._cluster.masterNode.instance.agent.call($template, $resources)
- $._environment.reporter.report($this, 'Node {0} deleted'.format($.getIp()))
- $.setAttr(deployed, false)