mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #92063 from jingxu97/June/docker
Add WINDOWS_CONTAINER_RUNTIME env variable and set default to docker for windows node
This commit is contained in:
		@@ -95,6 +95,8 @@ export KUBELET_TEST_ARGS=${KUBE_KUBELET_EXTRA_ARGS:-}
 | 
			
		||||
 | 
			
		||||
# Default container runtime
 | 
			
		||||
export CONTAINER_RUNTIME=${KUBE_CONTAINER_RUNTIME:-containerd}
 | 
			
		||||
# Default container runtime for windows
 | 
			
		||||
export WINDOWS_CONTAINER_RUNTIME=${KUBE_WINDOWS_CONTAINER_RUNTIME:-docker}
 | 
			
		||||
 | 
			
		||||
# Set default values with override
 | 
			
		||||
if [[ "${CONTAINER_RUNTIME}" == "docker" ]]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -96,8 +96,10 @@ export NODE_IMAGE=${KUBE_GCE_NODE_IMAGE:-${GCI_VERSION}}
 | 
			
		||||
export NODE_IMAGE_PROJECT=${KUBE_GCE_NODE_PROJECT:-cos-cloud}
 | 
			
		||||
export NODE_SERVICE_ACCOUNT=${KUBE_GCE_NODE_SERVICE_ACCOUNT:-default}
 | 
			
		||||
 | 
			
		||||
# Default container runtime
 | 
			
		||||
# Default container runtime for linux
 | 
			
		||||
export CONTAINER_RUNTIME=${KUBE_CONTAINER_RUNTIME:-containerd}
 | 
			
		||||
# Default container runtime for windows
 | 
			
		||||
export WINDOWS_CONTAINER_RUNTIME=${KUBE_WINDOWS_CONTAINER_RUNTIME:-docker}
 | 
			
		||||
 | 
			
		||||
# Set default values with override
 | 
			
		||||
if [[ "${CONTAINER_RUNTIME}" == "docker" ]]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -897,11 +897,11 @@ function construct-windows-kubelet-flags {
 | 
			
		||||
  # Force disable KubeletPodResources feature on Windows until #78628 is fixed.
 | 
			
		||||
  flags+=" --feature-gates=KubeletPodResources=false"
 | 
			
		||||
 | 
			
		||||
  if [[ "${CONTAINER_RUNTIME:-}" != "docker" ]]; then
 | 
			
		||||
  if [[ "${WINDOWS_CONTAINER_RUNTIME:-}" != "docker" ]]; then
 | 
			
		||||
    flags+=" --container-runtime=remote"
 | 
			
		||||
    if [[ "${CONTAINER_RUNTIME}" == "containerd" ]]; then
 | 
			
		||||
      CONTAINER_RUNTIME_ENDPOINT=${KUBE_CONTAINER_RUNTIME_ENDPOINT:-npipe:////./pipe/containerd-containerd}
 | 
			
		||||
      flags+=" --container-runtime-endpoint=${CONTAINER_RUNTIME_ENDPOINT}"
 | 
			
		||||
    if [[ "${WINDOWS_CONTAINER_RUNTIME}" == "containerd" ]]; then
 | 
			
		||||
      WINDOWS_CONTAINER_RUNTIME_ENDPOINT=${KUBE_WINDOWS_CONTAINER_RUNTIME_ENDPOINT:-npipe:////./pipe/containerd-containerd}
 | 
			
		||||
      flags+=" --container-runtime-endpoint=${WINDOWS_CONTAINER_RUNTIME_ENDPOINT}"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
@@ -1550,6 +1550,8 @@ CNI_DIR: $(yaml-quote ${WINDOWS_CNI_DIR})
 | 
			
		||||
CNI_CONFIG_DIR: $(yaml-quote ${WINDOWS_CNI_CONFIG_DIR})
 | 
			
		||||
WINDOWS_CNI_STORAGE_PATH: $(yaml-quote ${WINDOWS_CNI_STORAGE_PATH})
 | 
			
		||||
WINDOWS_CNI_VERSION: $(yaml-quote ${WINDOWS_CNI_VERSION})
 | 
			
		||||
WINDOWS_CONTAINER_RUNTIME: $(yaml-quote ${WINDOWS_CONTAINER_RUNTIME})
 | 
			
		||||
WINDOWS_CONTAINER_RUNTIME_ENDPOINT: $(yaml-quote ${WINDOWS_CONTAINER_RUNTIME_ENDPOINT})
 | 
			
		||||
MANIFESTS_DIR: $(yaml-quote ${WINDOWS_MANIFESTS_DIR})
 | 
			
		||||
PKI_DIR: $(yaml-quote ${WINDOWS_PKI_DIR})
 | 
			
		||||
CA_FILE_PATH: $(yaml-quote ${WINDOWS_CA_FILE})
 | 
			
		||||
 
 | 
			
		||||
@@ -241,6 +241,14 @@ function Set_CurrentShellEnvironmentVar {
 | 
			
		||||
# Sets environment variables used by Kubernetes binaries and by other functions
 | 
			
		||||
# in this module. Depends on numerous ${kube_env} keys.
 | 
			
		||||
function Set-EnvironmentVars {
 | 
			
		||||
  if ($kube_env.ContainsKey('WINDOWS_CONTAINER_RUNTIME')) {
 | 
			
		||||
      $container_runtime = ${kube_env}['WINDOWS_CONTAINER_RUNTIME']
 | 
			
		||||
      $container_runtime_endpoint = ${kube_env}['WINDOWS_CONTAINER_RUNTIME_ENDPOINT']
 | 
			
		||||
  } else {
 | 
			
		||||
      Log-Output "ERROR: WINDOWS_CONTAINER_RUNTIME not set in kube-env, falling back in CONTAINER_RUNTIME"
 | 
			
		||||
      $container_runtime = ${kube_env}['CONTAINER_RUNTIME']
 | 
			
		||||
      $container_runtime_endpoint = ${kube_env}['CONTAINER_RUNTIME_ENDPOINT']
 | 
			
		||||
  }
 | 
			
		||||
  # Turning the kube-env values into environment variables is not required but
 | 
			
		||||
  # it makes debugging this script easier, and it also makes the syntax a lot
 | 
			
		||||
  # easier (${env:K8S_DIR} can be expanded within a string but
 | 
			
		||||
@@ -268,8 +276,8 @@ function Set-EnvironmentVars {
 | 
			
		||||
    "KUBELET_CERT_PATH" = ${kube_env}['PKI_DIR'] + '\kubelet.crt'
 | 
			
		||||
    "KUBELET_KEY_PATH" = ${kube_env}['PKI_DIR'] + '\kubelet.key'
 | 
			
		||||
 | 
			
		||||
    "CONTAINER_RUNTIME" = ${kube_env}['CONTAINER_RUNTIME']
 | 
			
		||||
    "CONTAINER_RUNTIME_ENDPOINT" = ${kube_env}['CONTAINER_RUNTIME_ENDPOINT']
 | 
			
		||||
    "CONTAINER_RUNTIME" = $container_runtime
 | 
			
		||||
    "CONTAINER_RUNTIME_ENDPOINT" = $container_runtime_endpoint
 | 
			
		||||
 | 
			
		||||
    'LICENSE_DIR' = 'C:\Program Files\Google\Compute Engine\THIRD_PARTY_NOTICES'
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user