sigs.k8s.io/cluster-api-provider-azure@v1.14.3/templates/test/dev/custom-builds/patches/kubeadm-controlplane-bootstrap.yaml (about)

     1  - op: add
     2    path: /spec/kubeadmConfigSpec/files/-
     3    value:
     4      content: |
     5          #!/bin/bash
     6  
     7          set -o nounset
     8          set -o pipefail
     9          set -o errexit
    10  
    11          systemctl stop kubelet
    12          declare -a BINARIES=("kubeadm" "kubectl" "kubelet")
    13          az login --identity
    14          for BINARY in "$${BINARIES[@]}"; do
    15            echo "* installing package: $${BINARY} ${KUBE_GIT_VERSION}"
    16            az storage blob download --blob-url "https://${AZURE_STORAGE_ACCOUNT}.blob.core.windows.net/${AZURE_BLOB_CONTAINER_NAME}/${KUBE_GIT_VERSION}/bin/linux/amd64/$${BINARY}" -f "/usr/bin/$${BINARY}" --auth-mode login
    17          done
    18          systemctl restart kubelet
    19  
    20          # prepull images from gcr.io/k8s-staging-ci-images and retag it to
    21          # registry.k8s.io so kubeadm can fetch correct images no matter what
    22          declare -a IMAGES=("kube-apiserver" "kube-controller-manager" "kube-proxy" "kube-scheduler")
    23          [[ $(id -u) != 0 ]] && SUDO="sudo" || SUDO=""
    24          IMAGE_REGISTRY_PREFIX=registry.k8s.io
    25          for IMAGE in "$${IMAGES[@]}"; do
    26            $${SUDO} ctr -n k8s.io images tag $$IMAGE_REGISTRY_PREFIX/$$IMAGE-amd64:"${CI_VERSION//+/_}" $$IMAGE_REGISTRY_PREFIX/$$IMAGE:"${CI_VERSION//+/_}"
    27            $${SUDO} ctr -n k8s.io images tag $$IMAGE_REGISTRY_PREFIX/$$IMAGE-amd64:"${CI_VERSION//+/_}" gcr.io/k8s-staging-ci-images/$$IMAGE:"${CI_VERSION//+/_}"
    28          done
    29  
    30          echo "kubeadm version: $(kubeadm version -o=short)"
    31          echo "kubectl version: $(kubectl version --client=true)"
    32          echo "kubelet version: $(kubelet --version)"
    33      path: /tmp/replace-k8s-binaries.sh
    34      owner: "root:root"
    35      permissions: "0744"
    36  - op: add
    37    path: /spec/kubeadmConfigSpec/files/-
    38    value:
    39      content: |
    40          #!/bin/bash
    41  
    42          set -o nounset
    43          set -o pipefail
    44          set -o errexit
    45  
    46          curl -L --retry 10 --retry-delay 5 https://github.com/mikefarah/yq/releases/download/v4.6.1/yq_linux_amd64.tar.gz --output /tmp/yq_linux_amd64.tar.gz
    47          tar -xzvf /tmp/yq_linux_amd64.tar.gz -C /tmp && mv /tmp/yq_linux_amd64 /usr/bin/yq
    48          rm /tmp/yq_linux_amd64.tar.gz
    49  
    50          export KUBECONFIG=/etc/kubernetes/admin.conf
    51          kubectl -n kube-system set image daemonset/kube-proxy kube-proxy="${REGISTRY}/kube-proxy:${KUBE_IMAGE_TAG}"
    52          systemctl stop kubelet
    53          yq e '.spec.containers[0].image = "${REGISTRY}/kube-apiserver:${KUBE_IMAGE_TAG}"' -i /etc/kubernetes/manifests/kube-apiserver.yaml
    54          yq e '.spec.containers[0].image = "${REGISTRY}/kube-controller-manager:${KUBE_IMAGE_TAG}"' -i /etc/kubernetes/manifests/kube-controller-manager.yaml
    55          yq e '.spec.containers[0].image = "${REGISTRY}/kube-scheduler:${KUBE_IMAGE_TAG}"' -i /etc/kubernetes/manifests/kube-scheduler.yaml
    56          systemctl restart kubelet
    57      path: /tmp/replace-k8s-components.sh
    58      owner: "root:root"
    59      permissions: "0744"
    60  - op: add
    61    path: /spec/kubeadmConfigSpec/preKubeadmCommands/-
    62    value:
    63      bash -c /tmp/replace-k8s-binaries.sh
    64  - op: add
    65    path: /spec/kubeadmConfigSpec/postKubeadmCommands/-
    66    value:
    67      bash -c /tmp/replace-k8s-components.sh