sigs.k8s.io/cluster-api-provider-aws@v1.5.5/templates/cluster-template-flatcar.yaml (about) 1 --- 2 apiVersion: cluster.x-k8s.io/v1beta1 3 kind: Cluster 4 metadata: 5 name: "${CLUSTER_NAME}" 6 spec: 7 clusterNetwork: 8 pods: 9 cidrBlocks: ["192.168.0.0/16"] 10 infrastructureRef: 11 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 12 kind: AWSCluster 13 name: "${CLUSTER_NAME}" 14 controlPlaneRef: 15 kind: KubeadmControlPlane 16 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 17 name: "${CLUSTER_NAME}-control-plane" 18 --- 19 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 20 kind: AWSCluster 21 metadata: 22 name: "${CLUSTER_NAME}" 23 spec: 24 region: "${AWS_REGION}" 25 sshKeyName: "${AWS_SSH_KEY_NAME}" 26 s3Bucket: 27 controlPlaneIAMInstanceProfile: control-plane.cluster-api-provider-aws.sigs.k8s.io 28 name: "${AWS_S3_BUCKET_NAME}" 29 nodesIAMInstanceProfiles: 30 - nodes.cluster-api-provider-aws.sigs.k8s.io 31 --- 32 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 33 kind: KubeadmControlPlane 34 metadata: 35 name: ${CLUSTER_NAME}-control-plane 36 spec: 37 replicas: ${CONTROL_PLANE_MACHINE_COUNT} 38 machineTemplate: 39 infrastructureRef: 40 kind: AWSMachineTemplate 41 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 42 name: "${CLUSTER_NAME}-control-plane" 43 kubeadmConfigSpec: 44 initConfiguration: 45 nodeRegistration: 46 name: $${COREOS_EC2_HOSTNAME} 47 kubeletExtraArgs: 48 cloud-provider: aws 49 clusterConfiguration: 50 apiServer: 51 extraArgs: 52 cloud-provider: aws 53 controllerManager: 54 extraArgs: 55 cloud-provider: aws 56 joinConfiguration: 57 nodeRegistration: 58 name: $${COREOS_EC2_HOSTNAME} 59 kubeletExtraArgs: 60 cloud-provider: aws 61 format: ignition 62 ignition: 63 containerLinuxConfig: 64 additionalConfig: | 65 systemd: 66 units: 67 - name: kubeadm.service 68 enabled: true 69 dropins: 70 - name: 10-flatcar.conf 71 contents: | 72 [Unit] 73 # kubeadm must run after coreos-metadata populated /run/metadata directory. 74 Requires=coreos-metadata.service 75 After=coreos-metadata.service 76 [Service] 77 # To make metadata environment variables available for pre-kubeadm commands. 78 EnvironmentFile=/run/metadata/* 79 preKubeadmCommands: 80 - envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp 81 - mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml 82 version: ${KUBERNETES_VERSION} 83 --- 84 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 85 kind: AWSMachineTemplate 86 metadata: 87 name: ${CLUSTER_NAME}-control-plane 88 spec: 89 template: 90 spec: 91 instanceType: ${AWS_CONTROL_PLANE_MACHINE_TYPE} 92 iamInstanceProfile: control-plane.cluster-api-provider-aws.sigs.k8s.io 93 imageLookupBaseOS: flatcar-stable 94 sshKeyName: ${AWS_SSH_KEY_NAME} 95 --- 96 apiVersion: cluster.x-k8s.io/v1beta1 97 kind: MachineDeployment 98 metadata: 99 name: ${CLUSTER_NAME}-md-0 100 spec: 101 clusterName: ${CLUSTER_NAME} 102 replicas: ${WORKER_MACHINE_COUNT} 103 selector: 104 matchLabels: 105 template: 106 spec: 107 clusterName: ${CLUSTER_NAME} 108 version: ${KUBERNETES_VERSION} 109 bootstrap: 110 configRef: 111 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 112 kind: KubeadmConfigTemplate 113 name: ${CLUSTER_NAME}-md-0 114 infrastructureRef: 115 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 116 kind: AWSMachineTemplate 117 name: ${CLUSTER_NAME}-md-0 118 --- 119 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 120 kind: AWSMachineTemplate 121 metadata: 122 name: ${CLUSTER_NAME}-md-0 123 spec: 124 template: 125 spec: 126 instanceType: ${AWS_NODE_MACHINE_TYPE} 127 iamInstanceProfile: nodes.cluster-api-provider-aws.sigs.k8s.io 128 imageLookupBaseOS: flatcar-stable 129 sshKeyName: ${AWS_SSH_KEY_NAME} 130 --- 131 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 132 kind: KubeadmConfigTemplate 133 metadata: 134 name: ${CLUSTER_NAME}-md-0 135 spec: 136 template: 137 spec: 138 joinConfiguration: 139 nodeRegistration: 140 kubeletExtraArgs: 141 cloud-provider: aws 142 name: $${COREOS_EC2_HOSTNAME} 143 format: ignition 144 ignition: 145 containerLinuxConfig: 146 additionalConfig: | 147 systemd: 148 units: 149 - name: kubeadm.service 150 enabled: true 151 dropins: 152 - name: 10-flatcar.conf 153 contents: | 154 [Unit] 155 # kubeadm must run after coreos-metadata populated /run/metadata directory. 156 Requires=coreos-metadata.service 157 After=coreos-metadata.service 158 [Service] 159 # To make metadata environment variables available for pre-kubeadm commands. 160 EnvironmentFile=/run/metadata/* 161 preKubeadmCommands: 162 - envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp 163 - mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml