Skip to content

Commit 2dcb240

Browse files
authored
Merge pull request #859 from yoogoc/add-containerd-socket-path
feat(k8s): add containerd-socket-path to controller
2 parents 0e13e99 + 29a7279 commit 2dcb240

5 files changed

Lines changed: 21 additions & 2 deletions

File tree

kubernetes/charts/opensandbox-controller/templates/deployment.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ spec:
6161
{{- if .Values.controller.snapshot.imageCommitterImage }}
6262
- --image-committer-image={{ .Values.controller.snapshot.imageCommitterImage }}
6363
{{- end }}
64+
{{- if .Values.controller.snapshot.containerdSocketPath }}
65+
- --containerd-socket-path={{ .Values.controller.snapshot.containerdSocketPath }}
66+
{{- end }}
6467
{{- if .Values.controller.snapshot.commitJobTimeout }}
6568
- --commit-job-timeout={{ .Values.controller.snapshot.commitJobTimeout }}
6669
{{- end }}

kubernetes/charts/opensandbox-controller/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ controller:
4848
snapshot:
4949
# -- Image used for commit operations (must contain nerdctl tool)
5050
imageCommitterImage: "image-committer:dev"
51+
# -- Containerd socket path of host
52+
containerdSocketPath: "/var/run/containerd/containerd.sock"
5153
# -- Timeout duration for commit jobs
5254
commitJobTimeout: "10m"
5355
# -- OCI registry prefix used for snapshot images.

kubernetes/cmd/controller/main.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ func main() {
198198
var imageCommitterImage string
199199
flag.StringVar(&imageCommitterImage, "image-committer-image", "image-committer:dev", "The image used for commit operations (contains nerdctl tool).")
200200

201+
var containerdSocketPath string
202+
flag.StringVar(&containerdSocketPath, "containerd-socket-path", controller.ContainerdSocketPath, "Containerd socket path")
203+
201204
// Commit job timeout
202205
var commitJobTimeout time.Duration
203206
flag.DurationVar(&commitJobTimeout, "commit-job-timeout", 10*time.Minute, "The timeout duration for commit jobs.")
@@ -443,6 +446,7 @@ func main() {
443446
Scheme: mgr.GetScheme(),
444447
Recorder: mgr.GetEventRecorderFor("sandboxsnapshot-controller"),
445448
ImageCommitterImage: imageCommitterImage,
449+
ContainerdSocketPath: containerdSocketPath,
446450
CommitJobTimeout: commitJobTimeout,
447451
SnapshotRegistry: snapshotRegistry,
448452
SnapshotRegistryInsecure: snapshotRegistryInsecure,

kubernetes/internal/controller/sandboxsnapshot_controller.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ type SandboxSnapshotReconciler struct {
6767
// ImageCommitterImage is the image for image-committer (uses nerdctl to commit/push container images)
6868
ImageCommitterImage string
6969

70+
// ContainerdSocketPath is containerd socket path for image-committer (nerdctl --address)
71+
ContainerdSocketPath string
72+
7073
// CommitJobTimeout is the timeout for commit jobs (default: 10 minutes)
7174
CommitJobTimeout time.Duration
7275

kubernetes/internal/controller/sandboxsnapshot_lifecycle.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,13 @@ func (r *SandboxSnapshotReconciler) imageCommitterImage() string {
305305
return "image-committer:dev"
306306
}
307307

308+
func (r *SandboxSnapshotReconciler) containerdSocketPath() string {
309+
if r.ContainerdSocketPath != "" {
310+
return r.ContainerdSocketPath
311+
}
312+
return ContainerdSocketPath
313+
}
314+
308315
func commitJobSecurityContext() *corev1.SecurityContext {
309316
return &corev1.SecurityContext{
310317
RunAsUser: ptrToInt64(0),
@@ -326,7 +333,7 @@ func (r *SandboxSnapshotReconciler) buildCommitJob(snapshot *sandboxv1alpha1.San
326333
{
327334
Name: "containerd-sock",
328335
VolumeSource: corev1.VolumeSource{
329-
HostPath: &corev1.HostPathVolumeSource{Path: ContainerdSocketPath},
336+
HostPath: &corev1.HostPathVolumeSource{Path: r.containerdSocketPath()},
330337
},
331338
},
332339
}
@@ -462,7 +469,7 @@ func (r *SandboxSnapshotReconciler) buildUnpauseJob(snapshot *sandboxv1alpha1.Sa
462469
{
463470
Name: "containerd-sock",
464471
VolumeSource: corev1.VolumeSource{
465-
HostPath: &corev1.HostPathVolumeSource{Path: ContainerdSocketPath},
472+
HostPath: &corev1.HostPathVolumeSource{Path: r.containerdSocketPath()},
466473
},
467474
},
468475
},

0 commit comments

Comments
 (0)