Preparing the K8s Cluster#
nplus Charts bring some custom resources, Application, Instance and Component. they are created during deployment of a chart and then updated by the environment operator every time the status changes.
To make this work, you will need to have the Custom Resource Definitions applied to your cluster prior to deploying any environment or component. This deployment is handled by the Cluster Chart.
helm install nplus/nplus-clusterThe CRDs are grouped into nscale and nplus (both synonym), so that you can either query for
kubectl get instance
kubectl get component
kubectl get applicationor simply all at once with
kubectl get nscale -Athe output looks like this (shortened output, showing the installed samples):
$ kubectl get nscale -A
NAMESPACE NAME INSTANCE COMPONENT TYPE VERSION STATUS
empty-sim component.nplus.cloud/database empty-sim database database 16 healthy
empty-sim component.nplus.cloud/nappl empty-sim nappl core 9.2.1302 healthy
lab component.nplus.cloud/demo-centralservices-s3-nstl demo-centralservices-s3 nstl nstl 9.2.1302 healthy
lab component.nplus.cloud/demo-ha-web demo-ha web web 9.2.1300 redundant
lab component.nplus.cloud/demo-ha-webdav demo-ha webdav webdav 9.2.1000 redundant
lab component.nplus.cloud/demo-ha-zerotrust-administrator demo-ha-zerotrust administrator administrator 9.2.1300 healthy
lab component.nplus.cloud/no-provisioner-nstl no-provisioner nstl nstl 9.2.1302 healthy
lab component.nplus.cloud/no-provisioner-rs no-provisioner rs rs 9.2.1201 starting
lab component.nplus.cloud/no-provisioner-web no-provisioner web web 9.2.1300 healthy
lab component.nplus.cloud/sbs-nappl sbs nappl core 9.2.1302 healthy
NAMESPACE NAME INSTANCE APPLICATION VERSION STATUS
empty-sim application.nplus.cloud/application empty-sim application 9.2.1303-123 healthy
empty-sim application.nplus.cloud/prepper empty-sim prepper 1.2.1300 healthy
lab application.nplus.cloud/demo-ha-zerotrust-application demo-ha-zerotrust application 9.2.1303-123 healthy
lab application.nplus.cloud/demo-shared-application demo-shared application 9.2.1303-123 healthy
lab application.nplus.cloud/sbs-sbs sbs SBS 9.2.1303-123 healthy
lab application.nplus.cloud/tenant-application tenant application 9.2.1303-123 healthy
NAMESPACE NAME HANDLER VERSION TENANT STATUS
empty-sim instance.nplus.cloud/empty-sim manual 9.2.1302 healthy
lab instance.nplus.cloud/default manual 9.2.1302 healthy
lab instance.nplus.cloud/demo-centralservices manual 9.2.1302 healthy
lab instance.nplus.cloud/rms manual 9.2.1302 healthy
lab instance.nplus.cloud/sbs manual 9.2.1302 healthy
lab instance.nplus.cloud/tenant manual 9.2.1302 healthyFiles#
Download all files of this sample
build.sh#
#!/bin/bash
#
# This sample script builds the example as described. It is also used to build the test environment in our lab,
# so it should be well tested.
#
# Make sure it fails immediately, if anything goes wrong
set -e
# -- ENVironment variables:
# CHARTS: The path to the source code
# DEST: The path to the build destination
# SAMPLE: The name of the sample
SAMPLE=cluster
# Check, if we have the source code available
if [ ! -d "$CHARTS" ]; then
echo "ERROR Building $SAMPLE example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available"
exit 1
fi
if [ ! -d "$DEST" ]; then
echo "ERROR Building $SAMPLE example: DEST folder not found."
exit 1
fi
if [ ! -d "$CHARTS/$SAMPLE" ]; then
echo "ERROR Building $SAMPLE example: Chart Sources in $CHARTS/$SAMPLE not found. Are you running this script as a subscriber?"
exit 1
fi
# Output what is happening
echo "Building $SAMPLE"
# Create the manifest
mkdir -p $DEST/cluster
helm template --debug \
nplus $CHARTS/cluster > $DEST/cluster/nplus.yaml