This documentation will walk through a full application deployment workflow on KubeVela platform.
KubeVela is a fully self-service platform. All capabilities an application deployment needs are maintained as building block modules in this platform. Specifically:
- Components - deployable/provisionable entities that composed your application deployment
- e.g. a Kubernetes workload, a MySQL database, or a AWS OSS bucket
- Traits - attachable operational features per your needs
- e.g. autoscaling rules, rollout strategies, ingress rules, sidecars, security policies etc
As user of this platform, you could check available components you can deploy, and available traits you can attach.
To show the specification for given capability, you could use
vela CLI. For example,
vela show webservice will return full schema of Web Service component and
vela show webservice --web will open its capability reference documentation in your browser.
Application is the main API to define your application deployment based on available capabilities. Every
Application could contain multiple components, each of them can be attached with a number of traits per needs.
Now let's define an application composed by Web Service and Worker components.
In this sample, we also attached
cpuscaler traits to the
So after deployed, the
frontend component instance (a Kubernetes Deployment workload) will be automatically injected
fluentd sidecar and automatically scale from 1-10 replicas based on CPU usage.
Apply application YAML to Kubernetes:
You'll get the application becomes
You could see a Deployment named
frontend is running, with port exposed, and with a container
Another Deployment is also running named
An HPA was also created by the