Setup Working Environment
As mentioned in Planning and Prerequisites that it is a good practice that you have a dedicated machine for managing infrastructure and perform installation.
This guide will assumed that you are working on the machine, called 🟫 Bastion Host.
Which will go through these setups:
- CLI Tools Preparation
- Working Directory Preparation
Before Proceed
Section titled “Before Proceed”💡 Before proceed, Make sure you are connected to Bastion Host in anyway possible, i.e SSH, Privileged Access Management Console, etc.
CLI Tools Preparations
Section titled “CLI Tools Preparations”Set of tools that required to install on your Linux Bastion Host before you proceed
Container Engine with Docker CLI (docker)
Section titled “Container Engine with Docker CLI (docker)”For managing Container Images and performing local container operations.
Reference: Install Docker Engine on Ubuntu
curl -fsSL https://get.docker.com -o get-docker.shsudo sh ./get-docker.shKubernetes CLI (kubectl)
Section titled “Kubernetes CLI (kubectl)”For interacting with Kubernetes Clusters.
Reference: Install Tools/Install and Set Up kubectl on Linux
# Install and Set Up kubectl on Linux w/ Binarycurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlrm kubectlHelm CLI (helm)
Section titled “Helm CLI (helm)”For managing Helm Charts and performing Helm Operations.
Reference: Installing Helm - Helm Docs
# Install and Set Up kubectl on Linux w/ Binarycurl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod 700 get_helm.sh./get_helm.shrm get_helm.shcURL/wget (curl/wget)
Section titled “cURL/wget (curl/wget)”Small Utilities for Web Request Invoking.
sudo apt install -y curl wgetZip/Unzip Utility (zip/unzip)
Section titled “Zip/Unzip Utility (zip/unzip)”Small Utilities for Zipping and Unzipping .zip Archival Files.
sudo apt install -y zip unzipTarball Utility (tar)
Section titled “Tarball Utility (tar)”A Small Utility for Manipulating Tarball Archival Files.
sudo apt install tarMinIO CLI Utility (mc)
Section titled “MinIO CLI Utility (mc)”A Small Utility for Manipulating S3-compatible Storage.
wget -O mc https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x mcsudo mv $(pwd)/mc /usr/local/bin/mcJSON Query (jq) Utility
Section titled “JSON Query (jq) Utility”A Small Utility for Manipulating JSON files.
wget https://github.com/jqlang/jq/releases/latest/download/jq-linux-amd64 -O /usr/local/bin/jqchmod +x /usr/local/bin/jqYAML Query (yq) Utility
Section titled “YAML Query (yq) Utility”A Small Utility for Manipulating YAML files.
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yqchmod +x /usr/local/bin/yqWorking Directory Preparation
Section titled “Working Directory Preparation”Suggest that stay on User Home Directory and create a special directory and work within it, named opstella-installation as to prevent from implementation sprawling.
While you following installation instruction, all of the files will be stored here.
mkdir -p $HOME/opstella-installation/{assets,shell-values,kubeconfigs,helm-charts,helm-values,images,opstella-configs}Download the Necessary Assets
Section titled “Download the Necessary Assets”There are images, scripts, binary file(s), etc.
Download the latest release (Use
.tar.gz): Necessary Assets/Releases on git.opsta.io
And then extract it to the assets of Working Directory.
tar xzvf orion-assets-*.tar.gz -C $HOME/opstella-installation/assets --strip-components=1It should be in the following structure
$ ls $HOME/opstella-installation/assetsfiles kubernetes-manifests scripts
$ ls $HOME/opstella-installation/assets/**files:opstella-logo.svg... (deducted)
kubernetes-manifests:opstella-keycloak-theme.yaml... (deducted)
scripts:opstella-core-init.sh vault-init.sh... (deducted)Container Images (Tarball Files)
Section titled “Container Images (Tarball Files)”Store any Container Images in tarball files in the following directory. *
$HOME/opstella-installation/images/**.tar
Helm Charts (Tarball Files)
Section titled “Helm Charts (Tarball Files)”Store any Helm Charts in tarball files in the following directory. *
$HOME/opstella-installation/helm-charts/**.tgz
Helm Values
Section titled “Helm Values”Store any Helm Values in the following directory.
$HOME/opstella-installation/helm-values/**.yaml
Opstella Configuration Files
Section titled “Opstella Configuration Files”Store any Opstella Configuration YAML Files, include any customization from Downloaded Assets, in the following directory.
$HOME/opstella-installation/opstella-configs/**
* Used in Air-gapped Environment
Working Directory Summary
Section titled “Working Directory Summary”As you proceed throughout the guide, your directory should looks like this.
Directory~
Directoryopstella-installation
Directoryassets
Directoryfiles
- …
- opstella-logo.svg
Directorykubernetes-manifests
- …
- opstella.yaml
Directoryscripts
- …
- script.sh
Directoryhelm-charts
- …
- postgresql-15.5.38.tgz
- keycloak-21.8.0.tgz
Directoryhelm-values
- …
- postgresql-keycloak-full-values.yaml
- keycloak-full-values.yaml
Directoryimages
- …
- bitnami-postgresql-16.4.0-debian-12-r14.tar
- bitnami-keycloak-24.0.5-debian-12-r8.tar
Directorykubeconfigs
- management_cluster.yaml
- nonprod_cluster.yaml
- prod_cluster.yaml
Directoryopstella-configs
- …
- opstella-core-init.sh
- opstella-backend-tag-on-premise.yaml
Finished?
Use the below navigation to proceed