Add the kubelet-cgroup-setup.sh to kubernetes-unversioned package
This moves the kubelet-cgroup-setup.sh file to the kubernetes-unversioned package instead of adding it to all versioned Kubernetes packages. Test Plan: PASS: kubernetes-unversioned and all the Kubernetes packages from 1.24 to 1.32 builds successfully PASS: Install the ISO as AIO-SX and verify that cgroups and CPU attributes are configured under /sys/fs/cgroup PASS: Install the ISO as AIO-DX and verify that cgroups and CPU attributes are configured under /sys/fs/cgroup on both controllers Story: 2011340 Task: 51700 Change-Id: Ie27f31a4f8cf5e87ad4f8735d29b6a4630d26640 Signed-off-by: Ramesh Kumar Sivanandam <rameshkumar.sivanandam@windriver.com>
This commit is contained in:
parent
c1861c3502
commit
f8380307eb
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
/bin/echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
/bin/echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.24.4/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.24.4/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.24.4/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
|
@ -66,7 +66,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
/bin/echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
/bin/echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.25.3/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.25.3/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.25.3/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
|
@ -66,7 +66,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2023 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.26.1/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.26.1/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.26.1/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
|
@ -66,7 +66,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2023 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.27.5/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.27.5/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.27.5/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
@ -67,7 +67,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2023 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.28.4/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.28.4/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.28.4/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
@ -67,7 +67,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.29.2/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.29.2/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.29.2/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
@ -67,7 +67,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2024 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.30.6/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.30.6/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.30.6/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
|
@ -67,7 +67,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2025 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.31.5/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.31.5/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.31.5/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
|
@ -67,7 +67,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -1,132 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2025 Wind River Systems, Inc.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# This script does minimal cgroup setup for kubelet. This creates k8s-infra
|
|
||||||
# cgroup for a minimal set of resource controllers, and configures cpuset
|
|
||||||
# attributes to span all online cpus and nodes. This will do nothing if
|
|
||||||
# the k8s-infra cgroup already exists (i.e., assume already configured).
|
|
||||||
# NOTE: The creation of directories under /sys/fs/cgroup is volatile, and
|
|
||||||
# does not persist reboots. The cpuset.mems and cpuset.cpus is later updated
|
|
||||||
# by puppet kubernetes.pp manifest.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define minimal path
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin
|
|
||||||
|
|
||||||
# Log info message to /var/log/daemon.log
|
|
||||||
function LOG {
|
|
||||||
logger -p daemon.info "$0($$): $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Log error message to /var/log/daemon.log
|
|
||||||
function ERROR {
|
|
||||||
logger -s -p daemon.error "$0($$): ERROR: $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create minimal cgroup directories and configure cpuset attributes if required
|
|
||||||
function create_cgroup {
|
|
||||||
local cg_name=$1
|
|
||||||
local cg_nodeset=$2
|
|
||||||
local cg_cpuset=$3
|
|
||||||
|
|
||||||
local CGROUP=/sys/fs/cgroup
|
|
||||||
local CONTROLLERS_AUTO_DELETED=("pids" "hugetlb")
|
|
||||||
local CONTROLLERS_PRESERVED=("cpuset" "memory" "cpu,cpuacct" "systemd")
|
|
||||||
local cnt=''
|
|
||||||
local CGDIR=''
|
|
||||||
local RC=0
|
|
||||||
|
|
||||||
# Ensure that these cgroups are created every time as they are auto deleted
|
|
||||||
for cnt in ${CONTROLLERS_AUTO_DELETED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These cgroups are preserved so if any of these are encountered additional
|
|
||||||
# cgroup setup is not required
|
|
||||||
for cnt in ${CONTROLLERS_PRESERVED[@]}; do
|
|
||||||
CGDIR=${CGROUP}/${cnt}/${cg_name}
|
|
||||||
if [ -d ${CGDIR} ]; then
|
|
||||||
LOG "Nothing to do, already configured: ${CGDIR}."
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
LOG "Creating: ${CGDIR}"
|
|
||||||
mkdir -p ${CGDIR}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Creating: ${CGDIR}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Customize cpuset attributes
|
|
||||||
LOG "Configuring cgroup: ${cg_name}, nodeset: ${cg_nodeset}, cpuset: ${cg_cpuset}"
|
|
||||||
CGDIR=${CGROUP}/cpuset/${cg_name}
|
|
||||||
local CGMEMS=${CGDIR}/cpuset.mems
|
|
||||||
local CGCPUS=${CGDIR}/cpuset.cpus
|
|
||||||
local CGTASKS=${CGDIR}/tasks
|
|
||||||
|
|
||||||
# Assign cgroup memory nodeset
|
|
||||||
LOG "Assign nodeset ${cg_nodeset} to ${CGMEMS}"
|
|
||||||
echo ${cg_nodeset} > ${CGMEMS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Unable to write to: ${CGMEMS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assign cgroup cpus
|
|
||||||
LOG "Assign cpuset ${cg_cpuset} to ${CGCPUS}"
|
|
||||||
echo ${cg_cpuset} > ${CGCPUS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Assigning: ${cg_cpuset} to ${CGCPUS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file ownership
|
|
||||||
chown root:root ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting owner for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set file mode permissions
|
|
||||||
chmod 644 ${CGMEMS} ${CGCPUS} ${CGTASKS}
|
|
||||||
RC=$?
|
|
||||||
if [ ${RC} -ne 0 ]; then
|
|
||||||
ERROR "Setting mode for: ${CGMEMS}, ${CGCPUS}, ${CGTASKS}, rc=${RC}"
|
|
||||||
exit ${RC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
return ${RC}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ${UID} -ne 0 ]; then
|
|
||||||
ERROR "Require sudo/root."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure default kubepods cpuset to span all online cpus and nodes.
|
|
||||||
ONLINE_NODESET=$(/bin/cat /sys/devices/system/node/online)
|
|
||||||
ONLINE_CPUSET=$(/bin/cat /sys/devices/system/cpu/online)
|
|
||||||
|
|
||||||
# Configure kubelet cgroup to match cgroupRoot.
|
|
||||||
create_cgroup 'k8s-infra' ${ONLINE_NODESET} ${ONLINE_CPUSET}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,2 +1 @@
|
|||||||
usr/local/kubernetes/1.32.2/stage2/usr/bin/kubelet
|
usr/local/kubernetes/1.32.2/stage2/usr/bin/kubelet
|
||||||
usr/local/kubernetes/1.32.2/stage2/usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
|
@ -67,7 +67,6 @@ override_dh_install:
|
|||||||
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
||||||
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
||||||
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
||||||
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
||||||
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
install -p -m 750 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubelet
|
||||||
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_bindir}/kubectl
|
||||||
# bash completions
|
# bash completions
|
||||||
|
@ -5,4 +5,5 @@ etc/kubernetes/kubelet.kubeconfig
|
|||||||
etc/kubernetes/proxy
|
etc/kubernetes/proxy
|
||||||
etc/systemd/system.conf.d/kubernetes-accounting.conf
|
etc/systemd/system.conf.d/kubernetes-accounting.conf
|
||||||
usr/lib/tmpfiles.d/kubernetes.conf
|
usr/lib/tmpfiles.d/kubernetes.conf
|
||||||
|
usr/bin/kubelet-cgroup-setup.sh
|
||||||
usr/local/sbin/sanitize_kubelet_reserved_cpus.sh
|
usr/local/sbin/sanitize_kubelet_reserved_cpus.sh
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
/var/lib/kubernetes/stage1/usr/bin/kubeadm /usr/bin/kubeadm
|
/var/lib/kubernetes/stage1/usr/bin/kubeadm /usr/bin/kubeadm
|
||||||
/var/lib/kubernetes/stage2/usr/bin/kubelet /usr/bin/kubelet
|
/var/lib/kubernetes/stage2/usr/bin/kubelet /usr/bin/kubelet
|
||||||
/var/lib/kubernetes/stage2/usr/bin/kubelet-cgroup-setup.sh /usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
/var/lib/kubernetes/stage2/usr/bin/kubectl /usr/bin/kubectl
|
/var/lib/kubernetes/stage2/usr/bin/kubectl /usr/bin/kubectl
|
||||||
/var/lib/kubernetes/stage2/etc/systemd/system/kubelet.service.d/kubeadm.conf /etc/systemd/system/kubelet.service.d/kubeadm.conf
|
/var/lib/kubernetes/stage2/etc/systemd/system/kubelet.service.d/kubeadm.conf /etc/systemd/system/kubelet.service.d/kubeadm.conf
|
||||||
/var/lib/kubernetes/stage2/usr/share/bash-completion/completions/kubectl /usr/share/bash-completion/completions/kubectl
|
/var/lib/kubernetes/stage2/usr/share/bash-completion/completions/kubectl /usr/share/bash-completion/completions/kubectl
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
usr/bin/kubeadm
|
usr/bin/kubeadm
|
||||||
usr/bin/kubelet
|
usr/bin/kubelet
|
||||||
usr/bin/kubelet-cgroup-setup.sh
|
|
||||||
usr/bin/kubectl
|
usr/bin/kubectl
|
||||||
etc/systemd/system/kubelet.service.d/kubeadm.conf
|
etc/systemd/system/kubelet.service.d/kubeadm.conf
|
||||||
usr/share/bash-completion/completions/kubectl
|
usr/share/bash-completion/completions/kubectl
|
||||||
|
@ -31,7 +31,6 @@ override_dh_install:
|
|||||||
$(call stage_link,${_symlinkdir}/stage1,${_bindir},kubeadm)
|
$(call stage_link,${_symlinkdir}/stage1,${_bindir},kubeadm)
|
||||||
$(call stage_link,${_symlinkdir}/stage2,/etc/systemd/system/kubelet.service.d,kubeadm.conf)
|
$(call stage_link,${_symlinkdir}/stage2,/etc/systemd/system/kubelet.service.d,kubeadm.conf)
|
||||||
$(call stage_link,${_symlinkdir}/stage2,/usr/share/bash-completion/completions,kubectl)
|
$(call stage_link,${_symlinkdir}/stage2,/usr/share/bash-completion/completions,kubectl)
|
||||||
$(call stage_link,${_symlinkdir}/stage2,${_bindir},kubelet-cgroup-setup.sh)
|
|
||||||
$(call stage_link,${_symlinkdir}/stage2,${_bindir},kubelet)
|
$(call stage_link,${_symlinkdir}/stage2,${_bindir},kubelet)
|
||||||
$(call stage_link,${_symlinkdir}/stage2,${_bindir},kubectl)
|
$(call stage_link,${_symlinkdir}/stage2,${_bindir},kubectl)
|
||||||
|
|
||||||
@ -60,6 +59,7 @@ override_dh_install:
|
|||||||
install -v -p -m 0644 -t ${DEBIAN_DESTDIR}/etc/systemd/system.conf.d debian/kubernetes-accounting.conf
|
install -v -p -m 0644 -t ${DEBIAN_DESTDIR}/etc/systemd/system.conf.d debian/kubernetes-accounting.conf
|
||||||
|
|
||||||
# install scripts
|
# install scripts
|
||||||
|
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_bindir} debian/kubelet-cgroup-setup.sh
|
||||||
install -v -m 0700 -d ${DEBIAN_DESTDIR}${_local_sbindir}
|
install -v -m 0700 -d ${DEBIAN_DESTDIR}${_local_sbindir}
|
||||||
install -v -m 0700 -t ${DEBIAN_DESTDIR}${_local_sbindir} debian/sanitize_kubelet_reserved_cpus.sh
|
install -v -m 0700 -t ${DEBIAN_DESTDIR}${_local_sbindir} debian/sanitize_kubelet_reserved_cpus.sh
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user