mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
Merge pull request #80296 from bart0sh/PR0072-remove-util-procfs-dependency
kubeadm: remove dependency on pkg/util/procfs
This commit is contained in:
commit
cfabadb0eb
@ -83,7 +83,6 @@
|
||||
"k8s.io/kubernetes/pkg/util/ipvs",
|
||||
"k8s.io/kubernetes/pkg/util/metrics",
|
||||
"k8s.io/kubernetes/pkg/util/parsers",
|
||||
"k8s.io/kubernetes/pkg/util/procfs",
|
||||
"k8s.io/kubernetes/pkg/util/sysctl",
|
||||
"k8s.io/kubernetes/pkg/util/taints"
|
||||
],
|
||||
|
@ -19,7 +19,6 @@ go_library(
|
||||
"//cmd/kubeadm/app/util/apiclient:go_default_library",
|
||||
"//cmd/kubeadm/app/util/initsystem:go_default_library",
|
||||
"//pkg/kubelet/apis/config:go_default_library",
|
||||
"//pkg/util/procfs:go_default_library",
|
||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||
|
@ -29,7 +29,7 @@ import (
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/images"
|
||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||
"k8s.io/kubernetes/pkg/util/procfs"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/util/initsystem"
|
||||
utilsexec "k8s.io/utils/exec"
|
||||
)
|
||||
|
||||
@ -39,7 +39,7 @@ type kubeletFlagsOpts struct {
|
||||
pauseImage string
|
||||
registerTaintsUsingFlags bool
|
||||
execer utilsexec.Interface
|
||||
pidOfFunc func(string) ([]int, error)
|
||||
isServiceActiveFunc func(string) (bool, error)
|
||||
defaultHostname string
|
||||
}
|
||||
|
||||
@ -57,8 +57,14 @@ func WriteKubeletDynamicEnvFile(cfg *kubeadmapi.ClusterConfiguration, nodeReg *k
|
||||
pauseImage: images.GetPauseImage(cfg),
|
||||
registerTaintsUsingFlags: registerTaintsUsingFlags,
|
||||
execer: utilsexec.New(),
|
||||
pidOfFunc: procfs.PidOf,
|
||||
defaultHostname: hostName,
|
||||
isServiceActiveFunc: func(name string) (bool, error) {
|
||||
initSystem, err := initsystem.GetInitSystem()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return initSystem.ServiceIsActive(name), nil
|
||||
},
|
||||
defaultHostname: hostName,
|
||||
}
|
||||
stringMap := buildKubeletArgMap(flagOpts)
|
||||
argList := kubeadmutil.BuildArgumentListFromMap(stringMap, nodeReg.KubeletExtraArgs)
|
||||
@ -98,8 +104,11 @@ func buildKubeletArgMap(opts kubeletFlagsOpts) map[string]string {
|
||||
kubeletFlags["register-with-taints"] = strings.Join(taintStrs, ",")
|
||||
}
|
||||
|
||||
if pids, _ := opts.pidOfFunc("systemd-resolved"); len(pids) > 0 {
|
||||
// procfs.PidOf only returns an error if the regex is empty or doesn't compile, so we can ignore it
|
||||
ok, err := opts.isServiceActiveFunc("systemd-resolved")
|
||||
if err != nil {
|
||||
klog.Warningf("cannot determine if systemd-resolved is active: %v\n", err)
|
||||
}
|
||||
if ok {
|
||||
kubeletFlags["resolv-conf"] = "/run/systemd/resolve/resolv.conf"
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ import (
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||
"k8s.io/utils/exec"
|
||||
)
|
||||
@ -89,12 +89,12 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
func binaryRunningPidOfFunc(_ string) ([]int, error) {
|
||||
return []int{1, 2, 3}, nil
|
||||
func serviceIsActiveFunc(_ string) (bool, error) {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func binaryNotRunningPidOfFunc(_ string) ([]int, error) {
|
||||
return []int{}, nil
|
||||
func serviceIsNotActiveFunc(_ string) (bool, error) {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func TestBuildKubeletArgMap(t *testing.T) {
|
||||
@ -118,9 +118,9 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
execer: errCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
defaultHostname: "foo",
|
||||
execer: errCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"network-plugin": "cni",
|
||||
@ -133,9 +133,9 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
CRISocket: "/var/run/dockershim.sock",
|
||||
Name: "override-name",
|
||||
},
|
||||
execer: errCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
defaultHostname: "default",
|
||||
execer: errCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "default",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"network-plugin": "cni",
|
||||
@ -149,9 +149,9 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
CRISocket: "/var/run/dockershim.sock",
|
||||
Name: "foo",
|
||||
},
|
||||
execer: systemdCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
defaultHostname: "foo",
|
||||
execer: systemdCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"network-plugin": "cni",
|
||||
@ -165,9 +165,9 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
CRISocket: "/var/run/dockershim.sock",
|
||||
Name: "foo",
|
||||
},
|
||||
execer: cgroupfsCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
defaultHostname: "foo",
|
||||
execer: cgroupfsCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"network-plugin": "cni",
|
||||
@ -181,9 +181,9 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
CRISocket: "/var/run/containerd.sock",
|
||||
Name: "foo",
|
||||
},
|
||||
execer: cgroupfsCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
defaultHostname: "foo",
|
||||
execer: cgroupfsCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"container-runtime": "remote",
|
||||
@ -211,7 +211,7 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
},
|
||||
registerTaintsUsingFlags: true,
|
||||
execer: cgroupfsCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
@ -227,9 +227,9 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
CRISocket: "/var/run/containerd.sock",
|
||||
Name: "foo",
|
||||
},
|
||||
execer: cgroupfsCgroupExecer,
|
||||
pidOfFunc: binaryRunningPidOfFunc,
|
||||
defaultHostname: "foo",
|
||||
execer: cgroupfsCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"container-runtime": "remote",
|
||||
@ -244,10 +244,10 @@ func TestBuildKubeletArgMap(t *testing.T) {
|
||||
CRISocket: "/var/run/dockershim.sock",
|
||||
Name: "foo",
|
||||
},
|
||||
pauseImage: "gcr.io/pause:3.1",
|
||||
execer: cgroupfsCgroupExecer,
|
||||
pidOfFunc: binaryNotRunningPidOfFunc,
|
||||
defaultHostname: "foo",
|
||||
pauseImage: "gcr.io/pause:3.1",
|
||||
execer: cgroupfsCgroupExecer,
|
||||
isServiceActiveFunc: serviceIsNotActiveFunc,
|
||||
defaultHostname: "foo",
|
||||
},
|
||||
expected: map[string]string{
|
||||
"network-plugin": "cni",
|
||||
|
Loading…
Reference in New Issue
Block a user