mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Setup dns servers and search domains for Windows Pods
This commit is contained in:
parent
2fcac6abf2
commit
228ba8e909
@ -21,56 +21,67 @@ go_library(
|
|||||||
] + select({
|
] + select({
|
||||||
"@io_bazel_rules_go//go/platform:android": [
|
"@io_bazel_rules_go//go/platform:android": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:darwin": [
|
"@io_bazel_rules_go//go/platform:darwin": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:dragonfly": [
|
"@io_bazel_rules_go//go/platform:dragonfly": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:freebsd": [
|
"@io_bazel_rules_go//go/platform:freebsd": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:linux": [
|
"@io_bazel_rules_go//go/platform:linux": [
|
||||||
"docker_image_linux.go",
|
"docker_image_linux.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_linux.go",
|
"docker_stats_linux.go",
|
||||||
"helpers_linux.go",
|
"helpers_linux.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:nacl": [
|
"@io_bazel_rules_go//go/platform:nacl": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:netbsd": [
|
"@io_bazel_rules_go//go/platform:netbsd": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:openbsd": [
|
"@io_bazel_rules_go//go/platform:openbsd": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:plan9": [
|
"@io_bazel_rules_go//go/platform:plan9": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:solaris": [
|
"@io_bazel_rules_go//go/platform:solaris": [
|
||||||
"docker_image_unsupported.go",
|
"docker_image_unsupported.go",
|
||||||
|
"docker_sandbox_others.go",
|
||||||
"docker_stats_unsupported.go",
|
"docker_stats_unsupported.go",
|
||||||
"helpers_unsupported.go",
|
"helpers_unsupported.go",
|
||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:windows": [
|
"@io_bazel_rules_go//go/platform:windows": [
|
||||||
"docker_image_windows.go",
|
"docker_image_windows.go",
|
||||||
|
"docker_sandbox_windows.go",
|
||||||
"docker_stats_windows.go",
|
"docker_stats_windows.go",
|
||||||
"helpers_windows.go",
|
"helpers_windows.go",
|
||||||
],
|
],
|
||||||
|
@ -538,21 +538,6 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod
|
|||||||
return &runtimeapi.ListPodSandboxResponse{Items: result}, nil
|
return &runtimeapi.ListPodSandboxResponse{Items: result}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// applySandboxLinuxOptions applies LinuxPodSandboxConfig to dockercontainer.HostConfig and dockercontainer.ContainerCreateConfig.
|
|
||||||
func (ds *dockerService) applySandboxLinuxOptions(hc *dockercontainer.HostConfig, lc *runtimeapi.LinuxPodSandboxConfig, createConfig *dockertypes.ContainerCreateConfig, image string, separator rune) error {
|
|
||||||
if lc == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
// Apply security context.
|
|
||||||
if err := applySandboxSecurityContext(lc, createConfig.Config, hc, ds.network, separator); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set sysctls.
|
|
||||||
hc.Sysctls = lc.Sysctls
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ds *dockerService) applySandboxResources(hc *dockercontainer.HostConfig, lc *runtimeapi.LinuxPodSandboxConfig) error {
|
func (ds *dockerService) applySandboxResources(hc *dockercontainer.HostConfig, lc *runtimeapi.LinuxPodSandboxConfig) error {
|
||||||
hc.Resources = dockercontainer.Resources{
|
hc.Resources = dockercontainer.Resources{
|
||||||
MemorySwap: DefaultMemorySwap(),
|
MemorySwap: DefaultMemorySwap(),
|
||||||
@ -593,8 +578,8 @@ func (ds *dockerService) makeSandboxDockerConfig(c *runtimeapi.PodSandboxConfig,
|
|||||||
HostConfig: hc,
|
HostConfig: hc,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply linux-specific options.
|
// Apply platform-specific options.
|
||||||
if err := ds.applySandboxLinuxOptions(hc, c.GetLinux(), createConfig, image, securityOptSeparator); err != nil {
|
if err := ds.applySandboxPlatformOptions(hc, c, createConfig, image, securityOptSeparator); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
42
pkg/kubelet/dockershim/docker_sandbox_others.go
Normal file
42
pkg/kubelet/dockershim/docker_sandbox_others.go
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
// +build !windows
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright 2018 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 dockershim
|
||||||
|
|
||||||
|
import (
|
||||||
|
dockertypes "github.com/docker/docker/api/types"
|
||||||
|
dockercontainer "github.com/docker/docker/api/types/container"
|
||||||
|
runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
|
||||||
|
)
|
||||||
|
|
||||||
|
// applySandboxPlatformOptions applies platform specific options to dockercontainer.HostConfig and dockercontainer.ContainerCreateConfig.
|
||||||
|
func (ds *dockerService) applySandboxPlatformOptions(hc *dockercontainer.HostConfig, config *runtimeapi.PodSandboxConfig, createConfig *dockertypes.ContainerCreateConfig, image string, separator rune) error {
|
||||||
|
lc := config.GetLinux()
|
||||||
|
if lc == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply security context.
|
||||||
|
if err := applySandboxSecurityContext(lc, createConfig.Config, hc, ds.network, separator); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set sysctls.
|
||||||
|
hc.Sysctls = lc.Sysctls
|
||||||
|
return nil
|
||||||
|
}
|
39
pkg/kubelet/dockershim/docker_sandbox_windows.go
Normal file
39
pkg/kubelet/dockershim/docker_sandbox_windows.go
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
// +build windows
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright 2018 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 dockershim
|
||||||
|
|
||||||
|
import (
|
||||||
|
dockertypes "github.com/docker/docker/api/types"
|
||||||
|
dockercontainer "github.com/docker/docker/api/types/container"
|
||||||
|
runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
|
||||||
|
)
|
||||||
|
|
||||||
|
// applySandboxPlatformOptions applies platform specific options to dockercontainer.HostConfig and dockercontainer.ContainerCreateConfig.
|
||||||
|
func (ds *dockerService) applySandboxPlatformOptions(hc *dockercontainer.HostConfig, config *runtimeapi.PodSandboxConfig, createConfig *dockertypes.ContainerCreateConfig, image string, separator rune) error {
|
||||||
|
dnsConfig := config.GetDnsConfig()
|
||||||
|
if dnsConfig == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup DNS.
|
||||||
|
hc.DNS = dnsConfig.GetServers()
|
||||||
|
hc.DNSSearch = dnsConfig.GetSearches()
|
||||||
|
hc.DNSOptions = dnsConfig.GetOptions()
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user