Commit f5861b9e authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #30176 from dims/check-for-root-access

Automatic merge from submit-queue Check for CAP_SYS_ADMIN in Kubelet Comment from nsenter_mount.go header: The Kubelet process must have CAP_SYS_ADMIN (required by nsenter); at the present, this effectively means that the kubelet is running in a privileged container. Related to #26093 <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30176) <!-- Reviewable:end -->
parents 2fb7cae2 2616fc9c
......@@ -26,6 +26,7 @@ import (
"net"
"net/http"
_ "net/http/pprof"
"os"
"path"
"strconv"
"strings"
......@@ -34,6 +35,7 @@ import (
"github.com/golang/glog"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"github.com/syndtr/gocapability/capability"
"k8s.io/kubernetes/cmd/kubelet/app/options"
"k8s.io/kubernetes/pkg/api"
......@@ -321,6 +323,16 @@ func run(s *options.KubeletServer, kcfg *KubeletConfig) (err error) {
} else {
glog.Errorf("unable to register configz: %s", err)
}
// check if we have CAP_SYS_ADMIN to setgroup properly
pid, err := capability.NewPid(os.Getpid())
if err != nil {
return err
}
if !pid.Get(capability.EFFECTIVE, capability.CAP_SYS_ADMIN) {
return fmt.Errorf("Kubelet needs the CAP_SYS_ADMIN capability. Please run kubelet as root or in a privileged container")
}
if kcfg == nil {
cfg, err := UnsecuredKubeletConfig(s)
if err != nil {
......
......@@ -36,6 +36,7 @@ mkdir -p "${HOST_ARTIFACTS_DIR}"
# provided must be resolvable on the *HOST*, not the container.
docker run --rm=true \
--privileged=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "${REPO_DIR}":/go/src/k8s.io/kubernetes \
-v "${WORKSPACE}/_artifacts":/workspace/artifacts \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment