Skip to content

Commit ad96213

Browse files
refactor(stls): augment secure TLS bootstrapping configuration options in NodeBootstrappingConfiguration/AKSNodeConfig (#7112)
1 parent 510bb91 commit ad96213

231 files changed

Lines changed: 1050 additions & 873 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

aks-node-controller/parser/helper.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -202,19 +202,11 @@ func getCustomCACertsStatus(customCACerts []string) bool {
202202
return len(customCACerts) > 0
203203
}
204204

205-
func getEnableSecureTLSBootstrap(bootstrapConfig *aksnodeconfigv1.BootstrappingConfig) bool {
206-
// TODO: Change logic to default to false once Secure TLS Bootstrapping is complete
205+
func getEnableSecureTLSBootstrapping(bootstrapConfig *aksnodeconfigv1.BootstrappingConfig) bool {
206+
// TODO: Change logic to default to true once Secure TLS Bootstrapping is complete
207207
return bootstrapConfig.GetBootstrappingAuthMethod() == aksnodeconfigv1.BootstrappingAuthMethod_BOOTSTRAPPING_AUTH_METHOD_SECURE_TLS_BOOTSTRAPPING
208208
}
209209

210-
func getTLSBootstrapToken(bootstrapConfig *aksnodeconfigv1.BootstrappingConfig) string {
211-
return bootstrapConfig.GetTlsBootstrappingToken()
212-
}
213-
214-
func getCustomSecureTLSBootstrapAADServerAppID(bootstrapConfig *aksnodeconfigv1.BootstrappingConfig) string {
215-
return bootstrapConfig.GetCustomAadResource()
216-
}
217-
218210
func getEnsureNoDupePromiscuousBridge(nc *aksnodeconfigv1.NetworkConfig) bool {
219211
return nc.GetNetworkPlugin() == aksnodeconfigv1.NetworkPlugin_NETWORK_PLUGIN_KUBENET && nc.GetNetworkPolicy() != aksnodeconfigv1.NetworkPolicy_NETWORK_POLICY_CALICO
220212
}

aks-node-controller/parser/parser.go

Lines changed: 143 additions & 140 deletions
Large diffs are not rendered by default.

aks-node-controller/parser/parser_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,12 @@ func TestAKSNodeConfigCompatibilityFromJsonToCSECommand(t *testing.T) {
436436
assert.Equal(t, "", vars["NO_PROXY"])
437437
assert.Equal(t, "", vars["PROXY_TRUSTED_CA"])
438438
assert.Equal(t, helpers.DefaultCloudName, vars["TARGET_ENVIRONMENT"])
439+
assert.Equal(t, "", vars["TLS_BOOTSTRAP_TOKEN"])
440+
assert.Equal(t, "false", vars["ENABLE_SECURE_TLS_BOOTSTRAPPING"])
441+
assert.Equal(t, "", vars["SECURE_TLS_BOOTSTRAPPING_DEADLINE"])
442+
assert.Equal(t, "", vars["SECURE_TLS_BOOTSTRAPPING_AAD_RESOURCE"])
443+
assert.Equal(t, "", vars["SECURE_TLS_BOOTSTRAPPING_USER_ASSIGNED_IDENTITY_ID"])
444+
assert.Equal(t, "", vars["CUSTOM_SECURE_TLS_BOOTSTRAPPING_CLIENT_URL"])
439445
},
440446
},
441447
}

aks-node-controller/pkg/gen/aksnodeconfig/v1/bootstrapping_config.pb.go

Lines changed: 103 additions & 53 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aks-node-controller/proto/aksnodeconfig/v1/bootstrapping_config.proto

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,22 @@ message BootstrappingConfig {
4141
// Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that.
4242
optional string tls_bootstrapping_token = 3;
4343

44-
// Only used when secure TLS bootstrapping is enabled or one of the Azure/Arc methods. This is the appserver appid that the node will use to bootstrap.
45-
optional string custom_aad_resource = 4;
44+
reserved 4;
45+
reserved "custom_aad_resource";
46+
reserved 5;
47+
reserved "custom_aad_client_id";
4648

47-
// Only used when one of the Azure/Arc methods is enabled. This is the client ID of the MSI that the node will use to bootstrap.
48-
optional string custom_aad_client_id = 5;
49+
// Only used when secure TLS bootstrapping is enabled. This is the AAD resource used to request access tokens from Entra ID.
50+
optional string secure_tls_bootstrapping_aad_resource = 6;
51+
52+
// Only used when secure TLS bootstrapping is enabled. This is the client ID of the user-assigned identity ID the node will use to perform secure TLS bootstrapping.
53+
optional string secure_tls_bootstrapping_user_assigned_identity_id = 7;
54+
55+
// Only used when secure TLS bootstrapping is enabled. If specified, the bootstrap client installation will be replaced with the client version downloaded from this URL.
56+
optional string secure_tls_bootstrapping_custom_client_download_url = 8;
57+
58+
// Only used when secure TLS bootstrapping is enabled. This is the bootstrapping deadline used to perform secure TLS bootstrapping.
59+
// If the deadline is hit, the TLS bootstrap token will be used as a fall-back.
60+
// This field will be deprecated once TLS bootstrap tokens are no longer used.
61+
optional string secure_tls_bootstrapping_deadline = 9;
4962
}

e2e/scenario_test.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"testing"
7+
"time"
78

89
aksnodeconfigv1 "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1"
910
"github.com/Azure/agentbaker/e2e/components"
@@ -139,8 +140,10 @@ func Test_AzureLinuxV2_SecureTLSBootstrapping_BootstrapToken_Fallback(t *testing
139140
Cluster: ClusterKubenet,
140141
VHD: config.VHDAzureLinuxV2Gen2,
141142
BootstrapConfigMutator: func(nbc *datamodel.NodeBootstrappingConfiguration) {
142-
// secure TLS bootstrapping is not yet enabled in e2e regions, thus this will test the bootstrap token fallback case
143-
nbc.EnableSecureTLSBootstrapping = true
143+
nbc.SecureTLSBootstrappingConfig = &datamodel.SecureTLSBootstrappingConfig{
144+
Enabled: true,
145+
Deadline: (30 * time.Second).String(),
146+
}
144147
},
145148
},
146149
})
@@ -1745,8 +1748,10 @@ func Test_Ubuntu2404Gen2_SecureTLSBootstrapping_BootstrapToken_Fallback(t *testi
17451748
Cluster: ClusterKubenet,
17461749
VHD: config.VHDUbuntu2404Gen2Containerd,
17471750
BootstrapConfigMutator: func(nbc *datamodel.NodeBootstrappingConfiguration) {
1748-
// secure TLS bootstrapping is not yet enabled in e2e regions, thus this will test the bootstrap token fallback case
1749-
nbc.EnableSecureTLSBootstrapping = true
1751+
nbc.SecureTLSBootstrappingConfig = &datamodel.SecureTLSBootstrappingConfig{
1752+
Enabled: true,
1753+
Deadline: (30 * time.Second).String(),
1754+
}
17501755
},
17511756
},
17521757
})

parts/linux/cloud-init/artifacts/cse_cmd.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,10 @@ HTTPS_PROXY_URLS="{{GetHTTPSProxy}}"
117117
NO_PROXY_URLS="{{GetNoProxy}}"
118118
PROXY_VARS="{{GetProxyVariables}}"
119119
ENABLE_SECURE_TLS_BOOTSTRAPPING="{{EnableSecureTLSBootstrapping}}"
120-
CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID="{{GetCustomSecureTLSBootstrapAADServerAppID}}"
121-
CUSTOM_SECURE_TLS_BOOTSTRAP_CLIENT_URL="{{GetCustomSecureTLSBootstrapClientURL}}"
120+
SECURE_TLS_BOOTSTRAPPING_DEADLINE="{{GetSecureTLSBootstrappingDeadline}}"
121+
SECURE_TLS_BOOTSTRAPPING_AAD_RESOURCE="{{GetSecureTLSBootstrappingAADResource}}"
122+
SECURE_TLS_BOOTSTRAPPING_USER_ASSIGNED_IDENTITY_ID="{{GetSecureTLSBootstrappingUserAssignedIdentityID}}"
123+
CUSTOM_SECURE_TLS_BOOTSTRAPPING_CLIENT_DOWNLOAD_URL="{{GetCustomSecureTLSBootstrappingClientDownloadURL}}"
122124
ENABLE_KUBELET_SERVING_CERTIFICATE_ROTATION="{{EnableKubeletServingCertificateRotation}}"
123125
DHCPV6_SERVICE_FILEPATH="{{GetDHCPv6ServiceCSEScriptFilepath}}"
124126
DHCPV6_CONFIG_FILEPATH="{{GetDHCPv6ConfigCSEScriptFilepath}}"
@@ -166,4 +168,4 @@ MCR_REPOSITORY_BASE="{{GetMCRRepositoryBase}}"
166168
ENABLE_IMDS_RESTRICTION="{{EnableIMDSRestriction}}"
167169
INSERT_IMDS_RESTRICTION_RULE_TO_MANGLE_TABLE="{{InsertIMDSRestrictionRuleToMangleTable}}"
168170
PRE_PROVISION_ONLY="{{GetPreProvisionOnly}}"
169-
/usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh"
171+
/usr/bin/nohup /bin/bash -c "/bin/bash /opt/azure/containers/provision_start.sh"

parts/linux/cloud-init/artifacts/cse_config.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,14 +534,19 @@ ensureKubeCACert() {
534534
# drop-in path defined outside so configureAndStartSecureTLSBootstrapping can be unit tested
535535
SECURE_TLS_BOOTSTRAPPING_DROP_IN="/etc/systemd/system/secure-tls-bootstrap.service.d/10-securetlsbootstrap.conf"
536536
configureAndStartSecureTLSBootstrapping() {
537+
BOOTSTRAP_CLIENT_FLAGS="--deadline=${SECURE_TLS_BOOTSTRAPPING_DEADLINE:-"2m0s"} --aad-resource=${SECURE_TLS_BOOTSTRAPPING_AAD_RESOURCE:-$AKS_AAD_SERVER_APP_ID} --apiserver-fqdn=${API_SERVER_NAME} --cloud-provider-config=${AZURE_JSON_PATH}"
538+
if [ -n "${SECURE_TLS_BOOTSTRAPPING_USER_ASSIGNED_IDENTITY_ID}" ]; then
539+
BOOTSTRAP_CLIENT_FLAGS="${BOOTSTRAP_CLIENT_FLAGS} --user-assigned-identity-id=$SECURE_TLS_BOOTSTRAPPING_USER_ASSIGNED_IDENTITY_ID"
540+
fi
541+
537542
mkdir -p "$(dirname "${SECURE_TLS_BOOTSTRAPPING_DROP_IN}")"
538543
touch "${SECURE_TLS_BOOTSTRAPPING_DROP_IN}"
539544
chmod 0600 "${SECURE_TLS_BOOTSTRAPPING_DROP_IN}"
540545
cat > "${SECURE_TLS_BOOTSTRAPPING_DROP_IN}" <<EOF
541546
[Unit]
542547
Before=kubelet.service
543548
[Service]
544-
Environment="BOOTSTRAP_FLAGS=--aad-resource=${CUSTOM_SECURE_TLS_BOOTSTRAP_AAD_SERVER_APP_ID:-$AKS_AAD_SERVER_APP_ID} --apiserver-fqdn=${API_SERVER_NAME} --cloud-provider-config=${AZURE_JSON_PATH}"
549+
Environment="BOOTSTRAP_FLAGS=${BOOTSTRAP_CLIENT_FLAGS}"
545550
[Install]
546551
# once bootstrap tokens are no longer a fallback, kubelet.service needs to be a RequiredBy=
547552
WantedBy=kubelet.service

parts/linux/cloud-init/artifacts/cse_install.sh

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ installContainerdWithComponentsJson() {
5757
else
5858
os_version="${UBUNTU_RELEASE}"
5959
fi
60-
60+
6161
containerdPackage=$(jq ".Packages" "$COMPONENTS_FILEPATH" | jq ".[] | select(.name == \"containerd\")") || exit $ERR_CONTAINERD_VERSION_INVALID
6262
PACKAGE_VERSIONS=()
6363
if isMariner "${OS}" && [ "${IS_KATA}" = "true" ]; then
@@ -67,7 +67,7 @@ installContainerdWithComponentsJson() {
6767
os=${AZURELINUX_KATA_OS_NAME}
6868
fi
6969
updatePackageVersions "${containerdPackage}" "${os}" "${os_version}"
70-
70+
7171
#Containerd's versions array is expected to have only one element.
7272
#If it has more than one element, we will install the last element in the array.
7373
# shellcheck disable=SC3010
@@ -103,7 +103,7 @@ installContainerdWithComponentsJson() {
103103
}
104104

105105
# containerd versions definitions are only available in the manifest file before the centralized packages changes, before around early July 2024.
106-
# After the centralized packages changes, the containerd versions are only available in the components.json.
106+
# After the centralized packages changes, the containerd versions are only available in the components.json.
107107
installContainerdWithManifestJson() {
108108
local containerd_version
109109
if [ -f "$MANIFEST_FILEPATH" ]; then
@@ -144,16 +144,16 @@ installNetworkPlugin() {
144144
installAzureCNI
145145
fi
146146
installCNI #reference plugins. Mostly for kubenet but loopback plugin is used by containerd until containerd 2
147-
rm -rf $CNI_DOWNLOADS_DIR &
147+
rm -rf $CNI_DOWNLOADS_DIR &
148148
}
149149

150-
# downloadCredentialProvider is always called during build time by install-dependencies.sh.
150+
# downloadCredentialProvider is always called during build time by install-dependencies.sh.
151151
# It can also be called during node provisioning by cse_config.sh, meaning CREDENTIAL_PROVIDER_DOWNLOAD_URL is set by a passed in linuxCredentialProviderURL.
152152
downloadCredentialProvider() {
153153
CREDENTIAL_PROVIDER_DOWNLOAD_URL="${CREDENTIAL_PROVIDER_DOWNLOAD_URL:=}"
154154
if [ -n "${CREDENTIAL_PROVIDER_DOWNLOAD_URL}" ]; then
155155
# CREDENTIAL_PROVIDER_DOWNLOAD_URL is set by linuxCredentialProviderURL
156-
# The version in the URL is unknown. An acs-mirror or registry URL could be passed meaning the version must be extracted from the URL.
156+
# The version in the URL is unknown. An acs-mirror or registry URL could be passed meaning the version must be extracted from the URL.
157157
cred_version_for_oras=$(echo "$CREDENTIAL_PROVIDER_DOWNLOAD_URL" | grep -oP 'v\d+(\.\d+)*' | sed 's/^v//' | head -n 1)
158158
fi
159159

@@ -175,7 +175,7 @@ downloadCredentialProvider() {
175175
local credential_provider_download_url_for_oras="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/azure-acr-credential-provider:v${cred_version_for_oras}-linux-${CPU_ARCH}"
176176
CREDENTIAL_PROVIDER_TGZ_TMP="${CREDENTIAL_PROVIDER_DOWNLOAD_URL##*/}" # Use bash builtin ## to remove all chars ("*") up to the final "/"
177177
retrycmd_get_tarball_from_registry_with_oras 120 5 "$CREDENTIAL_PROVIDER_DOWNLOAD_DIR/$CREDENTIAL_PROVIDER_TGZ_TMP" "${credential_provider_download_url_for_oras}" || exit $ERR_ORAS_PULL_CREDENTIAL_PROVIDER
178-
return
178+
return
179179
elif isRegistryUrl "${CREDENTIAL_PROVIDER_DOWNLOAD_URL}"; then
180180
# if the URL is a registry URL, then download the credential provider using oras
181181
# extract version v1.30.0 from format like mcr.microsoft.com/oss/binaries/kubernetes/azure-acr-credential-provider:v1.30.0-linux-amd64
@@ -242,12 +242,12 @@ installSecureTLSBootstrapClient() {
242242
# without having to tag new versions of AgentBaker, in the end we probably won't honor custom URLs specified
243243
# by the bootstrapper for this particular binary. In the end, if we do decide to support this, we will need
244244
# to make sure to use oras to download the client binary and ensure the binary itself is hosted within MCR.
245-
if [ -z "${CUSTOM_SECURE_TLS_BOOTSTRAP_CLIENT_URL}" ]; then
246-
echo "secure TLS bootstrapping is enabled but no custom client URL was provided, nothing to download"
245+
if [ -z "${CUSTOM_SECURE_TLS_BOOTSTRAPPING_CLIENT_DOWNLOAD_URL}" ]; then
246+
echo "secure TLS bootstrapping is enabled but no custom client download URL was provided, nothing to download"
247247
return 0
248248
fi
249249

250-
downloadSecureTLSBootstrapClient "${SECURE_TLS_BOOTSTRAP_CLIENT_BIN_DIR}" "${CUSTOM_SECURE_TLS_BOOTSTRAP_CLIENT_URL}" || exit $ERR_SECURE_TLS_BOOTSTRAP_CLIENT_DOWNLOAD_ERROR
250+
downloadSecureTLSBootstrapClient "${SECURE_TLS_BOOTSTRAP_CLIENT_BIN_DIR}" "${CUSTOM_SECURE_TLS_BOOTSTRAPPING_CLIENT_DOWNLOAD_URL}" || exit $ERR_SECURE_TLS_BOOTSTRAP_CLIENT_DOWNLOAD_ERROR
251251
}
252252

253253
downloadSecureTLSBootstrapClient() {
@@ -290,7 +290,7 @@ evalPackageDownloadURL() {
290290

291291
downloadAzureCNI() {
292292
mkdir -p ${1-$:CNI_DOWNLOADS_DIR}
293-
# At VHD build time, the VNET_CNI_PLUGINS_URL is usually not set.
293+
# At VHD build time, the VNET_CNI_PLUGINS_URL is usually not set.
294294
# So, we will get the URL passed from install-depenencies.sh which is actually from components.json
295295
# At node provisioning time, if AKS-RP sets the VNET_CNI_PLUGINS_URL, then we will use that.
296296
VNET_CNI_PLUGINS_URL=${2:-$VNET_CNI_PLUGINS_URL}
@@ -389,24 +389,24 @@ setupCNIDirs() {
389389

390390
# Reference CNI plugins is used by kubenet and the loopback plugin used by containerd 1.0 (dependency gone in 2.0)
391391
# The version used to be deteremined by RP/toggle but are now just hadcoded in vhd as they rarely change and require a node image upgrade anyways
392-
# Latest VHD should have the untar, older should have the tgz. And who knows will have neither.
392+
# Latest VHD should have the untar, older should have the tgz. And who knows will have neither.
393393
installCNI() {
394394
# Old versions of VHDs will not have components.json. If it does not exist, we will fall back to the hardcoded download for CNI.
395395
# Network Isolated Cluster / Bring Your Own ACR will not work with a vhd that requres a hardcoded CNI download.
396396
if [ ! -f "$COMPONENTS_FILEPATH" ] || ! jq '.Packages[] | select(.name == "cni-plugins")' < $COMPONENTS_FILEPATH > /dev/null; then
397-
echo "WARNING: no cni-plugins components present falling back to hard coded download of 1.4.1. This should error eventually"
397+
echo "WARNING: no cni-plugins components present falling back to hard coded download of 1.4.1. This should error eventually"
398398
# could we fail if not Ubuntu2204Gen2ContainerdPrivateKubePkg vhd? Are there others?
399399
# definitely not handling arm here.
400400
retrycmd_get_tarball 120 5 "${CNI_DOWNLOADS_DIR}/refcni.tar.gz" "https://${PACKAGE_DOWNLOAD_BASE_URL}/cni-plugins/v1.4.1/binaries/cni-plugins-linux-amd64-v1.4.1.tgz" || exit $ERR_CNI_DOWNLOAD_TIMEOUT
401401
extract_tarball "${CNI_DOWNLOADS_DIR}/refcni.tar.gz" "$CNI_BIN_DIR"
402-
return
402+
return
403403
fi
404404

405405
#always just use what is listed in components.json so we don't have to sync.
406406
cniPackage=$(jq ".Packages" "$COMPONENTS_FILEPATH" | jq ".[] | select(.name == \"cni-plugins\")") || exit $ERR_CNI_VERSION_INVALID
407-
407+
408408
#CNI doesn't really care about this but wanted to reuse updatePackageVersions which requires it.
409-
os=${UBUNTU_OS_NAME}
409+
os=${UBUNTU_OS_NAME}
410410
if [ -z "$UBUNTU_RELEASE" ]; then
411411
os=${OS}
412412
os_version="current"
@@ -417,7 +417,7 @@ installCNI() {
417417
fi
418418
PACKAGE_VERSIONS=()
419419
updatePackageVersions "${cniPackage}" "${os}" "${os_version}"
420-
420+
421421
#should change to ne
422422
# shellcheck disable=SC3010
423423
if [[ ${#PACKAGE_VERSIONS[@]} -gt 1 ]]; then
@@ -427,15 +427,15 @@ installCNI() {
427427
packageVersion=${PACKAGE_VERSIONS[0]}
428428

429429
# Is there a ${arch} variable I can use instead of the iff
430-
if [ "$(isARM64)" -eq 1 ]; then
430+
if [ "$(isARM64)" -eq 1 ]; then
431431
CNI_DIR_TMP="cni-plugins-linux-arm64-v${packageVersion}"
432-
else
432+
else
433433
CNI_DIR_TMP="cni-plugins-linux-amd64-v${packageVersion}"
434434
fi
435-
435+
436436
if [ -d "$CNI_DOWNLOADS_DIR/${CNI_DIR_TMP}" ]; then
437-
#not clear to me when this would ever happen. assume its related to the line above Latest VHD should have the untar, older should have the tgz.
438-
mv ${CNI_DOWNLOADS_DIR}/${CNI_DIR_TMP}/* $CNI_BIN_DIR
437+
#not clear to me when this would ever happen. assume its related to the line above Latest VHD should have the untar, older should have the tgz.
438+
mv ${CNI_DOWNLOADS_DIR}/${CNI_DIR_TMP}/* $CNI_BIN_DIR
439439
else
440440
echo "CNI tarball should already be unzipped by components.json"
441441
exit $ERR_CNI_VERSION_INVALID
@@ -507,7 +507,7 @@ extractKubeBinaries() {
507507
else
508508
k8s_tgz_tmp="${k8s_downloads_dir}/${k8s_tgz_tmp_filename}"
509509
mkdir -p ${k8s_downloads_dir}
510-
510+
511511
# if the url is a registry url, use oras to pull the artifact instead of curl
512512
if isRegistryUrl "${kube_binary_url}"; then
513513
echo "detect kube_binary_url, ${kube_binary_url}, as registry url, will use oras to pull artifact binary"
@@ -553,11 +553,11 @@ installKubeletKubectlFromURL() {
553553
# 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
554554
if [ ! -f "/usr/local/bin/kubectl-${KUBERNETES_VERSION}" ] || [ ! -f "/usr/local/bin/kubelet-${KUBERNETES_VERSION}" ]; then
555555
if [ "$install_default_if_missing" = "true" ]; then
556-
if [ -n "${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}" ]; then
556+
if [ -n "${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}" ]; then
557557
# network isolated cluster
558558
echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary"
559559
updateKubeBinaryRegistryURL
560-
560+
561561
K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" # /opt folder will return permission error
562562
logs_to_events "AKS.CSE.installKubeletKubectlFromURL.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} "${KUBE_BINARY_REGISTRY_URL:-}" false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY}
563563
# no egress traffic, default install will fail
@@ -610,7 +610,7 @@ pullContainerImage() {
610610
return $ERR_CONTAINERD_DOCKER_IMG_PULL_TIMEOUT
611611
fi
612612
fi
613-
613+
614614
echo "successfully pulled image ${CONTAINER_IMAGE_URL} using ${CLI_TOOL}"
615615
}
616616

@@ -770,10 +770,10 @@ getInstallModeAndCleanupContainerImages() {
770770
echo "detected golden image pre-install"
771771
logs_to_events "AKS.CSE.cleanUpContainerImages" cleanUpContainerImages
772772
FULL_INSTALL_REQUIRED=false
773-
else
773+
else
774774
echo "the file $VHD_LOGS_FILEPATH does not exist and IS_VHD is "${IS_VHD,,}", full install requred"
775775
fi
776-
776+
777777
echo "${FULL_INSTALL_REQUIRED,,}"
778778
}
779779

parts/linux/cloud-init/artifacts/secure-tls-bootstrap.service

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ ExecStart=/usr/local/bin/aks-secure-tls-bootstrap-client \
1616
--cert-dir=/var/lib/kubelet/pki \
1717
--cluster-ca-file=/etc/kubernetes/certs/ca.crt \
1818
--log-file=/var/log/azure/aks/secure-tls-bootstrap.log \
19-
--deadline=120s \
2019
$BOOTSTRAP_FLAGS
2120

2221
[Install]

0 commit comments

Comments
 (0)