mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Revert - Recursive chown the /etc/srv/sshproxy if kube-apiserver is running as non root. This way if a key already exists we will be able to read it.
This commit is contained in:
		@@ -2043,18 +2043,6 @@ function update-node-label() {
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# A helper function that sets file permissions for kube-controller-manager to
 | 
			
		||||
# run as non root.
 | 
			
		||||
# User and group should never contain characters that need to be quoted
 | 
			
		||||
# shellcheck disable=SC2086
 | 
			
		||||
function run-kube-controller-manager-as-non-root {
 | 
			
		||||
  prepare-log-file /var/log/kube-controller-manager.log ${KUBE_CONTROLLER_MANAGER_RUNASUSER}
 | 
			
		||||
  setfacl -m u:${KUBE_CONTROLLER_MANAGER_RUNASUSER}:r "${CA_CERT_BUNDLE_PATH}"
 | 
			
		||||
  setfacl -m u:${KUBE_CONTROLLER_MANAGER_RUNASUSER}:r "${SERVICEACCOUNT_CERT_PATH}"
 | 
			
		||||
  setfacl -m u:${KUBE_CONTROLLER_MANAGER_RUNASUSER}:r "${SERVICEACCOUNT_KEY_PATH}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Starts kubernetes controller manager.
 | 
			
		||||
# It prepares the log file, loads the docker image, calculates variables, sets them
 | 
			
		||||
# in the manifest file, and then copies the manifest file to /etc/kubernetes/manifests.
 | 
			
		||||
@@ -2073,7 +2061,7 @@ function start-kube-controller-manager {
 | 
			
		||||
  fi
 | 
			
		||||
  echo "Start kubernetes controller-manager"
 | 
			
		||||
  create-kubeconfig "kube-controller-manager" "${KUBE_CONTROLLER_MANAGER_TOKEN}"
 | 
			
		||||
  prepare-log-file /var/log/kube-controller-manager.log
 | 
			
		||||
  prepare-log-file /var/log/kube-controller-manager.log "${KUBE_CONTROLLER_MANAGER_RUNASUSER:-0}"
 | 
			
		||||
  # Calculate variables and assemble the command line.
 | 
			
		||||
  local params=("${CONTROLLER_MANAGER_TEST_LOG_LEVEL:-"--v=2"}" "${CONTROLLER_MANAGER_TEST_ARGS:-}" "${CLOUD_CONFIG_OPT}")
 | 
			
		||||
  local config_path='/etc/srv/kubernetes/kube-controller-manager/kubeconfig'
 | 
			
		||||
@@ -2162,12 +2150,13 @@ function start-kube-controller-manager {
 | 
			
		||||
  sed -i -e "s@{{cpurequest}}@${KUBE_CONTROLLER_MANAGER_CPU_REQUEST}@g" "${src_file}"
 | 
			
		||||
 | 
			
		||||
  if [[ -n "${KUBE_CONTROLLER_MANAGER_RUNASUSER:-}" && -n "${KUBE_CONTROLLER_MANAGER_RUNASGROUP:-}" ]]; then
 | 
			
		||||
    run-kube-controller-manager-as-non-root
 | 
			
		||||
    sed -i -e "s@{{runAsUser}}@${KUBE_CONTROLLER_MANAGER_RUNASUSER}@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{runAsGroup}}@${KUBE_CONTROLLER_MANAGER_RUNASGROUP}@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{runAsUser}}@\"runAsUser\": ${KUBE_CONTROLLER_MANAGER_RUNASUSER},@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{runAsGroup}}@\"runAsGroup\":${KUBE_CONTROLLER_MANAGER_RUNASGROUP},@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{supplementalGroups}}@\"supplementalGroups\": [ ${KUBE_PKI_READERS_GROUP} ],@g" "${src_file}"
 | 
			
		||||
  else
 | 
			
		||||
    sed -i -e "s@{{runAsUser}}@0@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{runAsGroup}}@0@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{runAsUser}}@@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{runAsGroup}}@@g" "${src_file}"
 | 
			
		||||
    sed -i -e "s@{{supplementalGroups}}@@g" "${src_file}"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  cp "${src_file}" /etc/kubernetes/manifests
 | 
			
		||||
 
 | 
			
		||||
@@ -278,7 +278,7 @@ function start-kube-apiserver {
 | 
			
		||||
    params+=" --advertise-address=${MASTER_ADVERTISE_ADDRESS}"
 | 
			
		||||
    if [[ -n "${PROXY_SSH_USER:-}" ]]; then
 | 
			
		||||
      if [[ -n "${KUBE_API_SERVER_RUNASUSER:-}" && -n "${KUBE_API_SERVER_RUNASGROUP:-}" ]]; then
 | 
			
		||||
        chown -R "${KUBE_API_SERVER_RUNASUSER}":"${KUBE_API_SERVER_RUNASGROUP}" /etc/srv/sshproxy/
 | 
			
		||||
        chown "${KUBE_API_SERVER_RUNASUSER}":"${KUBE_API_SERVER_RUNASGROUP}" /etc/srv/sshproxy
 | 
			
		||||
      fi
 | 
			
		||||
      params+=" --ssh-user=${PROXY_SSH_USER}"
 | 
			
		||||
      params+=" --ssh-keyfile=/etc/srv/sshproxy/.sshkeyfile"
 | 
			
		||||
@@ -287,7 +287,7 @@ function start-kube-apiserver {
 | 
			
		||||
    local -r vm_external_ip=$(get-metadata-value "instance/network-interfaces/0/access-configs/0/external-ip")
 | 
			
		||||
    if [[ -n "${PROXY_SSH_USER:-}" ]]; then
 | 
			
		||||
      if [[ -n "${KUBE_API_SERVER_RUNASUSER:-}" && -n "${KUBE_API_SERVER_RUNASGROUP:-}" ]]; then
 | 
			
		||||
        chown -R "${KUBE_API_SERVER_RUNASUSER}":"${KUBE_API_SERVER_RUNASGROUP}" /etc/srv/sshproxy/
 | 
			
		||||
        chown "${KUBE_API_SERVER_RUNASUSER}":"${KUBE_API_SERVER_RUNASGROUP}" /etc/srv/sshproxy
 | 
			
		||||
      fi
 | 
			
		||||
      params+=" --advertise-address=${vm_external_ip}"
 | 
			
		||||
      params+=" --ssh-user=${PROXY_SSH_USER}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,11 +11,12 @@
 | 
			
		||||
},
 | 
			
		||||
"spec":{
 | 
			
		||||
"securityContext": {
 | 
			
		||||
  {{runAsUser}}
 | 
			
		||||
  {{runAsGroup}}
 | 
			
		||||
  {{supplementalGroups}}
 | 
			
		||||
  "seccompProfile": {
 | 
			
		||||
      "type": "RuntimeDefault"
 | 
			
		||||
  },
 | 
			
		||||
  "runAsUser": {{runAsUser}},
 | 
			
		||||
  "runAsGroup": {{runAsGroup}}
 | 
			
		||||
  }
 | 
			
		||||
},
 | 
			
		||||
"priorityClassName": "system-node-critical",
 | 
			
		||||
"priority": 2000001000,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user