builder

package
v0.26.4 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2025 License: Apache-2.0 Imports: 21 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 GenMetadata added in v0.26.0

func GenMetadata(jfsSetting *config.JfsSetting) (labels map[string]string, annotations map[string]string)

func NewCanaryJob added in v0.25.0

func NewCanaryJob(ctx context.Context, client *k8s.K8sClient, mountPod *corev1.Pod, restart bool) (*batchv1.Job, error)

NewCanaryJob restart: pull image ahead !restart: for download binary

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 SetPVAsOwner added in v0.24.6

func SetPVAsOwner(secret *corev1.Secret, owner *corev1.PersistentVolume)

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) GetEnvKey added in v0.26.0

func (r *BaseBuilder) GetEnvKey() []string

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 except fuse passfd path

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, error)

NewMountPod generates a pod with juicefs client

type ServerlessBuilder added in v0.23.0

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

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 2. use emptyDir as mount point 3. with privileged container (the serverless cluster must have this permission.) 4. 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, app corev1.Pod, pvc corev1.PersistentVolumeClaim) 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
}

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