sigs.k8s.io/cluster-api-provider-azure@v1.14.3/templates/test/ci/cluster-template-prow-machine-pool-flex.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 cni-windows: ${CLUSTER_NAME}-calico 8 containerd-logger: enabled 9 csi-proxy: enabled 10 windows: enabled 11 name: ${CLUSTER_NAME} 12 namespace: default 13 spec: 14 clusterNetwork: 15 pods: 16 cidrBlocks: 17 - 192.168.0.0/16 18 controlPlaneRef: 19 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 20 kind: KubeadmControlPlane 21 name: ${CLUSTER_NAME}-control-plane 22 infrastructureRef: 23 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 24 kind: AzureCluster 25 name: ${CLUSTER_NAME} 26 --- 27 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 28 kind: AzureCluster 29 metadata: 30 name: ${CLUSTER_NAME} 31 namespace: default 32 spec: 33 additionalTags: 34 buildProvenance: ${BUILD_PROVENANCE} 35 creationTimestamp: ${TIMESTAMP} 36 jobName: ${JOB_NAME} 37 identityRef: 38 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 39 kind: AzureClusterIdentity 40 name: ${CLUSTER_IDENTITY_NAME} 41 location: ${AZURE_LOCATION} 42 networkSpec: 43 subnets: 44 - name: control-plane-subnet 45 role: control-plane 46 - name: node-subnet 47 role: node 48 vnet: 49 name: ${AZURE_VNET_NAME:=${CLUSTER_NAME}-vnet} 50 resourceGroup: ${AZURE_RESOURCE_GROUP:=${CLUSTER_NAME}} 51 subscriptionID: ${AZURE_SUBSCRIPTION_ID} 52 --- 53 apiVersion: controlplane.cluster.x-k8s.io/v1beta1 54 kind: KubeadmControlPlane 55 metadata: 56 name: ${CLUSTER_NAME}-control-plane 57 namespace: default 58 spec: 59 kubeadmConfigSpec: 60 clusterConfiguration: 61 apiServer: 62 extraArgs: 63 cloud-provider: external 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: ${KUBERNETES_VERSION} 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 nameSuffix: etcddisk 136 osDisk: 137 diskSizeGB: 128 138 osType: Linux 139 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 140 vmSize: ${AZURE_CONTROL_PLANE_MACHINE_TYPE} 141 --- 142 apiVersion: cluster.x-k8s.io/v1beta1 143 kind: MachinePool 144 metadata: 145 name: ${CLUSTER_NAME}-mp-0 146 namespace: default 147 spec: 148 clusterName: ${CLUSTER_NAME} 149 replicas: ${WORKER_MACHINE_COUNT:=2} 150 template: 151 spec: 152 bootstrap: 153 configRef: 154 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 155 kind: KubeadmConfig 156 name: ${CLUSTER_NAME}-mp-0 157 clusterName: ${CLUSTER_NAME} 158 infrastructureRef: 159 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 160 kind: AzureMachinePool 161 name: ${CLUSTER_NAME}-mp-0 162 version: ${KUBERNETES_VERSION} 163 --- 164 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 165 kind: AzureMachinePool 166 metadata: 167 name: ${CLUSTER_NAME}-mp-0 168 namespace: default 169 spec: 170 location: ${AZURE_LOCATION} 171 orchestrationMode: Flexible 172 strategy: 173 rollingUpdate: 174 maxSurge: 0% 175 maxUnavailable: 0 176 type: RollingUpdate 177 template: 178 osDisk: 179 diskSizeGB: 30 180 managedDisk: 181 storageAccountType: Premium_LRS 182 osType: Linux 183 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 184 vmExtensions: 185 - name: CustomScript 186 protectedSettings: 187 commandToExecute: | 188 #!/bin/sh 189 echo "This script is a no-op used for extension testing purposes ..." 190 touch test_file 191 publisher: Microsoft.Azure.Extensions 192 version: "2.1" 193 vmSize: ${AZURE_NODE_MACHINE_TYPE} 194 --- 195 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 196 kind: KubeadmConfig 197 metadata: 198 name: ${CLUSTER_NAME}-mp-0 199 namespace: default 200 spec: 201 files: 202 - contentFrom: 203 secret: 204 key: worker-node-azure.json 205 name: ${CLUSTER_NAME}-mp-0-azure-json 206 owner: root:root 207 path: /etc/kubernetes/azure.json 208 permissions: "0644" 209 joinConfiguration: 210 nodeRegistration: 211 kubeletExtraArgs: 212 cloud-provider: external 213 name: '{{ ds.meta_data["local_hostname"] }}' 214 --- 215 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 216 kind: AzureClusterIdentity 217 metadata: 218 labels: 219 clusterctl.cluster.x-k8s.io/move-hierarchy: "true" 220 name: ${CLUSTER_IDENTITY_NAME} 221 namespace: default 222 spec: 223 allowedNamespaces: {} 224 clientID: ${AZURE_CLIENT_ID} 225 clientSecret: 226 name: ${AZURE_CLUSTER_IDENTITY_SECRET_NAME} 227 namespace: ${AZURE_CLUSTER_IDENTITY_SECRET_NAMESPACE} 228 tenantID: ${AZURE_TENANT_ID} 229 type: ServicePrincipal 230 --- 231 apiVersion: cluster.x-k8s.io/v1beta1 232 kind: MachinePool 233 metadata: 234 name: ${CLUSTER_NAME}-mp-win 235 namespace: default 236 spec: 237 clusterName: ${CLUSTER_NAME} 238 replicas: ${WINDOWS_WORKER_MACHINE_COUNT:-0} 239 template: 240 spec: 241 bootstrap: 242 configRef: 243 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 244 kind: KubeadmConfig 245 name: ${CLUSTER_NAME}-mp-win 246 clusterName: ${CLUSTER_NAME} 247 infrastructureRef: 248 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 249 kind: AzureMachinePool 250 name: ${CLUSTER_NAME}-mp-win 251 version: ${KUBERNETES_VERSION} 252 --- 253 apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 254 kind: AzureMachinePool 255 metadata: 256 annotations: 257 runtime: containerd 258 windowsServerVersion: ${WINDOWS_SERVER_VERSION:=""} 259 name: ${CLUSTER_NAME}-mp-win 260 namespace: default 261 spec: 262 location: ${AZURE_LOCATION} 263 orchestrationMode: Flexible 264 strategy: 265 rollingUpdate: 266 maxSurge: 0% 267 maxUnavailable: 0 268 type: RollingUpdate 269 template: 270 osDisk: 271 diskSizeGB: 128 272 managedDisk: 273 storageAccountType: Premium_LRS 274 osType: Windows 275 sshPublicKey: ${AZURE_SSH_PUBLIC_KEY_B64:=""} 276 vmSize: ${AZURE_NODE_MACHINE_TYPE} 277 --- 278 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 279 kind: KubeadmConfig 280 metadata: 281 name: ${CLUSTER_NAME}-mp-win 282 namespace: default 283 spec: 284 files: 285 - contentFrom: 286 secret: 287 key: worker-node-azure.json 288 name: ${CLUSTER_NAME}-mp-win-azure-json 289 owner: root:root 290 path: c:/k/azure.json 291 permissions: "0644" 292 - content: Add-MpPreference -ExclusionProcess C:/opt/cni/bin/calico.exe 293 path: C:/defender-exclude-calico.ps1 294 permissions: "0744" 295 joinConfiguration: 296 nodeRegistration: 297 criSocket: npipe:////./pipe/containerd-containerd 298 kubeletExtraArgs: 299 cloud-provider: external 300 pod-infra-container-image: mcr.microsoft.com/oss/kubernetes/pause:3.9 301 name: '{{ ds.meta_data["local_hostname"] }}' 302 postKubeadmCommands: 303 - nssm set kubelet start SERVICE_AUTO_START 304 - powershell C:/defender-exclude-calico.ps1 305 preKubeadmCommands: 306 - powershell c:/create-external-network.ps1 307 users: 308 - groups: Administrators 309 name: capi 310 sshAuthorizedKeys: 311 - ${AZURE_SSH_PUBLIC_KEY:=""} 312 --- 313 apiVersion: addons.cluster.x-k8s.io/v1beta1 314 kind: ClusterResourceSet 315 metadata: 316 name: ${CLUSTER_NAME}-calico-windows 317 namespace: default 318 spec: 319 clusterSelector: 320 matchLabels: 321 cni-windows: ${CLUSTER_NAME}-calico 322 resources: 323 - kind: ConfigMap 324 name: cni-${CLUSTER_NAME}-calico-windows 325 strategy: ApplyOnce 326 --- 327 apiVersion: addons.cluster.x-k8s.io/v1beta1 328 kind: ClusterResourceSet 329 metadata: 330 name: csi-proxy 331 namespace: default 332 spec: 333 clusterSelector: 334 matchLabels: 335 csi-proxy: enabled 336 resources: 337 - kind: ConfigMap 338 name: csi-proxy-addon 339 strategy: ApplyOnce 340 --- 341 apiVersion: addons.cluster.x-k8s.io/v1beta1 342 kind: ClusterResourceSet 343 metadata: 344 name: containerd-logger-${CLUSTER_NAME} 345 namespace: default 346 spec: 347 clusterSelector: 348 matchLabels: 349 containerd-logger: enabled 350 resources: 351 - kind: ConfigMap 352 name: containerd-logger-${CLUSTER_NAME} 353 strategy: ApplyOnce 354 --- 355 apiVersion: addons.cluster.x-k8s.io/v1alpha1 356 kind: HelmChartProxy 357 metadata: 358 name: calico 359 namespace: default 360 spec: 361 chartName: tigera-operator 362 clusterSelector: 363 matchLabels: 364 cni: calico 365 namespace: tigera-operator 366 releaseName: projectcalico 367 repoURL: https://docs.tigera.io/calico/charts 368 valuesTemplate: |- 369 installation: 370 cni: 371 type: Calico 372 calicoNetwork: 373 bgp: Disabled 374 mtu: 1350 375 ipPools: 376 ipPools:{{range $i, $cidr := .Cluster.spec.clusterNetwork.pods.cidrBlocks }} 377 - cidr: {{ $cidr }} 378 encapsulation: VXLAN{{end}} 379 registry: mcr.microsoft.com/oss 380 # Image and registry configuration for the tigera/operator pod. 381 tigeraOperator: 382 image: tigera/operator 383 registry: mcr.microsoft.com/oss 384 calicoctl: 385 image: mcr.microsoft.com/oss/calico/ctl 386 version: ${CALICO_VERSION} 387 --- 388 apiVersion: addons.cluster.x-k8s.io/v1alpha1 389 kind: HelmChartProxy 390 metadata: 391 name: azuredisk-csi-driver-chart 392 namespace: default 393 spec: 394 chartName: azuredisk-csi-driver 395 clusterSelector: 396 matchLabels: 397 azuredisk-csi: "true" 398 namespace: kube-system 399 releaseName: azuredisk-csi-driver-oot 400 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/charts 401 valuesTemplate: |- 402 controller: 403 replicas: 1 404 runOnControlPlane: true 405 windows: 406 useHostProcessContainers: {{ hasKey .Cluster.metadata.labels "cni-windows" }} 407 --- 408 apiVersion: addons.cluster.x-k8s.io/v1alpha1 409 kind: HelmChartProxy 410 metadata: 411 name: cloud-provider-azure-chart 412 namespace: default 413 spec: 414 chartName: cloud-provider-azure 415 clusterSelector: 416 matchLabels: 417 cloud-provider: azure 418 releaseName: cloud-provider-azure-oot 419 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo 420 valuesTemplate: | 421 infra: 422 clusterName: {{ .Cluster.metadata.name }} 423 cloudControllerManager: 424 clusterCIDR: {{ .Cluster.spec.clusterNetwork.pods.cidrBlocks | join "," }} 425 logVerbosity: 4 426 --- 427 apiVersion: addons.cluster.x-k8s.io/v1alpha1 428 kind: HelmChartProxy 429 metadata: 430 name: cloud-provider-azure-chart-ci 431 namespace: default 432 spec: 433 chartName: cloud-provider-azure 434 clusterSelector: 435 matchLabels: 436 cloud-provider: azure-ci 437 releaseName: cloud-provider-azure-oot 438 repoURL: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo 439 valuesTemplate: | 440 infra: 441 clusterName: {{ .Cluster.metadata.name }} 442 cloudControllerManager: 443 cloudConfig: ${CLOUD_CONFIG:-"/etc/kubernetes/azure.json"} 444 cloudConfigSecretName: ${CONFIG_SECRET_NAME:-""} 445 clusterCIDR: {{ .Cluster.spec.clusterNetwork.pods.cidrBlocks | join "," }} 446 imageName: "${CCM_IMAGE_NAME:-""}" 447 imageRepository: "${IMAGE_REGISTRY:-""}" 448 imageTag: "${IMAGE_TAG_CCM:-""}" 449 logVerbosity: ${CCM_LOG_VERBOSITY:-4} 450 replicas: ${CCM_COUNT:-1} 451 enableDynamicReloading: ${ENABLE_DYNAMIC_RELOADING:-false} 452 cloudNodeManager: 453 imageName: "${CNM_IMAGE_NAME:-""}" 454 imageRepository: "${IMAGE_REGISTRY:-""}" 455 imageTag: "${IMAGE_TAG_CNM:-""}" 456 --- 457 apiVersion: v1 458 data: 459 proxy: | 460 apiVersion: apps/v1 461 kind: DaemonSet 462 metadata: 463 labels: 464 k8s-app: kube-proxy 465 name: kube-proxy-windows 466 namespace: kube-system 467 spec: 468 selector: 469 matchLabels: 470 k8s-app: kube-proxy-windows 471 template: 472 metadata: 473 labels: 474 k8s-app: kube-proxy-windows 475 spec: 476 serviceAccountName: kube-proxy 477 securityContext: 478 windowsOptions: 479 hostProcess: true 480 runAsUserName: "NT AUTHORITY\\system" 481 hostNetwork: true 482 containers: 483 - image: sigwindowstools/kube-proxy:${KUBERNETES_VERSION/+/_}-calico-hostprocess 484 args: ["$env:CONTAINER_SANDBOX_MOUNT_POINT/kube-proxy/start.ps1"] 485 workingDir: "$env:CONTAINER_SANDBOX_MOUNT_POINT/kube-proxy/" 486 name: kube-proxy 487 env: 488 - name: NODE_NAME 489 valueFrom: 490 fieldRef: 491 apiVersion: v1 492 fieldPath: spec.nodeName 493 - name: POD_IP 494 valueFrom: 495 fieldRef: 496 fieldPath: status.podIP 497 - name: KUBEPROXY_PATH 498 valueFrom: 499 configMapKeyRef: 500 name: windows-kubeproxy-ci 501 key: KUBEPROXY_PATH 502 optional: true 503 volumeMounts: 504 - mountPath: /var/lib/kube-proxy 505 name: kube-proxy 506 nodeSelector: 507 kubernetes.io/os: windows 508 tolerations: 509 - key: CriticalAddonsOnly 510 operator: Exists 511 - operator: Exists 512 volumes: 513 - configMap: 514 name: kube-proxy 515 name: kube-proxy 516 updateStrategy: 517 type: RollingUpdate 518 windows-cni: "# strictAffinity required for windows\napiVersion: crd.projectcalico.org/v1\nkind: 519 IPAMConfig\nmetadata:\n name: default\nspec:\n autoAllocateBlocks: true\n strictAffinity: 520 true\n---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n name: calico-static-rules\n 521 \ namespace: calico-system\n labels:\n tier: node\n app: calico\ndata:\n 522 \ static-rules.json: |\n {\n \"Provider\": \"azure\",\n \"Version\": 523 \"0.1\",\n \"Rules\": [\n {\n \"Name\": \"EndpointPolicy\",\n 524 \ \"Rule\": {\n \"Id\": \"wireserver\",\n \"Type\": 525 \"ACL\",\n \"Protocol\": 6,\n \"Action\": \"Block\",\n 526 \ \"Direction\": \"Out\",\n \"RemoteAddresses\": \"168.63.129.16/32\",\n 527 \ \"RemotePorts\": \"80\",\n \"Priority\": 200,\n \"RuleType\": 528 \"Switch\"\n }\n }\n ]\n } \n---\nkind: ConfigMap\napiVersion: 529 v1\nmetadata:\n name: calico-config-windows\n namespace: calico-system\n labels:\n 530 \ tier: node\n app: calico\ndata:\n veth_mtu: \"1350\"\n \n cni_network_config: 531 |\n {\n \"name\": \"Calico\",\n \"cniVersion\": \"0.3.1\",\n \"plugins\": 532 [\n {\n \"windows_use_single_network\": true,\n \"type\": 533 \"calico\",\n \"mode\": \"vxlan\",\n \"nodename\": \"__KUBERNETES_NODE_NAME__\",\n 534 \ \"nodename_file_optional\": true,\n \"log_file_path\": \"c:/cni.log\",\n 535 \ \"log_level\": \"debug\",\n\n \"vxlan_mac_prefix\": \"0E-2A\",\n 536 \ \"vxlan_vni\": 4096,\n \"mtu\": __CNI_MTU__,\n \"policy\": 537 {\n \"type\": \"k8s\"\n },\n\n \"log_level\": \"info\",\n\n 538 \ \"capabilities\": {\"dns\": true},\n \"DNS\": {\n \"Search\": 539 \ [\n \"svc.cluster.local\"\n ]\n },\n\n \"datastore_type\": 540 \"kubernetes\",\n\n \"kubernetes\": {\n \"kubeconfig\": \"__KUBECONFIG_FILEPATH__\"\n 541 \ },\n\n \"ipam\": {\n \"type\": \"calico-ipam\",\n 542 \ \"subnet\": \"usePodCidr\"\n },\n\n \"policies\": 543 \ [\n {\n \"Name\": \"EndpointPolicy\",\n \"Value\": 544 \ {\n \"Type\": \"OutBoundNAT\",\n \"ExceptionList\": 545 \ [\n \"__K8S_SERVICE_CIDR__\"\n ]\n }\n 546 \ },\n {\n \"Name\": \"EndpointPolicy\",\n 547 \ \"Value\": {\n \"Type\": \"SDNROUTE\",\n \"DestinationPrefix\": 548 \ \"__K8S_SERVICE_CIDR__\",\n \"NeedEncap\": true\n }\n 549 \ }\n ]\n }\n ]\n\n }\n---\napiVersion: apps/v1\nkind: 550 DaemonSet\nmetadata:\n name: calico-node-windows\n labels:\n tier: node\n 551 \ app: calico\n namespace: calico-system\nspec:\n selector:\n matchLabels:\n 552 \ app: calico\n template:\n metadata:\n labels:\n tier: node\n 553 \ app: calico\n spec:\n affinity:\n nodeAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n 554 \ nodeSelectorTerms:\n - matchExpressions:\n - 555 key: kubernetes.io/os\n operator: In\n values:\n 556 \ - windows\n - key: kubernetes.io/arch\n 557 \ operator: In\n values:\n - 558 amd64\n securityContext:\n windowsOptions:\n hostProcess: 559 true\n runAsUserName: \"NT AUTHORITY\\\\system\"\n hostNetwork: 560 true\n serviceAccountName: calico-node\n tolerations:\n - operator: 561 Exists\n effect: NoSchedule\n # Mark the pod as a critical add-on 562 for rescheduling.\n - key: CriticalAddonsOnly\n operator: Exists\n 563 \ - effect: NoExecute\n operator: Exists\n initContainers:\n # 564 This container installs the CNI binaries\n # and CNI network config file 565 on each node.\n - name: install-cni\n image: sigwindowstools/calico-install:v3.26.1-hostprocess\n 566 \ args: [\"$env:CONTAINER_SANDBOX_MOUNT_POINT/calico/install.ps1\"]\n 567 \ imagePullPolicy: Always\n env:\n # Name of the CNI 568 config file to create.\n - name: CNI_CONF_NAME\n value: 569 \"10-calico.conflist\"\n # The CNI network config to install on each 570 node.\n - name: CNI_NETWORK_CONFIG\n valueFrom:\n configMapKeyRef:\n 571 \ name: calico-config-windows\n key: cni_network_config\n 572 \ # Set the hostname based on the k8s node name.\n - name: 573 KUBERNETES_NODE_NAME\n valueFrom:\n fieldRef:\n fieldPath: 574 spec.nodeName\n # CNI MTU Config variable\n - name: CNI_MTU\n 575 \ valueFrom:\n configMapKeyRef:\n name: 576 calico-config-windows\n key: veth_mtu\n # Prevents 577 the container from sleeping forever.\n - name: SLEEP\n value: 578 \"false\"\n - name: K8S_SERVICE_CIDR\n value: \"10.96.0.0/12\"\n 579 \ volumeMounts:\n - mountPath: /host/opt/cni/bin\n name: 580 cni-bin-dir\n - mountPath: /host/etc/cni/net.d\n name: 581 cni-net-dir\n - name: kubeadm-config\n mountPath: /etc/kubeadm-config/\n 582 \ securityContext:\n windowsOptions:\n hostProcess: 583 true\n runAsUserName: \"NT AUTHORITY\\\\system\"\n containers:\n 584 \ - name: calico-node-startup\n image: sigwindowstools/calico-node:v3.26.1-hostprocess\n 585 \ args: [\"$env:CONTAINER_SANDBOX_MOUNT_POINT/calico/node-service.ps1\"]\n 586 \ workingDir: \"$env:CONTAINER_SANDBOX_MOUNT_POINT/calico/\"\n imagePullPolicy: 587 Always\n volumeMounts:\n - name: calico-config-windows\n mountPath: 588 /etc/kube-calico-windows/\n env:\n - name: POD_NAME\n valueFrom:\n 589 \ fieldRef:\n apiVersion: v1\n fieldPath: 590 metadata.name\n - name: POD_NAMESPACE\n valueFrom:\n fieldRef:\n 591 \ apiVersion: v1\n fieldPath: metadata.namespace\n - 592 name: CNI_IPAM_TYPE\n value: \"calico-ipam\"\n - name: CALICO_NETWORKING_BACKEND\n 593 \ value: \"vxlan\"\n - name: KUBECONFIG\n value: \"C:/etc/cni/net.d/calico-kubeconfig\"\n 594 \ - name: VXLAN_VNI\n value: \"4096\"\n - name: calico-node-felix\n 595 \ image: sigwindowstools/calico-node:v3.26.1-hostprocess\n args: 596 [\"$env:CONTAINER_SANDBOX_MOUNT_POINT/calico/felix-service.ps1\"]\n imagePullPolicy: 597 Always\n workingDir: \"$env:CONTAINER_SANDBOX_MOUNT_POINT/calico/\"\n volumeMounts:\n 598 \ - name: calico-config-windows\n mountPath: /etc/kube-calico-windows/\n 599 \ - name: calico-static-rules\n mountPath: /calico/static-rules.json\n 600 \ subPath: static-rules.json\n env:\n - name: POD_NAME\n 601 \ valueFrom:\n fieldRef:\n apiVersion: v1\n fieldPath: 602 metadata.name\n - name: POD_NAMESPACE\n valueFrom:\n fieldRef:\n 603 \ apiVersion: v1\n fieldPath: metadata.namespace\n - 604 name: VXLAN_VNI\n value: \"4096\"\n - name: KUBECONFIG\n value: 605 \"C:/etc/cni/net.d/calico-kubeconfig\"\n volumes:\n - name: calico-config-windows\n 606 \ configMap:\n name: calico-config-windows\n - name: calico-static-rules\n 607 \ configMap:\n name: calico-static-rules\n # Used to install 608 CNI.\n - name: cni-bin-dir\n hostPath:\n path: /opt/cni/bin\n 609 \ - name: cni-net-dir\n hostPath:\n path: /etc/cni/net.d\n 610 \ - name: kubeadm-config\n configMap:\n name: kubeadm-config\n---\napiVersion: 611 apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n name: ipamconfigs.crd.projectcalico.org\nspec:\n 612 \ group: crd.projectcalico.org\n names:\n kind: IPAMConfig\n listKind: 613 IPAMConfigList\n plural: ipamconfigs\n singular: ipamconfig\n preserveUnknownFields: 614 false\n scope: Cluster\n versions:\n - name: v1\n schema:\n openAPIV3Schema:\n 615 \ properties:\n apiVersion:\n description: 'APIVersion 616 defines the versioned schema of this representation\n of an object. 617 Servers should convert recognized schemas to the latest\n internal 618 value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'\n 619 \ type: string\n kind:\n description: 'Kind is a 620 string value representing the REST resource this\n object represents. 621 Servers may infer this from the endpoint the client\n submits requests 622 to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'\n 623 \ type: string\n metadata:\n type: object\n spec:\n 624 \ description: IPAMConfigSpec contains the specification for an IPAMConfig\n 625 \ resource.\n properties:\n autoAllocateBlocks:\n 626 \ type: boolean\n maxBlocksPerHost:\n description: 627 MaxBlocksPerHost, if non-zero, is the max number of blocks\n that 628 can be affine to each host.\n maximum: 2147483647\n minimum: 629 0\n type: integer\n strictAffinity:\n type: 630 boolean\n required:\n - autoAllocateBlocks\n - 631 strictAffinity\n type: object\n type: object\n served: true\n 632 \ storage: true\nstatus:\n acceptedNames:\n kind: \"\"\n plural: \"\"\n 633 \ conditions: []\n storedVersions: []\n" 634 kind: ConfigMap 635 metadata: 636 annotations: 637 note: generated 638 labels: 639 type: generated 640 name: cni-${CLUSTER_NAME}-calico-windows 641 namespace: default 642 --- 643 apiVersion: v1 644 data: 645 csi-proxy: | 646 apiVersion: apps/v1 647 kind: DaemonSet 648 metadata: 649 labels: 650 k8s-app: csi-proxy 651 name: csi-proxy 652 namespace: kube-system 653 spec: 654 selector: 655 matchLabels: 656 k8s-app: csi-proxy 657 template: 658 metadata: 659 labels: 660 k8s-app: csi-proxy 661 spec: 662 nodeSelector: 663 "kubernetes.io/os": windows 664 securityContext: 665 windowsOptions: 666 hostProcess: true 667 runAsUserName: "NT AUTHORITY\\SYSTEM" 668 hostNetwork: true 669 containers: 670 - name: csi-proxy 671 image: ghcr.io/kubernetes-sigs/sig-windows/csi-proxy:v1.0.2 672 kind: ConfigMap 673 metadata: 674 annotations: 675 note: generated 676 labels: 677 type: generated 678 name: csi-proxy-addon 679 namespace: default 680 --- 681 apiVersion: v1 682 data: 683 containerd-windows-logger: | 684 apiVersion: apps/v1 685 kind: DaemonSet 686 metadata: 687 labels: 688 k8s-app: containerd-logger 689 name: containerd-logger 690 namespace: kube-system 691 spec: 692 selector: 693 matchLabels: 694 k8s-app: containerd-logger 695 template: 696 metadata: 697 labels: 698 k8s-app: containerd-logger 699 spec: 700 securityContext: 701 windowsOptions: 702 hostProcess: true 703 runAsUserName: "NT AUTHORITY\\system" 704 hostNetwork: true 705 containers: 706 - image: ghcr.io/kubernetes-sigs/sig-windows/eventflow-logger:v0.1.0 707 args: [ "config.json" ] 708 name: containerd-logger 709 imagePullPolicy: Always 710 volumeMounts: 711 - name: containerd-logger-config 712 mountPath: /config.json 713 subPath: config.json 714 nodeSelector: 715 kubernetes.io/os: windows 716 tolerations: 717 - key: CriticalAddonsOnly 718 operator: Exists 719 - operator: Exists 720 volumes: 721 - configMap: 722 name: containerd-logger-config 723 name: containerd-logger-config 724 updateStrategy: 725 type: RollingUpdate 726 --- 727 kind: ConfigMap 728 apiVersion: v1 729 metadata: 730 name: containerd-logger-config 731 namespace: kube-system 732 data: 733 config.json: | 734 { 735 "inputs": [ 736 { 737 "type": "ETW", 738 "sessionNamePrefix": "containerd", 739 "cleanupOldSessions": true, 740 "reuseExistingSession": true, 741 "providers": [ 742 { 743 "providerName": "Microsoft.Virtualization.RunHCS", 744 "providerGuid": "0B52781F-B24D-5685-DDF6-69830ED40EC3", 745 "level": "Verbose" 746 }, 747 { 748 "providerName": "ContainerD", 749 "providerGuid": "2acb92c0-eb9b-571a-69cf-8f3410f383ad", 750 "level": "Verbose" 751 } 752 ] 753 } 754 ], 755 "filters": [ 756 { 757 "type": "drop", 758 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == Stats && hasnoproperty error" 759 }, 760 { 761 "type": "drop", 762 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == hcsshim::LayerID && hasnoproperty error" 763 }, 764 { 765 "type": "drop", 766 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == hcsshim::NameToGuid && hasnoproperty error" 767 }, 768 { 769 "type": "drop", 770 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == containerd.task.v2.Task.Stats && hasnoproperty error" 771 }, 772 { 773 "type": "drop", 774 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == containerd.task.v2.Task.State && hasnoproperty error" 775 }, 776 { 777 "type": "drop", 778 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == HcsGetProcessProperties && hasnoproperty error" 779 }, 780 { 781 "type": "drop", 782 "include": "ProviderName == Microsoft.Virtualization.RunHCS && name == HcsGetComputeSystemProperties && hasnoproperty error" 783 } 784 ], 785 "outputs": [ 786 { 787 "type": "StdOutput" 788 } 789 ], 790 "schemaVersion": "2016-08-11" 791 } 792 kind: ConfigMap 793 metadata: 794 annotations: 795 note: generated 796 labels: 797 type: generated 798 name: containerd-logger-${CLUSTER_NAME} 799 namespace: default