To manage all vineyard relevant components in kubernetes cluster, we proposal the vineyard operator. With it, users can easily deploy vineyard components, and manage their lifecycle. For more details, please refer to vineyard operator doc. At present, the vineyard operator is at the beginning stage, and the main milestones are as follows.
- Deployment, management, and observability of vineyard components.
- Integrate with several Kubernetes workflow engines such as Argo and Kubeflow.
- Multi-tenant management and authentication management.
- Supports deployment on the production environment(Aliyun, AWS, Azure, etc.).
Vineyard operator defines the following CRDs to manage vineyard components and operations.
GlobalObject
for global objects.LocalObject
for local objects.Vineyardd
for deployment of vineyard.Operation
for inserting operation to a workflow.Sidecar
for vineyard as a sidecar container.
You could use the kustomize to build the remote directories on the github and apply the manifests as follows.
$ kustomize build https://github.com/v6d-io/v6d/k8s/config/default\?submodules=false | kubectl apply -f -
To make the docker image for the controller, run
make docker-build
To install CRDs and required k8s cluster roles, run
make predeploy
To deploy the vineyard operator, run
make deploy
You could create a default kind cluster and run a specific e2e test locally as follows.
make -C k8s e2e-tests-assembly-local