Skip to main content

Hello World Example

This tutorial demonstrates how to deploy a simple application to a NeonKUBE cluster.

Clone demo repository​

git clone https://github.com/nforgeio/neonKUBE-demos.git

Publish images​

NeonKUBE Clusters include a built-in container registry to store images for deployment. In this step we'll publish the necessary container images to the Cluster Registry.

note

You can optionally build the containers yourself, rather than using the public images. To do this, add the -build flag to the following command. You'll need to have Visual Studio and the .NET SDK installed to do this.

powershell -f publish.ps1

Deploy hello-world-operator​

neon apply -f hello-world-operator.yaml

Deploy hello-world​

You can edit the hello-world.yaml spec to change the deployment behaviour.

apiVersion: demo.neonkube.io/v1alpha1
kind: HelloWorldDemo
metadata:
name: hello-world
labels:
app: hello-world
spec:
logLevel: debug
helloWorldReplicas: 2
loadGeneratorReplicas: 3
storageType: ephemeral # ephemeral or nfs
ssoEnabled: false
neonDashboardEnabled: false
neon apply -f hello-world.yaml

View Hello, World!​

HTTPS!

Every NeonKUBE Cluster comes with an SSL certificate to make it easy to deploy new services. The Hello World demo is deployed using this certificate.

HelloWorldDemo Options​

The HelloWorldDemo Custom Resource spec allows for configuration of the demo. These options can be changed at any time by modifying the hello-world.yaml manifest and applying the changes with neon apply -f hello-world.yaml.

logLevel​

logLevel can be set to the following:

  • CRITICAL
  • ERROR
  • WARNING
  • INFORMATION
  • DEBUG
  • TRACE

helloWorldReplicas​

This is the number of replicas that will be deployed for the hello-world web app.

loadGeneratorReplicas​

This is the number of replicas for the load generator app. Increase this to generate more load.

storageType​

storageType can be set to ephemeral or nfs.

The hello-world app has a /storage page where users can update a text file. This can be used to verify the behaviours described below. Try updating the text file and killing some pods with the "Kill Pods" button to see what happens.

  • ephemeral does not create any Kubernetes Persistent Volumes. Each pod has its own ephemeral volume, and any data stored on it will be lost when the pod is deleted.
  • nfs Creates a persistent volume that is shared between all hello-world pods as described here. In this mode, any data stored on the Volume will be persisted.

ssoEnabled​

If set to true, the Operator will configure the hello-world demo to use Neon Single Sign On. Users will need cluster credentials to access the demo.

neonDashboardEnabled​

If set to true, the Operator will add a link to the hello-world dashboard to the NeonKUBE dashboard.