Merge pull request #3253 from samifruit514/master

driver kubernetes: allow to work in a Memory mount to speed up things
This commit is contained in:
CrazyMax
2025-06-20 16:13:19 +02:00
committed by GitHub
2 changed files with 27 additions and 0 deletions
+4
View File
@@ -286,6 +286,10 @@ func (f *factory) processDriverOpts(deploymentName string, namespace string, cfg
if v != "" {
deploymentOpt.Qemu.Image = v
}
case "buildkit-root-volume-memory":
if v != "" {
deploymentOpt.BuildKitRootVolumeMemory = v
}
case "default-load":
defaultLoad, err = strconv.ParseBool(v)
if err != nil {
+23
View File
@@ -32,6 +32,7 @@ type DeploymentOpt struct {
// files mounted at /etc/buildkitd
ConfigFiles map[string][]byte
BuildKitRootVolumeMemory string
Rootless bool
NodeSelector map[string]string
CustomAnnotations map[string]string
@@ -50,6 +51,8 @@ const (
containerName = "buildkitd"
AnnotationPlatform = "buildx.docker.com/platform"
LabelApp = "app"
rootVolumeName = "buildkit-memory"
rootVolumePath = "/var/lib/buildkit"
)
type ErrReservedAnnotationPlatform struct{}
@@ -247,6 +250,26 @@ func NewDeployment(opt *DeploymentOpt) (d *appsv1.Deployment, c []*corev1.Config
d.Spec.Template.Spec.Containers[0].Resources.Limits[corev1.ResourceEphemeralStorage] = limEphemeralStorage
}
if opt.BuildKitRootVolumeMemory != "" {
buildKitRootVolumeMemory, err := resource.ParseQuantity(opt.BuildKitRootVolumeMemory)
if err != nil {
return nil, nil, err
}
d.Spec.Template.Spec.Volumes = append(d.Spec.Template.Spec.Volumes, corev1.Volume{
Name: rootVolumeName,
VolumeSource: corev1.VolumeSource{
EmptyDir: &corev1.EmptyDirVolumeSource{
Medium: "Memory",
SizeLimit: &buildKitRootVolumeMemory,
},
},
})
d.Spec.Template.Spec.Containers[0].VolumeMounts = append(d.Spec.Template.Spec.Containers[0].VolumeMounts, corev1.VolumeMount{
Name: rootVolumeName,
MountPath: rootVolumePath,
})
}
return
}