Documentation ¶
Overview ¶
Package aws generates Machine objects for aws.
Package aws generates Machine objects for aws.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var MasterMachineTmpl = template.Must(template.New("aws-master-machine").Parse(`
{{- $c := . -}}
kind: List
apiVersion: v1
metadata:
resourceVersion: ""
selfLink: ""
items:
{{- range $index,$instance := $c.Instances}}
- apiVersion: cluster.k8s.io/v1alpha1
kind: Machine
metadata:
name: {{$c.ClusterName}}-master-{{$index}}
namespace: openshift-cluster-api
labels:
sigs.k8s.io/cluster-api-cluster: {{$c.ClusterName}}
sigs.k8s.io/cluster-api-machine-role: master
sigs.k8s.io/cluster-api-machine-type: master
spec:
providerConfig:
value:
apiVersion: aws.cluster.k8s.io/v1alpha1
kind: AWSMachineProviderConfig
ami:
id: {{$c.AMIID}}
instanceType: {{$c.Machine.InstanceType}}
placement:
region: {{$c.Region}}
availabilityZone: {{$instance.AvailabilityZone}}
subnet:
filters:
- name: "tag:Name"
values:
- "{{$c.ClusterName}}-master-{{$instance.AvailabilityZone}}"
iamInstanceProfile:
id: "{{$c.ClusterName}}-master-profile"
tags:
{{- range $key,$value := $c.Tags}}
- name: "{{$key}}"
value: "{{$value}}"
{{- end}}
securityGroups:
- filters:
- name: "tag:Name"
values:
- "{{$c.ClusterName}}_master_sg"
userDataSecret:
name: "master-user-data-{{$index}}"
versions:
kubelet: ""
controlPlane: ""
{{- end}}
`))
MasterMachineTmpl is a template for a list of master machines.
View Source
var WorkerMachineSetsTmpl = template.Must(template.New("aws-worker-machinesets").Parse(`
{{- $c := . -}}
kind: List
apiVersion: v1
metadata:
resourceVersion: ""
selfLink: ""
items:
{{- range $index,$instance := $c.Instances}}
- apiVersion: cluster.k8s.io/v1alpha1
kind: MachineSet
metadata:
name: {{$c.ClusterName}}-worker-{{$index}}
namespace: openshift-cluster-api
labels:
sigs.k8s.io/cluster-api-cluster: {{$c.ClusterName}}
sigs.k8s.io/cluster-api-machine-role: worker
sigs.k8s.io/cluster-api-machine-type: worker
spec:
replicas: {{$instance.Replicas}}
selector:
matchLabels:
sigs.k8s.io/cluster-api-machineset: worker
sigs.k8s.io/cluster-api-cluster: {{$c.ClusterName}}
template:
metadata:
labels:
sigs.k8s.io/cluster-api-machineset: worker
sigs.k8s.io/cluster-api-cluster: {{$c.ClusterName}}
sigs.k8s.io/cluster-api-machine-role: worker
sigs.k8s.io/cluster-api-machine-type: worker
spec:
providerConfig:
value:
apiVersion: aws.cluster.k8s.io/v1alpha1
kind: AWSMachineProviderConfig
ami:
id: {{$c.AMIID}}
instanceType: {{$c.Machine.InstanceType}}
placement:
region: {{$c.Region}}
availabilityZone: {{$instance.AvailabilityZone}}
subnet:
filters:
- name: "tag:Name"
values:
- "{{$c.ClusterName}}-worker-{{$instance.AvailabilityZone}}"
iamInstanceProfile:
id: "{{$c.ClusterName}}-worker-profile"
tags:
{{- range $key,$value := $c.Tags}}
- name: "{{$key}}"
value: "{{$value}}"
{{- end}}
securityGroups:
- filters:
- name: "tag:Name"
values:
- "{{$c.ClusterName}}_worker_sg"
userDataSecret:
name: worker-user-data
versions:
kubelet: ""
controlPlane: ""
{{- end}}
`))
WorkerMachineSetsTmpl is template for worker machinesets.
Functions ¶
func AvailabilityZones ¶
AvailabilityZones retrieves a list of availability zones for the given region.
Types ¶
type MachineConfig ¶
type MachineConfig struct { ClusterName string AMIID string Tags map[string]string Region string Machine types.AWSMachinePoolPlatform }
MachineConfig contains fields common to worker and master machine configurations
type MasterConfig ¶
type MasterConfig struct { MachineConfig Instances []MasterInstance }
MasterConfig is used to generate master machines
type MasterInstance ¶
type MasterInstance struct {
AvailabilityZone string
}
MasterInstance contains information specific to each master machine instance to create.
type WorkerConfig ¶
type WorkerConfig struct { Instances []WorkerMachinesetInstance MachineConfig }
WorkerConfig is used to generate the worker machinesets.
type WorkerMachinesetInstance ¶
WorkerMachinesetInstance constains information specific to one worker machineset.
Click to show internal directories.
Click to hide internal directories.