Skip to content

Commit 51551e5

Browse files
authored
[Feature] [ML] Featurization Job Type (#1578)
1 parent a2468b3 commit 51551e5

File tree

5 files changed

+1494
-3
lines changed

5 files changed

+1494
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- (Documentation) Improve documentation rendering for GitHub Pages
55
- (Maintenance) Reduce binary size
66
- (Maintenance) Update Features Description, Supported K8S Versions and K8S Dependency to 1.28.5
7+
- (Feature) (ML) Featurization Job Type
78

89
## [1.2.36](https://github.com/arangodb/kube-arangodb/tree/1.2.36) (2024-01-08)
910
- (Documentation) Improvements and fixes for rendered documentation (GH pages)

docs/api/ArangoMLExtension.V1Alpha1.md

Lines changed: 338 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,344 @@ Links:
575575

576576
***
577577

578+
### .spec.jobsTemplates.featurization.cpu.affinity
579+
580+
Type: `core.Affinity` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L37)</sup>
581+
582+
Affinity defines scheduling constraints for workload
583+
584+
Links:
585+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity)
586+
587+
***
588+
589+
### .spec.jobsTemplates.featurization.cpu.env
590+
591+
Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/envs.go#L33)</sup>
592+
593+
Env keeps the information about environment variables provided to the container
594+
595+
Links:
596+
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
597+
598+
***
599+
600+
### .spec.jobsTemplates.featurization.cpu.envFrom
601+
602+
Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/envs.go#L38)</sup>
603+
604+
EnvFrom keeps the information about environment variable sources provided to the container
605+
606+
Links:
607+
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
608+
609+
***
610+
611+
### .spec.jobsTemplates.featurization.cpu.hostIPC
612+
613+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L33)</sup>
614+
615+
HostIPC defines to use the host's ipc namespace.
616+
617+
Default Value: `false`
618+
619+
***
620+
621+
### .spec.jobsTemplates.featurization.cpu.hostNetwork
622+
623+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L27)</sup>
624+
625+
HostNetwork requests Host network for this pod. Use the host's network namespace.
626+
If this option is set, the ports that will be used must be specified.
627+
628+
Default Value: `false`
629+
630+
***
631+
632+
### .spec.jobsTemplates.featurization.cpu.hostPID
633+
634+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L30)</sup>
635+
636+
HostPID define to use the host's pid namespace.
637+
638+
Default Value: `false`
639+
640+
***
641+
642+
### .spec.jobsTemplates.featurization.cpu.image
643+
644+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/image.go#L31)</sup>
645+
646+
Image define image details
647+
648+
***
649+
650+
### .spec.jobsTemplates.featurization.cpu.nodeSelector
651+
652+
Type: `object` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L32)</sup>
653+
654+
NodeSelector is a selector that must be true for the workload to fit on a node.
655+
656+
Links:
657+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector)
658+
659+
***
660+
661+
### .spec.jobsTemplates.featurization.cpu.podSecurityContext
662+
663+
Type: `core.PodSecurityContext` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/security_pod.go#L29)</sup>
664+
665+
PodSecurityContext holds pod-level security attributes and common container settings.
666+
667+
Links:
668+
* [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
669+
670+
***
671+
672+
### .spec.jobsTemplates.featurization.cpu.pullPolicy
673+
674+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/image.go#L35)</sup>
675+
676+
PullPolicy define Image pull policy
677+
678+
Default Value: `IfNotPresent`
679+
680+
***
681+
682+
### .spec.jobsTemplates.featurization.cpu.pullSecrets
683+
684+
Type: `array` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/image.go#L38)</sup>
685+
686+
PullSecrets define Secrets used to pull Image from registry
687+
688+
***
689+
690+
### .spec.jobsTemplates.featurization.cpu.resources
691+
692+
Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/resources.go#L34)</sup>
693+
694+
Resources holds resource requests & limits for container
695+
696+
Links:
697+
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
698+
699+
***
700+
701+
### .spec.jobsTemplates.featurization.cpu.schedulerName
702+
703+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L47)</sup>
704+
705+
SchedulerName specifies, the pod will be dispatched by specified scheduler.
706+
If not specified, the pod will be dispatched by default scheduler.
707+
708+
Default Value: `""`
709+
710+
***
711+
712+
### .spec.jobsTemplates.featurization.cpu.securityContext
713+
714+
Type: `core.SecurityContext` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/security_container.go#L29)</sup>
715+
716+
PodSecurityContext holds pod-level security attributes and common container settings.
717+
718+
Links:
719+
* [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
720+
721+
***
722+
723+
### .spec.jobsTemplates.featurization.cpu.shareProcessNamespace
724+
725+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L39)</sup>
726+
727+
ShareProcessNamespace defines to share a single process namespace between all of the containers in a pod.
728+
When this is set containers will be able to view and signal processes from other containers
729+
in the same pod, and the first process in each container will not be assigned PID 1.
730+
HostPID and ShareProcessNamespace cannot both be set.
731+
732+
Default Value: `false`
733+
734+
***
735+
736+
### .spec.jobsTemplates.featurization.cpu.tolerations
737+
738+
Type: `[]core.Toleration` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L42)</sup>
739+
740+
Tolerations defines tolerations
741+
742+
Links:
743+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)
744+
745+
***
746+
747+
### .spec.jobsTemplates.featurization.gpu.affinity
748+
749+
Type: `core.Affinity` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L37)</sup>
750+
751+
Affinity defines scheduling constraints for workload
752+
753+
Links:
754+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity)
755+
756+
***
757+
758+
### .spec.jobsTemplates.featurization.gpu.env
759+
760+
Type: `core.EnvVar` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/envs.go#L33)</sup>
761+
762+
Env keeps the information about environment variables provided to the container
763+
764+
Links:
765+
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envvar-v1-core)
766+
767+
***
768+
769+
### .spec.jobsTemplates.featurization.gpu.envFrom
770+
771+
Type: `core.EnvFromSource` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/envs.go#L38)</sup>
772+
773+
EnvFrom keeps the information about environment variable sources provided to the container
774+
775+
Links:
776+
* [Kubernetes Docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#envfromsource-v1-core)
777+
778+
***
779+
780+
### .spec.jobsTemplates.featurization.gpu.hostIPC
781+
782+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L33)</sup>
783+
784+
HostIPC defines to use the host's ipc namespace.
785+
786+
Default Value: `false`
787+
788+
***
789+
790+
### .spec.jobsTemplates.featurization.gpu.hostNetwork
791+
792+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L27)</sup>
793+
794+
HostNetwork requests Host network for this pod. Use the host's network namespace.
795+
If this option is set, the ports that will be used must be specified.
796+
797+
Default Value: `false`
798+
799+
***
800+
801+
### .spec.jobsTemplates.featurization.gpu.hostPID
802+
803+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L30)</sup>
804+
805+
HostPID define to use the host's pid namespace.
806+
807+
Default Value: `false`
808+
809+
***
810+
811+
### .spec.jobsTemplates.featurization.gpu.image
812+
813+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/image.go#L31)</sup>
814+
815+
Image define image details
816+
817+
***
818+
819+
### .spec.jobsTemplates.featurization.gpu.nodeSelector
820+
821+
Type: `object` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L32)</sup>
822+
823+
NodeSelector is a selector that must be true for the workload to fit on a node.
824+
825+
Links:
826+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector)
827+
828+
***
829+
830+
### .spec.jobsTemplates.featurization.gpu.podSecurityContext
831+
832+
Type: `core.PodSecurityContext` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/security_pod.go#L29)</sup>
833+
834+
PodSecurityContext holds pod-level security attributes and common container settings.
835+
836+
Links:
837+
* [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
838+
839+
***
840+
841+
### .spec.jobsTemplates.featurization.gpu.pullPolicy
842+
843+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/image.go#L35)</sup>
844+
845+
PullPolicy define Image pull policy
846+
847+
Default Value: `IfNotPresent`
848+
849+
***
850+
851+
### .spec.jobsTemplates.featurization.gpu.pullSecrets
852+
853+
Type: `array` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/image.go#L38)</sup>
854+
855+
PullSecrets define Secrets used to pull Image from registry
856+
857+
***
858+
859+
### .spec.jobsTemplates.featurization.gpu.resources
860+
861+
Type: `core.ResourceRequirements` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/resources.go#L34)</sup>
862+
863+
Resources holds resource requests & limits for container
864+
865+
Links:
866+
* [Documentation of core.ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)
867+
868+
***
869+
870+
### .spec.jobsTemplates.featurization.gpu.schedulerName
871+
872+
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L47)</sup>
873+
874+
SchedulerName specifies, the pod will be dispatched by specified scheduler.
875+
If not specified, the pod will be dispatched by default scheduler.
876+
877+
Default Value: `""`
878+
879+
***
880+
881+
### .spec.jobsTemplates.featurization.gpu.securityContext
882+
883+
Type: `core.SecurityContext` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/security_container.go#L29)</sup>
884+
885+
PodSecurityContext holds pod-level security attributes and common container settings.
886+
887+
Links:
888+
* [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
889+
890+
***
891+
892+
### .spec.jobsTemplates.featurization.gpu.shareProcessNamespace
893+
894+
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/container_namespace.go#L39)</sup>
895+
896+
ShareProcessNamespace defines to share a single process namespace between all of the containers in a pod.
897+
When this is set containers will be able to view and signal processes from other containers
898+
in the same pod, and the first process in each container will not be assigned PID 1.
899+
HostPID and ShareProcessNamespace cannot both be set.
900+
901+
Default Value: `false`
902+
903+
***
904+
905+
### .spec.jobsTemplates.featurization.gpu.tolerations
906+
907+
Type: `[]core.Toleration` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L42)</sup>
908+
909+
Tolerations defines tolerations
910+
911+
Links:
912+
* [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)
913+
914+
***
915+
578916
### .spec.jobsTemplates.prediction.cpu.affinity
579917

580918
Type: `core.Affinity` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.36/pkg/apis/shared/v1/scheduling.go#L37)</sup>

0 commit comments

Comments
 (0)