k8s

module
v0.0.0-...-21a76b1 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 3 more

README

Vineyard Operator

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.

Short milestones

  • Deployment, management, and observability of vineyard components.
  • Integrate with several Kubernetes workflow engines such as Argo and Kubeflow.

Long miletones

  • Multi-tenant management and authentication management.
  • Supports deployment on the production environment(Aliyun, AWS, Azure, etc.).

CRDs

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.

Deploy with remote directory

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 -

Deploy locally

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

Test

You could create a default kind cluster and run a specific e2e test locally as follows.

make -C k8s e2e-tests-assembly-local

Directories

Path Synopsis
apis
k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group +kubebuilder:object:generate=true +groupName=k8s.v6d.io
Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group +kubebuilder:object:generate=true +groupName=k8s.v6d.io
cmd
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/client
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/create
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/csi
Package csi contains the start command of vineyard csi driver
Package csi contains the start command of vineyard csi driver
commands/delete
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/deploy
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/flags
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/inject
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/manager
Package manager contains the start command of vineyard operator
Package manager contains the start command of vineyard operator
commands/schedule
Package schedule contains the schedule command of vineyard operator
Package schedule contains the schedule command of vineyard operator
commands/util
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
commands/util/usage
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
Package config contains all template related functions
Package config contains all template related functions
controllers
k8s
Package k8s contains k8s API versions.
Package k8s contains k8s API versions.
pkg
config/annotations
Package annotations contains all annotations provided by vineyard-operator for users
Package annotations contains all annotations provided by vineyard-operator for users
config/labels
Package labels contains all labels provided by vineyard-operator for users
Package labels contains all labels provided by vineyard-operator for users
csidriver
* Copyright 2020-2023 Alibaba Group Holding Limited.
* Copyright 2020-2023 Alibaba Group Holding Limited.
injector
Package injector contains the logic for injecting the vineyard sidecar into a pod.
Package injector contains the logic for injecting the vineyard sidecar into a pod.
log
Package log contains the global logger for the vineyard operator.
Package log contains the global logger for the vineyard operator.
operation
Package operation contains the operation logic
Package operation contains the operation logic
schedulers
Package schedulers implements the vineyard scheduler plugin.
Package schedulers implements the vineyard scheduler plugin.
templates
Package templates contains all template related functions
Package templates contains all template related functions
webhook/operation
Package operation contains the logic for the operation
Package operation contains the logic for the operation
webhook/scheduling
Package scheduling contains the logic for the scheduling
Package scheduling contains the logic for the scheduling
webhook/sidecar
Package sidecar contains the logic for injecting vineyard sidecar
Package sidecar contains the logic for injecting vineyard sidecar

Jump to

Keyboard shortcuts

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