Param( [ValidateSet("l2bridge", "overlay",IgnoreCase = $true)] [parameter(Mandatory = $true)] $NetworkMode, [parameter(Mandatory = $false)] $KubeDnsServiceIP="10.96.0.10", [parameter(Mandatory = $false)] $LogDir = "C:\k", [parameter(Mandatory = $false)] $KubeletFeatureGates = "", [switch] $RegisterOnly ) $GithubSDNRepository = 'Microsoft/SDN' if ((Test-Path env:GITHUB_SDN_REPOSITORY) -and ($env:GITHUB_SDN_REPOSITORY -ne '')) { $GithubSDNRepository = $env:GITHUB_SDN_REPOSITORY } $helper = 'c:\k\helper.psm1' if (!(Test-Path $helper)) { Start-BitsTransfer "https://raw.githubusercontent.com/$GithubSDNRepository/master/Kubernetes/windows/helper.psm1" -Destination c:\k\helper.psm1 } ipmo $helper if ($RegisterOnly.IsPresent) { RegisterNode exit } $kubeletOptions = Kubelet-Options $KubeDnsServiceIp $LogDir if ($KubeletFeatureGates -ne "") { $kubeletOptions.Options += "--feature-gates=$KubeletFeatureGates" } & c:\k\kubelet.exe $kubeletOptions.Options