mirror of https://github.com/kubernetes/kops.git
Use NodeupConfig for DockerConfig
This commit is contained in:
parent
3fe4ee9b84
commit
fe448ef906
|
@ -168,8 +168,8 @@ func (b *ContainerdBuilder) installContainerd(c *fi.NodeupModelBuilderContext) e
|
|||
return fmt.Errorf("error finding contained version")
|
||||
}
|
||||
} else {
|
||||
if b.Cluster.Spec.Docker != nil {
|
||||
containerRuntimeVersion = fi.ValueOf(b.Cluster.Spec.Docker.Version)
|
||||
if b.NodeupConfig.Docker != nil {
|
||||
containerRuntimeVersion = fi.ValueOf(b.NodeupConfig.Docker.Version)
|
||||
} else {
|
||||
return fmt.Errorf("error finding Docker version")
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ func (b *ContainerdBuilder) buildSystemdService(sv semver.Version) *nodetasks.Se
|
|||
manifest.Set("Unit", "After", "network.target local-fs.target")
|
||||
|
||||
// Restore the default SELinux security contexts for the containerd and runc binaries
|
||||
if b.Distribution.IsRHELFamily() && b.Cluster.Spec.Docker != nil && fi.ValueOf(b.Cluster.Spec.Docker.SelinuxEnabled) {
|
||||
if b.Distribution.IsRHELFamily() && b.NodeupConfig.Docker != nil && fi.ValueOf(b.NodeupConfig.Docker.SelinuxEnabled) {
|
||||
manifest.Set("Service", "ExecStartPre", "/bin/sh -c 'restorecon -v /usr/bin/runc'")
|
||||
manifest.Set("Service", "ExecStartPre", "/bin/sh -c 'restorecon -v /usr/bin/containerd*'")
|
||||
}
|
||||
|
|
|
@ -45,8 +45,8 @@ var _ fi.NodeupModelBuilder = &DockerBuilder{}
|
|||
|
||||
func (b *DockerBuilder) dockerVersion() (string, error) {
|
||||
dockerVersion := ""
|
||||
if b.Cluster.Spec.Docker != nil {
|
||||
dockerVersion = fi.ValueOf(b.Cluster.Spec.Docker.Version)
|
||||
if b.NodeupConfig.Docker != nil {
|
||||
dockerVersion = fi.ValueOf(b.NodeupConfig.Docker.Version)
|
||||
}
|
||||
if dockerVersion == "" {
|
||||
return "", fmt.Errorf("error finding Docker version")
|
||||
|
@ -201,7 +201,7 @@ func (b *DockerBuilder) buildSystemdService(dockerVersion semver.Version) *nodet
|
|||
|
||||
manifest.Set("Service", "Type", "notify")
|
||||
// Restore the default SELinux security contexts for the Docker binaries
|
||||
if b.Distribution.IsRHELFamily() && b.Cluster.Spec.Docker != nil && fi.ValueOf(b.Cluster.Spec.Docker.SelinuxEnabled) {
|
||||
if b.Distribution.IsRHELFamily() && b.NodeupConfig.Docker != nil && fi.ValueOf(b.NodeupConfig.Docker.SelinuxEnabled) {
|
||||
manifest.Set("Service", "ExecStartPre", "/bin/sh -c 'restorecon -v /usr/bin/docker*'")
|
||||
}
|
||||
// the default is not to use systemd for cgroups because the delegate issues still
|
||||
|
@ -347,8 +347,8 @@ func (b *DockerBuilder) buildContainerOSConfigurationDropIn(c *fi.NodeupModelBui
|
|||
// buildSysconfig is responsible for extracting the docker configuration and writing the sysconfig file
|
||||
func (b *DockerBuilder) buildSysconfig(c *fi.NodeupModelBuilderContext) error {
|
||||
var docker kops.DockerConfig
|
||||
if b.Cluster.Spec.Docker != nil {
|
||||
docker = *b.Cluster.Spec.Docker
|
||||
if b.NodeupConfig.Docker != nil {
|
||||
docker = *b.NodeupConfig.Docker
|
||||
}
|
||||
|
||||
// ContainerOS now sets the storage flag in /etc/docker/daemon.json, and it is an error to set it twice
|
||||
|
@ -413,7 +413,7 @@ func (b *DockerBuilder) buildSysconfig(c *fi.NodeupModelBuilderContext) error {
|
|||
|
||||
// skipInstall determines if kops should skip the installation and configuration of Docker
|
||||
func (b *DockerBuilder) skipInstall() bool {
|
||||
d := b.Cluster.Spec.Docker
|
||||
d := b.NodeupConfig.Docker
|
||||
|
||||
// don't skip install if the user hasn't specified anything
|
||||
if d == nil {
|
||||
|
@ -425,7 +425,7 @@ func (b *DockerBuilder) skipInstall() bool {
|
|||
|
||||
// healthCheck determines if kops should enable the health-check for Docker
|
||||
func (b *DockerBuilder) healthCheck() bool {
|
||||
d := b.Cluster.Spec.Docker
|
||||
d := b.NodeupConfig.Docker
|
||||
|
||||
// don't enable the health-check if the user hasn't specified anything
|
||||
if d == nil {
|
||||
|
|
|
@ -145,12 +145,12 @@ func runDockerBuilderTest(t *testing.T, key string) {
|
|||
|
||||
nodeUpModelContext.Distribution = distributions.DistributionUbuntu2004
|
||||
|
||||
if nodeUpModelContext.Cluster.Spec.Docker.SkipInstall == false {
|
||||
if nodeUpModelContext.Cluster == nil || nodeUpModelContext.Cluster.Spec.Docker == nil || nodeUpModelContext.Cluster.Spec.Docker.Version == nil {
|
||||
if nodeUpModelContext.NodeupConfig.Docker.SkipInstall == false {
|
||||
if nodeUpModelContext.NodeupConfig.Docker.Version == nil {
|
||||
t.Fatalf("error finding Docker version")
|
||||
return
|
||||
}
|
||||
dv := fi.ValueOf(nodeUpModelContext.Cluster.Spec.Docker.Version)
|
||||
dv := fi.ValueOf(nodeUpModelContext.NodeupConfig.Docker.Version)
|
||||
sv, err := semver.ParseTolerant(dv)
|
||||
if err != nil {
|
||||
t.Fatalf("error parsing Docker version %q: %v", dv, err)
|
||||
|
|
|
@ -72,8 +72,10 @@ type Config struct {
|
|||
Hooks [][]kops.HookSpec
|
||||
// ContainerRuntime is the container runtime to use for Kubernetes.
|
||||
ContainerRuntime string
|
||||
// ContainerdConfig config holds the configuration for containerd
|
||||
// ContainerdConfig holds the configuration for containerd.
|
||||
ContainerdConfig *kops.ContainerdConfig `json:"containerdConfig,omitempty"`
|
||||
// Docker holds the configuration for docker.
|
||||
Docker *kops.DockerConfig `json:"docker,omitempty"`
|
||||
|
||||
// APIServerConfig is additional configuration for nodes running an APIServer.
|
||||
APIServerConfig *APIServerConfig `json:",omitempty"`
|
||||
|
@ -172,6 +174,7 @@ func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) (*Confi
|
|||
FileAssets: append(filterFileAssets(instanceGroup.Spec.FileAssets, role), filterFileAssets(cluster.Spec.FileAssets, role)...),
|
||||
Hooks: [][]kops.HookSpec{igHooks, clusterHooks},
|
||||
ContainerRuntime: cluster.Spec.ContainerRuntime,
|
||||
Docker: cluster.Spec.Docker,
|
||||
}
|
||||
|
||||
bootConfig := BootConfig{
|
||||
|
|
|
@ -378,7 +378,6 @@ func (b *BootstrapScript) Run(c *fi.CloudupContext) error {
|
|||
|
||||
spec := make(map[string]interface{})
|
||||
spec["cloudConfig"] = cs.CloudConfig
|
||||
spec["docker"] = cs.Docker
|
||||
spec["kubeProxy"] = cs.KubeProxy
|
||||
spec["kubelet"] = cs.Kubelet
|
||||
|
||||
|
|
|
@ -467,7 +467,7 @@ func evaluateSpec(c *NodeUpCommand, nodeupConfig *nodeup.Config, cloudProvider a
|
|||
}
|
||||
|
||||
if nodeupConfig.ContainerRuntime == "docker" {
|
||||
err = evaluateDockerSpecStorage(c.cluster.Spec.Docker)
|
||||
err = evaluateDockerSpecStorage(nodeupConfig.Docker)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue