mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 02:09:56 +00:00
Merge pull request #122652 from AkihiroSuda/fix-122650
Fix compiling e2e.test on macOS
This commit is contained in:
commit
85097f3d2c
@ -36,7 +36,6 @@ import (
|
|||||||
"k8s.io/mount-utils"
|
"k8s.io/mount-utils"
|
||||||
utilpath "k8s.io/utils/path"
|
utilpath "k8s.io/utils/path"
|
||||||
|
|
||||||
libcontaineruserns "github.com/opencontainers/runc/libcontainer/userns"
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
@ -64,6 +63,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubelet/pluginmanager/cache"
|
"k8s.io/kubernetes/pkg/kubelet/pluginmanager/cache"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/stats/pidlimit"
|
"k8s.io/kubernetes/pkg/kubelet/stats/pidlimit"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/status"
|
"k8s.io/kubernetes/pkg/kubelet/status"
|
||||||
|
"k8s.io/kubernetes/pkg/kubelet/userns/inuserns"
|
||||||
schedulerframework "k8s.io/kubernetes/pkg/scheduler/framework"
|
schedulerframework "k8s.io/kubernetes/pkg/scheduler/framework"
|
||||||
"k8s.io/kubernetes/pkg/util/oom"
|
"k8s.io/kubernetes/pkg/util/oom"
|
||||||
)
|
)
|
||||||
@ -431,7 +431,7 @@ func setupKernelTunables(option KernelTunableBehavior) error {
|
|||||||
klog.V(2).InfoS("Updating kernel flag", "flag", flag, "expectedValue", expectedValue, "actualValue", val)
|
klog.V(2).InfoS("Updating kernel flag", "flag", flag, "expectedValue", expectedValue, "actualValue", val)
|
||||||
err = sysctl.SetSysctl(flag, expectedValue)
|
err = sysctl.SetSysctl(flag, expectedValue)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if libcontaineruserns.RunningInUserNS() {
|
if inuserns.RunningInUserNS() {
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.KubeletInUserNamespace) {
|
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.KubeletInUserNamespace) {
|
||||||
klog.V(2).InfoS("Updating kernel flag failed (running in UserNS, ignoring)", "flag", flag, "err", err)
|
klog.V(2).InfoS("Updating kernel flag failed (running in UserNS, ignoring)", "flag", flag, "err", err)
|
||||||
continue
|
continue
|
||||||
|
@ -33,7 +33,6 @@ import (
|
|||||||
|
|
||||||
cadvisorapi "github.com/google/cadvisor/info/v1"
|
cadvisorapi "github.com/google/cadvisor/info/v1"
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
libcontaineruserns "github.com/opencontainers/runc/libcontainer/userns"
|
|
||||||
"github.com/opencontainers/selinux/go-selinux"
|
"github.com/opencontainers/selinux/go-selinux"
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
|
||||||
@ -110,6 +109,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubelet/token"
|
"k8s.io/kubernetes/pkg/kubelet/token"
|
||||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/userns"
|
"k8s.io/kubernetes/pkg/kubelet/userns"
|
||||||
|
"k8s.io/kubernetes/pkg/kubelet/userns/inuserns"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util"
|
"k8s.io/kubernetes/pkg/kubelet/util"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util/manager"
|
"k8s.io/kubernetes/pkg/kubelet/util/manager"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util/queue"
|
"k8s.io/kubernetes/pkg/kubelet/util/queue"
|
||||||
@ -471,7 +471,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
|
|||||||
|
|
||||||
oomWatcher, err := oomwatcher.NewWatcher(kubeDeps.Recorder)
|
oomWatcher, err := oomwatcher.NewWatcher(kubeDeps.Recorder)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if libcontaineruserns.RunningInUserNS() {
|
if inuserns.RunningInUserNS() {
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.KubeletInUserNamespace) {
|
if utilfeature.DefaultFeatureGate.Enabled(features.KubeletInUserNamespace) {
|
||||||
// oomwatcher.NewWatcher returns "open /dev/kmsg: operation not permitted" error,
|
// oomwatcher.NewWatcher returns "open /dev/kmsg: operation not permitted" error,
|
||||||
// when running in a user namespace with sysctl value `kernel.dmesg_restrict=1`.
|
// when running in a user namespace with sysctl value `kernel.dmesg_restrict=1`.
|
||||||
|
24
pkg/kubelet/userns/inuserns/inuserns_linux.go
Normal file
24
pkg/kubelet/userns/inuserns/inuserns_linux.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2024 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package inuserns
|
||||||
|
|
||||||
|
import libcontaineruserns "github.com/opencontainers/runc/libcontainer/userns"
|
||||||
|
|
||||||
|
// RunningInUserNS detects whether the current process is running in a user namespace.
|
||||||
|
func RunningInUserNS() bool {
|
||||||
|
return libcontaineruserns.RunningInUserNS()
|
||||||
|
}
|
25
pkg/kubelet/userns/inuserns/inuserns_others.go
Normal file
25
pkg/kubelet/userns/inuserns/inuserns_others.go
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
//go:build !linux
|
||||||
|
// +build !linux
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright 2024 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package inuserns
|
||||||
|
|
||||||
|
// RunningInUserNS detects whether the current process is running in a user namespace.
|
||||||
|
func RunningInUserNS() bool {
|
||||||
|
return false
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user