Merge pull request #15111 from hakman/containerd_config_path

Switch contained config file path to `/etc/containerd/config.toml`
This commit is contained in:
Kubernetes Prow Robot 2023-02-06 09:03:01 -08:00 committed by GitHub
commit 90967ce4ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 19 additions and 27 deletions

View File

@ -55,7 +55,9 @@ error is encountered while updating an InstanceGroup.
# Other changes of note
* Add unreachable route for pod IP on deletion option in Cilium.
* containerd config is now written to `/etc/containerd/config.toml`.
* Cilium can be configured to add unreachable route for pod IP on deletion.
# Breaking changes

View File

@ -35,6 +35,8 @@ import (
"k8s.io/kops/util/pkg/distributions"
)
const containerdConfigFilePath = "/etc/containerd/config.toml"
// ContainerdBuilder install containerd (just the packages at the moment)
type ContainerdBuilder struct {
*NodeupModelContext
@ -203,7 +205,7 @@ func (b *ContainerdBuilder) buildSystemdService(sv semver.Version) *nodetasks.Se
manifest.Set("Service", "EnvironmentFile", "/etc/sysconfig/containerd")
manifest.Set("Service", "EnvironmentFile", "/etc/environment")
manifest.Set("Service", "ExecStartPre", "-/sbin/modprobe overlay")
manifest.Set("Service", "ExecStart", "/usr/bin/containerd -c "+b.containerdConfigFilePath()+" \"$CONTAINERD_OPTS\"")
manifest.Set("Service", "ExecStart", "/usr/bin/containerd -c "+containerdConfigFilePath+" \"$CONTAINERD_OPTS\"")
// notify the daemon's readiness to systemd
if (b.NodeupConfig.ContainerRuntime == "containerd" && sv.GTE(semver.MustParse("1.3.4"))) || sv.GTE(semver.MustParse("19.3.13")) {
@ -248,18 +250,6 @@ func (b *ContainerdBuilder) buildSystemdService(sv semver.Version) *nodetasks.Se
return service
}
// containerdConfigFilePath returns the path we use for the containerd config file
// We normally use a different path for clarity, but on some OSes we can't override the path.
// TODO: Should we just use config.toml everywhere?
func (b *ContainerdBuilder) containerdConfigFilePath() string {
switch b.Distribution {
case distributions.DistributionContainerOS:
return "/etc/containerd/config.toml"
default:
return "/etc/containerd/config-kops.toml"
}
}
// buildSystemdServiceOverrideContainerOS is responsible for overriding the containerd service for ContainerOS
func (b *ContainerdBuilder) buildSystemdServiceOverrideContainerOS(c *fi.NodeupModelBuilderContext) {
lines := []string{
@ -273,7 +263,7 @@ func (b *ContainerdBuilder) buildSystemdServiceOverrideContainerOS(c *fi.NodeupM
Path: "/etc/systemd/system/containerd.service.d/10-kops.conf",
Contents: fi.NewStringResource(contents),
Type: nodetasks.FileType_File,
AfterFiles: []string{b.containerdConfigFilePath()},
AfterFiles: []string{containerdConfigFilePath},
OnChangeExecute: [][]string{
{"systemctl", "daemon-reload"},
{"systemctl", "restart", "containerd.service"},
@ -292,7 +282,7 @@ func (b *ContainerdBuilder) buildSystemdServiceOverrideFlatcar(c *fi.NodeupModel
"[Service]",
"EnvironmentFile=/etc/environment",
"ExecStart=",
"ExecStart=/usr/bin/containerd --config " + b.containerdConfigFilePath(),
"ExecStart=/usr/bin/containerd --config " + containerdConfigFilePath,
}
contents := strings.Join(lines, "\n")
@ -300,7 +290,7 @@ func (b *ContainerdBuilder) buildSystemdServiceOverrideFlatcar(c *fi.NodeupModel
Path: "/etc/systemd/system/containerd.service.d/10-kops.conf",
Contents: fi.NewStringResource(contents),
Type: nodetasks.FileType_File,
AfterFiles: []string{b.containerdConfigFilePath()},
AfterFiles: []string{containerdConfigFilePath},
OnChangeExecute: [][]string{
{"systemctl", "daemon-reload"},
{"systemctl", "restart", "containerd.service"},
@ -353,7 +343,7 @@ func (b *ContainerdBuilder) buildConfigFile(c *fi.NodeupModelBuilderContext) err
}
}
c.AddTask(&nodetasks.File{
Path: b.containerdConfigFilePath(),
Path: containerdConfigFilePath,
Contents: fi.NewStringResource(config),
Type: nodetasks.FileType_File,
})

View File

@ -40,16 +40,16 @@ contents: |
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
path: /etc/containerd/config-kops.toml
path: /etc/containerd/config.toml
type: file
---
afterFiles:
- /etc/containerd/config-kops.toml
- /etc/containerd/config.toml
contents: |-
[Service]
EnvironmentFile=/etc/environment
ExecStart=
ExecStart=/usr/bin/containerd --config /etc/containerd/config-kops.toml
ExecStart=/usr/bin/containerd --config /etc/containerd/config.toml
onChangeExecute:
- - systemctl
- daemon-reload

View File

@ -1,6 +1,6 @@
contents: |
disabled_plugins = ["cri"]
path: /etc/containerd/config-kops.toml
path: /etc/containerd/config.toml
type: file
---
contents: CONTAINERD_OPTS=--log-level=info
@ -214,7 +214,7 @@ definition: |
EnvironmentFile=/etc/sysconfig/containerd
EnvironmentFile=/etc/environment
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd -c /etc/containerd/config-kops.toml "$CONTAINERD_OPTS"
ExecStart=/usr/bin/containerd -c /etc/containerd/config.toml "$CONTAINERD_OPTS"
Delegate=yes
KillMode=process
Restart=always

View File

@ -1,6 +1,6 @@
contents: |
disabled_plugins = ["cri"]
path: /etc/containerd/config-kops.toml
path: /etc/containerd/config.toml
type: file
---
contents: CONTAINERD_OPTS=--log-level=info
@ -214,7 +214,7 @@ definition: |
EnvironmentFile=/etc/sysconfig/containerd
EnvironmentFile=/etc/environment
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd -c /etc/containerd/config-kops.toml "$CONTAINERD_OPTS"
ExecStart=/usr/bin/containerd -c /etc/containerd/config.toml "$CONTAINERD_OPTS"
Type=notify
Delegate=yes
KillMode=process

View File

@ -40,7 +40,7 @@ contents: |
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
path: /etc/containerd/config-kops.toml
path: /etc/containerd/config.toml
type: file
---
contents: |2
@ -347,7 +347,7 @@ definition: |
EnvironmentFile=/etc/sysconfig/containerd
EnvironmentFile=/etc/environment
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd -c /etc/containerd/config-kops.toml "$CONTAINERD_OPTS"
ExecStart=/usr/bin/containerd -c /etc/containerd/config.toml "$CONTAINERD_OPTS"
Type=notify
Delegate=yes
KillMode=process