diff --git a/.pipelines/templates/.builder-release-template.yaml b/.pipelines/templates/.builder-release-template.yaml index b6f16c092a7..345ceb26c3a 100644 --- a/.pipelines/templates/.builder-release-template.yaml +++ b/.pipelines/templates/.builder-release-template.yaml @@ -105,6 +105,8 @@ steps: -e SGX_INSTALL=${SGX_INSTALL} \ -e ENABLE_CGROUPV2=${ENABLE_CGROUPV2} \ -e IMAGE_VERSION=${IMAGE_VERSION} \ + -e PRIVATE_PACKAGES_URL="${PRIVATE_PACKAGES_URL}" \ + -e LINUX_MSI_RESOURCE_ID=${AZURE_MSI_RESOURCE_ID} \ ${CONTAINER_IMAGE} make -f packer.mk run-packer displayName: Building VHD - script: | @@ -138,6 +140,8 @@ steps: -e SGX_INSTALL=${SGX_INSTALL} \ -e ENABLE_CGROUPV2=${ENABLE_CGROUPV2} \ -e GIT_BRANCH=$(Build.SourceBranch) \ + -e PRIVATE_PACKAGES_URL="${PRIVATE_PACKAGES_URL}" \ + -e LINUX_MSI_RESOURCE_ID=${AZURE_MSI_RESOURCE_ID} \ ${CONTAINER_IMAGE} make -f packer.mk test-building-vhd displayName: Run VHD Tests - task: PublishPipelineArtifact@0 @@ -160,6 +164,8 @@ steps: ARM64_OS_DISK_SNAPSHOT_NAME="$(cat vhdbuilder/packer/settings.json | grep "arm64_os_disk_snapshot_name" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ SIG_IMAGE_NAME="$(cat vhdbuilder/packer/settings.json | grep "sig_image_name" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ IMAGE_NAME="${SIG_IMAGE_NAME}-${captured_sig_version}" && \ + PRIVATE_PACKAGES_URL="$(cat vhdbuilder/packer/settings.json | grep "private_packages_url" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ + LINUX_MSI_RESOURCE_ID="$(cat vhdbuilder/packer/settings.json | grep "linux_msi_resource_ids" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ docker run --rm \ -v ${PWD}:/go/src/github.com/Azure/AgentBaker \ -w /go/src/github.com/Azure/AgentBaker \ @@ -180,6 +186,8 @@ steps: -e SIG_IMAGE_NAME=${SIG_IMAGE_NAME} \ -e ARCHITECTURE=${ARCHITECTURE} \ -e ARM64_OS_DISK_SNAPSHOT_NAME=${ARM64_OS_DISK_SNAPSHOT_NAME} \ + -e PRIVATE_PACKAGES_URL="${PRIVATE_PACKAGES_URL}" \ + -e LINUX_MSI_RESOURCE_ID=${AZURE_MSI_RESOURCE_ID} \ ${CONTAINER_IMAGE} make -f packer.mk cleanup displayName: Clean Up Packer Generated Resources condition: always() @@ -188,6 +196,8 @@ steps: captured_sig_version="$(cat vhdbuilder/packer/settings.json | grep "captured_sig_version" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ SIG_GALLERY_NAME="$(cat vhdbuilder/packer/settings.json | grep "sig_gallery_name" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ SIG_IMAGE_NAME="$(cat vhdbuilder/packer/settings.json | grep "sig_image_name" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ + PRIVATE_PACKAGES_URL="$(cat vhdbuilder/packer/settings.json | grep "private_packages_url" | awk -F\" '{print $4}')" && \ + LINUX_MSI_RESOURCE_ID="$(cat vhdbuilder/packer/settings.json | grep "linux_msi_resource_id" | awk -F\" '{print $4}')" && \ docker run --rm \ -v ${PWD}:/go/src/github.com/Azure/AgentBaker \ -w /go/src/github.com/Azure/AgentBaker \ @@ -206,6 +216,8 @@ steps: -e SIG_IMAGE_NAME=${SIG_IMAGE_NAME} \ -e CAPTURED_SIG_VERSION=${captured_sig_version} \ -e ENABLE_TRUSTED_LAUNCH=${ENABLE_TRUSTED_LAUNCH} \ + -e PRIVATE_PACKAGES_URL="${PRIVATE_PACKAGES_URL}" \ + -e LINUX_MSI_RESOURCE_ID=${AZURE_MSI_RESOURCE_ID} \ ${CONTAINER_IMAGE} make -f packer.mk convert-sig-to-classic-storage-account-blob displayName: Convert Shared Image Gallery To VHD Blob In Classic Storage Account condition: eq(variables.DRY_RUN, 'False') @@ -253,4 +265,4 @@ steps: vstsFeedPublish: 'CloudNativeCompute/AKS-Linux-VHD-Artifacts' vstsFeedPackagePublish: 'publishing-info-${{ parameters.artifactName }}' packagePublishDescription: 'VHD publishing info ${{ parameters.artifactName }}' - versionOption: minor \ No newline at end of file + versionOption: minor diff --git a/e2e/scenario/base_vhd_catalog.json b/e2e/scenario/base_vhd_catalog.json index 8d5574d8429..16deff90b15 100644 --- a/e2e/scenario/base_vhd_catalog.json +++ b/e2e/scenario/base_vhd_catalog.json @@ -13,6 +13,9 @@ "gen2containerd": { "artifactName": "2204-gen2-containerd", "resourceId": "/subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/aksvhdtestbuildrg/providers/Microsoft.Compute/galleries/PackerSigGalleryEastUS/images/2204Gen2/versions/1.1699020621.21398" + }, + "gen2containerdprivatekubepkg": { + "resourceId": "/subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/aksvhdtestbuildrg/providers/Microsoft.Compute/galleries/PackerSigGalleryEastUS/images/2204Gen2/versions/1.1704411049.2812" } }, "azurelinuxv2": { @@ -35,4 +38,4 @@ "resourceId": "/subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/aksvhdtestbuildrg/providers/Microsoft.Compute/galleries/PackerSigGalleryEastUS/images/CBLMarinerV2Gen2/versions/1.1699020635.14957" } } -} \ No newline at end of file +} diff --git a/e2e/scenario/scenario.go b/e2e/scenario/scenario.go index d1c506a2d9e..cdaa71213ed 100644 --- a/e2e/scenario/scenario.go +++ b/e2e/scenario/scenario.go @@ -69,6 +69,7 @@ func (t *Template) scenarios() []*Scenario { t.ubuntu2204gpuNoDriver(), t.ubuntu2204CustomCATrust(), t.ubuntu2204ArtifactStreaming(), + t.ubuntu2204privatekubepkg(), } } diff --git a/e2e/scenario/scenario_ubuntu2204-private-kube-pkg.go b/e2e/scenario/scenario_ubuntu2204-private-kube-pkg.go new file mode 100644 index 00000000000..15110b15603 --- /dev/null +++ b/e2e/scenario/scenario_ubuntu2204-private-kube-pkg.go @@ -0,0 +1,23 @@ +package scenario + +import ( + "github.com/Azure/agentbaker/pkg/agent/datamodel" +) + +func (t *Template) ubuntu2204privatekubepkg() *Scenario { + return &Scenario{ + Name: "ubuntu2204privatekubepkg", + Description: "Tests that a node using the Ubuntu 2204 VHD that was built with private kube packages can be properly bootstrapped with the specified kube version", + Config: Config{ + ClusterSelector: NetworkPluginKubenetSelector, + ClusterMutator: NetworkPluginKubenetMutator, + VHDSelector: t.Ubuntu2204Gen2ContainerdPrivateKubePkg, + BootstrapConfigMutator: func(nbc *datamodel.NodeBootstrappingConfiguration) { + nbc.ContainerService.Properties.AgentPoolProfiles[0].Distro = "aks-ubuntu-containerd-22.04-gen2" + nbc.ContainerService.Properties.OrchestratorProfile.OrchestratorVersion = "1.25.6" + nbc.AgentPoolProfile.Distro = "aks-ubuntu-containerd-22.04-gen2" + nbc.K8sComponents.LinuxPrivatePackageURL = "https://privatekube.blob.core.windows.net/kubernetes/v1.25.6-hotfix.20230612/binaries/v1.25.6-hotfix.20230612.tar.gz" + }, + }, + } +} diff --git a/e2e/scenario/vhd.go b/e2e/scenario/vhd.go index e33e6910de4..862060ba148 100644 --- a/e2e/scenario/vhd.go +++ b/e2e/scenario/vhd.go @@ -136,8 +136,9 @@ type Ubuntu1804 struct { // Ubuntu2204 contains all the Ubuntu2204-based VHD catalog entries. type Ubuntu2204 struct { - Gen2Arm64Containerd VHD `json:"gen2arm64containerd,omitempty"` - Gen2Containerd VHD `json:"gen2containerd,omitempty"` + Gen2Arm64Containerd VHD `json:"gen2arm64containerd,omitempty"` + Gen2Containerd VHD `json:"gen2containerd,omitempty"` + Gen2ContainerdPrivateKubePkg VHD `json:"gen2containerdprivatekubepkg,omitempty"` } // AzureLinuxV2 contains all the AzureLinuxV2-based VHD catalog entries. @@ -167,6 +168,11 @@ func (c *VHDCatalog) Ubuntu2204Gen2Containerd() VHD { return c.Ubuntu2204.Gen2Containerd } +// Returns the gen2containerdprivatekubepkg catalog entry. +func (c *VHDCatalog) Ubuntu2204Gen2ContainerdPrivateKubePkg() VHD { + return c.Ubuntu2204.Gen2ContainerdPrivateKubePkg +} + // Returns the AzureLinuxV/gen2arm64 catalog entry. func (c *VHDCatalog) AzureLinuxV2Gen2ARM64() VHD { return c.AzureLinuxV2.Gen2Arm64 diff --git a/e2e/template.go b/e2e/template.go index 1ce6318b716..f0a3ea40ad2 100644 --- a/e2e/template.go +++ b/e2e/template.go @@ -257,6 +257,7 @@ func baseTemplate(location string) *datamodel.NodeBootstrappingConfiguration { PodInfraContainerImageURL: "mcr.microsoft.com/oss/kubernetes/pause:3.6", HyperkubeImageURL: "mcr.microsoft.com/oss/kubernetes/", WindowsPackageURL: "windowspackage", + LinuxPrivatePackageURL: "", }, AgentPoolProfile: &datamodel.AgentPoolProfile{ Name: "nodepool2", diff --git a/parts/linux/cloud-init/artifacts/cse_cmd.sh b/parts/linux/cloud-init/artifacts/cse_cmd.sh index b9ebbedbb3b..730bcd0279d 100644 --- a/parts/linux/cloud-init/artifacts/cse_cmd.sh +++ b/parts/linux/cloud-init/artifacts/cse_cmd.sh @@ -16,6 +16,7 @@ KUBERNETES_VERSION={{GetParameter "kubernetesVersion"}} HYPERKUBE_URL={{GetParameter "kubernetesHyperkubeSpec"}} KUBE_BINARY_URL={{GetParameter "kubeBinaryURL"}} CUSTOM_KUBE_BINARY_URL={{GetParameter "customKubeBinaryURL"}} +PRIVATE_KUBE_BINARY_URL="{{GetLinuxPrivatePackageURL}}" KUBEPROXY_URL={{GetParameter "kubeProxySpec"}} APISERVER_PUBLIC_KEY={{GetParameter "apiServerCertificate"}} SUBSCRIPTION_ID={{GetVariable "subscriptionId"}} diff --git a/parts/linux/cloud-init/artifacts/cse_helpers.sh b/parts/linux/cloud-init/artifacts/cse_helpers.sh index 68903d929c0..ffd6e6ac681 100755 --- a/parts/linux/cloud-init/artifacts/cse_helpers.sh +++ b/parts/linux/cloud-init/artifacts/cse_helpers.sh @@ -1,5 +1,5 @@ #!/bin/bash -# ERR_SYSTEMCTL_ENABLE_FAIL=3 Service could not be enabled by systemctl -- DEPRECATED +# ERR_SYSTEMCTL_ENABLE_FAIL=3 Service could not be enabled by systemctl -- DEPRECATED ERR_SYSTEMCTL_START_FAIL=4 # Service could not be started or enabled by systemctl ERR_CLOUD_INIT_TIMEOUT=5 # Timeout waiting for cloud-init runcmd to complete ERR_FILE_WATCH_TIMEOUT=6 # Timeout waiting for a file @@ -93,6 +93,9 @@ ERR_VHD_REBOOT_REQUIRED=200 # Reserved for VHD reboot required exit condition ERR_NO_PACKAGES_FOUND=201 # Reserved for no security packages found exit condition ERR_SNAPSHOT_UPDATE_START_FAIL=202 # snapshot-update could not be started by systemctl +ERR_PRIVATE_K8S_PKG_ERR=203 # Error downloading (at build-time) or extracting (at run-time) private kubernetes packages +ERR_PRIVATE_K8S_INSTALL_ERR=204 # Error installing kubernetes binaries on disk + ERR_SYSTEMCTL_MASK_FAIL=2 # Service could not be masked by systemctl OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -265,7 +268,7 @@ systemctlDisableAndStop() { fi } -# return true if a >= b +# return true if a >= b semverCompare() { VERSION_A=$(echo $1 | cut -d "+" -f 1) VERSION_B=$(echo $2 | cut -d "+" -f 1) @@ -334,7 +337,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/parts/linux/cloud-init/artifacts/cse_install.sh b/parts/linux/cloud-init/artifacts/cse_install.sh index 7ff9fe0adc9..c836736c90a 100755 --- a/parts/linux/cloud-init/artifacts/cse_install.sh +++ b/parts/linux/cloud-init/artifacts/cse_install.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -229,34 +230,71 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + # remove the current kubelet and kubectl binaries before extracting new binaries from the cached package + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - + # when both, custom and private urls for kubernetes packages are set, custom url will be used and private url will be ignored CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then - # remove the kubelet binaries to make sure the only binary left is from the CUSTOM_KUBE_BINARY_DOWNLOAD_URL + # remove the kubelet and kubectl binaries to make sure the only binary left is from the CUSTOM_KUBE_BINARY_DOWNLOAD_URL rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* # NOTE(mainred): we expect kubelet binary to be under `kubernetes/node/bin`. This suits the current setting of # kube binaries used by AKS and Kubernetes upstream. # TODO(mainred): let's see if necessary to auto-detect the path of kubelet - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + # extract new binaries from the cached package if exists (cached at build-time) + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + # if the custom url is not specified and the required kubectl/kubelet-version via private url is not installed, install using the default url/package + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -284,7 +322,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -415,4 +453,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/baker.go b/pkg/agent/baker.go index 3778e24cd36..7f07e110d84 100644 --- a/pkg/agent/baker.go +++ b/pkg/agent/baker.go @@ -707,6 +707,9 @@ func getContainerServiceFuncMap(config *datamodel.NodeBootstrappingConfiguration "GetHyperkubeImageReference": func() string { return config.K8sComponents.HyperkubeImageURL }, + "GetLinuxPrivatePackageURL": func() string { + return config.K8sComponents.LinuxPrivatePackageURL + }, "GetTargetEnvironment": func() string { if cs.IsAKSCustomCloud() { return cs.Properties.CustomCloudEnv.Name diff --git a/pkg/agent/datamodel/types.go b/pkg/agent/datamodel/types.go index c6146c5d40e..175b50414dc 100644 --- a/pkg/agent/datamodel/types.go +++ b/pkg/agent/datamodel/types.go @@ -1606,6 +1606,10 @@ type K8sComponents struct { // Full path to the Windows package (windowszip) to use. // For example: https://acs-mirror.azureedge.net/kubernetes/v1.17.8/windowszip/v1.17.8-1int.zip. WindowsPackageURL string + + // Full path to the Linux package (tar.gz) to use. + // For example: url=https://acs-mirror.azureedge.net/kubernetes/v1.25.6-hotfix.20230612/binaries/v1.25.6-hotfix.20230612.tar.gz + LinuxPrivatePackageURL string } // GetLatestSigImageConfigRequest describes the input for a GetLatestSigImageConfig HTTP request. diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CSECommand index 53540648fa8..7d8ea28dc5d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL=containerd-package-url RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL=containerd-package-url RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData index f69b8a44b1d..b77cf57b3db 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand index ecc03db03de..89071ef2bb5 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="true" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="true" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="never" THP_DEFRAG="defer+madvise" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogOTAsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA3MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJjcHVNYW5hZ2VyUG9saWN5IjogInN0YXRpYyIsCiAgICAidG9wb2xvZ3lNYW5hZ2VyUG9saWN5IjogImJlc3QtZWZmb3J0IiwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IDEyMzQ1LAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiY3B1Q0ZTUXVvdGEiOiBmYWxzZSwKICAgICJjcHVDRlNRdW90YVBlcmlvZCI6ICIyMDBtcyIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkN1c3RvbUNQVUNGU1F1b3RhUGVyaW9kIjogdHJ1ZSwKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZSwKICAgICAgICAiUG9kUHJpb3JpdHkiOiB0cnVlLAogICAgICAgICJSb3RhdGVLdWJlbGV0U2VydmVyQ2VydGlmaWNhdGUiOiB0cnVlLAogICAgICAgICJUb3BvbG9neU1hbmFnZXIiOiB0cnVlLAogICAgICAgICJhIjogZmFsc2UsCiAgICAgICAgIngiOiBmYWxzZQogICAgfSwKICAgICJmYWlsU3dhcE9uIjogZmFsc2UsCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICIxMDAwTSIsCiAgICAiY29udGFpbmVyTG9nTWF4RmlsZXMiOiA5OSwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0sCiAgICAiYWxsb3dlZFVuc2FmZVN5c2N0bHMiOiBbCiAgICAgICAgImtlcm5lbC5tc2cqIiwKICAgICAgICAibmV0LmlwdjQucm91dGUubWluX3BtdHUiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="1500" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NDk5Cm5ldC5pcHY0LnRjcF9tYXhfc3luX2JhY2tsb2c9MTYzODQ5OApuZXQuaXB2NC5uZWlnaC5kZWZhdWx0LmdjX3RocmVzaDE9MTAwMDEKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gyPTgxOTIKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gzPTE2Mzg0CiMgVGhlIGZvbGxvd2luZyBhcmUgc3lzY3RsIGNvbmZpZ3MgcGFzc2VkIGZyb20gQVBJCm5ldC5jb3JlLnJtZW1fZGVmYXVsdD00NTYwMDAKbmV0LmNvcmUud21lbV9kZWZhdWx0PTg5MDAwCm5ldC5pcHY0LnRjcF90d19yZXVzZT0xCm5ldC5pcHY0LmlwX2xvY2FsX3BvcnRfcmFuZ2U9MzI3NjggNjU0MDAKCgpuZXQuaXB2NC5pcF9sb2NhbF9yZXNlcnZlZF9wb3J0cz02NTMzMAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="true" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="true" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="never" THP_DEFRAG="defer+madvise" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogOTAsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA3MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJjcHVNYW5hZ2VyUG9saWN5IjogInN0YXRpYyIsCiAgICAidG9wb2xvZ3lNYW5hZ2VyUG9saWN5IjogImJlc3QtZWZmb3J0IiwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IDEyMzQ1LAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiY3B1Q0ZTUXVvdGEiOiBmYWxzZSwKICAgICJjcHVDRlNRdW90YVBlcmlvZCI6ICIyMDBtcyIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkN1c3RvbUNQVUNGU1F1b3RhUGVyaW9kIjogdHJ1ZSwKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZSwKICAgICAgICAiUG9kUHJpb3JpdHkiOiB0cnVlLAogICAgICAgICJSb3RhdGVLdWJlbGV0U2VydmVyQ2VydGlmaWNhdGUiOiB0cnVlLAogICAgICAgICJUb3BvbG9neU1hbmFnZXIiOiB0cnVlLAogICAgICAgICJhIjogZmFsc2UsCiAgICAgICAgIngiOiBmYWxzZQogICAgfSwKICAgICJmYWlsU3dhcE9uIjogZmFsc2UsCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICIxMDAwTSIsCiAgICAiY29udGFpbmVyTG9nTWF4RmlsZXMiOiA5OSwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0sCiAgICAiYWxsb3dlZFVuc2FmZVN5c2N0bHMiOiBbCiAgICAgICAgImtlcm5lbC5tc2cqIiwKICAgICAgICAibmV0LmlwdjQucm91dGUubWluX3BtdHUiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="1500" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NDk5Cm5ldC5pcHY0LnRjcF9tYXhfc3luX2JhY2tsb2c9MTYzODQ5OApuZXQuaXB2NC5uZWlnaC5kZWZhdWx0LmdjX3RocmVzaDE9MTAwMDEKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gyPTgxOTIKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gzPTE2Mzg0CiMgVGhlIGZvbGxvd2luZyBhcmUgc3lzY3RsIGNvbmZpZ3MgcGFzc2VkIGZyb20gQVBJCm5ldC5jb3JlLnJtZW1fZGVmYXVsdD00NTYwMDAKbmV0LmNvcmUud21lbV9kZWZhdWx0PTg5MDAwCm5ldC5pcHY0LnRjcF90d19yZXVzZT0xCm5ldC5pcHY0LmlwX2xvY2FsX3BvcnRfcmFuZ2U9MzI3NjggNjU0MDAKCgpuZXQuaXB2NC5pcF9sb2NhbF9yZXNlcnZlZF9wb3J0cz02NTMzMAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index f3935186ccc..ec8a94ff1c8 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CSECommand index bb56dbf05f4..c23fa3dcf0d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogOTAsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA3MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJjcHVNYW5hZ2VyUG9saWN5IjogInN0YXRpYyIsCiAgICAidG9wb2xvZ3lNYW5hZ2VyUG9saWN5IjogImJlc3QtZWZmb3J0IiwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IDEyMzQ1LAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiY3B1Q0ZTUXVvdGEiOiBmYWxzZSwKICAgICJjcHVDRlNRdW90YVBlcmlvZCI6ICIyMDBtcyIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkN1c3RvbUNQVUNGU1F1b3RhUGVyaW9kIjogdHJ1ZSwKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZSwKICAgICAgICAiUG9kUHJpb3JpdHkiOiB0cnVlLAogICAgICAgICJSb3RhdGVLdWJlbGV0U2VydmVyQ2VydGlmaWNhdGUiOiB0cnVlLAogICAgICAgICJUb3BvbG9neU1hbmFnZXIiOiB0cnVlLAogICAgICAgICJhIjogZmFsc2UsCiAgICAgICAgIngiOiBmYWxzZQogICAgfSwKICAgICJjb250YWluZXJMb2dNYXhTaXplIjogIjEwMDBNIiwKICAgICJjb250YWluZXJMb2dNYXhGaWxlcyI6IDk5LAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXSwKICAgICJhbGxvd2VkVW5zYWZlU3lzY3RscyI6IFsKICAgICAgICAia2VybmVsLm1zZyoiLAogICAgICAgICJuZXQuaXB2NC5yb3V0ZS5taW5fcG10dSIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogOTAsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA3MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJjcHVNYW5hZ2VyUG9saWN5IjogInN0YXRpYyIsCiAgICAidG9wb2xvZ3lNYW5hZ2VyUG9saWN5IjogImJlc3QtZWZmb3J0IiwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IDEyMzQ1LAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiY3B1Q0ZTUXVvdGEiOiBmYWxzZSwKICAgICJjcHVDRlNRdW90YVBlcmlvZCI6ICIyMDBtcyIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkN1c3RvbUNQVUNGU1F1b3RhUGVyaW9kIjogdHJ1ZSwKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZSwKICAgICAgICAiUG9kUHJpb3JpdHkiOiB0cnVlLAogICAgICAgICJSb3RhdGVLdWJlbGV0U2VydmVyQ2VydGlmaWNhdGUiOiB0cnVlLAogICAgICAgICJUb3BvbG9neU1hbmFnZXIiOiB0cnVlLAogICAgICAgICJhIjogZmFsc2UsCiAgICAgICAgIngiOiBmYWxzZQogICAgfSwKICAgICJjb250YWluZXJMb2dNYXhTaXplIjogIjEwMDBNIiwKICAgICJjb250YWluZXJMb2dNYXhGaWxlcyI6IDk5LAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXSwKICAgICJhbGxvd2VkVW5zYWZlU3lzY3RscyI6IFsKICAgICAgICAia2VybmVsLm1zZyoiLAogICAgICAgICJuZXQuaXB2NC5yb3V0ZS5taW5fcG10dSIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData index f3935186ccc..ec8a94ff1c8 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CSECommand index 98884e85436..f9f9c3c7503 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=docker CLI_TOOL=docker CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=docker CLI_TOOL=docker CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData index 4e34683becd..8838e6c1533 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CSECommand index 98884e85436..f9f9c3c7503 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=docker CLI_TOOL=docker CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=docker CLI_TOOL=docker CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData index 4e34683becd..8838e6c1533 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+Docker/CSECommand index 97126e82ba8..bb6c76e764e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=docker CLI_TOOL=docker CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=docker CLI_TOOL=docker CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData index f69b8a44b1d..b77cf57b3db 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CSECommand index 6a584b10b65..237b828058a 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAic3lzdGVtUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIyIiwKICAgICAgICAibWVtb3J5IjogIjFHaSIKICAgIH0sCiAgICAia3ViZVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMTAwbSIsCiAgICAgICAgIm1lbW9yeSI6ICIxNjM4TWkiCiAgICB9LAogICAgImVuZm9yY2VOb2RlQWxsb2NhdGFibGUiOiBbCiAgICAgICAgInBvZHMiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.16.13 HYPERKUBE_URL=hyperkube-amd64:v1.16.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAic3lzdGVtUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIyIiwKICAgICAgICAibWVtb3J5IjogIjFHaSIKICAgIH0sCiAgICAia3ViZVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMTAwbSIsCiAgICAgICAgIm1lbW9yeSI6ICIxNjM4TWkiCiAgICB9LAogICAgImVuZm9yY2VOb2RlQWxsb2NhdGFibGUiOiBbCiAgICAgICAgInBvZHMiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.16.13" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData index a1575eb3eb4..8dcc90af155 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CSECommand index 1ced3609124..82e0294fd99 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="true" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="true" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CSECommand index aadeebacac0..e74a328f951 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=false ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=true TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gIm52aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZV0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZS5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=false ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=true TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gIm52aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZV0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZS5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData index b2a67ecfaba..53b9df55ab3 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CSECommand index 04f5d2efabd..4f03430d6dc 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData index f69b8a44b1d..b77cf57b3db 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CSECommand index 45cfeb70ea2..dd5d663a527 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.17.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.17.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.17.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.17.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CSECommand index 644f5f66ccf..eedff4fd3d1 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CSECommand index 60694529bdb..d6d5233e2b9 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData index cd2cfa805c2..fbfa5f62615 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CSECommand index 04f5d2efabd..4f03430d6dc 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData index f69b8a44b1d..b77cf57b3db 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CSECommand index 6660e5365da..6a52deb4b04 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData index 9197f42242e..051eb3eb4f9 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CSECommand index 6c0bbbd0647..99a79d9d778 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="true" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvYWtzL2NvbnRhaW5lcnMiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIl0KICBzYW5kYm94X2ltYWdlID0gIm9zcy9rdWJlcm5ldGVzL3BhdXNlOjEuMy4xIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkXQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvYWtzL2NvbnRhaW5lcnMiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIl0KICBzYW5kYm94X2ltYWdlID0gIm9zcy9rdWJlcm5ldGVzL3BhdXNlOjEuMy4xIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkXQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="true" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvYWtzL2NvbnRhaW5lcnMiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIl0KICBzYW5kYm94X2ltYWdlID0gIm9zcy9rdWJlcm5ldGVzL3BhdXNlOjEuMy4xIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkXQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvYWtzL2NvbnRhaW5lcnMiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIl0KICBzYW5kYm94X2ltYWdlID0gIm9zcy9rdWJlcm5ldGVzL3BhdXNlOjEuMy4xIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkXQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData index 970ef817177..e13d6e62f5b 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CSECommand b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CSECommand index 238af144f69..94cff9ce3bb 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApyb290ID0gIi9tbnQvY29udGFpbmVycyIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiXQogIHNhbmRib3hfaW1hZ2UgPSAib3NzL2t1YmVybmV0ZXMvcGF1c2U6MS4zLjEiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData index 9197f42242e..051eb3eb4f9 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CSECommand index 783e297280e..2c94e584235 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeV0KICAgIGNvbmZpZ19wYXRoID0gIi9ldGMvY29udGFpbmVyZC9jZXJ0cy5kIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMub3ZlcmxheWJkXQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9vdmVybGF5YmQtc25hcHNob3R0ZXIvb3ZlcmxheWJkLnNvY2siCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeV0KICAgIGNvbmZpZ19wYXRoID0gIi9ldGMvY29udGFpbmVyZC9jZXJ0cy5kIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMub3ZlcmxheWJkXQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9vdmVybGF5YmQtc25hcHNob3R0ZXIvb3ZlcmxheWJkLnNvY2siCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="true" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeV0KICAgIGNvbmZpZ19wYXRoID0gIi9ldGMvY29udGFpbmVyZC9jZXJ0cy5kIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMub3ZlcmxheWJkXQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9vdmVybGF5YmQtc25hcHNob3R0ZXIvb3ZlcmxheWJkLnNvY2siCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeV0KICAgIGNvbmZpZ19wYXRoID0gIi9ldGMvY29udGFpbmVyZC9jZXJ0cy5kIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMub3ZlcmxheWJkXQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9vdmVybGF5YmQtc25hcHNob3R0ZXIvb3ZlcmxheWJkLnNvY2siCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="true" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData index 63d2529b746..57c3baa3963 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CSECommand index 15a3ee1ce27..ab3aafebaae 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData index 816bf0a4c03..d453d3b78f8 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CSECommand index debbedde87c..8e721de8b65 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.22.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.22.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.22.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.22.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData index 6426844591f..ae0be81fc36 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CSECommand index 10611262d95..80bec0e58da 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION=1.4.4 CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION=1.4.4 CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CSECommand index 48b698ea890..985e057a5a5 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.22.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.22.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME=1.2.3.4 IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.22.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.22.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME=1.2.3.4 IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData index aac19d86e46..8ab0065c8dc 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CSECommand index 16c000061c5..69d399edd86 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL=some url CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="true" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL=some url CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="true" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RZ/3Obxrb/XX/FKZfUUq8RQrJdxx7SYmktM5aAB8hJnpvHYFhJ1BJQWLnJtfW/v1lYvllymqRvOnm+c6eI89mz53zOlz1s/vWDeBeE4p2bLlvINB3rvWWj6dCeOJatmLZzqagT+Qgy2XCiz0aOqqm2Y6tTpM9s+TiXXKoT5LxV7OFVKTnJJVf6ZOS8VSaqNnunjJFmyz/nAhNNkGKhPYDTHKAYtqNqlq1MJqXS17lopA+vkbkj7fca4pH+VpvoyqiSSw35NXq/B9NvYKgRFFeKBw1xjaM+I2mqX7zPlk1Uq+Kpz4iaWs7YGL+w9UlNw45vjLahrtmKqiFztAthxJkzbbgrZNRdn1oUoKnauJQNepVsx6oBI+16doFoWmi67VzqM20kDxhV6nS8Z9mgWjZBdp2pwVEzitOxY8xqpg6Od1wd2vtwJ7s4U6U27kJfZi9L3ZpTjMShpu46dSSVUTRMfeSM0MUeUH8XZFyPHWU0YtXEqMlLrWZJJjwtkmBkmPoFYm9Z9PSZfUHNpI5ouei4FjzFUB0LmTfIrAOkvYCRZjkTXb+eGQzW3wtT/ntmol1wEV3FVvYn80mvhnheRSdSTfg8U0+YITdXo+fBOdnNjJ2Nf+7VqmBXynYezixbnzoWUszhlTPSp4qqWblvp0zB2Jjtrj8d1ISmeoNMq57ap0e74uf+nR7XMOhGHSLHmMzGqtZQdFKBVO1Sd0x96gx105wZNhrJpyyfrfG7F/d53dvF1HZ4LVVtdqSokyo6r2sNeGaMFBtVIpaHQwvR5L5RLVXXHGtoqoadxclEyqjSJPV6tU1oP5wZY1MZoRqiZoYxM8cs4aVevywSWtEmomGQpR7jf6hajmJZ6lhzTF23HeOtLEnSjizLHwOZU9WilsqSxNQaStZ7hrrxPgPJklTXbBiT946hWNZb3cyK7VIdy5J03Czc8hDQWVlIUtGS8j60kz6S9HMDoBvIVGzKITJN3ZQlqWg/trlH+BpaOVlZUVq2Mrx2xsh2FHPq2Po10mSpOAOfQzRkv9XNa+bLLFcsS8WR+BxuzS40ZDuGiS7Vd7JET8WyKC9m6mRU2EQPtpyUt4rhDE1E0yUnozhW6hJVs2aXl+pQRVqWEdeOZShDJEv0mMnQNpogQzftWmkj05Slos9V8iLhc3HhiGmrl8qQHjgmUqb0mCv0yFLR4/aAmDJZoq0tn1xs26BJ/u69M1QobzfItGWpaGysMqgImbYlSyfldMHMttCQkmpPLOdC123LNhWjPA/ROzQs6r7MjpMiwCPVulAmyFENW7mYIEuWaFvLe6Y5s2yqYTe5iuY2Ui26yrGsK1n6uR46E1FLHBP910w10UjuFwWq6VlJKGNksV7bLyrT0hTDutLLXlCfeXqF8mpsnCrWNZNCq6VbMt9Oo4SAkICIiSf+JCR4hd0UwxMs3D/v4WDtEm/Z5nuHIP5PWx05E/UayW0vSnCUdp7Ukdzu/tTp8OIhuB14hDgJQgIk2sQxTtrubf8DuLeDD51zwB8DAtuDTku3HNruaIZ/3e5slfP1m8ITkAQEHw64g05rdjHT7JmjW46mTJHM5b+51lQx6bFVCdgLrsXGK1ncpIm4ijx3lc3l95s77JFVK281uZS+9yPvHict/DGm3mVHyY3M8Y/VwVMwcCZvuQYOWXZ9l/Ah8AO3pd2oI1UpWlrBXr972u0JUuvZa6krDbqSIBWryvOYnro0HUskN+iedHulAcUuuYXqVBkjx7pSCsvLF3Wj962xlXHp7c1W4B9fUPxZLTK39pLuOvCSKI3mpOtFa9G9T+n/hUW8KZfSXpyfw3m/GU5HMueRBJJNCIIQJ8FDsMIL7IMgJGsQhBATYRmlBAThz4AshTCFOPDPxDiJPFESw1SMAwpeRxuaVJ9iLN8FoX+YJp4sRjERF/Hm0E+JLK7D/EcUkyAKUzmhuM+tdL0MWK0uXjQ0lK6xuO54l6fXPgdDTGTmWxz47PEBCrPPCpPLl8yAs7o1GVFci575Q2V4hZyRasrig5uInustsejSdYm3DB5wKrbo+a1o9MCogZMoIhSXL2ihG6TZdEYdj7OWX+hbRQvR/c8mweK0jLNCf3fRR4LDlFrTHW5SEq0tLwliIuIHHJJUbA1n5oTO28bMlkWyjkVvk6ycB5zcRSnuRhvSaiWYJJ+8te8Ec2fuBqtNgtsdeGwBAFBZgFOZl87hTzcgTrrCOJb5/jmQYI2jDZH5wTmky2BO4Mcfnz1kKuZRAgEEIfDtFP8BEvBMaecc/CiD0D+mDvjigeMff91yVNddgt17eHqC30p0MIdb4AMQ8B+lPvhwDmSJwxJE/7C3jAB9xN6GYB9+4/hff+PoQrpLet6AJphskhCk8iVepbiByJwHviKilM6D7NGPwnzFX2y73Ue6E0ZOSlySfg/sU/L/Lvf/V4TW2Fpg4hA3uXNXq5Il4ibO55jK4RlTm2Ql80dVhDj+sbZ6WxDOvUBdDfuMPjcBgfxnnkHobl9CXU3bN9JXBOukB7SsQZin1uQB+Ow5qox5A3ytD0D/zY9SQw816xb4X+AHGXrwYZ8x9M9zSUNRA8AC9s2RzfrSPFhVvSd784UlQBfGLlnK/BGL8nEjynVdfxnmOrgZ59tbEObAF7vBhw9loPfHuK7qbwa5LM29oS5NosGlUxzGzaC/EX38IIab1ep7CX0GmEdJM+qfCXgV5EEGjd0H7LOBITscvVW08YUgDIhAsWk3Q2TYRYJjEC7/oMlQ6NlywGcIGkQWiN7XdM1S6cG/kH55UIvC57Pin2iaGZLOOgFwIjVP9LnKwKo4KpvfvGF0tLat9FNK8NojNHlT4ibk684kSB+80F3jotl+6ylUmgG+i9dRSD97Itf/kgXMbuCZKf/AYVbuTU/xTVptLQhhJMTuAicgNMvv92iThO6KLhI25YJvKqcqZCmJ4v938aJG/5PB+mpW/SB1776sUX1XxDK7v09u8w5DXfk6Xv8umVnBCTlJ3w8hDzihn3LOghRpRnBKv4Ta2cXNHA5epb+FB8Dxv3LwBOxK6AaeYIldH4QQpA4HsgwcL3GtbavKXhTSHFBC32o08502D1KvB8cw6AGf+2Oi/KLMshV7Zsn8L811ZauTmk0O3sCzD1deEnJsdxUtWhXBzQ1ACDGdQ57RzMY4Cbxos/IhjAjcYcgsxj7X2hsJRm0whx9gz9cWSH3qaf+45gwO80qRvmj7HO3D3adKxcu21KMxyksyC0etVQfzmi2rICXCJgxICoIw36xovtJZ/olNHXSSkbopTh4CD3PPDG6eBVB4yks0xV8iM4rjOpk7ne+L1DAs08P8xusHnAyjdezWrhaKS0pF5tv5JELnVm9DQPCB+zdHJ22p04BelND+S9DbWzrhlbq3rBzKNxdbjk3tjYGPlhL2S/U1BVBfm1+PHtD/0TosSvAG8s2XwWKJU3KTl7HMt9VLSy6/QfI9tlxpOp8pEeb9z5jOPzaVbvdZX+batuVHf4a0nY7wnXG/sKPL+mxtXI/zC1tW3PR3ecPcL1+NVBMNbd18XzTa9b0fJCDEwDfE+RC+SZc+8I8Nybbs5DtVR3PopNcDNybCAhMoDGYqqHlbOX9mpm1/yjeKYjqZujHJbgGKdcy5z5wazVuR8xZAdmVMl8iUP+ZB4xqPJnitgr/gpPHj+wUIgheF82BBPRVcWrhR4uHspY/nGa786qGOrCLvPs1eF3QIEYzi+8XZmZ7fdJ6dyXUt0cqvGBM+Pb8ka/3VwZU5LZ1nR9TusXSeN032/UAJf8YDe6RaW9vWApOhMVMSb1lmmJt4S5lvb/Kxd90pDboF/pEKDw+3WUW69MfJEUc3eCZJ1vT97rdoXke5uLVzzjLp2i+kWe8JUsWcnhzVWyw1pV2Z3qlvun9P6YXderUet4oWqUMiJ793LffLM4246X2WmdW9XC7I0bRGtWxIbPsuwfDvV+mrgdZp1YDZUWcHNQz36hJe2d1XA43LWaaZUJRdcU6zXUL/5aUZ7vc0Cp2UJEG4kPk2/P4HnSWqUUgQ3GQBVEdK3HUMkLWzwqQttwPVY5y4NH9Vn0KZAXuArKtlbzip2x/sQmw3vafsQL4t5XKPIkSZnOAHvALg1HAeJevMAHe1i53iNHUXON+UHksrTLB/Bnkt7dVsBH6G7r0gt/fJDx5Lys6AL58P6/ScAV/7dVgQcgY8ezosCaA62ONhzd8z4Ksfh4VzZ8Czp8PSgwJpBP5haXbx0g787UFmeqd2OfBYy4wtvAH+cfefKLb8YzOPt126qlU1I442DA5+kDOCmjVWbym1kWFJhwonvQ9iJ/+nPcdPAjofV7Mr7ZYfs8e7yP8k8+3qYgyEK+CmmLi+S9wzIMkGc9mAGifRx0/A/cQBtyQkPhNF6eR1t3981GX/FddslRiEKXFDD//ixoHAJnO53+tLQq8v9CRWdbVi+xZXM0cqX4sBhOOpS3RSoKWI4aDrRet4Q3CXuIt0EqQEnmDtxu0Ur7BH2t2s3z5lnwttzroP4nG8GWWEqdSN1Yo7By7gOp3Obe9D98FdbTCIInBzd5VirlyZEZUjD2ppwPE1G+mHxb+u0MRApoX0y/8NAAD//z8Loi96KQAA + H4sIAAAAAAAA/9RZbXObxrd/r09xSkkt5W+EkBzXsYe0WFrLjCXgAnKS6+YyGFYStQQUVm5SW9/9zsLyZMlpkt7p5KrTCez57dnzfA7rH38Qb4NQvHXTZQuZpmO9t2w0HdoTx7IV03YuFHUiH0FGG0702chRNdV2bHWK9Jktv8opF+oEOW8Ve3hZUo5zyqU+GTlvlYmqzd4pY6TZ8s85wUQTpFhoD+AkByiG7aiaZSuTScn0dU4a6cMrZO5Q+70GeaS/1Sa6MqroUoN+hd7vwfQbGCoExZXkQYNcs1GfGWmqn7/Ptk1Uq7JTnxlqajljY/zM0cc1Dju6MbMNdc1WVA2Zo10IM5w504a7RGa6qxOLAjRVG5e0Qa+i7Ug1YEa7mp0jGhaabjsX+kwbyQNmKnU63rNtUG2bILtuqcFR04vTsWPMaqIOXu2oOrT34Y53caZKZdyFPm+9LHRrSjEjDjV1V6kjqfSiYeojZ4TO94D6uyDjauwooxHLJmaaPNVqkmTEkyIIRoapnyO2yrynz+xzKiZVRMtJr2rOUwzVsZB5jcw6QNoLGGmWM9H1q5nBYP29MOW/ZybaBRfeVWxlfzAf92qIp1l0LNWITyP1mAlyfTl66pzj3cjYOfjnXi0Ldqns5OHMsvWpYyHFHF46I32qqJqV63bCGIyN2e7+k0GNaKrXyLTqoX1ytEt+qt/JqxoGXatD5BiT2VjVGoyOK5CqXeiOqU+doW6aM8NGI/mExbM1fvfsOa97u5jaCa+lqsyOFHVSeed1rQDPjJFio4rE4nBoIRrc16ql6ppjDU3VsDM/mUgZVZykXq92CK2HM2NsKiNUQ9TEMGbmmAW81OuXSUIz2kTUDbLUY/YfqpajWJY61hxT123HeCtLkrRDy+LHQOZUtaiksiQxtoaS1Z6hbrzPQLIk1TkbxuS9YyiW9VY3s2S7UMeyJL1qJm7ZBHSWFpJUlKS8Du2EjyT93ADoBjIVm9oQmaZuypJUlB/b3EN8Da3cWFlSWrYyvHLGyHYUc+rY+hXSZKnogU8hGrLf6uYV02WWM5aloiU+hVuzcw3ZjmGiC/WdLNGuWCbl+UydjAqZaGPLjfJWMZyhiWi45MYo2kqdomrW7OJCHapIyyLiyrEMZYhkibaZDG2jCTJ0066lNjJNWSrqXEUvAj4nF4qYtnqhDGnDMZEypW2u4CNLRY3bA2LMZImWtnxysW2DBvm7985QoXa7RqYtS0VhY5lBSci0LVk6LqcLJraFhtSo9sRyznXdtmxTMcp+iN6hYZH3ZXQcFw4eqda5MkGOatjK+QRZskTLWl4zzZllUw67wVUUt5Fq0V2OZV3K0s9115mISuKY6L9mqolGcr9IUE3PUkIZI4vV2n6RmZamGNalXtaC+szTK5gbpnpNibR70GZHfdIvkrVOrDut3zsqgqecOqeKdcWYQ6ulWzLfTqOEgJCAiIknvhQSvMJuiuERFu6fd3Cwdom3bPO9QxD/p62OnIl6heS2FyU4SjuP6khud192Orx4CG4HHiBOgpAAiTZxjJO2e9P/AO7N4EPnDPDHgMD2oNPSLYdWS5ogX3c62+V8/aHwCCQBwYcD7qDTmp3PNHvm6JajKVMkc/k715oqJu16FYEtcC02ncniJk3EVeS5q2ysv9vcYo+sWnmlyql03Y+8O5y08MeYapd1omuZ4x+qvlVY4FTecg0csuz6KeF94AduS7tWR6pSVMTCev3uSbcnSK0ny1JXGnQlQSp2le2cNm0azSWSG3SPu71SgOKUXEJ1qoyRY10qheTlQl3ofXtsZVxqe70V+IdnGH+Wi8ytvaS7DrwkSqM56XrRWnTvUvq/sIg35VZayvM2nkf+cDqSOY8kkGxCEIQ4Ce6DFV5gHwQhWYMghJgIyyglIAh/BmQphCnEgX8qxknkiZIYpmIcUPA62tCg+hRj+TYI/cM08WQxiom4iDeHfkpkcR3mL1FMgihM5YTiPrfT9TJgtbtYaHAoVWN+3dEuD699CoaYyEy3OPDZ4z0UYp8WIpeLTIDTujSZobgWHRmGyvASOSPVlMV7NxE911ti0aX7Em8Z3ONUbNH2r2i039TASRQRiss3tNA10mw64o7HWcco+K2ihej+tUmwOC39rND3LvpIcJhSabrDTUqiteUlQUxEfI9Dkoqt4cyc0HHdmNmySNax6G2SlXOPk9soxd1oQ1qtBJPkk7f2nWDuzN1gtUlwuwMPLQAASgtwKvPSGfzpBsRJVxjHMt8/AxKscbQhMj84g3QZzAn89NOTh4zFPEoggCAEvp3iP0ACnjHtnIEfZRD6Y+yALx44/uHXLUd53SbYvYPHR/itRAdzuAE+AAH/UfKDD2dAljgsQfSHvWUE6CP2NgT78BvH//obRzfSU9KzBjTBZJOEIJWLeJXiBiJTHvjKECV1HmSPfhTmO/7m2O0+ozth5KTEJen3YH1q/H9q+/8rg9astcDEIW5y665WpZWImzifs1QOzyy1SVYyf1R5iOMfaru3hcG5Z0xXwz4xn5uAQP6aZxB62peYrsbtG81XOOu4BzStQZin1uQe+Ow5qoR5A3ytDkD/zU9Sgw8V6wb4X+AHGXrwYZ8w9Oe5pMGoAWAO+2bPZnVpHqyq2pOtfGEK0I2xS5Yyf8S8/Krh5Tqvv3VzHdz0880NCHPgi9Pgw4fS0ft9XGf1D51cpuZeV5ciUefSKQ7jptPfiD6+F8PNavW9uD4DzKOk6fXPOLxy8iCDxu499tnAkDVHbxVtfCEIAyJQbNrNEBl2keAYhIs/aDAUfLYc8BmCOpE5ovc1VbNkevAj0i8Oal74fFT8G0UzQ9JZJwBOpOKJPlcJWCVHJfObN8wcrW0r/ZQSvPYIDd6UuAn5up4E6b0XumtcFNtv7UKlGOC7eB2F9LMncv0v2cDkBp6J8i80s/Js2sU3aXW0IISRELsLnIDQTL/fo00Suiu6SdiUG74pnSqXpSSK/9/5iwr9bzrrq63qB6l7+2WF6rsyLJP7+7RtXmGoKl9n139qzCzhhNxI349B7nFCP+WcBSnCjOCUfgm1s4ubORy8SH8LD4Djf+XgEdiV0DU8whK7PgghSB0OZBk4XuJa21YVvSikMaCEvtUo5jtlHqReD17BoAd8ro+J8ns2y1bsmSXzvzT3laVOahY5eANPPlx5Scix3VW0aFUGbh4AQojpHPLEzGyMk8CLNisfwojALYZMYuxzrb2eYKYN5vAD7PnaAqlPNe2/qimDwzxTpC86Pkf7cPupYvG8LHVvjPKUzNxRK9XBvCbLKkiJsAkDkoIgzDcrGq90ln9kUwedZKRuipP7wMPcE4GbvQAKTXmJhvhzxoziuG7Mncr3RWwYlvFheuP1PU6G0Tp2a1cLxSWlIvPtfBKhc6u3ISD4wP2Ho5O21GlAz0to/znozQ2d8EreW5YO5cr5lmNTe2Pgo6mE/ZJ9jQHU9+bXowf0P5qHRQpeQ374MlgscUqu8zSW+bZ6YcnlN0h+xpYrReczJsK8/xnR+Ycm0+0+6ctY27b86M+QltMRvjXuFnZ0UZ+tjatxfmHLkpu+lzfM/XJppJpoaOvm+6LQru/8IAEhBr5BzofwTbr0gX9oULZlJd/JOhpDx70euDERFphAITBjQcXbyvkzE237Mj8oiulk6sYkuwUo9jHlPtM1mrciZy2A7MqYbpGp/ZgGjWs8GuC1DP6CTuPHdwsQBC8K58GCaiq4NHGjxMPZoo/nGa786qGKrCLvLs2WC3MIEYziu8XpqZ7fdJ6eynUu0cqvLCZ8enpJ1vq7xpUpLZ1lLWq3LZ3lRZN9P1CDP7EDe6RcW9vWApOhMVMSb1lGmJt4S5lvb/Kxd90pBboB/oESDw+3WUa69OX4iKMHPKEka7q++y2a51FObu30WUZd+wU1qz1BqpjT46N6iaWitCvRO/VD958pPXNar1bjVtEidUjk5Peu5Xl5pBE3vcsis7qXywk5muaolg2Jbd8lGP7zIn0x0DqtGjBrdXZQw3AvLuCF3X0x0LjcyjQSirQr+jQ7JfSf35rhfk+j0ElJEoQLmW/D73/QWaIahQTBTRZAeaTEXccAWTkrRNpyO1A9xolL41f1KZQJsAfIqlq2wknd/mAXYrvpHbUO5MdSW+5hhKglJ/gerwA4NZxHyToTwF3tYqc4Td0Fzg+lbWmFCfZPgX/5DF8j8DNs7xm6vY9+8FAa7BT48vmwbpxT4Gtvh4U5ToFnT4el+pQHezysaXsKfPVyWKh2Cjx7Oiw1KJBG4B+WYheLduBvDzLRO7WrgYdaXGzhDfAPu3+g2PIPzSjedumuVlWKOFouOPhBzgzUzLB6QakNDEs6UjjpXRA7+R/2HD8J6HRcTa60Vn7MHm8j/5PMt6trMRAugZti4voucU+BJBvMZeNpnEQfPwH3kgNuSUh8KorS8etu/9VRl/0rrtkuMQhT4oYe/sWNA4HN5XK/15eEXl/oSSznaqn2LapmilS6FuMHx1OV6JxAExHDQdeL1vGG4C5xF+kkSAk8wtqN2yleYY+0u1m1fcw+FtqcdRfE43gzygymUjVWK+4MuIDrdDo3vQ/de3e1wSCKwM3dVYq5cmdmqBx5UAsDjq/JSD8rfrxEEwOZFtIv/jcAAP//BO+b6bcpAAA= @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CSECommand index 90f6289c7ec..484922db99e 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY=calico VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="calico" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY=calico VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="calico" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData index e76b5d95cb7..6b718b4c059 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CSECommand index 9da90e9cc2a..9b65466d535 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY25pXQogICAgYmluX2RpciA9ICIvb3B0L2NuaS9iaW4iCiAgICBjb25mX2RpciA9ICIvZXRjL2NuaS9uZXQuZCIKICAgIGNvbmZfdGVtcGxhdGUgPSAiL2V0Yy9jb250YWluZXJkL2t1YmVuZXRfdGVtcGxhdGUuY29uZiIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY25pXQogICAgYmluX2RpciA9ICIvb3B0L2NuaS9iaW4iCiAgICBjb25mX2RpciA9ICIvZXRjL2NuaS9uZXQuZCIKICAgIGNvbmZfdGVtcGxhdGUgPSAiL2V0Yy9jb250YWluZXJkL2t1YmVuZXRfdGVtcGxhdGUuY29uZiIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY25pXQogICAgYmluX2RpciA9ICIvb3B0L2NuaS9iaW4iCiAgICBjb25mX2RpciA9ICIvZXRjL2NuaS9uZXQuZCIKICAgIGNvbmZfdGVtcGxhdGUgPSAiL2V0Yy9jb250YWluZXJkL2t1YmVuZXRfdGVtcGxhdGUuY29uZiIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY25pXQogICAgYmluX2RpciA9ICIvb3B0L2NuaS9iaW4iCiAgICBjb25mX2RpciA9ICIvZXRjL2NuaS9uZXQuZCIKICAgIGNvbmZfdGVtcGxhdGUgPSAiL2V0Yy9jb250YWluZXJkL2t1YmVuZXRfdGVtcGxhdGUuY29uZiIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CSECommand index 72a9d0e37fb..b3fd5b392a6 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jbmldCiAgICBiaW5fZGlyID0gIi9vcHQvY25pL2JpbiIKICAgIGNvbmZfZGlyID0gIi9ldGMvY25pL25ldC5kIgogICAgY29uZl90ZW1wbGF0ZSA9ICIvZXRjL2NvbnRhaW5lcmQva3ViZW5ldF90ZW1wbGF0ZS5jb25mIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jbmldCiAgICBiaW5fZGlyID0gIi9vcHQvY25pL2JpbiIKICAgIGNvbmZfZGlyID0gIi9ldGMvY25pL25ldC5kIgogICAgY29uZl90ZW1wbGF0ZSA9ICIvZXRjL2NvbnRhaW5lcmQva3ViZW5ldF90ZW1wbGF0ZS5jb25mIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jbmldCiAgICBiaW5fZGlyID0gIi9vcHQvY25pL2JpbiIKICAgIGNvbmZfZGlyID0gIi9ldGMvY25pL25ldC5kIgogICAgY29uZl90ZW1wbGF0ZSA9ICIvZXRjL2NvbnRhaW5lcmQva3ViZW5ldF90ZW1wbGF0ZS5jb25mIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jbmldCiAgICBiaW5fZGlyID0gIi9vcHQvY25pL2JpbiIKICAgIGNvbmZfZGlyID0gIi9ldGMvY25pL25ldC5kIgogICAgY29uZl90ZW1wbGF0ZSA9ICIvZXRjL2NvbnRhaW5lcmQva3ViZW5ldF90ZW1wbGF0ZS5jb25mIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CSECommand index cdc42bca597..1ca81af0763 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData index 816bf0a4c03..d453d3b78f8 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RZ/3Obxrb/XX/FKZfUUq8RQrJdxx7SYmktM5aAB8hJnpvHYFhJ1BJQWLnJtfW/v1lYvllymqRvOnm+c6eI89mz53zOlz1s/vWDeBeE4p2bLlvINB3rvWWj6dCeOJatmLZzqagT+Qgy2XCiz0aOqqm2Y6tTpM9s+TiXXKoT5LxV7OFVKTnJJVf6ZOS8VSaqNnunjJFmyz/nAhNNkGKhPYDTHKAYtqNqlq1MJqXS17lopA+vkbkj7fca4pH+VpvoyqiSSw35NXq/B9NvYKgRFFeKBw1xjaM+I2mqX7zPlk1Uq+Kpz4iaWs7YGL+w9UlNw45vjLahrtmKqiFztAthxJkzbbgrZNRdn1oUoKnauJQNepVsx6oBI+16doFoWmi67VzqM20kDxhV6nS8Z9mgWjZBdp2pwVEzitOxY8xqpg6Od1wd2vtwJ7s4U6U27kJfZi9L3ZpTjMShpu46dSSVUTRMfeSM0MUeUH8XZFyPHWU0YtXEqMlLrWZJJjwtkmBkmPoFYm9Z9PSZfUHNpI5ouei4FjzFUB0LmTfIrAOkvYCRZjkTXb+eGQzW3wtT/ntmol1wEV3FVvYn80mvhnheRSdSTfg8U0+YITdXo+fBOdnNjJ2Nf+7VqmBXynYezixbnzoWUszhlTPSp4qqWblvp0zB2Jjtrj8d1ISmeoNMq57ap0e74uf+nR7XMOhGHSLHmMzGqtZQdFKBVO1Sd0x96gx105wZNhrJpyyfrfG7F/d53dvF1HZ4LVVtdqSokyo6r2sNeGaMFBtVIpaHQwvR5L5RLVXXHGtoqoadxclEyqjSJPV6tU1oP5wZY1MZoRqiZoYxM8cs4aVevywSWtEmomGQpR7jf6hajmJZ6lhzTF23HeOtLEnSjizLHwOZU9WilsqSxNQaStZ7hrrxPgPJklTXbBiT946hWNZb3cyK7VIdy5J03Czc8hDQWVlIUtGS8j60kz6S9HMDoBvIVGzKITJN3ZQlqWg/trlH+BpaOVlZUVq2Mrx2xsh2FHPq2Po10mSpOAOfQzRkv9XNa+bLLFcsS8WR+BxuzS40ZDuGiS7Vd7JET8WyKC9m6mRU2EQPtpyUt4rhDE1E0yUnozhW6hJVs2aXl+pQRVqWEdeOZShDJEv0mMnQNpogQzftWmkj05Slos9V8iLhc3HhiGmrl8qQHjgmUqb0mCv0yFLR4/aAmDJZoq0tn1xs26BJ/u69M1QobzfItGWpaGysMqgImbYlSyfldMHMttCQkmpPLOdC123LNhWjPA/ROzQs6r7MjpMiwCPVulAmyFENW7mYIEuWaFvLe6Y5s2yqYTe5iuY2Ui26yrGsK1n6uR46E1FLHBP910w10UjuFwWq6VlJKGNksV7bLyrT0hTDutLLXlCfeXqF8mpsnCrWNZNCq6VbMt9Oo4SAkICIiSf+JCR4hd0UwxMs3D/v4WDtEm/Z5nuHIP5PWx05E/UayW0vSnCUdp7Ukdzu/tTp8OIhuB14hDgJQgIk2sQxTtrubf8DuLeDD51zwB8DAtuDTku3HNruaIZ/3e5slfP1m8ITkAQEHw64g05rdjHT7JmjW46mTJHM5b+51lQx6bFVCdgLrsXGK1ncpIm4ijx3lc3l95s77JFVK281uZS+9yPvHict/DGm3mVHyY3M8Y/VwVMwcCZvuQYOWXZ9l/Ah8AO3pd2oI1UpWlrBXr972u0JUuvZa6krDbqSIBWryvOYnro0HUskN+iedHulAcUuuYXqVBkjx7pSCsvLF3Wj962xlXHp7c1W4B9fUPxZLTK39pLuOvCSKI3mpOtFa9G9T+n/hUW8KZfSXpyfw3m/GU5HMueRBJJNCIIQJ8FDsMIL7IMgJGsQhBATYRmlBAThz4AshTCFOPDPxDiJPFESw1SMAwpeRxuaVJ9iLN8FoX+YJp4sRjERF/Hm0E+JLK7D/EcUkyAKUzmhuM+tdL0MWK0uXjQ0lK6xuO54l6fXPgdDTGTmWxz47PEBCrPPCpPLl8yAs7o1GVFci575Q2V4hZyRasrig5uInustsejSdYm3DB5wKrbo+a1o9MCogZMoIhSXL2ihG6TZdEYdj7OWX+hbRQvR/c8mweK0jLNCf3fRR4LDlFrTHW5SEq0tLwliIuIHHJJUbA1n5oTO28bMlkWyjkVvk6ycB5zcRSnuRhvSaiWYJJ+8te8Ec2fuBqtNgtsdeGwBAFBZgFOZl87hTzcgTrrCOJb5/jmQYI2jDZH5wTmky2BO4Mcfnz1kKuZRAgEEIfDtFP8BEvBMaecc/CiD0D+mDvjigeMff91yVNddgt17eHqC30p0MIdb4AMQ8B+lPvhwDmSJwxJE/7C3jAB9xN6GYB9+4/hff+PoQrpLet6AJphskhCk8iVepbiByJwHviKilM6D7NGPwnzFX2y73Ue6E0ZOSlySfg/sU/L/Lvf/V4TW2Fpg4hA3uXNXq5Il4ibO55jK4RlTm2Ql80dVhDj+sbZ6WxDOvUBdDfuMPjcBgfxnnkHobl9CXU3bN9JXBOukB7SsQZin1uQB+Ow5qox5A3ytD0D/zY9SQw816xb4X+AHGXrwYZ8x9M9zSUNRA8AC9s2RzfrSPFhVvSd784UlQBfGLlnK/BGL8nEjynVdfxnmOrgZ59tbEObAF7vBhw9loPfHuK7qbwa5LM29oS5NosGlUxzGzaC/EX38IIab1ep7CX0GmEdJM+qfCXgV5EEGjd0H7LOBITscvVW08YUgDIhAsWk3Q2TYRYJjEC7/oMlQ6NlywGcIGkQWiN7XdM1S6cG/kH55UIvC57Pin2iaGZLOOgFwIjVP9LnKwKo4KpvfvGF0tLat9FNK8NojNHlT4ibk684kSB+80F3jotl+6ylUmgG+i9dRSD97Itf/kgXMbuCZKf/AYVbuTU/xTVptLQhhJMTuAicgNMvv92iThO6KLhI25YJvKqcqZCmJ4v938aJG/5PB+mpW/SB1776sUX1XxDK7v09u8w5DXfk6Xv8umVnBCTlJ3w8hDzihn3LOghRpRnBKv4Ta2cXNHA5epb+FB8Dxv3LwBOxK6AaeYIldH4QQpA4HsgwcL3GtbavKXhTSHFBC32o08502D1KvB8cw6AGf+2Oi/KLMshV7Zsn8L811ZauTmk0O3sCzD1deEnJsdxUtWhXBzQ1ACDGdQ57RzMY4Cbxos/IhjAjcYcgsxj7X2hsJRm0whx9gz9cWSH3qaf+45gwO80qRvmj7HO3D3adKxcu21KMxyksyC0etVQfzmi2rICXCJgxICoIw36xovtJZ/olNHXSSkbopTh4CD3PPDG6eBVB4yks0xV8iM4rjOpk7ne+L1DAs08P8xusHnAyjdezWrhaKS0pF5tv5JELnVm9DQPCB+zdHJ22p04BelND+S9DbWzrhlbq3rBzKNxdbjk3tjYGPlhL2S/U1BVBfm1+PHtD/0TosSvAG8s2XwWKJU3KTl7HMt9VLSy6/QfI9tlxpOp8pEeb9z5jOPzaVbvdZX+batuVHf4a0nY7wnXG/sKPL+mxtXI/zC1tW3PR3ecPcL1+NVBMNbd18XzTa9b0fJCDEwDfE+RC+SZc+8I8Nybbs5DtVR3PopNcDNybCAhMoDGYqqHlbOX9mpm1/yjeKYjqZujHJbgGKdcy5z5wazVuR8xZAdmVMl8iUP+ZB4xqPJnitgr/gpPHj+wUIgheF82BBPRVcWrhR4uHspY/nGa786qGOrCLvPs1eF3QIEYzi+8XZmZ7fdJ6dyXUt0cqvGBM+Pb8ka/3VwZU5LZ1nR9TusXSeN032/UAJf8YDe6RaW9vWApOhMVMSb1lmmJt4S5lvb/Kxd90pDboF/pEKDw+3WUW69MfJEUc3eCZJ1vT97rdoXke5uLVzzjLp2i+kWe8JUsWcnhzVWyw1pV2Z3qlvun9P6YXderUet4oWqUMiJ793LffLM4246X2WmdW9XC7I0bRGtWxIbPsuwfDvV+mrgdZp1YDZUWcHNQz36hJe2d1XA43LWaaZUJRdcU6zXUL/5aUZ7vc0Cp2UJEG4kPk2/P4HnSWqUUgQ3GQBVEdK3HUMkLWzwqQttwPVY5y4NH9Vn0KZAXuArKtlbzip2x/sQmw3vafsQL4t5XKPIkSZnOAHvALg1HAeJevMAHe1i53iNHUXON+UHksrTLB/Bnkt7dVsBH6G7r0gt/fJDx5Lys6AL58P6/ScAV/7dVgQcgY8ezosCaA62ONhzd8z4Ksfh4VzZ8Czp8PSgwJpBP5haXbx0g787UFmeqd2OfBYy4wtvAH+cfefKLb8YzOPt126qlU1I442DA5+kDOCmjVWbym1kWFJhwonvQ9iJ/+nPcdPAjofV7Mr7ZYfs8e7yP8k8+3qYgyEK+CmmLi+S9wzIMkGc9mAGifRx0/A/cQBtyQkPhNF6eR1t3981GX/FddslRiEKXFDD//ixoHAJnO53+tLQq8v9CRWdbVi+xZXM0cqX4sBhOOpS3RSoKWI4aDrRet4Q3CXuIt0EqQEnmDtxu0Ur7BH2t2s3z5lnwttzroP4nG8GWWEqdSN1Yo7By7gOp3Obe9D98FdbTCIInBzd5VirlyZEZUjD2ppwPE1G+mHxb+u0MRApoX0y/8NAAD//z8Loi96KQAA + H4sIAAAAAAAA/9RZbXObxrd/r09xSkkt5W+EkBzXsYe0WFrLjCXgAnKS6+YyGFYStQQUVm5SW9/9zsLyZMlpkt7p5KrTCez57dnzfA7rH38Qb4NQvHXTZQuZpmO9t2w0HdoTx7IV03YuFHUiH0FGG0702chRNdV2bHWK9Jktv8opF+oEOW8Ve3hZUo5zyqU+GTlvlYmqzd4pY6TZ8s85wUQTpFhoD+AkByiG7aiaZSuTScn0dU4a6cMrZO5Q+70GeaS/1Sa6MqroUoN+hd7vwfQbGCoExZXkQYNcs1GfGWmqn7/Ptk1Uq7JTnxlqajljY/zM0cc1Dju6MbMNdc1WVA2Zo10IM5w504a7RGa6qxOLAjRVG5e0Qa+i7Ug1YEa7mp0jGhaabjsX+kwbyQNmKnU63rNtUG2bILtuqcFR04vTsWPMaqIOXu2oOrT34Y53caZKZdyFPm+9LHRrSjEjDjV1V6kjqfSiYeojZ4TO94D6uyDjauwooxHLJmaaPNVqkmTEkyIIRoapnyO2yrynz+xzKiZVRMtJr2rOUwzVsZB5jcw6QNoLGGmWM9H1q5nBYP29MOW/ZybaBRfeVWxlfzAf92qIp1l0LNWITyP1mAlyfTl66pzj3cjYOfjnXi0Ldqns5OHMsvWpYyHFHF46I32qqJqV63bCGIyN2e7+k0GNaKrXyLTqoX1ytEt+qt/JqxoGXatD5BiT2VjVGoyOK5CqXeiOqU+doW6aM8NGI/mExbM1fvfsOa97u5jaCa+lqsyOFHVSeed1rQDPjJFio4rE4nBoIRrc16ql6ppjDU3VsDM/mUgZVZykXq92CK2HM2NsKiNUQ9TEMGbmmAW81OuXSUIz2kTUDbLUY/YfqpajWJY61hxT123HeCtLkrRDy+LHQOZUtaiksiQxtoaS1Z6hbrzPQLIk1TkbxuS9YyiW9VY3s2S7UMeyJL1qJm7ZBHSWFpJUlKS8Du2EjyT93ADoBjIVm9oQmaZuypJUlB/b3EN8Da3cWFlSWrYyvHLGyHYUc+rY+hXSZKnogU8hGrLf6uYV02WWM5aloiU+hVuzcw3ZjmGiC/WdLNGuWCbl+UydjAqZaGPLjfJWMZyhiWi45MYo2kqdomrW7OJCHapIyyLiyrEMZYhkibaZDG2jCTJ0066lNjJNWSrqXEUvAj4nF4qYtnqhDGnDMZEypW2u4CNLRY3bA2LMZImWtnxysW2DBvm7985QoXa7RqYtS0VhY5lBSci0LVk6LqcLJraFhtSo9sRyznXdtmxTMcp+iN6hYZH3ZXQcFw4eqda5MkGOatjK+QRZskTLWl4zzZllUw67wVUUt5Fq0V2OZV3K0s9115mISuKY6L9mqolGcr9IUE3PUkIZI4vV2n6RmZamGNalXtaC+szTK5gbpnpNibR70GZHfdIvkrVOrDut3zsqgqecOqeKdcWYQ6ulWzLfTqOEgJCAiIknvhQSvMJuiuERFu6fd3Cwdom3bPO9QxD/p62OnIl6heS2FyU4SjuP6khud192Orx4CG4HHiBOgpAAiTZxjJO2e9P/AO7N4EPnDPDHgMD2oNPSLYdWS5ogX3c62+V8/aHwCCQBwYcD7qDTmp3PNHvm6JajKVMkc/k715oqJu16FYEtcC02ncniJk3EVeS5q2ysv9vcYo+sWnmlyql03Y+8O5y08MeYapd1omuZ4x+qvlVY4FTecg0csuz6KeF94AduS7tWR6pSVMTCev3uSbcnSK0ny1JXGnQlQSp2le2cNm0azSWSG3SPu71SgOKUXEJ1qoyRY10qheTlQl3ofXtsZVxqe70V+IdnGH+Wi8ytvaS7DrwkSqM56XrRWnTvUvq/sIg35VZayvM2nkf+cDqSOY8kkGxCEIQ4Ce6DFV5gHwQhWYMghJgIyyglIAh/BmQphCnEgX8qxknkiZIYpmIcUPA62tCg+hRj+TYI/cM08WQxiom4iDeHfkpkcR3mL1FMgihM5YTiPrfT9TJgtbtYaHAoVWN+3dEuD699CoaYyEy3OPDZ4z0UYp8WIpeLTIDTujSZobgWHRmGyvASOSPVlMV7NxE911ti0aX7Em8Z3ONUbNH2r2i039TASRQRiss3tNA10mw64o7HWcco+K2ihej+tUmwOC39rND3LvpIcJhSabrDTUqiteUlQUxEfI9Dkoqt4cyc0HHdmNmySNax6G2SlXOPk9soxd1oQ1qtBJPkk7f2nWDuzN1gtUlwuwMPLQAASgtwKvPSGfzpBsRJVxjHMt8/AxKscbQhMj84g3QZzAn89NOTh4zFPEoggCAEvp3iP0ACnjHtnIEfZRD6Y+yALx44/uHXLUd53SbYvYPHR/itRAdzuAE+AAH/UfKDD2dAljgsQfSHvWUE6CP2NgT78BvH//obRzfSU9KzBjTBZJOEIJWLeJXiBiJTHvjKECV1HmSPfhTmO/7m2O0+ozth5KTEJen3YH1q/H9q+/8rg9astcDEIW5y665WpZWImzifs1QOzyy1SVYyf1R5iOMfaru3hcG5Z0xXwz4xn5uAQP6aZxB62peYrsbtG81XOOu4BzStQZin1uQe+Ow5qoR5A3ytDkD/zU9Sgw8V6wb4X+AHGXrwYZ8w9Oe5pMGoAWAO+2bPZnVpHqyq2pOtfGEK0I2xS5Yyf8S8/Krh5Tqvv3VzHdz0880NCHPgi9Pgw4fS0ft9XGf1D51cpuZeV5ciUefSKQ7jptPfiD6+F8PNavW9uD4DzKOk6fXPOLxy8iCDxu499tnAkDVHbxVtfCEIAyJQbNrNEBl2keAYhIs/aDAUfLYc8BmCOpE5ovc1VbNkevAj0i8Oal74fFT8G0UzQ9JZJwBOpOKJPlcJWCVHJfObN8wcrW0r/ZQSvPYIDd6UuAn5up4E6b0XumtcFNtv7UKlGOC7eB2F9LMncv0v2cDkBp6J8i80s/Js2sU3aXW0IISRELsLnIDQTL/fo00Suiu6SdiUG74pnSqXpSSK/9/5iwr9bzrrq63qB6l7+2WF6rsyLJP7+7RtXmGoKl9n139qzCzhhNxI349B7nFCP+WcBSnCjOCUfgm1s4ubORy8SH8LD4Djf+XgEdiV0DU8whK7PgghSB0OZBk4XuJa21YVvSikMaCEvtUo5jtlHqReD17BoAd8ro+J8ns2y1bsmSXzvzT3laVOahY5eANPPlx5Scix3VW0aFUGbh4AQojpHPLEzGyMk8CLNisfwojALYZMYuxzrb2eYKYN5vAD7PnaAqlPNe2/qimDwzxTpC86Pkf7cPupYvG8LHVvjPKUzNxRK9XBvCbLKkiJsAkDkoIgzDcrGq90ln9kUwedZKRuipP7wMPcE4GbvQAKTXmJhvhzxoziuG7Mncr3RWwYlvFheuP1PU6G0Tp2a1cLxSWlIvPtfBKhc6u3ISD4wP2Ho5O21GlAz0to/znozQ2d8EreW5YO5cr5lmNTe2Pgo6mE/ZJ9jQHU9+bXowf0P5qHRQpeQ374MlgscUqu8zSW+bZ6YcnlN0h+xpYrReczJsK8/xnR+Ycm0+0+6ctY27b86M+QltMRvjXuFnZ0UZ+tjatxfmHLkpu+lzfM/XJppJpoaOvm+6LQru/8IAEhBr5BzofwTbr0gX9oULZlJd/JOhpDx70euDERFphAITBjQcXbyvkzE237Mj8oiulk6sYkuwUo9jHlPtM1mrciZy2A7MqYbpGp/ZgGjWs8GuC1DP6CTuPHdwsQBC8K58GCaiq4NHGjxMPZoo/nGa786qGKrCLvLs2WC3MIEYziu8XpqZ7fdJ6eynUu0cqvLCZ8enpJ1vq7xpUpLZ1lLWq3LZ3lRZN9P1CDP7EDe6RcW9vWApOhMVMSb1lGmJt4S5lvb/Kxd90pBboB/oESDw+3WUa69OX4iKMHPKEka7q++y2a51FObu30WUZd+wU1qz1BqpjT46N6iaWitCvRO/VD958pPXNar1bjVtEidUjk5Peu5Xl5pBE3vcsis7qXywk5muaolg2Jbd8lGP7zIn0x0DqtGjBrdXZQw3AvLuCF3X0x0LjcyjQSirQr+jQ7JfSf35rhfk+j0ElJEoQLmW/D73/QWaIahQTBTRZAeaTEXccAWTkrRNpyO1A9xolL41f1KZQJsAfIqlq2wknd/mAXYrvpHbUO5MdSW+5hhKglJ/gerwA4NZxHyToTwF3tYqc4Td0Fzg+lbWmFCfZPgX/5DF8j8DNs7xm6vY9+8FAa7BT48vmwbpxT4Gtvh4U5ToFnT4el+pQHezysaXsKfPVyWKh2Cjx7Oiw1KJBG4B+WYheLduBvDzLRO7WrgYdaXGzhDfAPu3+g2PIPzSjedumuVlWKOFouOPhBzgzUzLB6QakNDEs6UjjpXRA7+R/2HD8J6HRcTa60Vn7MHm8j/5PMt6trMRAugZti4voucU+BJBvMZeNpnEQfPwH3kgNuSUh8KorS8etu/9VRl/0rrtkuMQhT4oYe/sWNA4HN5XK/15eEXl/oSSznaqn2LapmilS6FuMHx1OV6JxAExHDQdeL1vGG4C5xF+kkSAk8wtqN2yleYY+0u1m1fcw+FtqcdRfE43gzygymUjVWK+4MuIDrdDo3vQ/de3e1wSCKwM3dVYq5cmdmqBx5UAsDjq/JSD8rfrxEEwOZFtIv/jcAAP//BO+b6bcpAAA= @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CSECommand index 2ea3e81f24b..5577f674d34 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="true" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="true" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData index 816bf0a4c03..d453d3b78f8 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CSECommand index d3777a32fec..2bf9d3d63f9 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="Zm9vYmFyDQo=" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="Zm9vYmFyDQo=" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CSECommand index 8b8e6cb9b92..196f1141acf 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gIm52aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZV0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZS5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gIm52aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZV0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZS5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData index 2370c9792d3..d3782cb9adc 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CSECommand index e04eaa3345a..bdc020c09e0 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=clientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="acr.io/privateacr" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="Y2xpZW50U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=clientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="acr.io/privateacr" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="Y2xpZW50U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CSECommand index 16c000061c5..69d399edd86 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL=some url CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="true" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=kubenet NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL=some url CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="true" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="true" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIHNuYXBzaG90dGVyID0gInRlbGVwb3J0ZCIKICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNuaV0KICAgIGJpbl9kaXIgPSAiL29wdC9jbmkvYmluIgogICAgY29uZl9kaXIgPSAiL2V0Yy9jbmkvbmV0LmQiCiAgICBjb25mX3RlbXBsYXRlID0gIi9ldGMvY29udGFpbmVyZC9rdWJlbmV0X3RlbXBsYXRlLmNvbmYiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcHJveHlfcGx1Z2luc10KICBbcHJveHlfcGx1Z2lucy50ZWxlcG9ydGRdCiAgICB0eXBlID0gInNuYXBzaG90IgogICAgYWRkcmVzcyA9ICIvcnVuL3RlbGVwb3J0ZC9zbmFwc2hvdHRlci5zb2NrIgo=" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CSECommand index 053f6198d61..60c3df75282 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CSECommand index 03ce0258c9a..73072ac6fef 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.14 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.14 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="true" CUSTOM_CA_TRUST_COUNT="3" CUSTOM_CA_CERT_0="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" CUSTOM_CA_CERT_1="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" CUSTOM_CA_CERT_2="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.14 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.14 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="true" CUSTOM_CA_TRUST_COUNT="3" CUSTOM_CA_CERT_0="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" CUSTOM_CA_CERT_1="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" CUSTOM_CA_CERT_2="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CSECommand index abd91c9f5c1..d6ac629e611 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CSECommand index abd91c9f5c1..d6ac629e611 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-470.82.01" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CSECommand index 195ff39d3dc..1f880389530 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CSECommand index 5e0473c9430..d6be28b71bc 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.14 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.14 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="true" SHOULD_CONFIGURE_HTTP_PROXY_CA="true" HTTP_PROXY_TRUSTED_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="http://myproxy.server.com:8080/" HTTPS_PROXY_URLS="https://myproxy.server.com:8080/" NO_PROXY_URLS="localhost,127.0.0.1" PROXY_VARS="export NO_PROXY="localhost,127.0.0.1"; export HTTPS_PROXY="https://myproxy.server.com:8080/"; export http_proxy="http://myproxy.server.com:8080/";" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.14 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.14 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="true" SHOULD_CONFIGURE_HTTP_PROXY_CA="true" HTTP_PROXY_TRUSTED_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJBZ0lRYUJZRTMvTTA4WEhZQ25OVm1jRkJjakFOQmdrcWhraUc5dzBCQVFzRkFEQnkKTVFzd0NRWURWUVFHRXdKVlV6RU9NQXdHQTFVRUNBd0ZWR1Y0WVhNeEVEQU9CZ05WQkFjTUIwaHZkWE4wYjI0eApFVEFQQmdOVkJBb01DRk5UVENCRGIzSndNUzR3TEFZRFZRUUREQ1ZUVTB3dVkyOXRJRVZXSUZOVFRDQkpiblJsCmNtMWxaR2xoZEdVZ1EwRWdVbE5CSUZJek1CNFhEVEl3TURRd01UQXdOVGd6TTFvWERUSXhNRGN4TmpBd05UZ3oKTTFvd2diMHhDekFKQmdOVkJBWVRBbFZUTVE0d0RBWURWUVFJREFWVVpYaGhjekVRTUE0R0ExVUVCd3dIU0c5MQpjM1J2YmpFUk1BOEdBMVVFQ2d3SVUxTk1JRU52Y25BeEZqQVVCZ05WQkFVVERVNVdNakF3T0RFMk1UUXlORE14CkZEQVNCZ05WQkFNTUMzZDNkeTV6YzJ3dVkyOXRNUjB3R3dZRFZRUVBEQlJRY21sMllYUmxJRTl5WjJGdWFYcGgKZEdsdmJqRVhNQlVHQ3lzR0FRUUJnamM4QWdFQ0RBWk9aWFpoWkdFeEV6QVJCZ3NyQmdFRUFZSTNQQUlCQXhNQwpWVk13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhoZVJrYmIxRkNjN3hSS3N0CndLMEpJR2FLWTh0N0piUzJiUTJiNllJSkRnbkh1SVlIcUJyQ1VWNzlvZWxpa2tva1JrRnZjdnBhS2luRkhEUUgKVXBXRUk2UlVFUlltU0NnM084V2k0MnVPY1YyQjVaYWJtWENrd2R4WTVFY2w1MUJiTThVbkdkb0FHYmRObWlSbQpTbVRqY3MrbGhNeGc0ZkZZNmxCcGlFVkZpR1VqR1JSKzYxUjY3THo2VTRLSmVMTmNDbTA3UXdGWUtCbXBpMDhnCmR5Z1N2UmRVdzU1Sm9wcmVkaitWR3RqVWtCNGhGVDRHUVgvZ2h0NjlSbHF6Lys4dTBkRVFraHVVdXVjcnFhbG0KU0d5NDNIUndCZkRLRndZZVdNN0NQTWQ1ZS9kTyt0MDh0OFBianpWVFR2NWhRRENzRVlJVjJUN0FGSTlTY054TQpraDcvQWdNQkFBR2pnZ05CTUlJRFBUQWZCZ05WSFNNRUdEQVdnQlMvd1ZxSC95ajZRVDM5dDAva0hhK2dZVmdwCnZUQi9CZ2dyQmdFRkJRY0JBUVJ6TUhFd1RRWUlLd1lCQlFVSE1BS0dRV2gwZEhBNkx5OTNkM2N1YzNOc0xtTnYKYlM5eVpYQnZjMmwwYjNKNUwxTlRUR052YlMxVGRXSkRRUzFGVmkxVFUwd3RVbE5CTFRRd09UWXRVak11WTNKMApNQ0FHQ0NzR0FRVUZCekFCaGhSb2RIUndPaTh2YjJOemNITXVjM05zTG1OdmJUQWZCZ05WSFJFRUdEQVdnZ3QzCmQzY3VjM05zTG1OdmJZSUhjM05zTG1OdmJUQmZCZ05WSFNBRVdEQldNQWNHQldlQkRBRUJNQTBHQ3lxRWFBR0cKOW5jQ0JRRUJNRHdHRENzR0FRUUJncWt3QVFNQkJEQXNNQ29HQ0NzR0FRVUZCd0lCRmg1b2RIUndjem92TDNkMwpkeTV6YzJ3dVkyOXRMM0psY0c5emFYUnZjbmt3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGCkJ3TUJNRWdHQTFVZEh3UkJNRDh3UGFBN29EbUdOMmgwZEhBNkx5OWpjbXh6TG5OemJDNWpiMjB2VTFOTVkyOXQKTFZOMVlrTkJMVVZXTFZOVFRDMVNVMEV0TkRBNU5pMVNNeTVqY213d0hRWURWUjBPQkJZRUZBREFGVUlhenc1cgpaSUhhcG5SeElVbnB3K0dMTUE0R0ExVWREd0VCL3dRRUF3SUZvRENDQVgwR0Npc0dBUVFCMW5rQ0JBSUVnZ0Z0CkJJSUJhUUZuQUhjQTlseVVMOUYzTUNJVVZCZ0lNSlJXanVOTkV4a3p2OThNTHlBTHpFN3haT01BQUFGeE0waG8KYndBQUJBTUFTREJHQWlFQTZ4ZWxpTlI4R2svNjNwWWRuUy92T3gvQ2pwdEVNRXY4OVdXaDEvdXJXSUVDSVFEeQpCcmVIVTI1RHp3dWtRYVJRandXNjU1WkxrcUNueGJ4UVdSaU9lbWo5SkFCMUFKUWd2QjZPMVkxc2lITWZnb3NpCkxBM1IyazFlYkUrVVBXSGJUaTlZVGFMQ0FBQUJjVE5JYU53QUFBUURBRVl3UkFJZ0dSRTR3emFiTlJkRDhrcS8KdkZQM3RRZTJobTB4NW5YdWxvd2g0SWJ3M2xrQ0lGWWIvM2xTRHBsUzdBY1I0citYcFd0RUtTVEZXSm1OQ1JiYwpYSnVyMlJHQkFIVUE3c0NWN28xeVpBK1M0OE81RzhjU28ybHFDWHRMYWhvVU9PWkhzc3Z0eGZrQUFBRnhNMGhvCjh3QUFCQU1BUmpCRUFpQjZJdmJvV3NzM1I0SXRWd2plYmw3RDN5b0ZhWDBORGgyZFdoaGd3Q3hySHdJZ0NmcTcKb2NNQzV0KzFqaTVNNXhhTG1QQzRJK1dYM0kvQVJrV1N5aU83SVFjd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQgpBQ2V1dXI0UW51anFtZ3VTckhVM21oZitjSm9kelRRTnFvNHRkZStQRDEvZUZkWUFFTHU4eEYrMEF0N3hKaVBZCmk1Ukt3aWx5UDU2diszaVkyVDlsdzdTOFRKMDQxVkxoYUlLcDE0TXpTVXpSeWVvT0FzSjdRQURNQ2xIS1VEbEgKVVUycE51bzg4WTZpZ292VDNic253Sk5pRVFOcXltU1NZaGt0dzB0YWR1b3FqcVhuMDZnc1Zpb1dUVkRYeXNkNQpxRXg0dDZzSWdJY01tMjZZSDF2SnBDUUVoS3BjMnkwN2dSa2tsQlpSdE1qVGh2NGNYeXlNWDd1VGNkVDdBSkJQCnVlaWZDb1YyNUp4WHVvOGQ1MTM5Z3dQMUJBZTdJQlZQeDJ1N0tOL1V5T1hkWm13TWYvVG1GR3dEZENmc3lIZi8KWnNCMndMSG96VFlvQVZtUTlGb1UxSkxnY1ZpdnFKK3ZObEJoSFhobHhNZE4wajgwUjlOejZFSWdsUWplSzNPOApJL2NGR20vQjgrNDJoT2xDSWQ5WmR0bmRKY1JKVmppMHdEMHF3ZXZDYWZBOWpKbEh2L2pzRStJOVV6NmNwQ3loCnN3K2xyRmR4VWdxVTU4YXhxZUs4OUZSK05vNHEwSUlPK0ppMXJKS3I5bmtTQjBCcVhvelZuRTFZQi9LTHZkSXMKdVlaSnVxYjJwS2t1K3p6VDZnVXdIVVRadkJpTk90WEw0Tnh3Yy9LVDdXek9TZDJ3UDEwUUk4REtnNHZmaU5EcwpIV21CMWM0S2ppNmdPZ0E1dVNVemFHbXEvdjRWbmNLNVVyK245TGJmbmZMYzI4SjVmdC9Hb3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="http://myproxy.server.com:8080/" HTTPS_PROXY_URLS="https://myproxy.server.com:8080/" NO_PROXY_URLS="localhost,127.0.0.1" PROXY_VARS="export NO_PROXY="localhost,127.0.0.1"; export HTTPS_PROXY="https://myproxy.server.com:8080/"; export http_proxy="http://myproxy.server.com:8080/";" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData index 38c74409802..50d5d6f9f21 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CSECommand index cd170e1f001..0ccb7853a23 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.3 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.3 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="true" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="07401b.f395accd246ae52d" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="Zm9vQmFyQmF6" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.18.3 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.18.3 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="true" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="07401b.f395accd246ae52d" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="Zm9vQmFyQmF6" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData index df67e169b9b..bd4f03f824a 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CSECommand index c15edad5c1a..b1d8496d09b 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData index 63d2529b746..57c3baa3963 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CSECommand index 13f37df0f21..0f16dd3d43f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.20.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.20.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=none NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.20.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.20.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN=none NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData index 6426844591f..ae0be81fc36 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CSECommand b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CSECommand index 610bf137fb9..473ddedaa52 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.20.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.20.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="true" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="true" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="07401b.f395accd246ae52d" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="Zm9vQmFyQmF6" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW5dCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0XQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc3Bpbi12MC0zLTBdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0LXYwLTMtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc2xpZ2h0LXYwLTMtMC52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW4tdjAtNS0xXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zcGluLXYwLTUtMS52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNsaWdodC12MC01LTFdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNsaWdodC12MC01LTEudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zcGluLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc3Bpbi12MC04LTAudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zbGlnaHQtdjAtOC0wXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtOC0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMud3dzLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQud3dzLXYwLTgtMC52MSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW5dCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0XQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc3Bpbi12MC0zLTBdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0LXYwLTMtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc2xpZ2h0LXYwLTMtMC52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW4tdjAtNS0xXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zcGluLXYwLTUtMS52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNsaWdodC12MC01LTFdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNsaWdodC12MC01LTEudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zcGluLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc3Bpbi12MC04LTAudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zbGlnaHQtdjAtOC0wXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtOC0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMud3dzLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQud3dzLXYwLTgtMC52MSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.20.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.20.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="true" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="true" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="07401b.f395accd246ae52d" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="Zm9vQmFyQmF6" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW5dCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0XQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc3Bpbi12MC0zLTBdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0LXYwLTMtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc2xpZ2h0LXYwLTMtMC52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW4tdjAtNS0xXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zcGluLXYwLTUtMS52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNsaWdodC12MC01LTFdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNsaWdodC12MC01LTEudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zcGluLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc3Bpbi12MC04LTAudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zbGlnaHQtdjAtOC0wXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtOC0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMud3dzLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQud3dzLXYwLTgtMC52MSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW5dCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0XQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc3Bpbi12MC0zLTBdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNwaW4tdjAtMy0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMuc2xpZ2h0LXYwLTMtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc2xpZ2h0LXYwLTMtMC52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNwaW4tdjAtNS0xXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zcGluLXYwLTUtMS52MSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnNsaWdodC12MC01LTFdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnNsaWdodC12MC01LTEudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zcGluLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQuc3Bpbi12MC04LTAudjEiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5zbGlnaHQtdjAtOC0wXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5zbGlnaHQtdjAtOC0wLnYxIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMud3dzLXYwLTgtMF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQud3dzLXYwLTgtMC52MSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData index 4424b74065e..8fa4f33fe59 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CSECommand b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CSECommand index 35961edcbbe..4f758cb2ed2 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.22.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.22.2 KUBE_BINARY_URL=https://acs-mirror.azureedge.net/kubernetes/1.22.2/binaries/kubernetes-node-linux-arm64.tar.gz CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL=mcr.microsoft.com/oss/kubernetes/kube-proxy:v1.22.2 APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.4.13/binaries/azure-vnet-cni-linux-arm64-v1.4.14.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni-plugins/v0.8.7/binaries/cni-plugins-linux-arm64-v0.8.7.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL=https://acs-mirror.azureedge.net/kubernetes/1.22.2/binaries/kubernetes-node-linux-arm64.tar.gz USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRGlzYWJsZUFjY2VsZXJhdG9yVXNhZ2VNZXRyaWNzIjogZmFsc2UsCiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAiIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.22.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.22.2 KUBE_BINARY_URL=https://acs-mirror.azureedge.net/kubernetes/1.22.2/binaries/kubernetes-node-linux-arm64.tar.gz CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL=mcr.microsoft.com/oss/kubernetes/kube-proxy:v1.22.2 APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.4.13/binaries/azure-vnet-cni-linux-arm64-v1.4.14.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni-plugins/v0.8.7/binaries/cni-plugins-linux-arm64-v0.8.7.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL=https://acs-mirror.azureedge.net/kubernetes/1.22.2/binaries/kubernetes-node-linux-arm64.tar.gz USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRGlzYWJsZUFjY2VsZXJhdG9yVXNhZ2VNZXRyaWNzIjogZmFsc2UsCiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAiIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData index 055c211ceb5..ea49cf2ff80 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CSECommand b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CSECommand index a8057d4687c..bbbab445fd7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION= HYPERKUBE_URL= KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID= NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL= CNI_PLUGINS_URL= CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES= CLOUDPROVIDER_BACKOFF_EXPONENT= CLOUDPROVIDER_BACKOFF_DURATION= CLOUDPROVIDER_BACKOFF_JITTER= CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS= CLOUDPROVIDER_RATELIMIT_QPS_WRITE= CLOUDPROVIDER_RATELIMIT_BUCKET= CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE= LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE= NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRGlzYWJsZUFjY2VsZXJhdG9yVXNhZ2VNZXRyaWNzIjogZmFsc2UsCiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAiIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="k8s.gcr.io/hyperkube-amd64:v1.22.2" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION= HYPERKUBE_URL= KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID= NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL= CNI_PLUGINS_URL= CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES= CLOUDPROVIDER_BACKOFF_EXPONENT= CLOUDPROVIDER_BACKOFF_DURATION= CLOUDPROVIDER_BACKOFF_JITTER= CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS= CLOUDPROVIDER_RATELIMIT_QPS_WRITE= CLOUDPROVIDER_RATELIMIT_BUCKET= CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE= LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE= NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRGlzYWJsZUFjY2VsZXJhdG9yVXNhZ2VNZXRyaWNzIjogZmFsc2UsCiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAiIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_IMAGE="k8s.gcr.io/hyperkube-amd64:v1.22.2" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData index 0c95cfd3798..210213bb0bd 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CSECommand b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CSECommand index 9221c05ea0d..1943d4cd54c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION=1.0.0-rc96 RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION=1.0.0-rc96 RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+China/CSECommand index 39d7b9477ca..5ea07359fee 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+China/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=chinaeast2 VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzureChinaCloud" TARGET_ENVIRONMENT="AzureChinaCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=chinaeast2 VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzureChinaCloud" TARGET_ENVIRONMENT="AzureChinaCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData index 3bfb8194447..1e56a07cc53 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CSECommand index 07c8ced0ce3..a1610833843 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="true" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gIm52aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZV0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZS5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCltwcm94eV9wbHVnaW5zXQogIFtwcm94eV9wbHVnaW5zLm92ZXJsYXliZF0KICAgIHR5cGUgPSAic25hcHNob3QiCiAgICBhZGRyZXNzID0gIi9ydW4vb3ZlcmxheWJkLXNuYXBzaG90dGVyL292ZXJsYXliZC5zb2NrIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeV0KICAgIGNvbmZpZ19wYXRoID0gIi9ldGMvY29udGFpbmVyZC9jZXJ0cy5kIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMub3ZlcmxheWJkXQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9vdmVybGF5YmQtc25hcHNob3R0ZXIvb3ZlcmxheWJkLnNvY2siCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="true" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.7 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="true" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gIm52aWRpYS1jb250YWluZXItcnVudGltZSIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZV0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLm52aWRpYS1jb250YWluZXItcnVudGltZS5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL252aWRpYS1jb250YWluZXItcnVudGltZSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCltwcm94eV9wbHVnaW5zXQogIFtwcm94eV9wbHVnaW5zLm92ZXJsYXliZF0KICAgIHR5cGUgPSAic25hcHNob3QiCiAgICBhZGRyZXNzID0gIi9ydW4vb3ZlcmxheWJkLXNuYXBzaG90dGVyL292ZXJsYXliZC5zb2NrIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBzbmFwc2hvdHRlciA9ICJvdmVybGF5YmQiCiAgICBkaXNhYmxlX3NuYXBzaG90X2Fubm90YXRpb25zID0gZmFsc2UKICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeV0KICAgIGNvbmZpZ19wYXRoID0gIi9ldGMvY29udGFpbmVyZC9jZXJ0cy5kIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMub3ZlcmxheWJkXQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9vdmVybGF5YmQtc25hcHNob3R0ZXIvb3ZlcmxheWJkLnNvY2siCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="true" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData index a53e657d4c4..faee632d32e 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CSECommand index a1d7e9a4687..9f274ff6588 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="true" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.13 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.13 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=true SGX_NODE=false MIG_NODE=true CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="true" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="MIG7g" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJudmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWVdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgICAgIFN5c3RlbWRDZ3JvdXAgPSB0cnVlCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9udmlkaWEtY29udGFpbmVyLXJ1bnRpbWUiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3Igo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData index e11a54e76e9..ccf677e2290 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CSECommand index 288700312e7..683d8ff2013 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; REPO_DEPOT_ENDPOINT="" /opt/azure/containers/init-aks-custom-cloud.sh >> /var/log/azure/cluster-provision.log 2>&1; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzureStackCloud" TARGET_ENVIRONMENT="akscustom" CUSTOM_ENV_JSON="eyJuYW1lIjoiQXp1cmVTdGFja0Nsb3VkIiwiTmFtZSI6IkF6dXJlU3RhY2tDbG91ZCIsInJlc291cmNlSWRlbnRpZmllcnMiOnt9fQ==" IS_CUSTOM_CLOUD="true" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="/etc/kubernetes/akscustom.json" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; REPO_DEPOT_ENDPOINT="" /opt/azure/containers/init-aks-custom-cloud.sh >> /var/log/azure/cluster-provision.log 2>&1; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzureStackCloud" TARGET_ENVIRONMENT="akscustom" CUSTOM_ENV_JSON="eyJuYW1lIjoiQXp1cmVTdGFja0Nsb3VkIiwiTmFtZSI6IkF6dXJlU3RhY2tDbG91ZCIsInJlc291cmNlSWRlbnRpZmllcnMiOnt9fQ==" IS_CUSTOM_CLOUD="true" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="/etc/kubernetes/akscustom.json" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData index 06a7ebd3e31..4030189ed76 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand index 943ae9dedb3..8fe38bed6b1 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="true" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="true" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="never" THP_DEFRAG="defer+madvise" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogOTAsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA3MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJjcHVNYW5hZ2VyUG9saWN5IjogInN0YXRpYyIsCiAgICAidG9wb2xvZ3lNYW5hZ2VyUG9saWN5IjogImJlc3QtZWZmb3J0IiwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IDEyMzQ1LAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiY3B1Q0ZTUXVvdGEiOiBmYWxzZSwKICAgICJjcHVDRlNRdW90YVBlcmlvZCI6ICIyMDBtcyIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkN1c3RvbUNQVUNGU1F1b3RhUGVyaW9kIjogdHJ1ZSwKICAgICAgICAiRGlzYWJsZUFjY2VsZXJhdG9yVXNhZ2VNZXRyaWNzIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiVG9wb2xvZ3lNYW5hZ2VyIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiZmFpbFN3YXBPbiI6IGZhbHNlLAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiMTAwME0iLAogICAgImNvbnRhaW5lckxvZ01heEZpbGVzIjogOTksCiAgICAic3lzdGVtUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIyIiwKICAgICAgICAibWVtb3J5IjogIjFHaSIKICAgIH0sCiAgICAia3ViZVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMTAwbSIsCiAgICAgICAgIm1lbW9yeSI6ICIxNjM4TWkiCiAgICB9LAogICAgImVuZm9yY2VOb2RlQWxsb2NhdGFibGUiOiBbCiAgICAgICAgInBvZHMiCiAgICBdLAogICAgImFsbG93ZWRVbnNhZmVTeXNjdGxzIjogWwogICAgICAgICJrZXJuZWwubXNnKiIsCiAgICAgICAgIm5ldC5pcHY0LnJvdXRlLm1pbl9wbXR1IgogICAgXQp9" SWAP_FILE_SIZE_MB="1500" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NDk5Cm5ldC5pcHY0LnRjcF9tYXhfc3luX2JhY2tsb2c9MTYzODQ5OApuZXQuaXB2NC5uZWlnaC5kZWZhdWx0LmdjX3RocmVzaDE9MTAwMDEKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gyPTgxOTIKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gzPTE2Mzg0CiMgVGhlIGZvbGxvd2luZyBhcmUgc3lzY3RsIGNvbmZpZ3MgcGFzc2VkIGZyb20gQVBJCm5ldC5jb3JlLnJtZW1fZGVmYXVsdD00NTYwMDAKbmV0LmNvcmUud21lbV9kZWZhdWx0PTg5MDAwCm5ldC5pcHY0LnRjcF90d19yZXVzZT0xCm5ldC5pcHY0LmlwX2xvY2FsX3BvcnRfcmFuZ2U9MzI3NjggNjU0MDAKCgpuZXQuaXB2NC5pcF9sb2NhbF9yZXNlcnZlZF9wb3J0cz02NTMzMAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="true" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="true" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="never" THP_DEFRAG="defer+madvise" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="true" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogOTAsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA3MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJjcHVNYW5hZ2VyUG9saWN5IjogInN0YXRpYyIsCiAgICAidG9wb2xvZ3lNYW5hZ2VyUG9saWN5IjogImJlc3QtZWZmb3J0IiwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IDEyMzQ1LAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiY3B1Q0ZTUXVvdGEiOiBmYWxzZSwKICAgICJjcHVDRlNRdW90YVBlcmlvZCI6ICIyMDBtcyIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkN1c3RvbUNQVUNGU1F1b3RhUGVyaW9kIjogdHJ1ZSwKICAgICAgICAiRGlzYWJsZUFjY2VsZXJhdG9yVXNhZ2VNZXRyaWNzIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiVG9wb2xvZ3lNYW5hZ2VyIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiZmFpbFN3YXBPbiI6IGZhbHNlLAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiMTAwME0iLAogICAgImNvbnRhaW5lckxvZ01heEZpbGVzIjogOTksCiAgICAic3lzdGVtUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIyIiwKICAgICAgICAibWVtb3J5IjogIjFHaSIKICAgIH0sCiAgICAia3ViZVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMTAwbSIsCiAgICAgICAgIm1lbW9yeSI6ICIxNjM4TWkiCiAgICB9LAogICAgImVuZm9yY2VOb2RlQWxsb2NhdGFibGUiOiBbCiAgICAgICAgInBvZHMiCiAgICBdLAogICAgImFsbG93ZWRVbnNhZmVTeXNjdGxzIjogWwogICAgICAgICJrZXJuZWwubXNnKiIsCiAgICAgICAgIm5ldC5pcHY0LnJvdXRlLm1pbl9wbXR1IgogICAgXQp9" SWAP_FILE_SIZE_MB="1500" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--azure-container-registry-config=/etc/kubernetes/azure.json --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NDk5Cm5ldC5pcHY0LnRjcF9tYXhfc3luX2JhY2tsb2c9MTYzODQ5OApuZXQuaXB2NC5uZWlnaC5kZWZhdWx0LmdjX3RocmVzaDE9MTAwMDEKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gyPTgxOTIKbmV0LmlwdjQubmVpZ2guZGVmYXVsdC5nY190aHJlc2gzPTE2Mzg0CiMgVGhlIGZvbGxvd2luZyBhcmUgc3lzY3RsIGNvbmZpZ3MgcGFzc2VkIGZyb20gQVBJCm5ldC5jb3JlLnJtZW1fZGVmYXVsdD00NTYwMDAKbmV0LmNvcmUud21lbV9kZWZhdWx0PTg5MDAwCm5ldC5pcHY0LnRjcF90d19yZXVzZT0xCm5ldC5pcHY0LmlwX2xvY2FsX3BvcnRfcmFuZ2U9MzI3NjggNjU0MDAKCgpuZXQuaXB2NC5pcF9sb2NhbF9yZXNlcnZlZF9wb3J0cz02NTMzMAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 49f070ed5d2..4d484aee2df 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CSECommand index 4db00e8351e..085aba633a2 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="true" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="true" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData index 3bfb8194447..1e56a07cc53 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CSECommand index d853c26802b..291877ab6a3 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData index 3bfb8194447..1e56a07cc53 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CSECommand index 9581be0de4b..22338e95ab6 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.6 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.6 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="true" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.6 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.6 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="true" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData index b993aa70670..5c63a21e1a2 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CSECommand index 24a923e4756..ab24386679c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.6 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.6 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="true" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="appID" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.25.6 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.25.6 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="true" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="appID" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData index 7dd4e36301d..f96fc6e1a54 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CSECommand index eae4e5441a7..8410281a8aa 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.26.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.26.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="https://test-pe-proxy" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.26.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.26.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="https://test-pe-proxy" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData index 63d2529b746..57c3baa3963 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CSECommand b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CSECommand index 17fbf7a1240..e8bc14a5d43 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CSECommand +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData index 3bfb8194447..1e56a07cc53 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/CSECommand b/pkg/agent/testdata/AzureLinuxV2+Kata/CSECommand index a46d8067fe0..0c43759dbd4 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/CSECommand +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData index 38ed96561b3..d3c0c4a21f5 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CSECommand b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CSECommand index f8b50e13c16..7952a47c028 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CSECommand +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData index 38ed96561b3..d3c0c4a21f5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CSECommand b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CSECommand index 60221c1827d..1568d241abe 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CSECommand +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgICBTeXN0ZW1kQ2dyb3VwID0gdHJ1ZQogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData index 38ed96561b3..d3c0c4a21f5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CSECommand b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CSECommand index a46d8067fe0..0c43759dbd4 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CSECommand +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData index 38ed96561b3..d3c0c4a21f5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CSECommand b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CSECommand index 32dea436baa..0a1f0949a89 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CSECommand +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.28.0 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.28.0 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="true" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgICAgU3lzdGVtZENncm91cCA9IHRydWUKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData index 38ed96561b3..d3c0c4a21f5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/CustomizedImage/CSECommand b/pkg/agent/testdata/CustomizedImage/CSECommand index 8be699ffed5..c9f522efd4c 100644 --- a/pkg/agent/testdata/CustomizedImage/CSECommand +++ b/pkg/agent/testdata/CustomizedImage/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/CustomizedImage/CustomData b/pkg/agent/testdata/CustomizedImage/CustomData index 45bdd57f088..d8a8670fc68 100644 --- a/pkg/agent/testdata/CustomizedImage/CustomData +++ b/pkg/agent/testdata/CustomizedImage/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RZ/3Obxrb/XX/FKZfUUq8RQrJdxx7SYmktM5aAB8hJnpvHYFhJ1BJQWLnJtfW/v1lYvllymqRvOnm+c6eI89mz53zOlz1s/vWDeBeE4p2bLlvINB3rvWWj6dCeOJatmLZzqagT+Qgy2XCiz0aOqqm2Y6tTpM9s+TiXXKoT5LxV7OFVKTnJJVf6ZOS8VSaqNnunjJFmyz/nAhNNkGKhPYDTHKAYtqNqlq1MJqXS17lopA+vkbkj7fca4pH+VpvoyqiSSw35NXq/B9NvYKgRFFeKBw1xjaM+I2mqX7zPlk1Uq+Kpz4iaWs7YGL+w9UlNw45vjLahrtmKqiFztAthxJkzbbgrZNRdn1oUoKnauJQNepVsx6oBI+16doFoWmi67VzqM20kDxhV6nS8Z9mgWjZBdp2pwVEzitOxY8xqpg6Od1wd2vtwJ7s4U6U27kJfZi9L3ZpTjMShpu46dSSVUTRMfeSM0MUeUH8XZFyPHWU0YtXEqMlLrWZJJjwtkmBkmPoFYm9Z9PSZfUHNpI5ouei4FjzFUB0LmTfIrAOkvYCRZjkTXb+eGQzW3wtT/ntmol1wEV3FVvYn80mvhnheRSdSTfg8U0+YITdXo+fBOdnNjJ2Nf+7VqmBXynYezixbnzoWUszhlTPSp4qqWblvp0zB2Jjtrj8d1ISmeoNMq57ap0e74uf+nR7XMOhGHSLHmMzGqtZQdFKBVO1Sd0x96gx105wZNhrJpyyfrfG7F/d53dvF1HZ4LVVtdqSokyo6r2sNeGaMFBtVIpaHQwvR5L5RLVXXHGtoqoadxclEyqjSJPV6tU1oP5wZY1MZoRqiZoYxM8cs4aVevywSWtEmomGQpR7jf6hajmJZ6lhzTF23HeOtLEnSjizLHwOZU9WilsqSxNQaStZ7hrrxPgPJklTXbBiT946hWNZb3cyK7VIdy5J03Czc8hDQWVlIUtGS8j60kz6S9HMDoBvIVGzKITJN3ZQlqWg/trlH+BpaOVlZUVq2Mrx2xsh2FHPq2Po10mSpOAOfQzRkv9XNa+bLLFcsS8WR+BxuzS40ZDuGiS7Vd7JET8WyKC9m6mRU2EQPtpyUt4rhDE1E0yUnozhW6hJVs2aXl+pQRVqWEdeOZShDJEv0mMnQNpogQzftWmkj05Slos9V8iLhc3HhiGmrl8qQHjgmUqb0mCv0yFLR4/aAmDJZoq0tn1xs26BJ/u69M1QobzfItGWpaGysMqgImbYlSyfldMHMttCQkmpPLOdC123LNhWjPA/ROzQs6r7MjpMiwCPVulAmyFENW7mYIEuWaFvLe6Y5s2yqYTe5iuY2Ui26yrGsK1n6uR46E1FLHBP910w10UjuFwWq6VlJKGNksV7bLyrT0hTDutLLXlCfeXqF8mpsnCrWNZNCq6VbMt9Oo4SAkICIiSf+JCR4hd0UwxMs3D/v4WDtEm/Z5nuHIP5PWx05E/UayW0vSnCUdp7Ukdzu/tTp8OIhuB14hDgJQgIk2sQxTtrubf8DuLeDD51zwB8DAtuDTku3HNruaIZ/3e5slfP1m8ITkAQEHw64g05rdjHT7JmjW46mTJHM5b+51lQx6bFVCdgLrsXGK1ncpIm4ijx3lc3l95s77JFVK281uZS+9yPvHict/DGm3mVHyY3M8Y/VwVMwcCZvuQYOWXZ9l/Ah8AO3pd2oI1UpWlrBXr972u0JUuvZa6krDbqSIBWryvOYnro0HUskN+iedHulAcUuuYXqVBkjx7pSCsvLF3Wj962xlXHp7c1W4B9fUPxZLTK39pLuOvCSKI3mpOtFa9G9T+n/hUW8KZfSXpyfw3m/GU5HMueRBJJNCIIQJ8FDsMIL7IMgJGsQhBATYRmlBAThz4AshTCFOPDPxDiJPFESw1SMAwpeRxuaVJ9iLN8FoX+YJp4sRjERF/Hm0E+JLK7D/EcUkyAKUzmhuM+tdL0MWK0uXjQ0lK6xuO54l6fXPgdDTGTmWxz47PEBCrPPCpPLl8yAs7o1GVFci575Q2V4hZyRasrig5uInustsejSdYm3DB5wKrbo+a1o9MCogZMoIhSXL2ihG6TZdEYdj7OWX+hbRQvR/c8mweK0jLNCf3fRR4LDlFrTHW5SEq0tLwliIuIHHJJUbA1n5oTO28bMlkWyjkVvk6ycB5zcRSnuRhvSaiWYJJ+8te8Ec2fuBqtNgtsdeGwBAFBZgFOZl87hTzcgTrrCOJb5/jmQYI2jDZH5wTmky2BO4Mcfnz1kKuZRAgEEIfDtFP8BEvBMaecc/CiD0D+mDvjigeMff91yVNddgt17eHqC30p0MIdb4AMQ8B+lPvhwDmSJwxJE/7C3jAB9xN6GYB9+4/hff+PoQrpLet6AJphskhCk8iVepbiByJwHviKilM6D7NGPwnzFX2y73Ue6E0ZOSlySfg/sU/L/Lvf/V4TW2Fpg4hA3uXNXq5Il4ibO55jK4RlTm2Ql80dVhDj+sbZ6WxDOvUBdDfuMPjcBgfxnnkHobl9CXU3bN9JXBOukB7SsQZin1uQB+Ow5qox5A3ytD0D/zY9SQw816xb4X+AHGXrwYZ8x9M9zSUNRA8AC9s2RzfrSPFhVvSd784UlQBfGLlnK/BGL8nEjynVdfxnmOrgZ59tbEObAF7vBhw9loPfHuK7qbwa5LM29oS5NosGlUxzGzaC/EX38IIab1ep7CX0GmEdJM+qfCXgV5EEGjd0H7LOBITscvVW08YUgDIhAsWk3Q2TYRYJjEC7/oMlQ6NlywGcIGkQWiN7XdM1S6cG/kH55UIvC57Pin2iaGZLOOgFwIjVP9LnKwKo4KpvfvGF0tLat9FNK8NojNHlT4ibk684kSB+80F3jotl+6ylUmgG+i9dRSD97Itf/kgXMbuCZKf/AYVbuTU/xTVptLQhhJMTuAicgNMvv92iThO6KLhI25YJvKqcqZCmJ4v938aJG/5PB+mpW/SB1776sUX1XxDK7v09u8w5DXfk6Xv8umVnBCTlJ3w8hDzihn3LOghRpRnBKv4Ta2cXNHA5epb+FB8Dxv3LwBOxK6AaeYIldH4QQpA4HsgwcL3GtbavKXhTSHFBC32o08502D1KvB8cw6AGf+2Oi/KLMshV7Zsn8L811ZauTmk0O3sCzD1deEnJsdxUtWhXBzQ1ACDGdQ57RzMY4Cbxos/IhjAjcYcgsxj7X2hsJRm0whx9gz9cWSH3qaf+45gwO80qRvmj7HO3D3adKxcu21KMxyksyC0etVQfzmi2rICXCJgxICoIw36xovtJZ/olNHXSSkbopTh4CD3PPDG6eBVB4yks0xV8iM4rjOpk7ne+L1DAs08P8xusHnAyjdezWrhaKS0pF5tv5JELnVm9DQPCB+zdHJ22p04BelND+S9DbWzrhlbq3rBzKNxdbjk3tjYGPlhL2S/U1BVBfm1+PHtD/0TosSvAG8s2XwWKJU3KTl7HMt9VLSy6/QfI9tlxpOp8pEeb9z5jOPzaVbvdZX+batuVHf4a0nY7wnXG/sKPL+mxtXI/zC1tW3PR3ecPcL1+NVBMNbd18XzTa9b0fJCDEwDfE+RC+SZc+8I8Nybbs5DtVR3PopNcDNybCAhMoDGYqqHlbOX9mpm1/yjeKYjqZujHJbgGKdcy5z5wazVuR8xZAdmVMl8iUP+ZB4xqPJnitgr/gpPHj+wUIgheF82BBPRVcWrhR4uHspY/nGa786qGOrCLvPs1eF3QIEYzi+8XZmZ7fdJ6dyXUt0cqvGBM+Pb8ka/3VwZU5LZ1nR9TusXSeN032/UAJf8YDe6RaW9vWApOhMVMSb1lmmJt4S5lvb/Kxd90pDboF/pEKDw+3WUW69MfJEUc3eCZJ1vT97rdoXke5uLVzzjLp2i+kWe8JUsWcnhzVWyw1pV2Z3qlvun9P6YXderUet4oWqUMiJ793LffLM4246X2WmdW9XC7I0bRGtWxIbPsuwfDvV+mrgdZp1YDZUWcHNQz36hJe2d1XA43LWaaZUJRdcU6zXUL/5aUZ7vc0Cp2UJEG4kPk2/P4HnSWqUUgQ3GQBVEdK3HUMkLWzwqQttwPVY5y4NH9Vn0KZAXuArKtlbzip2x/sQmw3vafsQL4t5XKPIkSZnOAHvALg1HAeJevMAHe1i53iNHUXON+UHksrTLB/Bnkt7dVsBH6G7r0gt/fJDx5Lys6AL58P6/ScAV/7dVgQcgY8ezosCaA62ONhzd8z4Ksfh4VzZ8Czp8PSgwJpBP5haXbx0g787UFmeqd2OfBYy4wtvAH+cfefKLb8YzOPt126qlU1I442DA5+kDOCmjVWbym1kWFJhwonvQ9iJ/+nPcdPAjofV7Mr7ZYfs8e7yP8k8+3qYgyEK+CmmLi+S9wzIMkGc9mAGifRx0/A/cQBtyQkPhNF6eR1t3981GX/FddslRiEKXFDD//ixoHAJnO53+tLQq8v9CRWdbVi+xZXM0cqX4sBhOOpS3RSoKWI4aDrRet4Q3CXuIt0EqQEnmDtxu0Ur7BH2t2s3z5lnwttzroP4nG8GWWEqdSN1Yo7By7gOp3Obe9D98FdbTCIInBzd5VirlyZEZUjD2ppwPE1G+mHxb+u0MRApoX0y/8NAAD//z8Loi96KQAA + H4sIAAAAAAAA/9RZbXObxrd/r09xSkkt5W+EkBzXsYe0WFrLjCXgAnKS6+YyGFYStQQUVm5SW9/9zsLyZMlpkt7p5KrTCez57dnzfA7rH38Qb4NQvHXTZQuZpmO9t2w0HdoTx7IV03YuFHUiH0FGG0702chRNdV2bHWK9Jktv8opF+oEOW8Ve3hZUo5zyqU+GTlvlYmqzd4pY6TZ8s85wUQTpFhoD+AkByiG7aiaZSuTScn0dU4a6cMrZO5Q+70GeaS/1Sa6MqroUoN+hd7vwfQbGCoExZXkQYNcs1GfGWmqn7/Ptk1Uq7JTnxlqajljY/zM0cc1Dju6MbMNdc1WVA2Zo10IM5w504a7RGa6qxOLAjRVG5e0Qa+i7Ug1YEa7mp0jGhaabjsX+kwbyQNmKnU63rNtUG2bILtuqcFR04vTsWPMaqIOXu2oOrT34Y53caZKZdyFPm+9LHRrSjEjDjV1V6kjqfSiYeojZ4TO94D6uyDjauwooxHLJmaaPNVqkmTEkyIIRoapnyO2yrynz+xzKiZVRMtJr2rOUwzVsZB5jcw6QNoLGGmWM9H1q5nBYP29MOW/ZybaBRfeVWxlfzAf92qIp1l0LNWITyP1mAlyfTl66pzj3cjYOfjnXi0Ldqns5OHMsvWpYyHFHF46I32qqJqV63bCGIyN2e7+k0GNaKrXyLTqoX1ytEt+qt/JqxoGXatD5BiT2VjVGoyOK5CqXeiOqU+doW6aM8NGI/mExbM1fvfsOa97u5jaCa+lqsyOFHVSeed1rQDPjJFio4rE4nBoIRrc16ql6ppjDU3VsDM/mUgZVZykXq92CK2HM2NsKiNUQ9TEMGbmmAW81OuXSUIz2kTUDbLUY/YfqpajWJY61hxT123HeCtLkrRDy+LHQOZUtaiksiQxtoaS1Z6hbrzPQLIk1TkbxuS9YyiW9VY3s2S7UMeyJL1qJm7ZBHSWFpJUlKS8Du2EjyT93ADoBjIVm9oQmaZuypJUlB/b3EN8Da3cWFlSWrYyvHLGyHYUc+rY+hXSZKnogU8hGrLf6uYV02WWM5aloiU+hVuzcw3ZjmGiC/WdLNGuWCbl+UydjAqZaGPLjfJWMZyhiWi45MYo2kqdomrW7OJCHapIyyLiyrEMZYhkibaZDG2jCTJ0066lNjJNWSrqXEUvAj4nF4qYtnqhDGnDMZEypW2u4CNLRY3bA2LMZImWtnxysW2DBvm7985QoXa7RqYtS0VhY5lBSci0LVk6LqcLJraFhtSo9sRyznXdtmxTMcp+iN6hYZH3ZXQcFw4eqda5MkGOatjK+QRZskTLWl4zzZllUw67wVUUt5Fq0V2OZV3K0s9115mISuKY6L9mqolGcr9IUE3PUkIZI4vV2n6RmZamGNalXtaC+szTK5gbpnpNibR70GZHfdIvkrVOrDut3zsqgqecOqeKdcWYQ6ulWzLfTqOEgJCAiIknvhQSvMJuiuERFu6fd3Cwdom3bPO9QxD/p62OnIl6heS2FyU4SjuP6khud192Orx4CG4HHiBOgpAAiTZxjJO2e9P/AO7N4EPnDPDHgMD2oNPSLYdWS5ogX3c62+V8/aHwCCQBwYcD7qDTmp3PNHvm6JajKVMkc/k715oqJu16FYEtcC02ncniJk3EVeS5q2ysv9vcYo+sWnmlyql03Y+8O5y08MeYapd1omuZ4x+qvlVY4FTecg0csuz6KeF94AduS7tWR6pSVMTCev3uSbcnSK0ny1JXGnQlQSp2le2cNm0azSWSG3SPu71SgOKUXEJ1qoyRY10qheTlQl3ofXtsZVxqe70V+IdnGH+Wi8ytvaS7DrwkSqM56XrRWnTvUvq/sIg35VZayvM2nkf+cDqSOY8kkGxCEIQ4Ce6DFV5gHwQhWYMghJgIyyglIAh/BmQphCnEgX8qxknkiZIYpmIcUPA62tCg+hRj+TYI/cM08WQxiom4iDeHfkpkcR3mL1FMgihM5YTiPrfT9TJgtbtYaHAoVWN+3dEuD699CoaYyEy3OPDZ4z0UYp8WIpeLTIDTujSZobgWHRmGyvASOSPVlMV7NxE911ti0aX7Em8Z3ONUbNH2r2i039TASRQRiss3tNA10mw64o7HWcco+K2ihej+tUmwOC39rND3LvpIcJhSabrDTUqiteUlQUxEfI9Dkoqt4cyc0HHdmNmySNax6G2SlXOPk9soxd1oQ1qtBJPkk7f2nWDuzN1gtUlwuwMPLQAASgtwKvPSGfzpBsRJVxjHMt8/AxKscbQhMj84g3QZzAn89NOTh4zFPEoggCAEvp3iP0ACnjHtnIEfZRD6Y+yALx44/uHXLUd53SbYvYPHR/itRAdzuAE+AAH/UfKDD2dAljgsQfSHvWUE6CP2NgT78BvH//obRzfSU9KzBjTBZJOEIJWLeJXiBiJTHvjKECV1HmSPfhTmO/7m2O0+ozth5KTEJen3YH1q/H9q+/8rg9astcDEIW5y665WpZWImzifs1QOzyy1SVYyf1R5iOMfaru3hcG5Z0xXwz4xn5uAQP6aZxB62peYrsbtG81XOOu4BzStQZin1uQe+Ow5qoR5A3ytDkD/zU9Sgw8V6wb4X+AHGXrwYZ8w9Oe5pMGoAWAO+2bPZnVpHqyq2pOtfGEK0I2xS5Yyf8S8/Krh5Tqvv3VzHdz0880NCHPgi9Pgw4fS0ft9XGf1D51cpuZeV5ciUefSKQ7jptPfiD6+F8PNavW9uD4DzKOk6fXPOLxy8iCDxu499tnAkDVHbxVtfCEIAyJQbNrNEBl2keAYhIs/aDAUfLYc8BmCOpE5ovc1VbNkevAj0i8Oal74fFT8G0UzQ9JZJwBOpOKJPlcJWCVHJfObN8wcrW0r/ZQSvPYIDd6UuAn5up4E6b0XumtcFNtv7UKlGOC7eB2F9LMncv0v2cDkBp6J8i80s/Js2sU3aXW0IISRELsLnIDQTL/fo00Suiu6SdiUG74pnSqXpSSK/9/5iwr9bzrrq63qB6l7+2WF6rsyLJP7+7RtXmGoKl9n139qzCzhhNxI349B7nFCP+WcBSnCjOCUfgm1s4ubORy8SH8LD4Djf+XgEdiV0DU8whK7PgghSB0OZBk4XuJa21YVvSikMaCEvtUo5jtlHqReD17BoAd8ro+J8ns2y1bsmSXzvzT3laVOahY5eANPPlx5Scix3VW0aFUGbh4AQojpHPLEzGyMk8CLNisfwojALYZMYuxzrb2eYKYN5vAD7PnaAqlPNe2/qimDwzxTpC86Pkf7cPupYvG8LHVvjPKUzNxRK9XBvCbLKkiJsAkDkoIgzDcrGq90ln9kUwedZKRuipP7wMPcE4GbvQAKTXmJhvhzxoziuG7Mncr3RWwYlvFheuP1PU6G0Tp2a1cLxSWlIvPtfBKhc6u3ISD4wP2Ho5O21GlAz0to/znozQ2d8EreW5YO5cr5lmNTe2Pgo6mE/ZJ9jQHU9+bXowf0P5qHRQpeQ374MlgscUqu8zSW+bZ6YcnlN0h+xpYrReczJsK8/xnR+Ycm0+0+6ctY27b86M+QltMRvjXuFnZ0UZ+tjatxfmHLkpu+lzfM/XJppJpoaOvm+6LQru/8IAEhBr5BzofwTbr0gX9oULZlJd/JOhpDx70euDERFphAITBjQcXbyvkzE237Mj8oiulk6sYkuwUo9jHlPtM1mrciZy2A7MqYbpGp/ZgGjWs8GuC1DP6CTuPHdwsQBC8K58GCaiq4NHGjxMPZoo/nGa786qGKrCLvLs2WC3MIEYziu8XpqZ7fdJ6eynUu0cqvLCZ8enpJ1vq7xpUpLZ1lLWq3LZ3lRZN9P1CDP7EDe6RcW9vWApOhMVMSb1lGmJt4S5lvb/Kxd90pBboB/oESDw+3WUa69OX4iKMHPKEka7q++y2a51FObu30WUZd+wU1qz1BqpjT46N6iaWitCvRO/VD958pPXNar1bjVtEidUjk5Peu5Xl5pBE3vcsis7qXywk5muaolg2Jbd8lGP7zIn0x0DqtGjBrdXZQw3AvLuCF3X0x0LjcyjQSirQr+jQ7JfSf35rhfk+j0ElJEoQLmW/D73/QWaIahQTBTRZAeaTEXccAWTkrRNpyO1A9xolL41f1KZQJsAfIqlq2wknd/mAXYrvpHbUO5MdSW+5hhKglJ/gerwA4NZxHyToTwF3tYqc4Td0Fzg+lbWmFCfZPgX/5DF8j8DNs7xm6vY9+8FAa7BT48vmwbpxT4Gtvh4U5ToFnT4el+pQHezysaXsKfPVyWKh2Cjx7Oiw1KJBG4B+WYheLduBvDzLRO7WrgYdaXGzhDfAPu3+g2PIPzSjedumuVlWKOFouOPhBzgzUzLB6QakNDEs6UjjpXRA7+R/2HD8J6HRcTa60Vn7MHm8j/5PMt6trMRAugZti4voucU+BJBvMZeNpnEQfPwH3kgNuSUh8KorS8etu/9VRl/0rrtkuMQhT4oYe/sWNA4HN5XK/15eEXl/oSSznaqn2LapmilS6FuMHx1OV6JxAExHDQdeL1vGG4C5xF+kkSAk8wtqN2yleYY+0u1m1fcw+FtqcdRfE43gzygymUjVWK+4MuIDrdDo3vQ/de3e1wSCKwM3dVYq5cmdmqBx5UAsDjq/JSD8rfrxEEwOZFtIv/jcAAP//BO+b6bcpAAA= @@ -32,7 +32,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/CustomizedImage/line35.sh b/pkg/agent/testdata/CustomizedImage/line35.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/CustomizedImage/line35.sh +++ b/pkg/agent/testdata/CustomizedImage/line35.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/CustomizedImage/line9.sh b/pkg/agent/testdata/CustomizedImage/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/CustomizedImage/line9.sh +++ b/pkg/agent/testdata/CustomizedImage/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/CustomizedImageKata/CSECommand b/pkg/agent/testdata/CustomizedImageKata/CSECommand index aceca7a9bba..116329ba911 100644 --- a/pkg/agent/testdata/CustomizedImageKata/CSECommand +++ b/pkg/agent/testdata/CustomizedImageKata/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.24.2 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.24.2 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/CustomizedImageKata/CustomData b/pkg/agent/testdata/CustomizedImageKata/CustomData index 45bdd57f088..d8a8670fc68 100644 --- a/pkg/agent/testdata/CustomizedImageKata/CustomData +++ b/pkg/agent/testdata/CustomizedImageKata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -32,7 +32,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/CustomizedImageKata/line35.sh b/pkg/agent/testdata/CustomizedImageKata/line35.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line35.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line35.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/CustomizedImageKata/line9.sh b/pkg/agent/testdata/CustomizedImageKata/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line9.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/MarinerV2+Kata/CSECommand b/pkg/agent/testdata/MarinerV2+Kata/CSECommand index db5bbea3340..6d4f7c0eda0 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/CSECommand +++ b/pkg/agent/testdata/MarinerV2+Kata/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/MarinerV2+Kata/CustomData b/pkg/agent/testdata/MarinerV2+Kata/CustomData index acd9eb5b701..51cb9c7f15a 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/CustomData +++ b/pkg/agent/testdata/MarinerV2+Kata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/MarinerV2+Kata/line39.sh b/pkg/agent/testdata/MarinerV2+Kata/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line39.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/MarinerV2+Kata/line9.sh b/pkg/agent/testdata/MarinerV2+Kata/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line9.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CSECommand b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CSECommand index 57f531f93f6..84405be6f0c 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CSECommand +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData index acd9eb5b701..51cb9c7f15a 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/+RceXPbOJb/X5/ihWHHVjokZfcxWc8ou4pMZ1SWJRclJbubybAgEpI4pggNCMpOZH73LfAEL1mx093ZGacqBwn88PDu9wDm+TNt7njaHPmrVqvfNye68X7Q183ByJxeXXc1smEa+hJQrFnEY8jxMPU1y1I2lNx9Vn1Mt46FVceL5o77l/r00KnEusEsmjkamP3x6GLwzjwfGF1Jw8zSLM/RPMxUW4revx2Mkpcclb+cO1786nz8YTQc984npQE2ufVcgmxfavWNQX86zEaKA6ljMbdmbL5g4FPNJRZykyXHo2lvMNKN8/qV063aIqgxG/Vrh9PAs8SBl68nteNugjmmHmbYF0fP3s5G05lp6EO9N9G78rHrz02KXYx8DAoFxW+3Jnp/ZujmdDgx347H08nU6F2bl7O3+lCfmvp/633zejh7x3db5U4sPeb6c0KYzyjaSIfjvdeNyWA86krbjnqidhTkblZIPZVaU32oX4+N6fmelRl28YZQVuBiZeIhQvrQm1yltEwiYn5SO7DtqL+oJ/yP12pHal31RoMLfTI1LwZD/bo3/WuBAWvkOQvsM/UfPvGiweb5W7M3m47N2fV5b6qbF8PeO3HuFlHNdeZ8pmLPNRQwogQbGzEstfozY2iOZ9Pr2bSrsfVGswLqmltM58THKglYq0XxmmzxFfLO572AkVk088JFywvHxcdt2LUAAOgalAXID5HTClsti2LEHgRkJLBWBwK6GHnBpp9p+7nLofwCcXQBcpO5cBDH8xly3QzECDzmrHN6nAV8BEnejXT9fGLmSKEE3S5IjAZYgk9/BrbCXjSB/2BrRUByPGhABwW4thojfapPUsWALsi76uNQymAj5YLcurnAfIfk60bEKguQ5IoyVYnkP1WsriQf/+Of3HDV/KWK7SWuRW1LBbyUW0WnkPDq5LXa+bmejodoORKJ2Tieh21VOnnd+Vk6OoSshZOLxvVx4V0sqw89YzQYvTsTqICECvAIgwUJPBscD1I7fAU2XqDAZY63BEZghahtEZvT1RKWbdXsboOYtRL3GJMgVxkgwT1YAQPFVkBZnAi7EsZSvHW+EulUQIp15ktxVoFECT7B/X0k2OYhXMBe4Lr1g1MaC+Nq9CA1nC1yHTvfZCqKM6jbWhHhzmEg64Yh2Ko5GE2mveHQnA6u9PFsWisglyx9kxETb7HHfJB6lxO1P9HVBhNOn08Y8mzkEg/nfkjiW2h8C/KuiY1h8V3KNcEFHOBZhH2/143UsTQuGWMXzCLBviLzz62ETbmnHGF2S+jNtRssHa/gJhM/Of0wNi6T6MgtH6QogknwqSzxBLHHX/dHg5Zgqun2kqeZJy/nWvCCk5bG5/5okFG0vrEdCsqmZlL0nj+dvvvfKE2Ud/xfMckTc2YMnz9/qYXwHGY+Bp6WwjxwuKnD85gczOhna22bS8xMhugcuS6cnHbgF5Cqy2kxfLJYKEFluZCbjKC5AkKms8I2J9gKKJ4OJ2/TlOgymGMXM/0OWyXBxDFjEz00A+p2pRVjG/9M025e+0ma5qtzl8xVi1Cs3jqeTW591cNMQze+wlxfyTIvxXId7DFN3n1tBhZqruMFdxpa27/+rNWBSoIeyceO3zOufv25zf3FSVVzvp/90PXe/aQeJtfGR+XCLWHTqRZwO151pa+gXUQMG4jOk55ncSZRt2rVeWcW4SzMBXLcgGL4idvDrx3guSUoi8kQFNIImD0PqCsVzSEj++CNlv28tSK3HigGUELYGf8NpMcJQojAqzWxOeaffvnlaWixe818WOaoPyB/PVk56zyhXRAK/spZp86bJyRyU53xZ7BJRu3c8RD9XJN07ES8kKcJjIIKSntP2nmL/HXR9pDlK2uHUkLVyNnzfDEyuXyWwmcpfDVfK60q+oaHll04Lo4Vv1xviQnNAS6klEX9Vnvi/qE+IxSNrGmX4locXvE3jqdUhJakXF8N5jrLFauBq2HVQQa+jS38a3dTVM5Q2Z5INSgBdesB+PDTNy9OuO5iDLJQ3MIbzcZbjSeccA9Lijeg6CD9/ZiTfKa+bN8ff8T6J0rVl21Zghcv4NhCrAjx4oXgiy6N2WTKTbocn9u/A7dScT2BXzHEvwvHbm/9J7GLz/8OeRWHnjjufANb+wbYezTz6eiNUhTdKv/DJh4WQ2laWDyyJng/0qfm71wY1K35ldVBP2onZ3tOeslpJ1Q+iZ9ez8ye0f9rVz5eYta/nvWotWqXmVRtWYuQ2fOZMTwkbFJHYYS4vraVd0WqQi2SroP9pBmuVIcoUUBV5F1KeqgyRNXlF0mkKeKlHpd0VSoj6RUFFTU+uerBSeJtpLp9axleukJcx1XXCMWuYkkUzUy3Akqxx94n+Zl8HPMBFCVN9U4LzsbHNhyl3Mo6VZq2PGoX6/EicCjBsy5INbV4nA6mQJV5QBaQLIZcipH9OS3Rsa2Cf+NsNo63hMK++RyG6BIzyHGrDc4f1Jeh2qlpQ5RFKj1WN3KGJBnSoQKuTRrTXkRF+LyqqulmbShWLGStsJ1yMGsonjVwTiqHxoB6cFJ2d/kSM2+DrBsOk6zgeIzkFCZHFEIbiSEKX+62X8MLpV8FLBVYeXUlFwcmetqqhoE9A4tl0TQ9jCn1NwpOKHFu+RlN5vVOv6a7EDO8UL/HM5UvIO8Kxt5kSCnZwFOXDaJojRmmUQHXsCO4RX6kGUtni4VyJnf8+bYyEnTDKHTNciorPGgkNTvmKjS8n0BFHkD2nrI97Id3e+eH+QEddwnVDfMsrygtrXZcjiM0HnbNexU9fJNaPl7T+jPD0EfTXHWPcwE9EA2qktzmESEup6c9452eg0vJ2WNCso/XW0z7ZL1BFHNzL9JypkgdtaN2pJArWAEprFWtJIi4QrCAKpGVdUJwfJ5OI24ybIU8OCYU8D8D5AIj7TSozJGPBZASQdWoVJKVWhNymmxznypGbqCyfAa53n4jTW46eT5If9MTkEh9q274m8MnriCLlfv3zw3KxyzY9EeDc4f6DQl7QlEL6lt6NWOEFl3hbQ14fvtjL35lWB7Jim+FLFCoQJ5y6hAl/gNDmJsg/aCy5ZeQDykEK3tPzZHg1OU4621yQFGYF5Ymai+r/C4eIhUSrgdLn9pU66EzudFAFY5+JBD+Udty42mPcvflMIp4wlPeYQr2kPblwq/UoE+uMQ9QA/j304WUz2q5+M+1onDO+EeqBr5jFFnsMpjjt0ndm6nH5etJuVbnJROf3jP+J85yT8v+a1e5shVmYLmulXBqiuG6rkUFWouXE7sWJeRSw0JEKBzNRDxXGEWevyB03ZX8e/Xl/QslXiANfvcSKIq/Irf5SGwrHlpjn0ssKmIeJvJvmaQVxWfU2SgWWW+Ix5Wp+xOXaPE8AYTbbh6xcXRD8SY+Zm18l5Yu8a2oA8gSHEVyhHsZw/Q8m//tmpK7z5FuJLnhZDq+MkV2F5swPJWqDJkZw7NuKJ6vPotrhAfgaiqGJJ4XWZWyRXlZ94JX7C8PvmbRzAW1xmokqHlYf4vqgO229juuhr3V39mq92HPp+Pz8RnEV+v4a7CIZzuMJ7DWCls3QLyyuQPxLAzGNVgr5C0xT42TY267gO0s4Pg4Odar50B6A0hSpegOELzpwsmf2m148QI+guLxLLBsyc3Xtf5AQZaJLNAmNEeSv6Zl6bZWhlxxG2TYMFzaB7dHJRqGSy0hk0Q/3jVYV4NttZ5ilqCtyBprq88bTPlDJbvoGt+r2QTCDaPBGi3ze5H94cCcjsdZzyU7hTYHV713ehqoIG+DBa4b3ZVbYXA4FLfI6qQQAp8Pk3fpCgXPJTyOrpJZjNbYWqNu8nU5IRajav3yEkh1R1G/duCEh8QOWIwHrSj8bJCF4ea1rzok2RLHFk7kc9yodErO3JmzxjaQgEHKk7382DoIom0WjoqEU//+lI9/Z17P8itu7cSXNXAt7jI+hnHRzEfzLu5O/mZcSrbVyKi419jEK8HvP8iHx3LAJtYNpr8ZB2L4EgfOx/1LvUlF4i4rxQwtn27phj7tvRMf/yQ4gGgNvosFJeumTURt6xLMN3EJe82WoWWtNEAukfI4q0qb8o9aq9CdipTnMTiCmK/6RiRg/4LQ/srxUPUSZw5rzEZcXZIb3JZwxbWyS+S6GXT3WD7ex3EfXMdn6aH50d/XFlXXjkWJTxZMtchaO4J7QLc3cLTbUMdjIJ+ER+0aSy2vKvLIP2wBn1Hogh+tsziWfvDPfvClVyCfvAL5tB1CQoHPaEZCod8uyTuRioRXjWds3Clgm2v6wvFsWFsZtQtCIRKR1NAghuQO2NqKbTS6/1VY/ON/ffpRqjwKpbBwG6ygB90saUxhw6SlrGA48rUa3vEn6AsXqOVlDeana1BGWtETJSYt0ifvClvIM8DK9f5avNRNHgRZulwQJ+9P95U5qzKnFnEopa3CnYL103Wt8VftI/E9dO00T4idQ/Q5zWwTK03p/nDccU/UJd4avtsQysQ3MVbgWXE9E3+dE8MZQX40Ao/9qmYf1xp9bzYxooPHdJsnxTg/Ys9cRdHdSGeSfBoeZRd7tnpaH5USe/m+9rH6saP8x6cfG94q9Y9NKV1P3gmcDeNrmUf819+8o+JtoIrKN233EH9cdrnf//b3fdtTw4VifFCUBaFrxOBot1MNvCG+wwj9HIZnu506Rcvwe+eAsPvYUnnaZ1rExl35P0tuWc7ewbMudOptJU4bs5ECbzPTK3O1+VIJZEGvdtY93K4cFwPFyI4lUohST3YW6U+dyy5kbwl1YWV2rW01QgpxpQFPEBekMaX0LhS9q7Ko+NFix1YoMqJz85PTTnxmoFjVmbmTz5oxJW8fJwLHNmK4/Uo+XhGfcYfRfgU+Q5T1a2fH7QsxeoAUdROij6ylB4CxZzfA5p94GjwyL7FdojbTyOTstT8cz84TbYyb/Ty97bskqMs2/v/FoDiNzRKvoz88KnwNQb+Xnz6UJoGefzHPlqbL349PKywZsy27nJF/5JkYe1ThlM23mqcW6RRcWOw5q7FVfJtabsnX1rjVyogqj+ocduoJ69/VOdCC164Mifux5a3bhU/djQc+dSdbTKlj4+QLzj7xFs4yL13iqwvCfyAQ/RcYnPvx76q1WKq29rpjRvd6TQ/zFIFj8DexhJKv93clsFhpLMTgL3/Rxxfw5k3NEBsx5JOAWvgsGh6pwFle6G827me+KKc9WfgMFoirlj6+aIWt5/r44v8CAAD//76bWoZLRAAA + H4sIAAAAAAAA/+Q8f3ebSJL/61NUCBPbmQC2MzOb865yp8jEo2db8kNScnfZLA9BS2INtLZpZCcy3/1e87OBRpbtzExuR3kvtunu6vrdVdWFnj/TZm6gzaxw2en0++ZYNz4M+ro5GJqTy6uuhldUs75GBGk2DqjlBoiEmm0rK4Jvv6ghImvXRqobJGtH/XN9sutSbF8jmqwcDsz+aPh+cGaeDoyupCFqa3bgagGiqiMl4+8Gw2yQQWWDMzdIh05HH4cXo97puDbBwTeBhy0nlDp9Y9CfXBQz+YnEtaknmFtuGIVE87BtedmWo+GkNxjqxql455xUhwdqTId94XQSBTY/8fzNWDjvOpohEiCKwvrsK2PwoTfRzate/7x3po/Nfq//q37PUm1F3LVFkbKy7GtrgUKpM303HU6mpqFf6L2x3pX3vXBmEuQhK0SgEFDCg85Y708N3ZxcjM13o9FkPDF6V+b59J1+oU9M/b/1vnl1MT1jnGtyOtUE6oUzjGlIibWSdof3QTfGg9GwK60P1SP1ULG81dJSj6XORL/Qr0bG5HTLzhR5aIUJrUiksXAXgX/sjS9zXMYJMq/VQ1gfqj+rR+zHG/VQ6lz2hoP3+nhivh9c6Fe9ya8VBvhW4M5RSNV/hjhIJpun78zedDIyp1enTJDvL3pn/Nq1RTTPnbGVijPTrIhiJVo5FkVSpz81LszRdHI1nXQ16q80OyKeuUZkhkOk4oh2OgT5eI0ureB01osoniYr33vW4r3rof0D2HQAAIgPyhzk+9DpxJ2OTZBF7wVIcWQvdwToISuIVv3Cck49BiqsIEfmILeZHgPiBiG1PK8AYkQBdf0SH3cOn0CSN0NdPx2bJaRYgm4XJEoiJMHnvwJdoiBZwD7IXmKQ3ABaoIMCTFuNoT7Rx7liQBfkTfNxLBVgE+WC0lMwgYUuLvdNkFXmIMkNZWoiyT5NWF1J3v/nv5jhquWgipwFEkI9kCrwcm5VnULGq6M36uFPYjzuw2WPR2blBgFyVOnozeFP0t4uaM3dUjReiCpjqaw+9ozhYHh2wmEBGRYQYApzHAUOuAHkdvgKHDS3Io+6wQIohqVFHBs7DK8Ot21HQN3KovaSpzFFQW4yQII7sCMKiqOAMj/iqOLmErR2HwjpmIOU6szX6qoKihJ8hru7RLDtU5iAg8jzxJNzHCvzBHqQG87a8lynJDIXxQmISKtCuHUpyLphcLZqDobjSe/iwpwMLvXRdCIUkIcXoUmxidYooCFIvfOx2h/raosJ58/H1Aocy8MBKv2QxEhoHQV508bGuDqWc41zATt4Fo7uD7qRO5bWLVPYFbPIYF/i2ZdOxqbSUw4RvcHk+sqLFm5QcZOZn5x8HBnn2enILB+k5AST4HNd4hnEHhvuDwcdzlRz8rKnhSevx23wgqGWn8/94aDAyL92XALKSrAoGWdPJ2f/m4Sc8ob9laI8NqfGxfPnL7UYnsM0RMBCXJhFLjN1eJ6igyj5YvuOuUDUpBaZWZ4HR8eH8DNIze20FHy2WSxBY7uYmQynuRyEQmc5MsfIjgiaXIzf5SHReTRDHqL6LbJrgknPjFXy0IyI15WWlK7CE027fhNmYVqozjw8U21MkHrjBg6+CdUAUc26DhXqhUoReSm256KAavLmoRFYrHluEN1qlu/88pMmAipxeiTvu2HPuPzlpwPmL46amvP90EP8rfTkHqbUxkfFwh2O6FwLmB0vu9IDcOchxi1Il0HPszSSEO3adN6FRbhzc265XkQQvGb28MshsNgSlPn4AhTcCrB4HhFPqppDgfbOhNb9vL3ENwEoBhCM6Qn7D6THCYI7gZc+dhjMv/z889Ogpe618GGFo/5ohf546fplQDvHBMKl6+fOmwUkclue8VdwcIHtzA0s8kUQdGx4eDELEygBFZSDLWHnjRX6Vduz7FDxXUIwURNnz+LFxOTKVQpbpbDdQq22K+8b7tt27nooVfx6vsUHNDu4kFoU9VvRxPyDOCLkjayNSn4vBl4JV26gNISWhVwPBua5iyUVgBOwaicDX6cW/lBqqsoZK+sjSQAlIp4YAJt+/PbFEdNdhEDmklt4qzlorbGAE+5gQdAKFB2kf+wzlE/Ulwd3+5+Q/pkQ9eWBLMGLF7BvW7QK4sULzhedG9PxhJl0/Xw++B24lYvrCfxKQfxZOHZzEz6JXWz9d8ir9OhJz51vYGvfAPYWzXw69FYp8m6V/XBwgPijNE8sHpkTfBjqE/N3TgxEez4wO+gnpemC5qwunVdC5aP06dXU7Bn9X7vy/gLR/tW0R+zlQZ1JzfI3D7J4PjUudjk2iatQjL1QW8ubKlaxlkjXRWFWWFeaU5TkQFXkTY56rFKLqIuvEo9Twks9TemaWCbSqwoqKXwy1YOjzNtIIrq1Al6+Q5rHNfeI+apiTRTtTLcjQlBAP2Txmbyf8gEUJQ/1jivOJkQO7OXcKipVmrbYO6jm41XAsQTPuiAJcvE0HMwBNdYBnkO2meURZDlf8hQdOSqE1+5q5QYLqNDN1lCLLBCFEm6zwPmD+jJWDwVliLpIpcfqRsmQLELaVcDCoDGvRTSEz7IqQTVrRZBiW/YSOTkHi4LiSQvnpPrRGJEAjururtxiGqws+5qByXZwA4pLDLMrCq6MRC0CX2/XD+GF0m8CrCVYZXYlVydmetppHgNbJlbTokl+GVOrb1ScUObcyjuawusdP6S6kDK8kr+nK5WvIG8qxt5mSDnawEKXlUUsH1FEkgSuhSK4scJEMxbuGnHpTOn4S7IKFHTDqFTNSiwbPGhFtbjmqhS8n4BFeYBsvWW73w9vtq6Pyws65hKaBLMoryotTTivhMMVHjbttPIevk0tH69p/alh6MNJqbr7pYDuOQ2aklyXJ0KaTk96xpleApeyu8cM5RD5a0T62F9ZBDFzr+JyokiH6qF6KMVMwSqQYqFqZYeIxx0W0ESysU8MbsjCaYuZDF1aAexjAuhfkeUBxQf5oTKzQsQBqSHUPJVqslIFR06bbW5TxcQNNLYvQPrrb6TJbTfPO+lvfgOSqG/TDX9z8JkrKM7K7fQzgwoRjVb94eDUJWFLwJ5h1AFxSU8whyvRVUYFwMtOkq3wG9PKk6w6ykWBXAbylFuHJPAfGNzaDNIPKl18jdmUymHlbMk5MjiiGMdfZxcUlXVxbaH2ssnv6iVSJeC6N/URhlr33ckNByp39SMB94ew5MbCHuX2624YsYCnTmEO7D7tK4XfyEGfnGPuoAbw59OFnM9qPfkvtaJyz/hHqga6pcSy6Xk0Q++yvLd2X3f9JuRq9VmlIxuKZsjMiiFJvVo+5ofd0Mx6tLLR11Ld220azWJxbWu6+GpSf2XOg668qW1Y5tDczK4kgqrJmyq0OMMl3QkR0k3LXtzKyt1NFkVVaWKhFCURaqqJAKH2LjchdlWFTdSVn9Smm1m0kyZ5WWscVFeykCbJ+V7Bjet5EIWIhTaUC7HFnSnboRap5P0pYxl0pody9f4kaffzEFVeigZY2v2yxDQXXM7dhNPnZ3wicH85rMbYhqKVZS9JRoRItZvJGiMauU1tYRaQJGauUGIF4RwTvyuFd+rLuxdKCi0vLt5JoCjhEt+UM5GjBJaPQuYk1gK9+Huxs6KElLgrxcb+CgfMWXVfM49RZStw7ZUBdhAvg9axPDUuudAiqyo5lfuhFrHXV4jY2ZA5F/YJsmWB3c4tLxQYbtpFWOcpVwXInHzW5nCeUtkLHPbbFcG3X8rjdTqejC6Tm1fmcnvG/9TqlCzbaEyZGhcn3WzHgsAtIERzeBip6UYhyz4yFkBEvBMQL63kEq/AjkKK/XzBPRRlO2YcMrOuNNOdm74bMgS6zFnycnmWVgjugysW06McR2fHQ7xdvqrgzJRA8FDcQ7kLuYlulidAOz/LicircPRe0TZZ+gcy5H5sE8Vp2nUax7V6HlELK3xOXdCWxakTallcbxzLqtvtQpLaowT2eT4ZnY5OIO1xZsNg48BxqYsDsJfIvgYcQM24AQc2AuMK7KUVLBA70LN+I6cC253D/n7WXyHmfd6KKalS0owJb7tw9JeDA3jxAj6BEjBPWNu85Vb+D1ahOpI1G4JqrTr7Na8Srh+qBi3TpW3gtqhky3SpwyX21o+3Le6uxdl1nuInQVtiH2nLLytE2EOleO8gbXNcRVzD58C3FmWbev9iYE5Go6IEXjQFmYPL3pmeVsePubOJwUpal5cIXD+NLAWLYkgPMXmT7xBXGvXKx0lnr02JwFxbNZTtyxCxKVHF20sgiToDfjmEIxZIHoJNWUCXhGYry0YsB1BdnJHEYHMNUiXcpJKVtUBR10cO4IhCzpOt/Fi7FiRkVm7uuSas/oTNPzOvpmXH8UHluGhwLb30eQzjkpWP5l16WfSbcSkjq5VR6dVPG684R3IvHx7LAQfb14j8ZhxIwdc4cDrqn+ttKpKGuwRRa/F0Szf0Se+Mf/yacwDJHgtGxpxgv42K5BqxBueb+IStdkuthVAcINdQeZxZ5Zekj9qrcluQaM9j4HByvuwbiYTD95j0l25gNZvqS7DGdMj0JXujxuZeOWhQaXleAbq7L+9v43gInhvSvIlp7x++TVTftQkO8ZyqNva1PbgD6+Ya9jYr4gYU5KN470BgqvVdeR6Fu20QUgJdCJN95vvSD+HJD6H0CuSjVyAfH8SQYRBSUqBQuf+U5A2PRcar1p4H5hWQwzR97gYO+HaB7RwTSEQktVzYQdaT69upkSb9uJXNP/3X5x+lxqNYiivduRU96BaxYw42zq74FAR7oSbgHXtifWUCtYPiwu/pGlSgVnVFmUnz+MmbCglxe1FLCC/3kzuBrDV7pTH8051lyarCqSUcynFrcKdi/cQXGn/TPjLfQ3y3fUHqHJLXG6erVGlq9eH0BjRTl5Q0dLvChPIjKawosNO0Jn1bMgVnROVVNTz2LcdtXGv1vcXCBA92qDssKkZly1PhKqruRjqR5ON4r2i0XOt5mlSL7OU74WP106HyH59/bBlVxI9NKd9P3nCcjdM2+T327+/BXrU7s6HybeTu4o/rLvf7J3/bu5YCLlTPB0WZY+JbFPY2G9VAKxy6FJMvcXyy2agTaxF/7xzgqM8uOW5datrYQV35P2tuWS7G4FkXDluuFpK4sZjJ8bYwvTpX25v8oDj0hKvu4GbpeggIspxUIpVT6snOIv+IXHYlesuwixurhbbVCpI7V1rgceKC/EypjcW8d1XmDT9avejgsoykj+no+DC9w1Xs5srSyRc1mZq3TwOBfcei6OCVvL/EIWUO4+AVhNQitC9cndYv+NMDpKSckHyBhnQPYBQ4LWDLV+6NJHdATg3bQiOzXpj+xWh6mmljevnKwtu+hyNRtPH/7wxKw9gi8Nr7w0+FhyD0e/npXXHi8Pk382x5uPz9+LTKlinbima58qX7zNiTDKduvs04tYon58JSz9k8W/nR3HJrvlbgVhszmjwSOezcE4rHRA604rUbU9KCbJ10p/LVI8Y9Xz2C14gQ10HZG/V9HMzdRZm6pK1k3Be6JF9vxLif/q/a84XqaG8OzeQ9CzNALERgMNhIKqHs21Q2NWCp0tgWhb/9TR+9h7dvBVMci1ohjoiNTpLpiQqclIn+auV9YZsy3LONT7ILAH30vhN3nrMf/xcAAP//RZGhIChKAAA= - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CSECommand b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CSECommand index c06de7f9038..21ad7089fa4 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CSECommand +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnldCiAgICBjb25maWdfcGF0aCA9ICIvZXRjL2NvbnRhaW5lcmQvY2VydHMuZCIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData index acd9eb5b701..51cb9c7f15a 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CSECommand b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CSECommand index db5bbea3340..6d4f7c0eda0 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CSECommand +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData index acd9eb5b701..51cb9c7f15a 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CSECommand b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CSECommand index 8fb92d1f893..6adae5edce6 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CSECommand +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.23.8 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.23.8 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=true GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="false" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkRpc2FibGVBY2NlbGVyYXRvclVzYWdlTWV0cmljcyI6IGZhbHNlLAogICAgICAgICJEeW5hbWljS3ViZWxldENvbmZpZyI6IGZhbHNlLAogICAgICAgICJQb2RQcmlvcml0eSI6IHRydWUsCiAgICAgICAgIlJvdGF0ZUt1YmVsZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSI6IHRydWUsCiAgICAgICAgImEiOiBmYWxzZSwKICAgICAgICAieCI6IGZhbHNlCiAgICB9LAogICAgImNvbnRhaW5lckxvZ01heFNpemUiOiAiNTBNIiwKICAgICJzeXN0ZW1SZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjIiLAogICAgICAgICJtZW1vcnkiOiAiMUdpIgogICAgfSwKICAgICJrdWJlUmVzZXJ2ZWQiOiB7CiAgICAgICAgImNwdSI6ICIxMDBtIiwKICAgICAgICAibWVtb3J5IjogIjE2MzhNaSIKICAgIH0sCiAgICAiZW5mb3JjZU5vZGVBbGxvY2F0YWJsZSI6IFsKICAgICAgICAicG9kcyIKICAgIF0KfQ==" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DisableAcceleratorUsageMetrics=false,DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICAgIGRpc2FibGVfc25hcHNob3RfYW5ub3RhdGlvbnMgPSBmYWxzZQogICAgZGVmYXVsdF9ydW50aW1lX25hbWUgPSAicnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmNdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZF0KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnVudHJ1c3RlZC5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5XQogICAgY29uZmlnX3BhdGggPSAiL2V0Yy9jb250YWluZXJkL2NlcnRzLmQiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLnJlZ2lzdHJ5LmhlYWRlcnNdCiAgICBYLU1ldGEtU291cmNlLUNsaWVudCA9IFsiYXp1cmUvYWtzIl0KW21ldHJpY3NdCiAgYWRkcmVzcyA9ICIwLjAuMC4wOjEwMjU3IgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhXQogIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLmthdGEudjIiCltwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLmthdGFjbGldCiAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MSIKW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMua2F0YWNsaS5vcHRpb25zXQogIE5vUGl2b3RSb290ID0gZmFsc2UKICBOb05ld0tleXJpbmcgPSBmYWxzZQogIFNoaW1DZ3JvdXAgPSAiIgogIElvVWlkID0gMAogIElvR2lkID0gMAogIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4va2F0YS1ydW50aW1lIgogIFJvb3QgPSAiIgogIENyaXVQYXRoID0gIiIKICBTeXN0ZW1kQ2dyb3VwID0gZmFsc2UKW3Byb3h5X3BsdWdpbnNdCiAgW3Byb3h5X3BsdWdpbnMudGFyZGV2XQogICAgdHlwZSA9ICJzbmFwc2hvdCIKICAgIGFkZHJlc3MgPSAiL3J1bi9jb250YWluZXJkL3RhcmRldi1zbmFwc2hvdHRlci5zb2NrIgpbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjXQogIHNuYXBzaG90dGVyID0gInRhcmRldiIKICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5rYXRhLWNjLnYyIgogIHByaXZpbGVnZWRfd2l0aG91dF9ob3N0X2RldmljZXMgPSB0cnVlCiAgcG9kX2Fubm90YXRpb25zID0gWyJpby5rYXRhY29udGFpbmVycy4qIl0KICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5rYXRhLWNjLm9wdGlvbnNdCiAgICBDb25maWdQYXRoID0gIi9vcHQvY29uZmlkZW50aWFsLWNvbnRhaW5lcnMvc2hhcmUvZGVmYXVsdHMva2F0YS1jb250YWluZXJzL2NvbmZpZ3VyYXRpb24tY2xoLXNucC50b21sIgo=" IS_KATA="true" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData index acd9eb5b701..51cb9c7f15a 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/RawUbuntu/CSECommand b/pkg/agent/testdata/RawUbuntu/CSECommand index 5a49d0e2bf4..ec2d1449e45 100644 --- a/pkg/agent/testdata/RawUbuntu/CSECommand +++ b/pkg/agent/testdata/RawUbuntu/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.15.7 HYPERKUBE_URL=hyperkube-amd64:v1.15.7 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME= CLI_TOOL= CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="false" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="nc -vz mcr.microsoft.com 443" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInN0YXRpY1BvZFBhdGgiOiAiL2V0Yy9rdWJlcm5ldGVzL21hbmlmZXN0cyIsCiAgICAiYWRkcmVzcyI6ICIwLjAuMC4wIiwKICAgICJyZWFkT25seVBvcnQiOiAxMDI1NSwKICAgICJ0bHNDZXJ0RmlsZSI6ICIvZXRjL2t1YmVybmV0ZXMvY2VydHMva3ViZWxldHNlcnZlci5jcnQiLAogICAgInRsc1ByaXZhdGVLZXlGaWxlIjogIi9ldGMva3ViZXJuZXRlcy9jZXJ0cy9rdWJlbGV0c2VydmVyLmtleSIsCiAgICAidGxzQ2lwaGVyU3VpdGVzIjogWwogICAgICAgICJUTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzEyOF9HQ01fU0hBMjU2IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQ0hBQ0hBMjBfUE9MWTEzMDUiLAogICAgICAgICJUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX0VDREhFX1JTQV9XSVRIX0NIQUNIQTIwX1BPTFkxMzA1IiwKICAgICAgICAiVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9HQ01fU0hBMzg0IiwKICAgICAgICAiVExTX1JTQV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCIsCiAgICAgICAgIlRMU19SU0FfV0lUSF9BRVNfMTI4X0dDTV9TSEEyNTYiCiAgICBdLAogICAgInJvdGF0ZUNlcnRpZmljYXRlcyI6IHRydWUsCiAgICAiYXV0aGVudGljYXRpb24iOiB7CiAgICAgICAgIng1MDkiOiB7CiAgICAgICAgICAgICJjbGllbnRDQUZpbGUiOiAiL2V0Yy9rdWJlcm5ldGVzL2NlcnRzL2NhLmNydCIKICAgICAgICB9LAogICAgICAgICJ3ZWJob29rIjogewogICAgICAgICAgICAiZW5hYmxlZCI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbm9ueW1vdXMiOiB7fQogICAgfSwKICAgICJhdXRob3JpemF0aW9uIjogewogICAgICAgICJtb2RlIjogIldlYmhvb2siLAogICAgICAgICJ3ZWJob29rIjoge30KICAgIH0sCiAgICAiZXZlbnRSZWNvcmRRUFMiOiAwLAogICAgImNsdXN0ZXJEb21haW4iOiAiY2x1c3Rlci5sb2NhbCIsCiAgICAiY2x1c3RlckROUyI6IFsKICAgICAgICAiMTAuMC4wLjEwIgogICAgXSwKICAgICJzdHJlYW1pbmdDb25uZWN0aW9uSWRsZVRpbWVvdXQiOiAiNGgwbTBzIiwKICAgICJub2RlU3RhdHVzVXBkYXRlRnJlcXVlbmN5IjogIjEwcyIsCiAgICAiaW1hZ2VHQ0hpZ2hUaHJlc2hvbGRQZXJjZW50IjogODUsCiAgICAiaW1hZ2VHQ0xvd1RocmVzaG9sZFBlcmNlbnQiOiA4MCwKICAgICJjZ3JvdXBzUGVyUU9TIjogdHJ1ZSwKICAgICJtYXhQb2RzIjogMTEwLAogICAgInBvZFBpZHNMaW1pdCI6IC0xLAogICAgInJlc29sdkNvbmYiOiAiL2V0Yy9yZXNvbHYuY29uZiIsCiAgICAiZXZpY3Rpb25IYXJkIjogewogICAgICAgICJtZW1vcnkuYXZhaWxhYmxlIjogIjc1ME1pIiwKICAgICAgICAibm9kZWZzLmF2YWlsYWJsZSI6ICIxMCUiLAogICAgICAgICJub2RlZnMuaW5vZGVzRnJlZSI6ICI1JSIKICAgIH0sCiAgICAicHJvdGVjdEtlcm5lbERlZmF1bHRzIjogdHJ1ZSwKICAgICJmZWF0dXJlR2F0ZXMiOiB7CiAgICAgICAgIkR5bmFtaWNLdWJlbGV0Q29uZmlnIjogZmFsc2UsCiAgICAgICAgIlBvZFByaW9yaXR5IjogdHJ1ZSwKICAgICAgICAiUm90YXRlS3ViZWxldFNlcnZlckNlcnRpZmljYXRlIjogdHJ1ZSwKICAgICAgICAiYSI6IGZhbHNlLAogICAgICAgICJ4IjogZmFsc2UKICAgIH0sCiAgICAiY29udGFpbmVyTG9nTWF4U2l6ZSI6ICI1ME0iLAogICAgInN5c3RlbVJlc2VydmVkIjogewogICAgICAgICJjcHUiOiAiMiIsCiAgICAgICAgIm1lbW9yeSI6ICIxR2kiCiAgICB9LAogICAgImt1YmVSZXNlcnZlZCI6IHsKICAgICAgICAiY3B1IjogIjEwMG0iLAogICAgICAgICJtZW1vcnkiOiAiMTYzOE1pIgogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICJwb2RzIgogICAgXQp9" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--address=0.0.0.0 --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --container-log-max-size=50M --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=DynamicKubeletConfig=false,PodPriority=true,RotateKubeletServerCertificate=true,a=false,x=false --image-gc-high-threshold=85 --image-gc-low-threshold=80 --kube-reserved=cpu=100m,memory=1638Mi --max-pods=110 --node-status-update-frequency=10s --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --read-only-port=10255 --resolv-conf=/etc/resolv.conf --rotate-certificates=true --streaming-connection-idle-timeout=4h0m0s --system-reserved=cpu=2,memory=1Gi --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key " NETWORK_POLICY="" KUBELET_IMAGE="hyperkube-amd64:v1.15.7" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICJvc3Mva3ViZXJuZXRlcy9wYXVzZToxLjMuMSIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZF0KICAgIGRlZmF1bHRfcnVudGltZV9uYW1lID0gInJ1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy5ydW5jXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuYy5vcHRpb25zXQogICAgICBCaW5hcnlOYW1lID0gIi91c3IvYmluL3J1bmMiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWRdCiAgICAgIHJ1bnRpbWVfdHlwZSA9ICJpby5jb250YWluZXJkLnJ1bmMudjIiCiAgICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIuY29udGFpbmVyZC5ydW50aW1lcy51bnRydXN0ZWQub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5yZWdpc3RyeS5oZWFkZXJzXQogICAgWC1NZXRhLVNvdXJjZS1DbGllbnQgPSBbImF6dXJlL2FrcyJdClttZXRyaWNzXQogIGFkZHJlc3MgPSAiMC4wLjAuMDoxMDI1NyIK" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/RawUbuntu/CustomData b/pkg/agent/testdata/RawUbuntu/CustomData index f69b8a44b1d..b77cf57b3db 100644 --- a/pkg/agent/testdata/RawUbuntu/CustomData +++ b/pkg/agent/testdata/RawUbuntu/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RZ/3Obxrb/XX/FKZfUUq8RQrJdxx7SYmktM5aAB8hJnpvHYFhJ1BJQWLnJtfW/v1lYvllymqRvOnm+c6eI89mz53zOlz1s/vWDeBeE4p2bLlvINB3rvWWj6dCeOJatmLZzqagT+Qgy2XCiz0aOqqm2Y6tTpM9s+TiXXKoT5LxV7OFVKTnJJVf6ZOS8VSaqNnunjJFmyz/nAhNNkGKhPYDTHKAYtqNqlq1MJqXS17lopA+vkbkj7fca4pH+VpvoyqiSSw35NXq/B9NvYKgRFFeKBw1xjaM+I2mqX7zPlk1Uq+Kpz4iaWs7YGL+w9UlNw45vjLahrtmKqiFztAthxJkzbbgrZNRdn1oUoKnauJQNepVsx6oBI+16doFoWmi67VzqM20kDxhV6nS8Z9mgWjZBdp2pwVEzitOxY8xqpg6Od1wd2vtwJ7s4U6U27kJfZi9L3ZpTjMShpu46dSSVUTRMfeSM0MUeUH8XZFyPHWU0YtXEqMlLrWZJJjwtkmBkmPoFYm9Z9PSZfUHNpI5ouei4FjzFUB0LmTfIrAOkvYCRZjkTXb+eGQzW3wtT/ntmol1wEV3FVvYn80mvhnheRSdSTfg8U0+YITdXo+fBOdnNjJ2Nf+7VqmBXynYezixbnzoWUszhlTPSp4qqWblvp0zB2Jjtrj8d1ISmeoNMq57ap0e74uf+nR7XMOhGHSLHmMzGqtZQdFKBVO1Sd0x96gx105wZNhrJpyyfrfG7F/d53dvF1HZ4LVVtdqSokyo6r2sNeGaMFBtVIpaHQwvR5L5RLVXXHGtoqoadxclEyqjSJPV6tU1oP5wZY1MZoRqiZoYxM8cs4aVevywSWtEmomGQpR7jf6hajmJZ6lhzTF23HeOtLEnSjizLHwOZU9WilsqSxNQaStZ7hrrxPgPJklTXbBiT946hWNZb3cyK7VIdy5J03Czc8hDQWVlIUtGS8j60kz6S9HMDoBvIVGzKITJN3ZQlqWg/trlH+BpaOVlZUVq2Mrx2xsh2FHPq2Po10mSpOAOfQzRkv9XNa+bLLFcsS8WR+BxuzS40ZDuGiS7Vd7JET8WyKC9m6mRU2EQPtpyUt4rhDE1E0yUnozhW6hJVs2aXl+pQRVqWEdeOZShDJEv0mMnQNpogQzftWmkj05Slos9V8iLhc3HhiGmrl8qQHjgmUqb0mCv0yFLR4/aAmDJZoq0tn1xs26BJ/u69M1QobzfItGWpaGysMqgImbYlSyfldMHMttCQkmpPLOdC123LNhWjPA/ROzQs6r7MjpMiwCPVulAmyFENW7mYIEuWaFvLe6Y5s2yqYTe5iuY2Ui26yrGsK1n6uR46E1FLHBP910w10UjuFwWq6VlJKGNksV7bLyrT0hTDutLLXlCfeXqF8mpsnCrWNZNCq6VbMt9Oo4SAkICIiSf+JCR4hd0UwxMs3D/v4WDtEm/Z5nuHIP5PWx05E/UayW0vSnCUdp7Ukdzu/tTp8OIhuB14hDgJQgIk2sQxTtrubf8DuLeDD51zwB8DAtuDTku3HNruaIZ/3e5slfP1m8ITkAQEHw64g05rdjHT7JmjW46mTJHM5b+51lQx6bFVCdgLrsXGK1ncpIm4ijx3lc3l95s77JFVK281uZS+9yPvHict/DGm3mVHyY3M8Y/VwVMwcCZvuQYOWXZ9l/Ah8AO3pd2oI1UpWlrBXr972u0JUuvZa6krDbqSIBWryvOYnro0HUskN+iedHulAcUuuYXqVBkjx7pSCsvLF3Wj962xlXHp7c1W4B9fUPxZLTK39pLuOvCSKI3mpOtFa9G9T+n/hUW8KZfSXpyfw3m/GU5HMueRBJJNCIIQJ8FDsMIL7IMgJGsQhBATYRmlBAThz4AshTCFOPDPxDiJPFESw1SMAwpeRxuaVJ9iLN8FoX+YJp4sRjERF/Hm0E+JLK7D/EcUkyAKUzmhuM+tdL0MWK0uXjQ0lK6xuO54l6fXPgdDTGTmWxz47PEBCrPPCpPLl8yAs7o1GVFci575Q2V4hZyRasrig5uInustsejSdYm3DB5wKrbo+a1o9MCogZMoIhSXL2ihG6TZdEYdj7OWX+hbRQvR/c8mweK0jLNCf3fRR4LDlFrTHW5SEq0tLwliIuIHHJJUbA1n5oTO28bMlkWyjkVvk6ycB5zcRSnuRhvSaiWYJJ+8te8Ec2fuBqtNgtsdeGwBAFBZgFOZl87hTzcgTrrCOJb5/jmQYI2jDZH5wTmky2BO4Mcfnz1kKuZRAgEEIfDtFP8BEvBMaecc/CiD0D+mDvjigeMff91yVNddgt17eHqC30p0MIdb4AMQ8B+lPvhwDmSJwxJE/7C3jAB9xN6GYB9+4/hff+PoQrpLet6AJphskhCk8iVepbiByJwHviKilM6D7NGPwnzFX2y73Ue6E0ZOSlySfg/sU/L/Lvf/V4TW2Fpg4hA3uXNXq5Il4ibO55jK4RlTm2Ql80dVhDj+sbZ6WxDOvUBdDfuMPjcBgfxnnkHobl9CXU3bN9JXBOukB7SsQZin1uQB+Ow5qox5A3ytD0D/zY9SQw816xb4X+AHGXrwYZ8x9M9zSUNRA8AC9s2RzfrSPFhVvSd784UlQBfGLlnK/BGL8nEjynVdfxnmOrgZ59tbEObAF7vBhw9loPfHuK7qbwa5LM29oS5NosGlUxzGzaC/EX38IIab1ep7CX0GmEdJM+qfCXgV5EEGjd0H7LOBITscvVW08YUgDIhAsWk3Q2TYRYJjEC7/oMlQ6NlywGcIGkQWiN7XdM1S6cG/kH55UIvC57Pin2iaGZLOOgFwIjVP9LnKwKo4KpvfvGF0tLat9FNK8NojNHlT4ibk684kSB+80F3jotl+6ylUmgG+i9dRSD97Itf/kgXMbuCZKf/AYVbuTU/xTVptLQhhJMTuAicgNMvv92iThO6KLhI25YJvKqcqZCmJ4v938aJG/5PB+mpW/SB1776sUX1XxDK7v09u8w5DXfk6Xv8umVnBCTlJ3w8hDzihn3LOghRpRnBKv4Ta2cXNHA5epb+FB8Dxv3LwBOxK6AaeYIldH4QQpA4HsgwcL3GtbavKXhTSHFBC32o08502D1KvB8cw6AGf+2Oi/KLMshV7Zsn8L811ZauTmk0O3sCzD1deEnJsdxUtWhXBzQ1ACDGdQ57RzMY4Cbxos/IhjAjcYcgsxj7X2hsJRm0whx9gz9cWSH3qaf+45gwO80qRvmj7HO3D3adKxcu21KMxyksyC0etVQfzmi2rICXCJgxICoIw36xovtJZ/olNHXSSkbopTh4CD3PPDG6eBVB4yks0xV8iM4rjOpk7ne+L1DAs08P8xusHnAyjdezWrhaKS0pF5tv5JELnVm9DQPCB+zdHJ22p04BelND+S9DbWzrhlbq3rBzKNxdbjk3tjYGPlhL2S/U1BVBfm1+PHtD/0TosSvAG8s2XwWKJU3KTl7HMt9VLSy6/QfI9tlxpOp8pEeb9z5jOPzaVbvdZX+batuVHf4a0nY7wnXG/sKPL+mxtXI/zC1tW3PR3ecPcL1+NVBMNbd18XzTa9b0fJCDEwDfE+RC+SZc+8I8Nybbs5DtVR3PopNcDNybCAhMoDGYqqHlbOX9mpm1/yjeKYjqZujHJbgGKdcy5z5wazVuR8xZAdmVMl8iUP+ZB4xqPJnitgr/gpPHj+wUIgheF82BBPRVcWrhR4uHspY/nGa786qGOrCLvPs1eF3QIEYzi+8XZmZ7fdJ6dyXUt0cqvGBM+Pb8ka/3VwZU5LZ1nR9TusXSeN032/UAJf8YDe6RaW9vWApOhMVMSb1lmmJt4S5lvb/Kxd90pDboF/pEKDw+3WUW69MfJEUc3eCZJ1vT97rdoXke5uLVzzjLp2i+kWe8JUsWcnhzVWyw1pV2Z3qlvun9P6YXderUet4oWqUMiJ793LffLM4246X2WmdW9XC7I0bRGtWxIbPsuwfDvV+mrgdZp1YDZUWcHNQz36hJe2d1XA43LWaaZUJRdcU6zXUL/5aUZ7vc0Cp2UJEG4kPk2/P4HnSWqUUgQ3GQBVEdK3HUMkLWzwqQttwPVY5y4NH9Vn0KZAXuArKtlbzip2x/sQmw3vafsQL4t5XKPIkSZnOAHvALg1HAeJevMAHe1i53iNHUXON+UHksrTLB/Bnkt7dVsBH6G7r0gt/fJDx5Lys6AL58P6/ScAV/7dVgQcgY8ezosCaA62ONhzd8z4Ksfh4VzZ8Czp8PSgwJpBP5haXbx0g787UFmeqd2OfBYy4wtvAH+cfefKLb8YzOPt126qlU1I442DA5+kDOCmjVWbym1kWFJhwonvQ9iJ/+nPcdPAjofV7Mr7ZYfs8e7yP8k8+3qYgyEK+CmmLi+S9wzIMkGc9mAGifRx0/A/cQBtyQkPhNF6eR1t3981GX/FddslRiEKXFDD//ixoHAJnO53+tLQq8v9CRWdbVi+xZXM0cqX4sBhOOpS3RSoKWI4aDrRet4Q3CXuIt0EqQEnmDtxu0Ur7BH2t2s3z5lnwttzroP4nG8GWWEqdSN1Yo7By7gOp3Obe9D98FdbTCIInBzd5VirlyZEZUjD2ppwPE1G+mHxb+u0MRApoX0y/8NAAD//z8Loi96KQAA + H4sIAAAAAAAA/9RZbXObxrd/r09xSkkt5W+EkBzXsYe0WFrLjCXgAnKS6+YyGFYStQQUVm5SW9/9zsLyZMlpkt7p5KrTCez57dnzfA7rH38Qb4NQvHXTZQuZpmO9t2w0HdoTx7IV03YuFHUiH0FGG0702chRNdV2bHWK9Jktv8opF+oEOW8Ve3hZUo5zyqU+GTlvlYmqzd4pY6TZ8s85wUQTpFhoD+AkByiG7aiaZSuTScn0dU4a6cMrZO5Q+70GeaS/1Sa6MqroUoN+hd7vwfQbGCoExZXkQYNcs1GfGWmqn7/Ptk1Uq7JTnxlqajljY/zM0cc1Dju6MbMNdc1WVA2Zo10IM5w504a7RGa6qxOLAjRVG5e0Qa+i7Ug1YEa7mp0jGhaabjsX+kwbyQNmKnU63rNtUG2bILtuqcFR04vTsWPMaqIOXu2oOrT34Y53caZKZdyFPm+9LHRrSjEjDjV1V6kjqfSiYeojZ4TO94D6uyDjauwooxHLJmaaPNVqkmTEkyIIRoapnyO2yrynz+xzKiZVRMtJr2rOUwzVsZB5jcw6QNoLGGmWM9H1q5nBYP29MOW/ZybaBRfeVWxlfzAf92qIp1l0LNWITyP1mAlyfTl66pzj3cjYOfjnXi0Ldqns5OHMsvWpYyHFHF46I32qqJqV63bCGIyN2e7+k0GNaKrXyLTqoX1ytEt+qt/JqxoGXatD5BiT2VjVGoyOK5CqXeiOqU+doW6aM8NGI/mExbM1fvfsOa97u5jaCa+lqsyOFHVSeed1rQDPjJFio4rE4nBoIRrc16ql6ppjDU3VsDM/mUgZVZykXq92CK2HM2NsKiNUQ9TEMGbmmAW81OuXSUIz2kTUDbLUY/YfqpajWJY61hxT123HeCtLkrRDy+LHQOZUtaiksiQxtoaS1Z6hbrzPQLIk1TkbxuS9YyiW9VY3s2S7UMeyJL1qJm7ZBHSWFpJUlKS8Du2EjyT93ADoBjIVm9oQmaZuypJUlB/b3EN8Da3cWFlSWrYyvHLGyHYUc+rY+hXSZKnogU8hGrLf6uYV02WWM5aloiU+hVuzcw3ZjmGiC/WdLNGuWCbl+UydjAqZaGPLjfJWMZyhiWi45MYo2kqdomrW7OJCHapIyyLiyrEMZYhkibaZDG2jCTJ0066lNjJNWSrqXEUvAj4nF4qYtnqhDGnDMZEypW2u4CNLRY3bA2LMZImWtnxysW2DBvm7985QoXa7RqYtS0VhY5lBSci0LVk6LqcLJraFhtSo9sRyznXdtmxTMcp+iN6hYZH3ZXQcFw4eqda5MkGOatjK+QRZskTLWl4zzZllUw67wVUUt5Fq0V2OZV3K0s9115mISuKY6L9mqolGcr9IUE3PUkIZI4vV2n6RmZamGNalXtaC+szTK5gbpnpNibR70GZHfdIvkrVOrDut3zsqgqecOqeKdcWYQ6ulWzLfTqOEgJCAiIknvhQSvMJuiuERFu6fd3Cwdom3bPO9QxD/p62OnIl6heS2FyU4SjuP6khud192Orx4CG4HHiBOgpAAiTZxjJO2e9P/AO7N4EPnDPDHgMD2oNPSLYdWS5ogX3c62+V8/aHwCCQBwYcD7qDTmp3PNHvm6JajKVMkc/k715oqJu16FYEtcC02ncniJk3EVeS5q2ysv9vcYo+sWnmlyql03Y+8O5y08MeYapd1omuZ4x+qvlVY4FTecg0csuz6KeF94AduS7tWR6pSVMTCev3uSbcnSK0ny1JXGnQlQSp2le2cNm0azSWSG3SPu71SgOKUXEJ1qoyRY10qheTlQl3ofXtsZVxqe70V+IdnGH+Wi8ytvaS7DrwkSqM56XrRWnTvUvq/sIg35VZayvM2nkf+cDqSOY8kkGxCEIQ4Ce6DFV5gHwQhWYMghJgIyyglIAh/BmQphCnEgX8qxknkiZIYpmIcUPA62tCg+hRj+TYI/cM08WQxiom4iDeHfkpkcR3mL1FMgihM5YTiPrfT9TJgtbtYaHAoVWN+3dEuD699CoaYyEy3OPDZ4z0UYp8WIpeLTIDTujSZobgWHRmGyvASOSPVlMV7NxE911ti0aX7Em8Z3ONUbNH2r2i039TASRQRiss3tNA10mw64o7HWcco+K2ihej+tUmwOC39rND3LvpIcJhSabrDTUqiteUlQUxEfI9Dkoqt4cyc0HHdmNmySNax6G2SlXOPk9soxd1oQ1qtBJPkk7f2nWDuzN1gtUlwuwMPLQAASgtwKvPSGfzpBsRJVxjHMt8/AxKscbQhMj84g3QZzAn89NOTh4zFPEoggCAEvp3iP0ACnjHtnIEfZRD6Y+yALx44/uHXLUd53SbYvYPHR/itRAdzuAE+AAH/UfKDD2dAljgsQfSHvWUE6CP2NgT78BvH//obRzfSU9KzBjTBZJOEIJWLeJXiBiJTHvjKECV1HmSPfhTmO/7m2O0+ozth5KTEJen3YH1q/H9q+/8rg9astcDEIW5y665WpZWImzifs1QOzyy1SVYyf1R5iOMfaru3hcG5Z0xXwz4xn5uAQP6aZxB62peYrsbtG81XOOu4BzStQZin1uQe+Ow5qoR5A3ytDkD/zU9Sgw8V6wb4X+AHGXrwYZ8w9Oe5pMGoAWAO+2bPZnVpHqyq2pOtfGEK0I2xS5Yyf8S8/Krh5Tqvv3VzHdz0880NCHPgi9Pgw4fS0ft9XGf1D51cpuZeV5ciUefSKQ7jptPfiD6+F8PNavW9uD4DzKOk6fXPOLxy8iCDxu499tnAkDVHbxVtfCEIAyJQbNrNEBl2keAYhIs/aDAUfLYc8BmCOpE5ovc1VbNkevAj0i8Oal74fFT8G0UzQ9JZJwBOpOKJPlcJWCVHJfObN8wcrW0r/ZQSvPYIDd6UuAn5up4E6b0XumtcFNtv7UKlGOC7eB2F9LMncv0v2cDkBp6J8i80s/Js2sU3aXW0IISRELsLnIDQTL/fo00Suiu6SdiUG74pnSqXpSSK/9/5iwr9bzrrq63qB6l7+2WF6rsyLJP7+7RtXmGoKl9n139qzCzhhNxI349B7nFCP+WcBSnCjOCUfgm1s4ubORy8SH8LD4Djf+XgEdiV0DU8whK7PgghSB0OZBk4XuJa21YVvSikMaCEvtUo5jtlHqReD17BoAd8ro+J8ns2y1bsmSXzvzT3laVOahY5eANPPlx5Scix3VW0aFUGbh4AQojpHPLEzGyMk8CLNisfwojALYZMYuxzrb2eYKYN5vAD7PnaAqlPNe2/qimDwzxTpC86Pkf7cPupYvG8LHVvjPKUzNxRK9XBvCbLKkiJsAkDkoIgzDcrGq90ln9kUwedZKRuipP7wMPcE4GbvQAKTXmJhvhzxoziuG7Mncr3RWwYlvFheuP1PU6G0Tp2a1cLxSWlIvPtfBKhc6u3ISD4wP2Ho5O21GlAz0to/znozQ2d8EreW5YO5cr5lmNTe2Pgo6mE/ZJ9jQHU9+bXowf0P5qHRQpeQ374MlgscUqu8zSW+bZ6YcnlN0h+xpYrReczJsK8/xnR+Ycm0+0+6ctY27b86M+QltMRvjXuFnZ0UZ+tjatxfmHLkpu+lzfM/XJppJpoaOvm+6LQru/8IAEhBr5BzofwTbr0gX9oULZlJd/JOhpDx70euDERFphAITBjQcXbyvkzE237Mj8oiulk6sYkuwUo9jHlPtM1mrciZy2A7MqYbpGp/ZgGjWs8GuC1DP6CTuPHdwsQBC8K58GCaiq4NHGjxMPZoo/nGa786qGKrCLvLs2WC3MIEYziu8XpqZ7fdJ6eynUu0cqvLCZ8enpJ1vq7xpUpLZ1lLWq3LZ3lRZN9P1CDP7EDe6RcW9vWApOhMVMSb1lGmJt4S5lvb/Kxd90pBboB/oESDw+3WUa69OX4iKMHPKEka7q++y2a51FObu30WUZd+wU1qz1BqpjT46N6iaWitCvRO/VD958pPXNar1bjVtEidUjk5Peu5Xl5pBE3vcsis7qXywk5muaolg2Jbd8lGP7zIn0x0DqtGjBrdXZQw3AvLuCF3X0x0LjcyjQSirQr+jQ7JfSf35rhfk+j0ElJEoQLmW/D73/QWaIahQTBTRZAeaTEXccAWTkrRNpyO1A9xolL41f1KZQJsAfIqlq2wknd/mAXYrvpHbUO5MdSW+5hhKglJ/gerwA4NZxHyToTwF3tYqc4Td0Fzg+lbWmFCfZPgX/5DF8j8DNs7xm6vY9+8FAa7BT48vmwbpxT4Gtvh4U5ToFnT4el+pQHezysaXsKfPVyWKh2Cjx7Oiw1KJBG4B+WYheLduBvDzLRO7WrgYdaXGzhDfAPu3+g2PIPzSjedumuVlWKOFouOPhBzgzUzLB6QakNDEs6UjjpXRA7+R/2HD8J6HRcTa60Vn7MHm8j/5PMt6trMRAugZti4voucU+BJBvMZeNpnEQfPwH3kgNuSUh8KorS8etu/9VRl/0rrtkuMQhT4oYe/sWNA4HN5XK/15eEXl/oSSznaqn2LapmilS6FuMHx1OV6JxAExHDQdeL1vGG4C5xF+kkSAk8wtqN2yleYY+0u1m1fcw+FtqcdRfE43gzygymUjVWK+4MuIDrdDo3vQ/de3e1wSCKwM3dVYq5cmdmqBx5UAsDjq/JSD8rfrxEEwOZFtIv/jcAAP//BO+b6bcpAAA= @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/RawUbuntu/line40.sh b/pkg/agent/testdata/RawUbuntu/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/RawUbuntu/line40.sh +++ b/pkg/agent/testdata/RawUbuntu/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/RawUbuntu/line9.sh b/pkg/agent/testdata/RawUbuntu/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/RawUbuntu/line9.sh +++ b/pkg/agent/testdata/RawUbuntu/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/agent/testdata/RawUbuntuContainerd/CSECommand b/pkg/agent/testdata/RawUbuntuContainerd/CSECommand index 6a6a04d788a..b79c8cb7917 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/CSECommand +++ b/pkg/agent/testdata/RawUbuntuContainerd/CSECommand @@ -1 +1 @@ -PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.1 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.1 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file +PROVISION_OUTPUT="/var/log/azure/cluster-provision-cse-output.log"; echo $(date),$(hostname) > ${PROVISION_OUTPUT}; cloud-init status --wait > /dev/null 2>&1; [ $? -ne 0 ] && echo 'cloud-init failed' >> ${PROVISION_OUTPUT} && exit 1; echo "cloud-init succeeded" >> ${PROVISION_OUTPUT}; ADMINUSER=azureuser MOBY_VERSION= TENANT_ID=tenantID KUBERNETES_VERSION=1.19.1 HYPERKUBE_URL=k8s.gcr.io/hyperkube-amd64:v1.19.1 KUBE_BINARY_URL= CUSTOM_KUBE_BINARY_URL= PRIVATE_KUBE_BINARY_URL="" KUBEPROXY_URL= APISERVER_PUBLIC_KEY= SUBSCRIPTION_ID=subID RESOURCE_GROUP=resourceGroupName LOCATION=southcentralus VM_TYPE=vmss SUBNET=subnet1 NETWORK_SECURITY_GROUP=aks-agentpool-36873793-nsg VIRTUAL_NETWORK=aks-vnet-07752737 VIRTUAL_NETWORK_RESOURCE_GROUP=MC_rg ROUTE_TABLE=aks-agentpool-36873793-routetable PRIMARY_AVAILABILITY_SET= PRIMARY_SCALE_SET=aks-agent2-36873793-vmss SERVICE_PRINCIPAL_CLIENT_ID=ClientID NETWORK_PLUGIN= NETWORK_POLICY= VNET_CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/azure-cni/v1.1.3/binaries/azure-vnet-cni-linux-amd64-v1.1.3.tgz CNI_PLUGINS_URL=https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-v0.7.6.tgz CLOUDPROVIDER_BACKOFF= CLOUDPROVIDER_BACKOFF_MODE= CLOUDPROVIDER_BACKOFF_RETRIES=0 CLOUDPROVIDER_BACKOFF_EXPONENT=0 CLOUDPROVIDER_BACKOFF_DURATION=0 CLOUDPROVIDER_BACKOFF_JITTER=0 CLOUDPROVIDER_RATELIMIT= CLOUDPROVIDER_RATELIMIT_QPS=0 CLOUDPROVIDER_RATELIMIT_QPS_WRITE=0 CLOUDPROVIDER_RATELIMIT_BUCKET=0 CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=0 LOAD_BALANCER_DISABLE_OUTBOUND_SNAT= USE_MANAGED_IDENTITY_EXTENSION=false USE_INSTANCE_METADATA=false LOAD_BALANCER_SKU= EXCLUDE_MASTER_FROM_STANDARD_LB=true MAXIMUM_LOADBALANCER_RULE_COUNT=0 CONTAINER_RUNTIME=containerd CLI_TOOL=ctr CONTAINERD_DOWNLOAD_URL_BASE=https://storage.googleapis.com/cri-containerd-release/ NETWORK_MODE= KUBE_BINARY_URL= USER_ASSIGNED_IDENTITY_ID=userAssignedID API_SERVER_NAME= IS_VHD=false GPU_NODE=false SGX_NODE=false MIG_NODE=false CONFIG_GPU_DRIVER_IF_NEEDED=true ENABLE_GPU_DEVICE_PLUGIN_IF_NEEDED=false TELEPORTD_PLUGIN_DOWNLOAD_URL= CONTAINERD_VERSION= CONTAINERD_PACKAGE_URL= RUNC_VERSION= RUNC_PACKAGE_URL= ENABLE_HOSTS_CONFIG_AGENT="false" DISABLE_SSH="false" NEEDS_CONTAINERD="true" TELEPORT_ENABLED="false" SHOULD_CONFIGURE_HTTP_PROXY="false" SHOULD_CONFIGURE_HTTP_PROXY_CA="false" HTTP_PROXY_TRUSTED_CA="" SHOULD_CONFIGURE_CUSTOM_CA_TRUST="false" CUSTOM_CA_TRUST_COUNT="0" IS_KRUSTLET="false" GPU_NEEDS_FABRIC_MANAGER="false" NEEDS_DOCKER_LOGIN="false" IPV6_DUAL_STACK_ENABLED="false" OUTBOUND_COMMAND="curl -v --insecure --proxy-insecure https://mcr.microsoft.com/v2/" ENABLE_UNATTENDED_UPGRADES="true" ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE="false" SHOULD_CONFIG_SWAP_FILE="false" SHOULD_CONFIG_TRANSPARENT_HUGE_PAGE="false" SHOULD_CONFIG_CONTAINERD_ULIMITS="false" CONTAINERD_ULIMITS="" TARGET_CLOUD="AzurePublicCloud" TARGET_ENVIRONMENT="AzurePublicCloud" CUSTOM_ENV_JSON="" IS_CUSTOM_CLOUD="false" CSE_HELPERS_FILEPATH="/opt/azure/containers/provision_source.sh" CSE_DISTRO_HELPERS_FILEPATH="/opt/azure/containers/provision_source_distro.sh" CSE_INSTALL_FILEPATH="/opt/azure/containers/provision_installs.sh" CSE_DISTRO_INSTALL_FILEPATH="/opt/azure/containers/provision_installs_distro.sh" CSE_CONFIG_FILEPATH="/opt/azure/containers/provision_configs.sh" AZURE_PRIVATE_REGISTRY_SERVER="" HAS_CUSTOM_SEARCH_DOMAIN="false" CUSTOM_SEARCH_DOMAIN_FILEPATH="/opt/azure/containers/setup-custom-search-domains.sh" HTTP_PROXY_URLS="" HTTPS_PROXY_URLS="" NO_PROXY_URLS="" PROXY_VARS="" ENABLE_TLS_BOOTSTRAPPING="false" ENABLE_SECURE_TLS_BOOTSTRAPPING="false" CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="" DHCPV6_SERVICE_FILEPATH="/etc/systemd/system/dhcpv6.service" DHCPV6_CONFIG_FILEPATH="/opt/azure/containers/enable-dhcpv6.sh" THP_ENABLED="" THP_DEFRAG="" SERVICE_PRINCIPAL_FILE_CONTENT="U2VjcmV0" KUBELET_CLIENT_CONTENT="" KUBELET_CLIENT_CERT_CONTENT="" KUBELET_CONFIG_FILE_ENABLED="false" KUBELET_CONFIG_FILE_CONTENT="ewogICAgImtpbmQiOiAiS3ViZWxldENvbmZpZ3VyYXRpb24iLAogICAgImFwaVZlcnNpb24iOiAia3ViZWxldC5jb25maWcuazhzLmlvL3YxYmV0YTEiLAogICAgInRsc0NpcGhlclN1aXRlcyI6IFsKICAgICAgICAiIgogICAgXSwKICAgICJhdXRoZW50aWNhdGlvbiI6IHsKICAgICAgICAieDUwOSI6IHt9LAogICAgICAgICJ3ZWJob29rIjoge30sCiAgICAgICAgImFub255bW91cyI6IHt9CiAgICB9LAogICAgImF1dGhvcml6YXRpb24iOiB7CiAgICAgICAgIndlYmhvb2siOiB7fQogICAgfSwKICAgICJjbHVzdGVyRE5TIjogWwogICAgICAgICIiCiAgICBdLAogICAgImZlYXR1cmVHYXRlcyI6IHsKICAgICAgICAiRHluYW1pY0t1YmVsZXRDb25maWciOiBmYWxzZQogICAgfSwKICAgICJlbmZvcmNlTm9kZUFsbG9jYXRhYmxlIjogWwogICAgICAgICIiCiAgICBdCn0=" SWAP_FILE_SIZE_MB="0" GPU_DRIVER_VERSION="cuda-535.54.03" GPU_IMAGE_SHA="sha-ff213d" GPU_INSTANCE_PROFILE="" CUSTOM_SEARCH_DOMAIN_NAME="" CUSTOM_SEARCH_REALM_USER="" CUSTOM_SEARCH_REALM_PASSWORD="" MESSAGE_OF_THE_DAY="" HAS_KUBELET_DISK_TYPE="false" NEEDS_CGROUPV2="false" TLS_BOOTSTRAP_TOKEN="" KUBELET_FLAGS="--feature-gates=DynamicKubeletConfig=false " NETWORK_POLICY="" KUBELET_NODE_LABELS="agentpool=agent2,kubernetes.azure.com/agentpool=agent2" AZURE_ENVIRONMENT_FILEPATH="" KUBE_CA_CRT="" KUBENET_TEMPLATE="CnsKICAgICJjbmlWZXJzaW9uIjogIjAuMy4xIiwKICAgICJuYW1lIjogImt1YmVuZXQiLAogICAgInBsdWdpbnMiOiBbewogICAgInR5cGUiOiAiYnJpZGdlIiwKICAgICJicmlkZ2UiOiAiY2JyMCIsCiAgICAibXR1IjogMTUwMCwKICAgICJhZGRJZiI6ICJldGgwIiwKICAgICJpc0dhdGV3YXkiOiB0cnVlLAogICAgImlwTWFzcSI6IGZhbHNlLAogICAgInByb21pc2NNb2RlIjogdHJ1ZSwKICAgICJoYWlycGluTW9kZSI6IGZhbHNlLAogICAgImlwYW0iOiB7CiAgICAgICAgInR5cGUiOiAiaG9zdC1sb2NhbCIsCiAgICAgICAgInJhbmdlcyI6IFt7e3JhbmdlICRpLCAkcmFuZ2UgOj0gLlBvZENJRFJSYW5nZXN9fXt7aWYgJGl9fSwge3tlbmR9fVt7InN1Ym5ldCI6ICJ7eyRyYW5nZX19In1de3tlbmR9fV0sCiAgICAgICAgInJvdXRlcyI6IFt7e3JhbmdlICRpLCAkcm91dGUgOj0gLlJvdXRlc319e3tpZiAkaX19LCB7e2VuZH19eyJkc3QiOiAie3skcm91dGV9fSJ9e3tlbmR9fV0KICAgIH0KICAgIH0sCiAgICB7CiAgICAidHlwZSI6ICJwb3J0bWFwIiwKICAgICJjYXBhYmlsaXRpZXMiOiB7InBvcnRNYXBwaW5ncyI6IHRydWV9LAogICAgImV4dGVybmFsU2V0TWFya0NoYWluIjogIktVQkUtTUFSSy1NQVNRIgogICAgfV0KfQo=" CONTAINERD_CONFIG_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" CONTAINERD_CONFIG_NO_GPU_CONTENT="dmVyc2lvbiA9IDIKb29tX3Njb3JlID0gMApbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSJdCiAgc2FuZGJveF9pbWFnZSA9ICIiCiAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmRdCiAgICBkZWZhdWx0X3J1bnRpbWVfbmFtZSA9ICJydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMucnVuY10KICAgICAgcnVudGltZV90eXBlID0gImlvLmNvbnRhaW5lcmQucnVuYy52MiIKICAgIFtwbHVnaW5zLiJpby5jb250YWluZXJkLmdycGMudjEuY3JpIi5jb250YWluZXJkLnJ1bnRpbWVzLnJ1bmMub3B0aW9uc10KICAgICAgQmluYXJ5TmFtZSA9ICIvdXNyL2Jpbi9ydW5jIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkXQogICAgICBydW50aW1lX3R5cGUgPSAiaW8uY29udGFpbmVyZC5ydW5jLnYyIgogICAgW3BsdWdpbnMuImlvLmNvbnRhaW5lcmQuZ3JwYy52MS5jcmkiLmNvbnRhaW5lcmQucnVudGltZXMudW50cnVzdGVkLm9wdGlvbnNdCiAgICAgIEJpbmFyeU5hbWUgPSAiL3Vzci9iaW4vcnVuYyIKICBbcGx1Z2lucy4iaW8uY29udGFpbmVyZC5ncnBjLnYxLmNyaSIucmVnaXN0cnkuaGVhZGVyc10KICAgIFgtTWV0YS1Tb3VyY2UtQ2xpZW50ID0gWyJhenVyZS9ha3MiXQpbbWV0cmljc10KICBhZGRyZXNzID0gIjAuMC4wLjA6MTAyNTciCg==" IS_KATA="false" ARTIFACT_STREAMING_ENABLED="false" SYSCTL_CONTENT="IyBUaGlzIGlzIGEgcGFydGlhbCB3b3JrYXJvdW5kIHRvIHRoaXMgdXBzdHJlYW0gS3ViZXJuZXRlcyBpc3N1ZToKIyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2lzc3Vlcy80MTkxNiNpc3N1ZWNvbW1lbnQtMzEyNDI4NzMxCm5ldC5pcHY0LnRjcF9yZXRyaWVzMj04Cm5ldC5jb3JlLm1lc3NhZ2VfYnVyc3Q9ODAKbmV0LmNvcmUubWVzc2FnZV9jb3N0PTQwCm5ldC5jb3JlLnNvbWF4Y29ubj0xNjM4NApuZXQuaXB2NC50Y3BfbWF4X3N5bl9iYWNrbG9nPTE2Mzg0Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMT00MDk2Cm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMj04MTkyCm5ldC5pcHY0Lm5laWdoLmRlZmF1bHQuZ2NfdGhyZXNoMz0xNjM4NAo=" PRIVATE_EGRESS_PROXY_ADDRESS="" /usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh" \ No newline at end of file diff --git a/pkg/agent/testdata/RawUbuntuContainerd/CustomData b/pkg/agent/testdata/RawUbuntuContainerd/CustomData index 65af4eedac7..11a125be6ba 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/CustomData +++ b/pkg/agent/testdata/RawUbuntuContainerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line40.sh b/pkg/agent/testdata/RawUbuntuContainerd/line40.sh index 23876a138b7..572cb225b4f 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line40.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line40.sh @@ -10,6 +10,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -224,30 +225,63 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -275,7 +309,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -399,4 +433,4 @@ datasource: apply_network_config: false EOF } -#EOF \ No newline at end of file +#EOF diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh index d916fedbf9d..12dd42e5312 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh @@ -89,6 +89,9 @@ ERR_VHD_REBOOT_REQUIRED=200 ERR_NO_PACKAGES_FOUND=201 ERR_SNAPSHOT_UPDATE_START_FAIL=202 +ERR_PRIVATE_K8S_PKG_ERR=203 +ERR_PRIVATE_K8S_INSTALL_ERR=204 + ERR_SYSTEMCTL_MASK_FAIL=2 OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -319,7 +322,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' diff --git a/pkg/templates/templates_generated.go b/pkg/templates/templates_generated.go index 427bc1b233a..9482372a49b 100644 --- a/pkg/templates/templates_generated.go +++ b/pkg/templates/templates_generated.go @@ -1585,6 +1585,7 @@ KUBERNETES_VERSION={{GetParameter "kubernetesVersion"}} HYPERKUBE_URL={{GetParameter "kubernetesHyperkubeSpec"}} KUBE_BINARY_URL={{GetParameter "kubeBinaryURL"}} CUSTOM_KUBE_BINARY_URL={{GetParameter "customKubeBinaryURL"}} +PRIVATE_KUBE_BINARY_URL="{{GetLinuxPrivatePackageURL}}" KUBEPROXY_URL={{GetParameter "kubeProxySpec"}} APISERVER_PUBLIC_KEY={{GetParameter "apiServerCertificate"}} SUBSCRIPTION_ID={{GetVariable "subscriptionId"}} @@ -2457,7 +2458,7 @@ func linuxCloudInitArtifactsCse_configSh() (*asset, error) { } var _linuxCloudInitArtifactsCse_helpersSh = []byte(`#!/bin/bash -# ERR_SYSTEMCTL_ENABLE_FAIL=3 Service could not be enabled by systemctl -- DEPRECATED +# ERR_SYSTEMCTL_ENABLE_FAIL=3 Service could not be enabled by systemctl -- DEPRECATED ERR_SYSTEMCTL_START_FAIL=4 # Service could not be started or enabled by systemctl ERR_CLOUD_INIT_TIMEOUT=5 # Timeout waiting for cloud-init runcmd to complete ERR_FILE_WATCH_TIMEOUT=6 # Timeout waiting for a file @@ -2551,6 +2552,9 @@ ERR_VHD_REBOOT_REQUIRED=200 # Reserved for VHD reboot required exit condition ERR_NO_PACKAGES_FOUND=201 # Reserved for no security packages found exit condition ERR_SNAPSHOT_UPDATE_START_FAIL=202 # snapshot-update could not be started by systemctl +ERR_PRIVATE_K8S_PKG_ERR=203 # Error downloading (at build-time) or extracting (at run-time) private kubernetes packages +ERR_PRIVATE_K8S_INSTALL_ERR=204 # Error installing kubernetes binaries on disk + ERR_SYSTEMCTL_MASK_FAIL=2 # Service could not be masked by systemctl OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') @@ -2723,7 +2727,7 @@ systemctlDisableAndStop() { fi } -# return true if a >= b +# return true if a >= b semverCompare() { VERSION_A=$(echo $1 | cut -d "+" -f 1) VERSION_B=$(echo $2 | cut -d "+" -f 1) @@ -2792,7 +2796,7 @@ logs_to_events() { --arg Version "1.23" \ --arg TaskName "${task}" \ --arg EventLevel "Informational" \ - --arg Message "Completed: ${@}" \ + --arg Message "Completed: $*" \ --arg EventPid "0" \ --arg EventTid "0" \ '{Timestamp: $Timestamp, OperationId: $OperationId, Version: $Version, TaskName: $TaskName, EventLevel: $EventLevel, Message: $Message, EventPid: $EventPid, EventTid: $EventTid}' @@ -2844,6 +2848,7 @@ CRICTL_BIN_DIR="/usr/local/bin" CONTAINERD_DOWNLOADS_DIR="/opt/containerd/downloads" RUNC_DOWNLOADS_DIR="/opt/runc/downloads" K8S_DOWNLOADS_DIR="/opt/kubernetes/downloads" +K8S_PRIVATE_PACKAGES_CACHE_DIR="/opt/kubernetes/downloads/private-packages" UBUNTU_RELEASE=$(lsb_release -r -s) SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR="/opt/azure/tlsbootstrap" SECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION="v0.1.0-alpha.2" @@ -3063,34 +3068,71 @@ installAzureCNI() { } extractKubeBinaries() { - K8S_VERSION=$1 - KUBE_BINARY_URL=$2 + local k8s_version="$1" + local kube_binary_url="$2" + local is_private_url="$3" mkdir -p ${K8S_DOWNLOADS_DIR} - K8S_TGZ_TMP=${KUBE_BINARY_URL##*/} - retrycmd_get_tarball 120 5 "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" ${KUBE_BINARY_URL} || exit $ERR_K8S_DOWNLOAD_TIMEOUT - tar --transform="s|.*|&-${K8S_VERSION}|" --show-transformed-names -xzvf "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" \ + local k8s_tgz_tmp_fn=${kube_binary_url##*/} + k8s_tgz_tmp="${K8S_DOWNLOADS_DIR}/${k8s_tgz_tmp_fn}" + + local err=$ERR_K8S_DOWNLOAD_TIMEOUT + if [[ $is_private_url == true ]]; then + k8s_tgz_tmp="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_tmp_fn}" + if [[ -f "${k8s_tgz_tmp}" ]]; then + echo "cached package ${k8s_tgz_tmp} is found, will use that" + else + echo "cached package ${k8s_tgz_tmp} not found" + return 1 + fi + + # remove the current kubelet and kubectl binaries before extracting new binaries from the cached package + rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* + err=$ERR_PRIVATE_K8S_PKG_ERR + fi + + retrycmd_get_tarball 120 5 "${k8s_tgz_tmp}" ${kube_binary_url} || exit "$err" + if [ ! -f ${k8s_tgz_tmp} ]; then + exit "$err" + fi + tar --transform="s|.*|&-${k8s_version}|" --show-transformed-names -xzvf "${k8s_tgz_tmp}" \ --strip-components=3 -C /usr/local/bin kubernetes/node/bin/kubelet kubernetes/node/bin/kubectl - rm -f "$K8S_DOWNLOADS_DIR/${K8S_TGZ_TMP}" + if [ ! -f /usr/local/bin/kubectl-${k8s_version} ] || [ ! -f /usr/local/bin/kubelet-${k8s_version} ]; then + exit $ERR_PRIVATE_K8S_INSTALL_ERR + fi + + if [[ $is_private_url == false ]]; then + rm -f "${k8s_tgz_tmp}" + fi } installKubeletKubectlAndKubeProxy() { - + # when both, custom and private urls for kubernetes packages are set, custom url will be used and private url will be ignored CUSTOM_KUBE_BINARY_DOWNLOAD_URL="${CUSTOM_KUBE_BINARY_URL:=}" + PRIVATE_KUBE_BINARY_DOWNLOAD_URL="${PRIVATE_KUBE_BINARY_URL:=}" + echo "using private url: ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL}, custom url: ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL}" + install_default_if_missing=true + if [[ ! -z ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} ]]; then - # remove the kubelet binaries to make sure the only binary left is from the CUSTOM_KUBE_BINARY_DOWNLOAD_URL + # remove the kubelet and kubectl binaries to make sure the only binary left is from the CUSTOM_KUBE_BINARY_DOWNLOAD_URL rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* # NOTE(mainred): we expect kubelet binary to be under `+"`"+`kubernetes/node/bin`+"`"+`. This suits the current setting of # kube binaries used by AKS and Kubernetes upstream. # TODO(mainred): let's see if necessary to auto-detect the path of kubelet - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${CUSTOM_KUBE_BINARY_DOWNLOAD_URL} false + install_default_if_missing=false + elif [[ ! -z ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} ]]; then + # extract new binaries from the cached package if exists (cached at build-time) + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${PRIVATE_KUBE_BINARY_DOWNLOAD_URL} true + fi - else - if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]]; then + # if the custom url is not specified and the required kubectl/kubelet-version via private url is not installed, install using the default url/package + if [[ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ]] || [[ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]]; then + if [[ "$install_default_if_missing" == true ]]; then #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released if (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} ${KUBE_BINARY_URL} false fi fi fi @@ -3118,7 +3160,7 @@ retagContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 RETAG_IMAGE_URL=$3 - echo "retaging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" + echo "retagging from ${CONTAINER_IMAGE_URL} to ${RETAG_IMAGE_URL} using ${CLI_TOOL}" if [[ ${CLI_TOOL} == "ctr" ]]; then ctr --namespace k8s.io image tag $CONTAINER_IMAGE_URL $RETAG_IMAGE_URL elif [[ ${CLI_TOOL} == "crictl" ]]; then @@ -3249,7 +3291,8 @@ datasource: apply_network_config: false EOF } -#EOF`) +#EOF +`) func linuxCloudInitArtifactsCse_installShBytes() ([]byte, error) { return _linuxCloudInitArtifactsCse_installSh, nil diff --git a/self-contained/bootstrap_cmd.sh b/self-contained/bootstrap_cmd.sh index fd5d0c80991..f4bfb0ce092 100644 --- a/self-contained/bootstrap_cmd.sh +++ b/self-contained/bootstrap_cmd.sh @@ -16,6 +16,7 @@ KUBERNETES_VERSION={{GetParameter "kubernetesVersion"}} HYPERKUBE_URL={{GetParameter "kubernetesHyperkubeSpec"}} KUBE_BINARY_URL={{GetParameter "kubeBinaryURL"}} CUSTOM_KUBE_BINARY_URL={{GetParameter "customKubeBinaryURL"}} +PRIVATE_KUBE_BINARY_URL="{{GetLinuxPrivatePackageURL}}" KUBEPROXY_URL={{GetParameter "kubeProxySpec"}} APISERVER_PUBLIC_KEY={{GetParameter "apiServerCertificate"}} SUBSCRIPTION_ID={{GetVariable "subscriptionId"}} diff --git a/vhdbuilder/packer/init-variables.sh b/vhdbuilder/packer/init-variables.sh index 823c860806a..39cb5d3de82 100755 --- a/vhdbuilder/packer/init-variables.sh +++ b/vhdbuilder/packer/init-variables.sh @@ -20,7 +20,7 @@ if [ -z "${POOL_NAME}" ]; then exit 1 fi -if [ -z "${VNET_RG_NAME}" ]; then +if [ -z "${VNET_RG_NAME}" ]; then VNET_RG_NAME="" if [[ "${POOL_NAME}" == *nodesigprod* ]]; then VNET_RG_NAME="nodesigprod-agent-pool" @@ -98,7 +98,7 @@ if [[ "${MODE}" == "linuxVhdMode" ]]; then else echo "Using provided SIG_GALLERY_NAME: ${SIG_GALLERY_NAME}" fi - + # Ensure the image-definition name if [[ -z "${SIG_IMAGE_NAME}" ]]; then SIG_IMAGE_NAME=${OS_VERSION//./} @@ -109,7 +109,7 @@ if [[ "${MODE}" == "linuxVhdMode" ]]; then if [[ "${IMG_SKU}" == *"minimal"* ]]; then SIG_IMAGE_NAME=${SIG_IMAGE_NAME}Minimal fi - + if [[ "${OS_SKU}" == "CBLMariner" ]]; then SIG_IMAGE_NAME=CBLMariner${SIG_IMAGE_NAME} fi @@ -211,6 +211,12 @@ if [ -n "${WINDOWS_MSI_RESOURCE_STRING}" ]; then windows_msi_resource_strings+=(${WINDOWS_MSI_RESOURCE_STRING}) fi +linux_msi_resource_ids=() +if [ -n "${LINUX_MSI_RESOURCE_ID}" ]; then + echo "LINUX_MSI_RESOURCE_ID is set in pipeline variables: ${LINUX_MSI_RESOURCE_ID}" + linux_msi_resource_ids+=(${LINUX_MSI_RESOURCE_ID}) +fi + # shellcheck disable=SC2236 if [ "$OS_TYPE" == "Windows" ]; then imported_windows_image_name="" @@ -320,7 +326,7 @@ if [ "$OS_TYPE" == "Windows" ]; then --hyper-v-generation $HYPERV_GENERATION \ --os-type ${OS_TYPE} - # create a gallery image definition $IMPORTED_IMAGE_NAME + # create a gallery image definition $IMPORTED_IMAGE_NAME echo "Creating new image-definition for imported image ${IMPORTED_IMAGE_NAME}" # Need to specifiy hyper-v-generation to support Gen 2 az sig image-definition create \ @@ -335,7 +341,7 @@ if [ "$OS_TYPE" == "Windows" ]; then --offer $IMPORTED_IMAGE_NAME \ --os-state generalized \ --description "Imported image for AKS Packer build" - + # create a image version defaulting to 1.0.0 for $IMPORTED_IMAGE_NAME echo "Creating new image-version for imported image ${IMPORTED_IMAGE_NAME}" az sig image-version create \ @@ -374,6 +380,13 @@ if [ "$OS_TYPE" == "Windows" ]; then fi fi +private_packages_url="" +# Set linux private packages url if the pipeline variable is set +if [ -n "${PRIVATE_PACKAGES_URL}" ]; then + echo "PRIVATE_PACKAGES_URL is set in pipeline variables: ${PRIVATE_PACKAGES_URL}" + private_packages_url="${PRIVATE_PACKAGES_URL}" +fi + cat < vhdbuilder/packer/settings.json { "subscription_id": "${SUBSCRIPTION_ID}", @@ -407,7 +420,9 @@ cat < vhdbuilder/packer/settings.json "vnet_name": "${VNET_NAME}", "subnet_name": "${SUBNET_NAME}", "vnet_resource_group_name": "${VNET_RG_NAME}", - "windows_msi_resource_strings": "${windows_msi_resource_strings}" + "windows_msi_resource_strings": "${windows_msi_resource_strings}", + "linux_msi_resource_ids": "${linux_msi_resource_ids}", + "private_packages_url": "${private_packages_url}" } EOF diff --git a/vhdbuilder/packer/install-dependencies.sh b/vhdbuilder/packer/install-dependencies.sh index 1d4cf6603a3..c0785a34fa1 100644 --- a/vhdbuilder/packer/install-dependencies.sh +++ b/vhdbuilder/packer/install-dependencies.sh @@ -23,7 +23,7 @@ echo "Logging the kernel after purge and reinstall + reboot: $(uname -r)" # fix grub issue with cvm by reinstalling before other deps # other VHDs use grub-pc, not grub-efi if [[ "${UBUNTU_RELEASE}" == "20.04" ]] && [[ "$IMG_SKU" == "20_04-lts-cvm" ]]; then - apt_get_update || exit $ERR_APT_UPDATE_TIMEOUT + apt_get_update || exit $ERR_APT_UPDATE_TIMEOUT wait_for_apt_locks apt_get_install 30 1 600 grub-efi || exit 1 fi @@ -100,7 +100,7 @@ tee "${CONTAINERD_SERVICE_DIR}/exec_start.conf" > /dev/null < /dev/null < /dev/null <>${VHD_LOGS_FILEPATH} done +# download kubernetes package from the given URL using MSI for auth for azcopy +# if it is a kube-proxy package, extract image from the downloaded package +cacheKubePackageFromPrivateUrl() { + local kube_private_binary_url="$1" + + echo "process private package url: $kube_private_binary_url" + + mkdir -p ${K8S_PRIVATE_PACKAGES_CACHE_DIR} # /opt/kubernetes/downloads/private-packages + + # save kube pkg with version number from the url path, this convention is used to find the cached package at run-time + local k8s_tgz_name + k8s_tgz_name=$(echo "$kube_private_binary_url" | grep -o -P '(?<=\/kubernetes\/).*(?=\/binaries\/)').tar.gz + + # use azcopy with MSI instead of curl to download packages + getAzCopyCurrentPath + + export AZCOPY_AUTO_LOGIN_TYPE="MSI" + export AZCOPY_MSI_RESOURCE_STRING="$LINUX_MSI_RESOURCE_IDS" + + cached_pkg="${K8S_PRIVATE_PACKAGES_CACHE_DIR}/${k8s_tgz_name}" + echo "download private package ${kube_private_binary_url} and store as ${cached_pkg}" + if ! ./azcopy copy "${kube_private_binary_url}" "${cached_pkg}"; then + exit $ERR_PRIVATE_K8S_PKG_ERR + fi +} + if [[ $OS == $UBUNTU_OS_NAME ]]; then # remove snapd, which is not used by container stack apt_get_purge 20 30 120 snapd || exit 1 @@ -413,17 +439,29 @@ if [[ $OS == $UBUNTU_OS_NAME ]]; then sed -i 's/After=network-online.target/After=multi-user.target/g' /lib/systemd/system/motd-news.service fi +# use the private_packages_url to download and cache packages +if [[ -n ${PRIVATE_PACKAGES_URL} ]]; then + IFS=',' read -ra PRIVATE_URLS <<< "${PRIVATE_PACKAGES_URL}" + + for private_url in "${PRIVATE_URLS[@]}"; do + echo "download kube package from ${private_url}" + cacheKubePackageFromPrivateUrl "$private_url" + done +fi + # kubelet and kubectl # need to cover previously supported version for VMAS scale up scenario # So keeping as many versions as we can - those unsupported version can be removed when we don't have enough space # NOTE that we only keep the latest one per k8s patch version as kubelet/kubectl is decided by VHD version # Please do not use the .1 suffix, because that's only for the base image patches -# regular version >= v1.17.0 or hotfixes >= 20211009 has arm64 binaries. +# regular version >= v1.17.0 or hotfixes >= 20211009 has arm64 binaries. KUBE_BINARY_VERSIONS="$(jq -r .kubernetes.versions[] manifest.json)" for PATCHED_KUBE_BINARY_VERSION in ${KUBE_BINARY_VERSIONS}; do KUBERNETES_VERSION=$(echo ${PATCHED_KUBE_BINARY_VERSION} | cut -d"_" -f1 | cut -d"-" -f1 | cut -d"." -f1,2,3) - extractKubeBinaries $KUBERNETES_VERSION "https://acs-mirror.azureedge.net/kubernetes/v${PATCHED_KUBE_BINARY_VERSION}/binaries/kubernetes-node-linux-${CPU_ARCH}.tar.gz" + extractKubeBinaries $KUBERNETES_VERSION "https://acs-mirror.azureedge.net/kubernetes/v${PATCHED_KUBE_BINARY_VERSION}/binaries/kubernetes-node-linux-${CPU_ARCH}.tar.gz" false done +rm -f ./azcopy # cleanup immediately after usage will return in two downloads + echo "install-dependencies step completed successfully" diff --git a/vhdbuilder/packer/vhd-image-builder-arm64-gen2.json b/vhdbuilder/packer/vhd-image-builder-arm64-gen2.json index e2341b9e0bb..0df0bb92b51 100644 --- a/vhdbuilder/packer/vhd-image-builder-arm64-gen2.json +++ b/vhdbuilder/packer/vhd-image-builder-arm64-gen2.json @@ -26,7 +26,9 @@ "img_version": "{{env `IMG_VERSION`}}", "sgx_install": "{{env `SGX_INSTALL`}}", "vnet_name": "{{env `VNET_NAME`}}", - "subnet_name": "{{env `SUBNET_NAME`}}" + "subnet_name": "{{env `SUBNET_NAME`}}", + "private_packages_url": "{{env `PRIVATE_PACKAGES_URL`}}", + "linux_msi_resource_id": "{{env `LINUX_MSI_RESOURCE_ID`}}" }, "builders": [ { @@ -58,7 +60,8 @@ "managed_image_os_disk_snapshot_name": "{{user `arm64_os_disk_snapshot_name`}}", "skip_create_image": "true", "managed_image_resource_group_name": "{{user `resource_group_name`}}", - "managed_image_name": "{{user `sig_image_name`}}-{{user `captured_sig_version`}}" + "managed_image_name": "{{user `sig_image_name`}}-{{user `captured_sig_version`}}", + "user_assigned_managed_identities": "{{user `linux_msi_resource_ids`}}" } ], "provisioners": [ @@ -559,7 +562,7 @@ { "type": "shell", "inline": [ - "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} IMG_SKU={{user `img_sku`}} /bin/bash -ux /home/packer/install-dependencies.sh" + "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} IMG_SKU={{user `img_sku`}} PRIVATE_PACKAGES_URL={{user `private_packages_url`}} LINUX_MSI_RESOURCE_IDS={{user `linux_msi_resource_ids`}} /bin/bash -ux /home/packer/install-dependencies.sh" ] }, { diff --git a/vhdbuilder/packer/vhd-image-builder-base.json b/vhdbuilder/packer/vhd-image-builder-base.json index 84cd1ae9675..52a9c166adb 100644 --- a/vhdbuilder/packer/vhd-image-builder-base.json +++ b/vhdbuilder/packer/vhd-image-builder-base.json @@ -28,7 +28,9 @@ "img_version": "{{env `IMG_VERSION`}}", "sgx_install": "{{env `SGX_INSTALL`}}", "vnet_name": "{{env `VNET_NAME`}}", - "subnet_name": "{{env `SUBNET_NAME`}}" + "subnet_name": "{{env `SUBNET_NAME`}}", + "private_packages_url": "{{env `PRIVATE_PACKAGES_URL`}}", + "linux_msi_resource_id": "{{env `LINUX_MSI_RESOURCE_ID`}}" }, "builders": [ { @@ -68,7 +70,8 @@ "replication_regions": [ "{{user `location`}}" ] - } + }, + "user_assigned_managed_identities": "{{user `linux_msi_resource_ids`}}" } ], "provisioners": [ @@ -569,7 +572,7 @@ { "type": "shell", "inline": [ - "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} IMG_SKU={{user `img_sku`}} /bin/bash -ux /home/packer/install-dependencies.sh" + "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} IMG_SKU={{user `img_sku`}} PRIVATE_PACKAGES_URL={{user `private_packages_url`}} LINUX_MSI_RESOURCE_IDS={{user `linux_msi_resource_ids`}} /bin/bash -ux /home/packer/install-dependencies.sh" ] }, { diff --git a/vhdbuilder/packer/vhd-image-builder-mariner-arm64.json b/vhdbuilder/packer/vhd-image-builder-mariner-arm64.json index ff91b7d6d66..79ff5aaae31 100644 --- a/vhdbuilder/packer/vhd-image-builder-mariner-arm64.json +++ b/vhdbuilder/packer/vhd-image-builder-mariner-arm64.json @@ -29,7 +29,9 @@ "sgx_install": "{{env `SGX_INSTALL`}}", "vnet_name": "{{env `VNET_NAME`}}", "subnet_name": "{{env `SUBNET_NAME`}}", - "enable_cgroupv2": "{{env `ENABLE_CGROUPV2`}}" + "enable_cgroupv2": "{{env `ENABLE_CGROUPV2`}}", + "private_packages_url": "{{env `PRIVATE_PACKAGES_URL`}}", + "linux_msi_resource_id": "{{env `LINUX_MSI_RESOURCE_ID`}}" }, "builders": [ { @@ -61,7 +63,8 @@ "managed_image_os_disk_snapshot_name": "{{user `arm64_os_disk_snapshot_name`}}", "managed_image_resource_group_name": "{{user `resource_group_name`}}", "managed_image_name": "{{user `sig_image_name`}}-{{user `captured_sig_version`}}", - "skip_create_image": "true" + "skip_create_image": "true", + "user_assigned_managed_identities": "{{user `linux_msi_resource_ids`}}" } ], "provisioners": [ @@ -502,7 +505,7 @@ { "type": "shell", "inline": [ - "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} ENABLE_CGROUPV2={{user `enable_cgroupv2`}} IMG_SKU={{user `img_sku`}} /bin/bash -ux /home/packer/install-dependencies.sh" + "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} ENABLE_CGROUPV2={{user `enable_cgroupv2`}} IMG_SKU={{user `img_sku`}} PRIVATE_PACKAGES_URL={{user `private_packages_url`}} LINUX_MSI_RESOURCE_IDS={{user `linux_msi_resource_ids`}} /bin/bash -ux /home/packer/install-dependencies.sh" ] }, { diff --git a/vhdbuilder/packer/vhd-image-builder-mariner.json b/vhdbuilder/packer/vhd-image-builder-mariner.json index d7ad3fbdcbd..98b46221795 100644 --- a/vhdbuilder/packer/vhd-image-builder-mariner.json +++ b/vhdbuilder/packer/vhd-image-builder-mariner.json @@ -28,7 +28,9 @@ "sgx_install": "{{env `SGX_INSTALL`}}", "vnet_name": "{{env `VNET_NAME`}}", "subnet_name": "{{env `SUBNET_NAME`}}", - "enable_cgroupv2": "{{env `ENABLE_CGROUPV2`}}" + "enable_cgroupv2": "{{env `ENABLE_CGROUPV2`}}", + "private_packages_url": "{{env `PRIVATE_PACKAGES_URL`}}", + "linux_msi_resource_id": "{{env `LINUX_MSI_RESOURCE_ID`}}" }, "builders": [ { @@ -68,7 +70,8 @@ "replication_regions": [ "{{user `location`}}" ] - } + }, + "user_assigned_managed_identities": "{{user `linux_msi_resource_ids`}}" } ], "provisioners": [ @@ -529,7 +532,7 @@ { "type": "shell", "inline": [ - "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} ENABLE_CGROUPV2={{user `enable_cgroupv2`}} IMG_SKU={{user `img_sku`}} /bin/bash -ux /home/packer/install-dependencies.sh" + "sudo FEATURE_FLAGS={{user `feature_flags`}} BUILD_NUMBER={{user `build_number`}} BUILD_ID={{user `build_id`}} COMMIT={{user `commit`}} HYPERV_GENERATION={{user `hyperv_generation`}} CONTAINER_RUNTIME={{user `container_runtime`}} TELEPORTD_PLUGIN_DOWNLOAD_URL={{user `teleportd_plugin_download_url`}} ENABLE_FIPS={{user `enable_fips`}} SGX_INSTALL={{user `sgx_install`}} ENABLE_CGROUPV2={{user `enable_cgroupv2`}} IMG_SKU={{user `img_sku`}} PRIVATE_PACKAGES_URL={{user `private_packages_url`}} LINUX_MSI_RESOURCE_IDS={{user `linux_msi_resource_ids`}} /bin/bash -ux /home/packer/install-dependencies.sh" ] }, { diff --git a/vhdbuilder/scripts/linux/tool_installs.sh b/vhdbuilder/scripts/linux/tool_installs.sh index 8ca72229c9f..300291e8095 100644 --- a/vhdbuilder/scripts/linux/tool_installs.sh +++ b/vhdbuilder/scripts/linux/tool_installs.sh @@ -1,11 +1,12 @@ #!/bin/bash -{{/* BCC/BPF-related error codes */}} +{{/* BCC/BPF-related error codes */}} ERR_IOVISOR_KEY_DOWNLOAD_TIMEOUT=168 {{/* Timeout waiting to download IOVisor repo key */}} ERR_IOVISOR_APT_KEY_TIMEOUT=169 {{/* Timeout waiting for IOVisor apt-key */}} ERR_BCC_INSTALL_TIMEOUT=170 {{/* Timeout waiting for bcc install */}} ERR_BPFTRACE_BIN_DOWNLOAD_FAIL=171 {{/* Failed to download bpftrace binary */}} ERR_BPFTRACE_TOOLS_DOWNLOAD_FAIL=172 {{/* Failed to download bpftrace default programs */}} ERR_BPFTRACE_TOOLS_INSTALL_TIMEOUT=173 {{/* Failed to install bpftrace default programs */}} +ERR_AZCOPY_TOOLS_DOWNLOAD_FAIL=174 {{/* Failed to download azcopy */}} BPFTRACE_DOWNLOADS_DIR="/opt/bpftrace/downloads" UBUNTU_CODENAME=$(lsb_release -c -s) @@ -45,4 +46,34 @@ disableSystemdIptables() { enableCgroupV2forAzureLinux() { sed -i 's/systemd.legacy_systemd_cgroup_controller=yes systemd.unified_cgroup_hierarchy=0//g' /boot/systemd.cfg +} + +# download and setup azcopy to use to download private packages with MSI auth +getAzCopyCurrentPath() { + if [[ -f ./azcopy ]]; then + echo "./azcopy already exists" + else + echo "get azcopy at \"${PWD}\"...start" + # Download and extract + local azcopyDownloadURL="https://azcopyvnext.azureedge.net/releases/release-10.22.1-20231220/azcopy_linux_amd64_10.22.1.tar.gz" + local azcopySha256="7549424d56ab2d8b4033c84c2a9bb167dc2dcbb23998acd7fffb37bc1a71a267" + if [[ $(isARM64) == 1 ]]; then + azcopyDownloadURL="https://azcopyvnext.azureedge.net/releases/release-10.22.1-20231220/azcopy_linux_arm64_10.22.1.tar.gz" + azcopySha256="4db9a4b48abc7775f1a5d6d928afc42361dcc57bbfcde23ac82e4c419a0dc8fc" + fi + + local downloadedPkg="downloadazcopy" + pkgprefix="azcopy_linux_" + + retrycmd_if_failure 30 5 60 curl -fSL -k -o "$downloadedPkg" "$azcopyDownloadURL" || exit $ERR_AZCOPY_TOOLS_DOWNLOAD_FAIL && + echo "$azcopySha256 $downloadedPkg" | sha256sum --check >/dev/null && + tar -xvf ./$downloadedPkg && + cp ./$pkgprefix*/azcopy ./azcopy && + chmod +x ./azcopy + + rm -f $downloadedPkg + rm -rf ./$pkgprefix*/ + + echo "get azcopy...done" + fi } \ No newline at end of file