sigs.k8s.io/cluster-api-provider-azure@v1.14.3/templates/test/ci/cluster-template-prow-dual-stack.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-dual-stack 7 name: ${CLUSTER_NAME} 8 namespace: default 9 spec: 10 clusterNetwork: 11 pods: 12 cidrBlocks: 13 - 10.244.0.0/16 14 - 2001:1234:5678:9a40::/58 15 services: 16 cidrBlocks: 17 - 10.0.0.0/16 18 - fd00::/108 19 controlPlaneRef: 20 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 21 kind: KubeadmControlPlane 22 name: ${CLUSTER_NAME}-control-plane 23 infrastructureRef: 24 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 25 kind: AzureCluster 26 name: ${CLUSTER_NAME} 27 --- 28 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 29 kind: AzureCluster 30 metadata: 31 name: ${CLUSTER_NAME} 32 namespace: default 33 spec: 34 additionalTags: 35 buildProvenance: ${BUILD_PROVENANCE} 36 creationTimestamp: ${TIMESTAMP} 37 jobName: ${JOB_NAME} 38 identityRef: 39 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 40 kind: AzureClusterIdentity 41 name: ${CLUSTER_IDENTITY_NAME} 42 location: ${AZURE_LOCATION} 43 networkSpec: 44 subnets: 45 - cidrBlocks: 46 - 10.0.0.0/16 47 - 2001:1234:5678:9abc::/64 48 name: control-plane-subnet 49 role: control-plane 50 - cidrBlocks: 51 - 10.1.0.0/16 52 - 2001:1234:5678:9abd::/64 53 name: node-subnet 54 role: node 55 vnet: 56 cidrBlocks: 57 - 10.0.0.0/8 58 - 2001:1234:5678:9a00::/56 59 name: ${AZURE_VNET_NAME:=${CLUSTER_NAME}-vnet} 60 resourceGroup: ${AZURE_RESOURCE_GROUP:=${CLUSTER_NAME}} 61 subscriptionID: ${AZURE_SUBSCRIPTION_ID} 62 --- 63 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 64 kind: KubeadmControlPlane 65 metadata: 66 name: ${CLUSTER_NAME}-control-plane 67 namespace: default 68 spec: 69 kubeadmConfigSpec: 70 clusterConfiguration: 71 apiServer: 72 extraArgs: 73 cloud-provider: external 74 timeoutForControlPlane: 20m 75 controllerManager: 76 extraArgs: 77 allocate-node-cidrs: "true" 78 cloud-provider: external 79 cluster-cidr: 10.244.0.0/16,2001:1234:5678:9a40::/58 80 cluster-name: ${CLUSTER_NAME} 81 configure-cloud-routes: "true" 82 v: "4" 83 etcd: 84 local: 85 dataDir: /var/lib/etcddisk/etcd 86 extraArgs: 87 quota-backend-bytes: "8589934592" 88 diskSetup: 89 filesystems: 90 - device: /dev/disk/azure/scsi1/lun0 91 extraOpts: 92 - -E 93 - lazy_itable_init=1,lazy_journal_init=1 94 filesystem: ext4 95 label: etcd_disk 96 - device: ephemeral0.1 97 filesystem: ext4 98 label: ephemeral0 99 replaceFS: ntfs 100 partitions: 101 - device: /dev/disk/azure/scsi1/lun0 102 layout: true 103 overwrite: false 104 tableType: gpt 105 files: 106 - contentFrom: 107 secret: 108 key: control-plane-azure.json 109 name: ${CLUSTER_NAME}-control-plane-azure-json 110 owner: root:root 111 path: /etc/kubernetes/azure.json 112 permissions: "0644" 113 initConfiguration: 114 localAPIEndpoint: 115 bindPort: 6443 116 nodeRegistration: 117 kubeletExtraArgs: 118 cloud-provider: external 119 name: '{{ ds.meta_data["local_hostname"] }}' 120 joinConfiguration: 121 controlPlane: 122 localAPIEndpoint: 123 bindPort: 6443 124 nodeRegistration: 125 kubeletExtraArgs: 126 cloud-provider: external 127 name: '{{ ds.meta_data["local_hostname"] }}' 128 mounts: 129 - - LABEL=etcd_disk 130 - /var/lib/etcddisk 131 postKubeadmCommands: [] 132 preKubeadmCommands: [] 133 machineTemplate: 134 infrastructureRef: 135 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 136 kind: AzureMachineTemplate 137 name: ${CLUSTER_NAME}-control-plane 138 replicas: ${CONTROL_PLANE_MACHINE_COUNT:=1} 139 version: ${KUBERNETES_VERSION} 140 --- 141 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 142 kind: AzureMachineTemplate 143 metadata: 144 name: ${CLUSTER_NAME}-control-plane 145 namespace: default 146 spec: 147 template: 148 spec: 149 dataDisks: 150 - diskSizeGB: 256 151 lun: 0 152 nameSuffix: etcddisk 153 enableIPForwarding: true 154 identity: UserAssigned 155 osDisk: 156 diskSizeGB: 128 157 osType: Linux 158 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 159 userAssignedIdentities: 160 - providerID: /subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${CI_RG:=capz-ci}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${USER_IDENTITY:=cloud-provider-user-identity} 161 vmSize: ${AZURE_CONTROL_PLANE_MACHINE_TYPE} 162 --- 163 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 164 kind: AzureClusterIdentity 165 metadata: 166 labels: 167 clusterctl.cluster.x-k8s.io/move-hierarchy: "true" 168 name: ${CLUSTER_IDENTITY_NAME} 169 namespace: default 170 spec: 171 allowedNamespaces: {} 172 clientID: ${AZURE_CLIENT_ID} 173 clientSecret: 174 name: ${AZURE_CLUSTER_IDENTITY_SECRET_NAME} 175 namespace: ${AZURE_CLUSTER_IDENTITY_SECRET_NAMESPACE} 176 tenantID: ${AZURE_TENANT_ID} 177 type: ServicePrincipal 178 --- 179 apiVersion: cluster.x-k8s.io/v1beta1 180 kind: MachineDeployment 181 metadata: 182 name: ${CLUSTER_NAME}-md-0 183 namespace: default 184 spec: 185 clusterName: ${CLUSTER_NAME} 186 replicas: ${WORKER_MACHINE_COUNT:=2} 187 selector: 188 matchLabels: null 189 template: 190 spec: 191 bootstrap: 192 configRef: 193 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 194 kind: KubeadmConfigTemplate 195 name: ${CLUSTER_NAME}-md-0 196 clusterName: ${CLUSTER_NAME} 197 infrastructureRef: 198 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 199 kind: AzureMachineTemplate 200 name: ${CLUSTER_NAME}-md-0 201 version: ${KUBERNETES_VERSION} 202 --- 203 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 204 kind: AzureMachineTemplate 205 metadata: 206 name: ${CLUSTER_NAME}-md-0 207 namespace: default 208 spec: 209 template: 210 spec: 211 enableIPForwarding: true 212 identity: UserAssigned 213 osDisk: 214 diskSizeGB: 30 215 managedDisk: 216 storageAccountType: Premium_LRS 217 osType: Linux 218 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 219 userAssignedIdentities: 220 - providerID: /subscriptions/${AZURE_SUBSCRIPTION_ID}/resourceGroups/${CI_RG:=capz-ci}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${USER_IDENTITY:=cloud-provider-user-identity} 221 vmSize: ${AZURE_NODE_MACHINE_TYPE} 222 --- 223 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 224 kind: KubeadmConfigTemplate 225 metadata: 226 name: ${CLUSTER_NAME}-md-0 227 namespace: default 228 spec: 229 template: 230 spec: 231 files: 232 - contentFrom: 233 secret: 234 key: worker-node-azure.json 235 name: ${CLUSTER_NAME}-md-0-azure-json 236 owner: root:root 237 path: /etc/kubernetes/azure.json 238 permissions: "0644" 239 joinConfiguration: 240 nodeRegistration: 241 kubeletExtraArgs: 242 cloud-provider: external 243 name: '{{ ds.meta_data["local_hostname"] }}' 244 --- 245 apiVersion: cluster.x-k8s.io/v1beta1 246 kind: MachinePool 247 metadata: 248 name: ${CLUSTER_NAME}-mp-0 249 namespace: default 250 spec: 251 clusterName: ${CLUSTER_NAME} 252 replicas: ${WORKER_MACHINE_COUNT} 253 template: 254 spec: 255 bootstrap: 256 configRef: 257 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 258 kind: KubeadmConfig 259 name: ${CLUSTER_NAME}-mp-0 260 clusterName: ${CLUSTER_NAME} 261 infrastructureRef: 262 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 263 kind: AzureMachinePool 264 name: ${CLUSTER_NAME}-mp-0 265 version: ${KUBERNETES_VERSION} 266 --- 267 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 268 kind: AzureMachinePool 269 metadata: 270 name: ${CLUSTER_NAME}-mp-0 271 namespace: default 272 spec: 273 location: ${AZURE_LOCATION} 274 strategy: 275 rollingUpdate: 276 deletePolicy: Oldest 277 maxSurge: 25% 278 maxUnavailable: 1 279 type: RollingUpdate 280 template: 281 osDisk: 282 diskSizeGB: 30 283 managedDisk: 284 storageAccountType: Premium_LRS 285 osType: Linux 286 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 287 vmSize: ${AZURE_NODE_MACHINE_TYPE} 288 --- 289 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 290 kind: KubeadmConfig 291 metadata: 292 name: ${CLUSTER_NAME}-mp-0 293 namespace: default 294 spec: 295 files: 296 - contentFrom: 297 secret: 298 key: worker-node-azure.json 299 name: ${CLUSTER_NAME}-md-0-azure-json 300 owner: root:root 301 path: /etc/kubernetes/azure.json 302 permissions: "0644" 303 joinConfiguration: 304 nodeRegistration: 305 kubeletExtraArgs: 306 cloud-provider: external 307 cluster-dns: '[fd00::10]' 308 name: '{{ ds.meta_data["local_hostname"] }}' 309 --- 310 apiVersion: addons.cluster.x-k8s.io/v1alpha1 311 kind: HelmChartProxy 312 metadata: 313 name: calico-dual-stack 314 namespace: default 315 spec: 316 chartName: tigera-operator 317 clusterSelector: 318 matchLabels: 319 cni: calico-dual-stack 320 namespace: tigera-operator 321 releaseName: projectcalico 322 repoURL: https://docs.tigera.io/calico/charts 323 valuesTemplate: | 324 installation: 325 cni: 326 type: Calico 327 ipam: 328 type: HostLocal 329 calicoNetwork: 330 bgp: Disabled 331 mtu: 1350 332 ipPools: 333 - blockSize: 26 334 cidr: {{ index .Cluster.spec.clusterNetwork.pods.cidrBlocks 0 }} 335 encapsulation: None 336 natOutgoing: Enabled 337 nodeSelector: all() 338 - blockSize: 122 339 cidr: {{ index .Cluster.spec.clusterNetwork.pods.cidrBlocks 1 }} 340 encapsulation: None 341 natOutgoing: Enabled 342 nodeSelector: all() 343 registry: mcr.microsoft.com/oss 344 # Image and registry configuration for the tigera/operator pod. 345 tigeraOperator: 346 image: tigera/operator 347 registry: mcr.microsoft.com/oss 348 calicoctl: 349 image: mcr.microsoft.com/oss/calico/ctl 350 version: ${CALICO_VERSION} 351 --- 352 apiVersion: addons.cluster.x-k8s.io/v1alpha1 353 kind: HelmChartProxy 354 metadata: 355 name: azuredisk-csi-driver-chart 356 namespace: default 357 spec: 358 chartName: azuredisk-csi-driver 359 clusterSelector: 360 matchLabels: 361 azuredisk-csi: "true" 362 namespace: kube-system 363 releaseName: azuredisk-csi-driver-oot 364 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/charts 365 valuesTemplate: |- 366 controller: 367 replicas: 1 368 runOnControlPlane: true 369 windows: 370 useHostProcessContainers: {{ hasKey .Cluster.metadata.labels "cni-windows" }} 371 --- 372 apiVersion: addons.cluster.x-k8s.io/v1alpha1 373 kind: HelmChartProxy 374 metadata: 375 name: cloud-provider-azure-chart 376 namespace: default 377 spec: 378 chartName: cloud-provider-azure 379 clusterSelector: 380 matchLabels: 381 cloud-provider: azure 382 releaseName: cloud-provider-azure-oot 383 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo 384 valuesTemplate: | 385 infra: 386 clusterName: {{ .Cluster.metadata.name }} 387 cloudControllerManager: 388 clusterCIDR: {{ .Cluster.spec.clusterNetwork.pods.cidrBlocks | join "," }} 389 logVerbosity: 4 390 --- 391 apiVersion: addons.cluster.x-k8s.io/v1alpha1 392 kind: HelmChartProxy 393 metadata: 394 name: cloud-provider-azure-chart-ci 395 namespace: default 396 spec: 397 chartName: cloud-provider-azure 398 clusterSelector: 399 matchLabels: 400 cloud-provider: azure-ci 401 releaseName: cloud-provider-azure-oot 402 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo 403 valuesTemplate: | 404 infra: 405 clusterName: {{ .Cluster.metadata.name }} 406 cloudControllerManager: 407 cloudConfig: ${CLOUD_CONFIG:-"/etc/kubernetes/azure.json"} 408 cloudConfigSecretName: ${CONFIG_SECRET_NAME:-""} 409 clusterCIDR: {{ .Cluster.spec.clusterNetwork.pods.cidrBlocks | join "," }} 410 imageName: "${CCM_IMAGE_NAME:-""}" 411 imageRepository: "${IMAGE_REGISTRY:-""}" 412 imageTag: "${IMAGE_TAG_CCM:-""}" 413 logVerbosity: ${CCM_LOG_VERBOSITY:-4} 414 replicas: ${CCM_COUNT:-1} 415 enableDynamicReloading: ${ENABLE_DYNAMIC_RELOADING:-false} 416 cloudNodeManager: 417 imageName: "${CNM_IMAGE_NAME:-""}" 418 imageRepository: "${IMAGE_REGISTRY:-""}" 419 imageTag: "${IMAGE_TAG_CNM:-""}"