sigs.k8s.io/cluster-api-provider-azure@v1.14.3/templates/test/ci/cluster-template-prow-edgezone.yaml (about) 1 apiVersion: cluster.x-k8s.io/v1beta1 2 kind: Cluster 3 metadata: 4 labels: 5 cloud-provider: ${CLOUD_PROVIDER_AZURE_LABEL:=azure} 6 cni: calico 7 name: ${CLUSTER_NAME} 8 namespace: default 9 spec: 10 clusterNetwork: 11 pods: 12 cidrBlocks: 13 - 192.168.0.0/16 14 controlPlaneRef: 15 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 16 kind: KubeadmControlPlane 17 name: ${CLUSTER_NAME}-control-plane 18 infrastructureRef: 19 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 20 kind: AzureCluster 21 name: ${CLUSTER_NAME} 22 --- 23 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 24 kind: AzureCluster 25 metadata: 26 name: ${CLUSTER_NAME} 27 namespace: default 28 spec: 29 additionalTags: 30 buildProvenance: ${BUILD_PROVENANCE} 31 creationTimestamp: ${TIMESTAMP} 32 jobName: ${JOB_NAME} 33 extendedLocation: 34 name: ${AZURE_EXTENDEDLOCATION_NAME} 35 type: ${AZURE_EXTENDEDLOCATION_TYPE} 36 identityRef: 37 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 38 kind: AzureClusterIdentity 39 name: ${CLUSTER_IDENTITY_NAME} 40 location: ${AZURE_LOCATION_EDGEZONE} 41 networkSpec: 42 subnets: 43 - name: control-plane-subnet 44 role: control-plane 45 - name: node-subnet 46 role: node 47 vnet: 48 name: ${AZURE_VNET_NAME:=${CLUSTER_NAME}-vnet} 49 resourceGroup: ${AZURE_RESOURCE_GROUP:=${CLUSTER_NAME}} 50 subscriptionID: ${AZURE_SUBSCRIPTION_ID} 51 --- 52 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 53 kind: KubeadmControlPlane 54 metadata: 55 name: ${CLUSTER_NAME}-control-plane 56 namespace: default 57 spec: 58 kubeadmConfigSpec: 59 clusterConfiguration: 60 apiServer: 61 extraArgs: 62 cloud-provider: external 63 feature-gates: MixedProtocolLBService=true 64 timeoutForControlPlane: 20m 65 controllerManager: 66 extraArgs: 67 allocate-node-cidrs: "false" 68 cloud-provider: external 69 cluster-name: ${CLUSTER_NAME} 70 v: "4" 71 etcd: 72 local: 73 dataDir: /var/lib/etcddisk/etcd 74 extraArgs: 75 quota-backend-bytes: "8589934592" 76 diskSetup: 77 filesystems: 78 - device: /dev/disk/azure/scsi1/lun0 79 extraOpts: 80 - -E 81 - lazy_itable_init=1,lazy_journal_init=1 82 filesystem: ext4 83 label: etcd_disk 84 - device: ephemeral0.1 85 filesystem: ext4 86 label: ephemeral0 87 replaceFS: ntfs 88 partitions: 89 - device: /dev/disk/azure/scsi1/lun0 90 layout: true 91 overwrite: false 92 tableType: gpt 93 files: 94 - contentFrom: 95 secret: 96 key: control-plane-azure.json 97 name: ${CLUSTER_NAME}-control-plane-azure-json 98 owner: root:root 99 path: /etc/kubernetes/azure.json 100 permissions: "0644" 101 initConfiguration: 102 nodeRegistration: 103 kubeletExtraArgs: 104 cloud-provider: external 105 name: '{{ ds.meta_data["local_hostname"] }}' 106 joinConfiguration: 107 nodeRegistration: 108 kubeletExtraArgs: 109 cloud-provider: external 110 name: '{{ ds.meta_data["local_hostname"] }}' 111 mounts: 112 - - LABEL=etcd_disk 113 - /var/lib/etcddisk 114 postKubeadmCommands: [] 115 preKubeadmCommands: [] 116 machineTemplate: 117 infrastructureRef: 118 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 119 kind: AzureMachineTemplate 120 name: ${CLUSTER_NAME}-control-plane 121 replicas: ${CONTROL_PLANE_MACHINE_COUNT:=1} 122 version: v1.25.0 123 --- 124 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 125 kind: AzureMachineTemplate 126 metadata: 127 name: ${CLUSTER_NAME}-control-plane 128 namespace: default 129 spec: 130 template: 131 spec: 132 dataDisks: 133 - diskSizeGB: 256 134 lun: 0 135 managedDisk: 136 storageAccountType: StandardSSD_LRS 137 nameSuffix: etcddisk 138 identity: UserAssigned 139 osDisk: 140 diskSizeGB: 128 141 managedDisk: 142 storageAccountType: StandardSSD_LRS 143 osType: Linux 144 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 145 userAssignedIdentities: 146 - providerID: /subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${CI_RG:=capz-ci}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${USER_IDENTITY:=cloud-provider-user-identity} 147 vmSize: ${AZURE_EDGEZONE_CONTROL_PLANE_MACHINE_TYPE:=Standard_DS2_v2} 148 --- 149 apiVersion: cluster.x-k8s.io/v1beta1 150 kind: MachineDeployment 151 metadata: 152 name: ${CLUSTER_NAME}-md-0 153 namespace: default 154 spec: 155 clusterName: ${CLUSTER_NAME} 156 replicas: ${WORKER_MACHINE_COUNT:=2} 157 selector: {} 158 template: 159 spec: 160 bootstrap: 161 configRef: 162 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 163 kind: KubeadmConfigTemplate 164 name: ${CLUSTER_NAME}-md-0 165 clusterName: ${CLUSTER_NAME} 166 infrastructureRef: 167 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 168 kind: AzureMachineTemplate 169 name: ${CLUSTER_NAME}-md-0 170 version: v1.25.0 171 --- 172 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 173 kind: AzureMachineTemplate 174 metadata: 175 name: ${CLUSTER_NAME}-md-0 176 namespace: default 177 spec: 178 template: 179 spec: 180 identity: UserAssigned 181 osDisk: 182 diskSizeGB: 128 183 managedDisk: 184 storageAccountType: StandardSSD_LRS 185 osType: Linux 186 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 187 userAssignedIdentities: 188 - providerID: /subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${CI_RG:=capz-ci}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${USER_IDENTITY:=cloud-provider-user-identity} 189 vmSize: ${AZURE_EDGEZONE_NODE_MACHINE_TYPE:=Standard_DS4_v2} 190 --- 191 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 192 kind: KubeadmConfigTemplate 193 metadata: 194 name: ${CLUSTER_NAME}-md-0 195 namespace: default 196 spec: 197 template: 198 spec: 199 files: 200 - contentFrom: 201 secret: 202 key: worker-node-azure.json 203 name: ${CLUSTER_NAME}-md-0-azure-json 204 owner: root:root 205 path: /etc/kubernetes/azure.json 206 permissions: "0644" 207 joinConfiguration: 208 nodeRegistration: 209 kubeletExtraArgs: 210 cloud-provider: external 211 name: '{{ ds.meta_data["local_hostname"] }}' 212 preKubeadmCommands: [] 213 --- 214 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 215 kind: AzureClusterIdentity 216 metadata: 217 labels: 218 clusterctl.cluster.x-k8s.io/move-hierarchy: "true" 219 name: ${CLUSTER_IDENTITY_NAME} 220 namespace: default 221 spec: 222 allowedNamespaces: {} 223 clientID: ${AZURE_CLIENT_ID} 224 clientSecret: 225 name: ${AZURE_CLUSTER_IDENTITY_SECRET_NAME} 226 namespace: ${AZURE_CLUSTER_IDENTITY_SECRET_NAMESPACE} 227 tenantID: ${AZURE_TENANT_ID} 228 type: ServicePrincipal 229 --- 230 apiVersion: addons.cluster.x-k8s.io/v1alpha1 231 kind: HelmChartProxy 232 metadata: 233 name: calico 234 namespace: default 235 spec: 236 chartName: tigera-operator 237 clusterSelector: 238 matchLabels: 239 cni: calico 240 namespace: tigera-operator 241 releaseName: projectcalico 242 repoURL: https://docs.tigera.io/calico/charts 243 valuesTemplate: |- 244 installation: 245 cni: 246 type: Calico 247 calicoNetwork: 248 bgp: Disabled 249 mtu: 1350 250 ipPools: 251 ipPools:{{range $i, $cidr := .Cluster.spec.clusterNetwork.pods.cidrBlocks }} 252 - cidr: {{ $cidr }} 253 encapsulation: VXLAN{{end}} 254 registry: mcr.microsoft.com/oss 255 # Image and registry configuration for the tigera/operator pod. 256 tigeraOperator: 257 image: tigera/operator 258 registry: mcr.microsoft.com/oss 259 calicoctl: 260 image: mcr.microsoft.com/oss/calico/ctl 261 version: ${CALICO_VERSION} 262 --- 263 apiVersion: addons.cluster.x-k8s.io/v1alpha1 264 kind: HelmChartProxy 265 metadata: 266 name: azuredisk-csi-driver-chart 267 namespace: default 268 spec: 269 chartName: azuredisk-csi-driver 270 clusterSelector: 271 matchLabels: 272 azuredisk-csi: "true" 273 namespace: kube-system 274 releaseName: azuredisk-csi-driver-oot 275 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/charts 276 valuesTemplate: |- 277 controller: 278 replicas: 1 279 runOnControlPlane: true 280 windows: 281 useHostProcessContainers: {{ hasKey .Cluster.metadata.labels "cni-windows" }} 282 --- 283 apiVersion: addons.cluster.x-k8s.io/v1alpha1 284 kind: HelmChartProxy 285 metadata: 286 name: cloud-provider-azure-chart 287 namespace: default 288 spec: 289 chartName: cloud-provider-azure 290 clusterSelector: 291 matchLabels: 292 cloud-provider: azure 293 releaseName: cloud-provider-azure-oot 294 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo 295 valuesTemplate: | 296 infra: 297 clusterName: {{ .Cluster.metadata.name }} 298 cloudControllerManager: 299 clusterCIDR: {{ .Cluster.spec.clusterNetwork.pods.cidrBlocks | join "," }} 300 logVerbosity: 4 301 --- 302 apiVersion: addons.cluster.x-k8s.io/v1alpha1 303 kind: HelmChartProxy 304 metadata: 305 name: cloud-provider-azure-chart-ci 306 namespace: default 307 spec: 308 chartName: cloud-provider-azure 309 clusterSelector: 310 matchLabels: 311 cloud-provider: azure-ci 312 releaseName: cloud-provider-azure-oot 313 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo 314 valuesTemplate: | 315 infra: 316 clusterName: {{ .Cluster.metadata.name }} 317 cloudControllerManager: 318 cloudConfig: ${CLOUD_CONFIG:-"/etc/kubernetes/azure.json"} 319 cloudConfigSecretName: ${CONFIG_SECRET_NAME:-""} 320 clusterCIDR: {{ .Cluster.spec.clusterNetwork.pods.cidrBlocks | join "," }} 321 imageName: "${CCM_IMAGE_NAME:-""}" 322 imageRepository: "${IMAGE_REGISTRY:-""}" 323 imageTag: "${IMAGE_TAG_CCM:-""}" 324 logVerbosity: ${CCM_LOG_VERBOSITY:-4} 325 replicas: ${CCM_COUNT:-1} 326 enableDynamicReloading: ${ENABLE_DYNAMIC_RELOADING:-false} 327 cloudNodeManager: 328 imageName: "${CNM_IMAGE_NAME:-""}" 329 imageRepository: "${IMAGE_REGISTRY:-""}" 330 imageTag: "${IMAGE_TAG_CNM:-""}"