Skip to content

Commit ba81c7a

Browse files
authored
fix: Change script to match k8s version 1.24 (#230)
The .\PrepareNode.ps1 creates a .\StartKubelet.ps1 that uses a command which has dockershim related flags, which are removed in k8s v1.24! (--image-pull-progress-deadline=20m and --network-plugin=cni) Changed it to work for k8s v1.24 too In the changelog of Kubernetes it says that: (https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md) "Kubelet: the following dockershim related flags are also removed along with dockershim --experimental-dockershim-root-directory, --docker-endpoint, --image-pull-progress-deadline, --network-plugin, --cni-conf-dir, --cni-bin-dir, --cni-cache-dir, --network-plugin-mtu."
1 parent 23d40aa commit ba81c7a

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

kubeadm/scripts/PrepareNode.ps1

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Kubernetes version to download and use
1515
Container that Kubernetes will use. (Docker or containerD)
1616
1717
.EXAMPLE
18-
PS> .\PrepareNode.ps1 -KubernetesVersion v1.19.3 -ContainerRuntime containerD
18+
PS> .\PrepareNode.ps1 -KubernetesVersion v1.24.2 -ContainerRuntime containerD
1919
2020
#>
2121

@@ -91,6 +91,15 @@ mkdir -force C:\var\lib\kubelet\etc\kubernetes
9191
mkdir -force C:\etc\kubernetes\pki
9292
New-Item -path C:\var\lib\kubelet\etc\kubernetes\pki -type SymbolicLink -value C:\etc\kubernetes\pki\
9393

94+
# dockershim related flags (--image-pull-progress-deadline=20m and --network-plugin=cni) are removed in k8s v1.24
95+
# Link to changelog: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md
96+
97+
$cmd_commands=@("C:\k\kubelet.exe ", '$global:KubeletArgs ', '--cert-dir=$env:SYSTEMDRIVE\var\lib\kubelet\pki ', "--config=/var/lib/kubelet/config.yaml ", "--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf ", "--kubeconfig=/etc/kubernetes/kubelet.conf ", '--hostname-override=$(hostname) ', '--pod-infra-container-image=`"mcr.microsoft.com/oss/kubernetes/pause:3.6`" ', "--enable-debugging-handlers ", "--cgroups-per-qos=false ", '--enforce-node-allocatable=`"`" ', '--resolv-conf=`"`" ', "--log-dir=/var/log/kubelet ", "--logtostderr=false ")
98+
[version]$CurrentVersion = $($KubernetesVersion.Split("v") | Select -Index 1)
99+
[version]$V1_24_Version = '1.24'
100+
if ($CurrentVersion -lt $V1_24_Version) {
101+
$cmd_commands = $cmd_commands + "--network-plugin=cni " + "--image-pull-progress-deadline=20m "
102+
}
94103
$StartKubeletFileContent = '$FileContent = Get-Content -Path "/var/lib/kubelet/kubeadm-flags.env"
95104
$global:KubeletArgs = $FileContent.TrimStart(''KUBELET_KUBEADM_ARGS='').Trim(''"'')
96105
@@ -104,8 +113,7 @@ if ($global:containerRuntime -eq "Docker") {
104113
}
105114
}
106115
107-
$cmd = "C:\k\kubelet.exe $global:KubeletArgs --cert-dir=$env:SYSTEMDRIVE\var\lib\kubelet\pki --config=/var/lib/kubelet/config.yaml --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --hostname-override=$(hostname) --pod-infra-container-image=`"mcr.microsoft.com/oss/kubernetes/pause:3.6`" --enable-debugging-handlers --cgroups-per-qos=false --enforce-node-allocatable=`"`" --network-plugin=cni --resolv-conf=`"`" --log-dir=/var/log/kubelet --logtostderr=false --image-pull-progress-deadline=20m"
108-
116+
$cmd = "' + $cmd_commands + '"
109117
Invoke-Expression $cmd'
110118
$StartKubeletFileContent = $StartKubeletFileContent -replace "{{CONTAINER_RUNTIME}}", "`"$ContainerRuntime`""
111119
Set-Content -Path $global:StartKubeletScript -Value $StartKubeletFileContent

0 commit comments

Comments
 (0)