Manual installation¶
Installation in a Kubernetes cluster.
The prefferred way is to deploy via Helm package.
Connect to a cluster¶
Have access to a Kubernetes cluster¶
You need to have a Kubernetes cluster.
for Azure cloud, run “az aks …”
for a self-hosted cluster, obtain a valid and working kubeconfig file
Configure kubectl to talk with the correct cluster¶
You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.
You can do this by
Merging new kubeconfig with your existing
~/.kube/config
# Make a copy of your existing config $ cp ~/.kube/config ~/.kube/config.bak # Merge the two config files together into a new config file $ export KUBECONFIG=~/.kube/config:/path/to/new/config; kubectl config view --flatten > /tmp/config # Replace your old config with the new merged config $ mv /tmp/config ~/.kube/config # (optional) Delete the backup once you confirm everything worked ok $ rm ~/.kube/config.bak
Appending a new kubeconfig to the KUBECONFIG environment variable
export KUBECONFIG=$KUBECONFIG:path/to/new/config
Danger
The KUBECONFIG variable does not automatically contain your
~/.kube/config
. When the variable exists, the kubectl command consults only it and ignores your~/.kube/config
. To add your kubeconfig to the list:export KUBECONFIG=$KUBECONFIG:~/.kube/config:path/to/new/config
Replacing the KUBECONFIG environment variable
export KUBECONFIG=path/to/new/config
Passing the
--kubectl path/to/new/config
parameter to every kubectl command.
Ensure you have a new cluster accessible¶
$ kubectl config view
will list the new cluster and context, e.g.
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://114.253.158.226:6441
name: demo-fs
contexts:
- context:
cluster: 212.158.132.216
namespace: default
user: frontstage-default-user
name: demo-fs
Switch kubectl to the correct context¶
kubectl config use-context demo-fs
Attach container registry¶
The cluster needs access to the container registry storing FrontStage OCI images.
atlantistelecom.azurecr.io/
Prepare database¶
DB is not recommended to run on Kubernetes.
Continue by steps either for SQL Server or PostgreSQL.
All FrontStage components share a single database that you need to create. A database connection string will be passed to pods as an environment variable.
Prepare a PostgreSQL database
Create Kubernetes objects¶
Get Kubernetes manifest files and customize them to suit your environment:
namespace
set a connection string to the database
By applying Kubernetes manifest files:
kubectl apply -f ...
Install Ingress Controller¶
In the “nginx-ingress” namespace.
https://kubernetes.github.io/ingress-nginx/
Caution
There are two Ingress Controllers based on the NGINX server. The recommended and tested one is NGINX Ingress Controller, the open-source straight from the Kubernetes community. You might also come across “F5 Ingress Ingress Controller” from F5, Inc., the company behind the NGINX server.