mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 02:34:03 +00:00
Merge pull request #63580 from dixudx/fix_cni_flag_binding
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. bind alpha feature network plugin flags correctly **What this PR does / why we need it**: When working #63542, I found the flags, like `--cni-conf-dir` and `cni-bin-dir`, were not correctly bound. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Special notes for your reviewer**: /cc kubernetes/sig-node-pr-reviews **Release note**: ```release-note None ```
This commit is contained in:
commit
381b663b66
@ -92,9 +92,6 @@ go_library(
|
|||||||
"//pkg/kubelet/config:go_default_library",
|
"//pkg/kubelet/config:go_default_library",
|
||||||
"//pkg/kubelet/container:go_default_library",
|
"//pkg/kubelet/container:go_default_library",
|
||||||
"//pkg/kubelet/dockershim:go_default_library",
|
"//pkg/kubelet/dockershim:go_default_library",
|
||||||
"//pkg/kubelet/dockershim/network:go_default_library",
|
|
||||||
"//pkg/kubelet/dockershim/network/cni:go_default_library",
|
|
||||||
"//pkg/kubelet/dockershim/network/kubenet:go_default_library",
|
|
||||||
"//pkg/kubelet/dockershim/remote:go_default_library",
|
"//pkg/kubelet/dockershim/remote:go_default_library",
|
||||||
"//pkg/kubelet/eviction:go_default_library",
|
"//pkg/kubelet/eviction:go_default_library",
|
||||||
"//pkg/kubelet/eviction/api:go_default_library",
|
"//pkg/kubelet/eviction/api:go_default_library",
|
||||||
|
@ -53,5 +53,9 @@ func NewContainerRuntimeOptions() *config.ContainerRuntimeOptions {
|
|||||||
PodSandboxImage: defaultPodSandboxImage,
|
PodSandboxImage: defaultPodSandboxImage,
|
||||||
ImagePullProgressDeadline: metav1.Duration{Duration: 1 * time.Minute},
|
ImagePullProgressDeadline: metav1.Duration{Duration: 1 * time.Minute},
|
||||||
ExperimentalDockershim: false,
|
ExperimentalDockershim: false,
|
||||||
|
|
||||||
|
//Alpha feature
|
||||||
|
CNIBinDir: "/opt/cni/bin",
|
||||||
|
CNIConfDir: "/etc/cni/net.d",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,10 +23,6 @@ import (
|
|||||||
_ "k8s.io/kubernetes/pkg/credentialprovider/azure"
|
_ "k8s.io/kubernetes/pkg/credentialprovider/azure"
|
||||||
_ "k8s.io/kubernetes/pkg/credentialprovider/gcp"
|
_ "k8s.io/kubernetes/pkg/credentialprovider/gcp"
|
||||||
_ "k8s.io/kubernetes/pkg/credentialprovider/rancher"
|
_ "k8s.io/kubernetes/pkg/credentialprovider/rancher"
|
||||||
// Network plugins
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/dockershim/network"
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/dockershim/network/cni"
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/dockershim/network/kubenet"
|
|
||||||
// Volume plugins
|
// Volume plugins
|
||||||
"k8s.io/kubernetes/pkg/volume"
|
"k8s.io/kubernetes/pkg/volume"
|
||||||
"k8s.io/kubernetes/pkg/volume/aws_ebs"
|
"k8s.io/kubernetes/pkg/volume/aws_ebs"
|
||||||
@ -112,14 +108,3 @@ func ProbeVolumePlugins() []volume.VolumePlugin {
|
|||||||
func GetDynamicPluginProber(pluginDir string) volume.DynamicPluginProber {
|
func GetDynamicPluginProber(pluginDir string) volume.DynamicPluginProber {
|
||||||
return flexvolume.GetDynamicPluginProber(pluginDir)
|
return flexvolume.GetDynamicPluginProber(pluginDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ProbeNetworkPlugins collects all compiled-in plugins
|
|
||||||
func ProbeNetworkPlugins(cniConfDir string, cniBinDirs []string) []network.NetworkPlugin {
|
|
||||||
allPlugins := []network.NetworkPlugin{}
|
|
||||||
|
|
||||||
// for each existing plugin, add to the list
|
|
||||||
allPlugins = append(allPlugins, cni.ProbeNetworkPlugins(cniConfDir, cniBinDirs)...)
|
|
||||||
allPlugins = append(allPlugins, kubenet.NewPlugin(cniBinDirs))
|
|
||||||
|
|
||||||
return allPlugins
|
|
||||||
}
|
|
||||||
|
@ -96,12 +96,12 @@ func (s *ContainerRuntimeOptions) AddFlags(fs *pflag.FlagSet) {
|
|||||||
fs.BoolVar(&s.DockerDisableSharedPID, "docker-disable-shared-pid", s.DockerDisableSharedPID, fmt.Sprintf("Setting this to false causes Kubernetes to create pods using a shared process namespace for containers in a pod when running with Docker 1.13.1 or higher. A future Kubernetes release will make this configurable instead in the API. %s", dockerOnlyWarning))
|
fs.BoolVar(&s.DockerDisableSharedPID, "docker-disable-shared-pid", s.DockerDisableSharedPID, fmt.Sprintf("Setting this to false causes Kubernetes to create pods using a shared process namespace for containers in a pod when running with Docker 1.13.1 or higher. A future Kubernetes release will make this configurable instead in the API. %s", dockerOnlyWarning))
|
||||||
fs.MarkDeprecated("docker-disable-shared-pid", "will be removed in a future release. This option will be replaced by PID namespace sharing that is configurable per-pod using the API. See https://features.k8s.io/495")
|
fs.MarkDeprecated("docker-disable-shared-pid", "will be removed in a future release. This option will be replaced by PID namespace sharing that is configurable per-pod using the API. See https://features.k8s.io/495")
|
||||||
fs.StringVar(&s.PodSandboxImage, "pod-infra-container-image", s.PodSandboxImage, fmt.Sprintf("The image whose network/ipc namespaces containers in each pod will use. %s", dockerOnlyWarning))
|
fs.StringVar(&s.PodSandboxImage, "pod-infra-container-image", s.PodSandboxImage, fmt.Sprintf("The image whose network/ipc namespaces containers in each pod will use. %s", dockerOnlyWarning))
|
||||||
fs.StringVar(&s.DockerEndpoint, "docker-endpoint", s.DockerEndpoint, fmt.Sprintf("Use this for the docker endpoint to communicate with %s", dockerOnlyWarning))
|
fs.StringVar(&s.DockerEndpoint, "docker-endpoint", s.DockerEndpoint, fmt.Sprintf("Use this for the docker endpoint to communicate with. %s", dockerOnlyWarning))
|
||||||
fs.DurationVar(&s.ImagePullProgressDeadline.Duration, "image-pull-progress-deadline", s.ImagePullProgressDeadline.Duration, fmt.Sprintf("If no pulling progress is made before this deadline, the image pulling will be cancelled. %s", dockerOnlyWarning))
|
fs.DurationVar(&s.ImagePullProgressDeadline.Duration, "image-pull-progress-deadline", s.ImagePullProgressDeadline.Duration, fmt.Sprintf("If no pulling progress is made before this deadline, the image pulling will be cancelled. %s", dockerOnlyWarning))
|
||||||
|
|
||||||
// Network plugin settings for Docker.
|
// Network plugin settings for Docker.
|
||||||
fs.StringVar(&s.NetworkPluginName, "network-plugin", s.NetworkPluginName, fmt.Sprintf("<Warning: Alpha feature> The name of the network plugin to be invoked for various events in kubelet/pod lifecycle. %s", dockerOnlyWarning))
|
fs.StringVar(&s.NetworkPluginName, "network-plugin", s.NetworkPluginName, fmt.Sprintf("<Warning: Alpha feature> The name of the network plugin to be invoked for various events in kubelet/pod lifecycle. %s", dockerOnlyWarning))
|
||||||
fs.StringVar(&s.CNIConfDir, "cni-conf-dir", s.CNIConfDir, fmt.Sprintf("<Warning: Alpha feature> The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d. %s", dockerOnlyWarning))
|
fs.StringVar(&s.CNIConfDir, "cni-conf-dir", s.CNIConfDir, fmt.Sprintf("<Warning: Alpha feature> The full path of the directory in which to search for CNI config files. %s", dockerOnlyWarning))
|
||||||
fs.StringVar(&s.CNIBinDir, "cni-bin-dir", s.CNIBinDir, fmt.Sprintf("<Warning: Alpha feature> A comma-separated list of full paths of directories in which to search for CNI plugin binaries. Default: /opt/cni/bin. %s", dockerOnlyWarning))
|
fs.StringVar(&s.CNIBinDir, "cni-bin-dir", s.CNIBinDir, fmt.Sprintf("<Warning: Alpha feature> A comma-separated list of full paths of directories in which to search for CNI plugin binaries. %s", dockerOnlyWarning))
|
||||||
fs.Int32Var(&s.NetworkPluginMTU, "network-plugin-mtu", s.NetworkPluginMTU, fmt.Sprintf("<Warning: Alpha feature> The MTU to be passed to the network plugin, to override the default. Set to 0 to use the default 1460 MTU. %s", dockerOnlyWarning))
|
fs.Int32Var(&s.NetworkPluginMTU, "network-plugin-mtu", s.NetworkPluginMTU, fmt.Sprintf("<Warning: Alpha feature> The MTU to be passed to the network plugin, to override the default. Set to 0 to use the default 1460 MTU. %s", dockerOnlyWarning))
|
||||||
}
|
}
|
||||||
|
@ -33,9 +33,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
CNIPluginName = "cni"
|
CNIPluginName = "cni"
|
||||||
DefaultConfDir = "/etc/cni/net.d"
|
|
||||||
DefaultBinDir = "/opt/cni/bin"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type cniNetworkPlugin struct {
|
type cniNetworkPlugin struct {
|
||||||
@ -81,13 +79,6 @@ func ProbeNetworkPlugins(confDir string, binDirs []string) []network.NetworkPlug
|
|||||||
binDirs = append(binDirs, dir)
|
binDirs = append(binDirs, dir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(binDirs) == 0 {
|
|
||||||
binDirs = []string{DefaultBinDir}
|
|
||||||
}
|
|
||||||
|
|
||||||
if confDir == "" {
|
|
||||||
confDir = DefaultConfDir
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin := &cniNetworkPlugin{
|
plugin := &cniNetworkPlugin{
|
||||||
defaultNetwork: nil,
|
defaultNetwork: nil,
|
||||||
|
Loading…
Reference in New Issue
Block a user