This document is not to be used for all production or POC deployment.
Contents
All the commands in this runbook were tested against a VM with Canonical, Ubuntu, 20.04 LTS, amd64 as root
.
Introduction
Installation
Install K3s and wait for the pods to become ready:
$ curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.23.9+k3s1" K3S_KUBECONFIG_MODE="644" sh -s - server --node-name=local-01 $ kubectl get deploy -n kube-system --output name | xargs -n1 -t kubectl rollout status -n kube-system
Install Helm 3:
$ wget --quiet https://raw.githubusercontent.com/helm/helm/master/scripts/get -O /tmp/get_helm.sh \ && chmod 0755 /tmp/get_helm.sh \ && /tmp/get_helm.sh -v v3.8.2
Configure GetVisibility private Docker image registry (replace
$USERNAME
and$PASSWORD
with the Docker credentials provided):$ kubectl create secret docker-registry gv-docker-registry \ --docker-server=https://images.master.k3s.getvisibility.com \ --docker-username=$USERNAME \ --docker-password=$PASSWORD \ --docker-email=no@email.com
Configure GetVisibility private Helm repository (replace
$USERNAME
and$PASSWORD
with the Helm credentials provided):$ helm repo add gv_stable https://charts.master.k3s.getvisibility.com/stable --username $USERNAME --password $PASSWORD $ helm repo update
Install chart GetVisibility Essentials and wait for the pods to become ready:
$ helm upgrade --install gv-essentials gv_stable/gv-essentials --wait \ --kubeconfig /etc/rancher/k3s/k3s.yaml $ kubectl get deploy --output name | xargs -n1 -t kubectl rollout status
Depending on the theme you want to use, run one of the commands below to install the chart GV Platform:
GetVisibility theme:
$ helm upgrade --install gv-platform gv_stable/gv-platform --wait \ --kubeconfig /etc/rancher/k3s/k3s.yaml \ --set-string clusterLabels.environment=prod \ --set-string clusterLabels.cluster_reseller=getvisibility \ --set-string clusterLabels.cluster_name=mycluster \ --set-string clusterLabels.product=synergy
Forcepoint theme:
$ helm upgrade --install gv-platform gv_stable/gv-platform --wait \ --kubeconfig /etc/rancher/k3s/k3s.yaml \ --set-string clusterLabels.environment=prod \ --set-string clusterLabels.cluster_reseller=forcepoint \ --set-string clusterLabels.cluster_name=mycluster \ --set-string clusterLabels.product=synergy \ --set-string dashboard.imageSuffix=-forcepoint \ --set-string gvKeycloak.imageSuffix=-forcepoint
Upgrade
GV Essentials
In order to upgrade the essential services (e.g. Postgres, Kafka, MongoDB, Consul) run helm repo update
and then the same command you used in step 5.
Synergy
In order to upgrade Synergy run helm repo update
and then the same command you used in step 6.
Monitoring
You can optionally also install monitoring tools to collect metrics and logs of all services that are running inside the cluster:
Install the CRDs:
$ helm upgrade --install rancher-monitoring-crd gv_stable/rancher-monitoring-crd --wait \ --kubeconfig /etc/rancher/k3s/k3s.yaml \ --namespace=cattle-monitoring-system \ --version=100.1.2+up19.0.5 \ --create-namespace
Install the monitoring tools:
$ helm upgrade --install rancher-monitoring gv_stable/rancher-monitoring --wait \ --kubeconfig /etc/rancher/k3s/k3s.yaml \ --namespace=cattle-monitoring-system \ --version=100.1.2+up19.0.5 \ --set k3sServer.enabled=true \ --set k3sControllerManager.enabled=true \ --set k3sScheduler.enabled=true \ --set k3sProxy.enabled=true
To access the Grafana dashboard run the command kubectl port-forward svc/rancher-monitoring-grafana -n cattle-monitoring-system 3001:80 --address='0.0.0.0'
and in your browser type the address http://$SERVER_IP:3001
.
To access Prometheus dashboard run the command kubectl port-forward svc/rancher-monitoring-prometheus -n cattle-monitoring-system 3001:9090 --address='0.0.0.0'
and in your browser type the address http://$SERVER_IP:3001
.