Installation
For upgrading existing KubeVela, please read the upgrade guide.
the 1.2 version is released, go to install
1. Choose Control Plane Cluster
Requirements:
- Kubernetes cluster >= v1.18.0
kubectl
installed and configured
KubeVela relies on Kubernetes as control plane. The control plane could be any managed Kubernetes offering or your own cluster.
For local deployment and test, you could use kind
or minikube
. For production usage, you could use Kubernetes services provided by cloud providers.
- Kind
- RKE
- Minikube
- Cloud Provider
Follow the minikube installation guide.
Then spins up a minikube cluster
minikube start
Install ingress to enable service route:
minikube addons enable ingress
{" "}
(1)Install docker:The rke depend on docker, Follow the docker installation guide.
{" "}
(2)Install rke:Download rke binary from rke release page.
If you have limited Internet access:
wget https://static.kubevela.net/binary/rke/rke_linux-amd64 -O /usr/bin/rke
chmod +x /usr/bin/rke
{" "}
(3)Install kubernetes cluster: mkdir ~/rkeinit && cd ~/rkeinit
# Wizard-style configuration
rke config
# Kubernetes Cluster Installation
rke up
# Install kubectl Command
mkdir ~/.kube
cp kube_config_cluster.yml ~/.kube/config
docker cp kubelet:/usr/local/bin/kubectl /usr/local/bin/kubectl
Follow this guide to install kind.
Then spins up a kind cluster:
cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
EOF
Install ingress to enable service route:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
- Alibaba Cloud ACK Service
- AWS EKS Service
- Azure AKS Service
- Google GKE Service
Please ensure ingress-nginx is installed and enabled.
2. Install KubeVela
Before install, you have to make sure the Helm is available. Follow this guide to install helm.
If you find it hard to install Helm, Click this
Add and update Helm chart repo for KubeVela
helm repo add kubevela https://charts.kubevela.net/core
helm repo updateInstall KubeVela
helm install --create-namespace -n vela-system kubevela kubevela/vela-core --set multicluster.enabled=true --wait
You can refer to advanced installation guide for more custom ways.
Verify chart installed successfully
helm test kubevela -n vela-system
Click to see the expected output of helm test
3. [Optional] Get KubeVela CLI
KubeVela CLI gives you a simplified workflow to manage applications with optimized output. It is not mandatory though.
KubeVela CLI could be installed as kubectl plugin, or install as standalone binary.
- Script
- Homebrew
- Download directly from releases
macOS/Linux
curl -fsSl https://kubevela.io/script/install.sh | bash
Windows
powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"
macOS/Linux
Update your brew firstly.
brew update
Then install kubevela client.
brew install kubevela
- Download the latest
vela
binary from the releases page. - Unpack the
vela
binary and add it to$PATH
to get started.
sudo mv ./vela /usr/local/bin/vela
Known Issue(https://github.com/kubevela/kubevela/issues/625): If you're using mac, it will report that “vela” cannot be opened because the developer cannot be verified.
The new version of MacOS is stricter about running software you've downloaded that isn't signed with an Apple developer key. And we haven't supported that for KubeVela yet.
You can open your 'System Preference' -> 'Security & Privacy' -> General, click the 'Allow Anyway' to temporarily fix it.
4. [Optional] Enable Addons
KubeVela support a dozen of out-of-box addons, please at least enable following addons to make sure KubeVela functioning well:
Helm and Kustomize Components addons
vela addon enable fluxcd
Terraform addon
vela addon enable terraform
Terraform Provider addon for Alibaba Cloud
Enable Terraform Alibaba Cloud Provider as below to provision and/or consume cloud resources.
Here is how to get access key. Set the value for
ALICLOUD_REGION
by picking oneRegionId
from Alibaba Cloud region list. You can also set the value for parameterALICLOUD_SECURITY_TOKEN
, which is optional, per this doc.vela addon enable terraform/provider-alibaba ALICLOUD_ACCESS_KEY=<xxx> ALICLOUD_SECRET_KEY=<yyy> ALICLOUD_REGION=<region>
Terraform Provider addon for Azure
Enable Terraform Azure Provider as below to provision and/or consume cloud resources.
Set these parameters below per Authenticate Terraform to Azure.
vela addon enable terraform/provider-azure ARM_CLIENT_ID=<aaa> ARM_CLIENT_SECRET=<bbb> ARM_SUBSCRIPTION_ID=<ccc> ARM_TENANT_ID=<ddd>
Terraform Provider addon for AWS
Enable Terraform AWS Provider as below to provision and/or consume cloud resources.
Set these parameters below per Authenticate Terraform to AWS.
vela addon enable terraform/provider-aws AWS_ACCESS_KEY_ID=<aaa> AWS_SECRET_ACCESS_KEY=<bbb> AWS_DEFAULT_REGION=<region>
5. Verify
You can also using
kubectl get comp -A
andkubectl get trait -A
instead if you haven't installed CLI.
Get built-in component types by
vela
CLI:vela components
Outputs
Get built-in traits by
vela
CLI:vela traits
Outputs
These capabilities are built-in so they are ready to use if showed up. KubeVela is designed to be programmable and fully self-service, so the assumption is more capabilities will be added later per your own needs.
What's Next
- Start to deploy our first application.
- See the advanced installation guide to learn more about installation details.