builder

package
v0.24.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CCIANNOKey    = "virtual-kubelet.io/burst-to-cci"
	CCIANNOValue  = "enforce"
	CCIDriverName = "juicefs.csi.everest.io"
	CCIDriverType = "gpath"
)
View Source
const (
	JfsDirName      = "jfs-dir"
	UpdateDBDirName = "updatedb"
	UpdateDBCfgFile = "/etc/updatedb.conf"
)
View Source
const (
	VCIANNOKey                = "vke.volcengine.com/burst-to-vci"
	VCIANNOValue              = "enforce"
	VCIPropagation            = "vci.vke.volcengine.com/config-bidirectional-mount-propagation"
	VCIPropagationConfig      = "vke.al.vci-enable-bidirectional-mount-propagation"
	VCIPropagationConfigValue = "vke.al.vci-enable-bidirectional-mount-propagation"
)
View Source
const DefaultJobTTLSecond = int32(5)

Variables

This section is empty.

Functions

func GenJobNameByVolumeId

func GenJobNameByVolumeId(volumeId string) string

func NewFuseAbortJob added in v0.23.6

func NewFuseAbortJob(mountpod *corev1.Pod, devMinor uint32) *batchv1.Job

func SetJobAsOwner

func SetJobAsOwner(secret *corev1.Secret, owner batchv1.Job)

func SetPVCAsOwner added in v0.18.0

func SetPVCAsOwner(secret *corev1.Secret, owner *corev1.PersistentVolumeClaim)

func SetPodAsOwner

func SetPodAsOwner(secret *corev1.Secret, owner corev1.Pod)

Types

type BaseBuilder added in v0.23.0

type BaseBuilder struct {
	// contains filtered or unexported fields
}

func (*BaseBuilder) NewSecret added in v0.23.0

func (r *BaseBuilder) NewSecret() corev1.Secret

type CCIBuilder added in v0.23.1

type CCIBuilder struct {
	ServerlessBuilder
	// contains filtered or unexported fields
}

func (*CCIBuilder) NewMountSidecar added in v0.23.1

func (r *CCIBuilder) NewMountSidecar() *corev1.Pod

NewMountSidecar generates a pod with a juicefs sidecar in serverless mode 1. no hostpath 2. without privileged container 3. no propagationBidirectional 4. with env JFS_NO_UMOUNT=1 5. annotations for CCI

func (*CCIBuilder) OverwriteVolumeMounts added in v0.23.1

func (r *CCIBuilder) OverwriteVolumeMounts(mount *corev1.VolumeMount)

func (*CCIBuilder) OverwriteVolumes added in v0.23.1

func (r *CCIBuilder) OverwriteVolumes(volume *corev1.Volume, mountPath string)

type ContainerBuilder added in v0.23.0

type ContainerBuilder struct {
	PodBuilder
}

func (*ContainerBuilder) NewMountSidecar added in v0.23.0

func (r *ContainerBuilder) NewMountSidecar() *corev1.Pod

NewMountSidecar generates a pod with a juicefs sidecar exactly the same spec as Mount Pod

func (*ContainerBuilder) OverwriteVolumeMounts added in v0.23.0

func (r *ContainerBuilder) OverwriteVolumeMounts(mount *corev1.VolumeMount)

func (*ContainerBuilder) OverwriteVolumes added in v0.23.0

func (r *ContainerBuilder) OverwriteVolumes(volume *corev1.Volume, mountPath string)

type JobBuilder added in v0.23.0

type JobBuilder struct {
	PodBuilder
}

func NewJobBuilder added in v0.23.0

func NewJobBuilder(setting *config.JfsSetting, capacity int64) *JobBuilder

func (*JobBuilder) NewJobForCleanCache added in v0.23.0

func (r *JobBuilder) NewJobForCleanCache() *batchv1.Job

func (*JobBuilder) NewJobForCreateVolume added in v0.23.0

func (r *JobBuilder) NewJobForCreateVolume() *batchv1.Job

func (*JobBuilder) NewJobForDeleteVolume added in v0.23.0

func (r *JobBuilder) NewJobForDeleteVolume() *batchv1.Job

type PodBuilder added in v0.23.0

type PodBuilder struct {
	BaseBuilder
}

func NewPodBuilder added in v0.23.0

func NewPodBuilder(setting *config.JfsSetting, capacity int64) *PodBuilder

func (*PodBuilder) NewMountPod added in v0.23.0

func (r *PodBuilder) NewMountPod(podName string) *corev1.Pod

NewMountPod generates a pod with juicefs client

type ServerlessBuilder added in v0.23.0

type ServerlessBuilder struct {
	PodBuilder
}

func (*ServerlessBuilder) NewMountSidecar added in v0.23.0

func (r *ServerlessBuilder) NewMountSidecar() *corev1.Pod

NewMountSidecar generates a pod with a juicefs sidecar in serverless mode 1. no hostpath except mount point (the serverless cluster must have this permission.) 2. with privileged container (the serverless cluster must have this permission.) 3. no initContainer

func (*ServerlessBuilder) OverwriteVolumeMounts added in v0.23.0

func (r *ServerlessBuilder) OverwriteVolumeMounts(mount *corev1.VolumeMount)

func (*ServerlessBuilder) OverwriteVolumes added in v0.23.0

func (r *ServerlessBuilder) OverwriteVolumes(volume *corev1.Volume, mountPath string)

type SidecarInterface added in v0.23.0

type SidecarInterface interface {
	NewMountSidecar() *corev1.Pod
	NewSecret() corev1.Secret
	OverwriteVolumes(volume *corev1.Volume, mountPath string)
	OverwriteVolumeMounts(mount *corev1.VolumeMount)
}

func NewCCIBuilder added in v0.23.1

func NewCCIBuilder(setting *config.JfsSetting, capacity int64, app corev1.Pod, pvc corev1.PersistentVolumeClaim) SidecarInterface

func NewContainerBuilder added in v0.23.0

func NewContainerBuilder(setting *config.JfsSetting, capacity int64) SidecarInterface

func NewServerlessBuilder added in v0.23.0

func NewServerlessBuilder(setting *config.JfsSetting, capacity int64) SidecarInterface

func NewVCIBuilder added in v0.23.0

func NewVCIBuilder(setting *config.JfsSetting, capacity int64, app corev1.Pod, pvc corev1.PersistentVolumeClaim) SidecarInterface

type VCIBuilder added in v0.23.0

type VCIBuilder struct {
	ServerlessBuilder
	// contains filtered or unexported fields
}

func (*VCIBuilder) NewMountSidecar added in v0.23.0

func (r *VCIBuilder) NewMountSidecar() *corev1.Pod

NewMountSidecar generates a pod with a juicefs sidecar in serverless mode 1. no hostpath 2. without privileged container 3. no propagationBidirectional 4. with env JFS_NO_UMOUNT=1 5. annotations for VCI

func (*VCIBuilder) OverwriteVolumeMounts added in v0.23.0

func (r *VCIBuilder) OverwriteVolumeMounts(mount *corev1.VolumeMount)

func (*VCIBuilder) OverwriteVolumes added in v0.23.0

func (r *VCIBuilder) OverwriteVolumes(volume *corev1.Volume, mountPath string)

type VCIPropagationStruct added in v0.23.5

type VCIPropagationStruct struct {
	Container string `json:"container"`
	MountPath string `json:"mountPath"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL