Quick Start
The Quick Start assumes that you have already installed a Kubernetes cluster. For instructions on preparing Kubernetes platforms for installing Verrazzano, see Platform Setup. For detailed installation instructions, see the Installation Guides.
NOTE: If you just created the cluster, then you must wait until your nodes reach Ready
status before installing Verrazzano.
Getting up and running quickly with Verrazzano is as easy as 1 - 2 - 3:
1. Install CLI
The Verrazzano command-line tool, vz
, is available for Linux and Mac systems.
Download the binary you want from the Releases page.
For example, to download the latest release for Linux AMD64 machines:
$ curl -LO https://github.com/verrazzano/verrazzano/releases/download/v1.7.1/verrazzano-1.7.1-linux-amd64.tar.gz
Unpack and copy the vz
binary.
$ tar xvf verrazzano-1.7.1-linux-amd64.tar.gz
The following command needs to be run as root.
$ sudo cp verrazzano-1.7.1/bin/vz /usr/local/bin
2. Install Verrazzano
You install Verrazzano by creating a Verrazzano custom resource in your Kubernetes cluster. Verrazzano currently supports several installation profiles.
Using the Quick Start, you’ll install the dev
profile, which is suitable for evaluation.
NOTE
Because thedev
profile installs self-signed certificates, when installing Verrazzano on macOS, you might see: Your connection is not private. For a workaround, see this FAQ.
Install Verrazzano with its dev
profile.
$ vz install -f - <<EOF
apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
defaultVolumeSource:
persistentVolumeClaim:
claimName: verrazzano-storage
volumeClaimSpecTemplates:
- metadata:
name: verrazzano-storage
spec:
resources:
requests:
storage: 2Gi
EOF
Wait for the installation to complete. Installation logs will be streamed to the command window until the installation has completed or until the default timeout (30m) has been reached.
NOTE: For some applications, the Kiali console may show warnings for objects that replicate hostname/port configurations across multiple IngressTraits. These warnings do not impact functionality and can be suppressed with the following component override.
3. Deploy an application
The Hello World Helidon example application provides a simple Hello World REST service written with Helidon. For more information and the code of this application, see the Verrazzano Examples.
To deploy the Hello World Helidon example application:
-
Create a namespace for the example application and add labels identifying the namespace as managed by Verrazzano and enabled for Istio.
$ kubectl create namespace hello-helidon $ kubectl label namespace hello-helidon verrazzano-managed=true istio-injection=enabled
-
Apply the
hello-helidon
resources to deploy the application.$ kubectl apply -f https://raw.githubusercontent.com/verrazzano/verrazzano/v1.7.1/examples/hello-helidon/hello-helidon-comp.yaml -n hello-helidon $ kubectl apply -f https://raw.githubusercontent.com/verrazzano/verrazzano/v1.7.1/examples/hello-helidon/hello-helidon-app.yaml -n hello-helidon
-
Wait for the application to be ready.
$ kubectl wait \ --for=condition=Ready pods \ --all -n hello-helidon \ --timeout=300s # Sample output pod/hello-helidon-deployment-78468f5f9c-czmp4 condition met
This creates the Verrazzano OAM Component application resources for the example and waits for the pods in the
hello-helidon
namespace to be ready. -
Save the host name of the load balancer exposing the application’s REST service endpoints.
$ HOST=$(kubectl get gateways.networking.istio.io hello-helidon-hello-helidon-gw \ -n hello-helidon \ -o jsonpath='{.spec.servers[0].hosts[0]}')
-
Get the default message.
$ curl -sk \ -X GET \ "https://${HOST}/greet" # Expected response {"message":"Hello World!"}
Next steps
See the Verrazzano Example Applications.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.