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:-""}"