This is the Experimental version (Latest). It is under active development and may change. For the most reliable documentation, use the version selector in the top-right to switch to Stable, or click here to go to the Stable version's homepage.
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:
Before You Begin
Section titled “Before You Begin”💡 Prerequisite: Ensure you are connected to your Bastion Host (via SSH or a console) before proceeding with these steps.
This setup guide is divided into logical steps to get your environment ready for Opstella.
Step 1: Install CLI Tools
Section titled “Step 1: Install CLI Tools”You need the following tools installed on your Linux Bastion Host to manage the installation and interact with the clusters.
1a. Basic Utilities (curl, wget, zip, unzip, tar)
Section titled “1a. Basic Utilities (curl, wget, zip, unzip, tar)”These are essential for downloading and extracting assets.
sudo apt updatesudo apt install -y curl wget zip unzip tar1b. Container Engine (docker)
Section titled “1b. Container Engine (docker)”Used for managing container images and performing local operations.
Reference: Docker Installation Guide
# Install using the convenience scriptcurl -fsSL https://get.docker.com -o get-docker.shsudo sh ./get-docker.shrm get-docker.sh1c. Toolchain (kubectl, helm)
Section titled “1c. Toolchain (kubectl, helm)”The primary tools for interacting with Kubernetes and managing deployments.
# Install kubectlcurl -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 kubectl
# Install Helmcurl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod 700 get_helm.shsudo ./get_helm.shrm get_helm.sh1d. Data Helpers (jq, yq, mc)
Section titled “1d. Data Helpers (jq, yq, mc)”Utilities for manipulating JSON/YAML and interacting with S3 storage.
# Install jq & yqsudo wget https://github.com/jqlang/jq/releases/latest/download/jq-linux-amd64 -O /usr/local/bin/jqsudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yqsudo chmod +x /usr/local/bin/jq /usr/local/bin/yq
# Install mc (MinIO Client)wget -O mc https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x mcsudo mv mc /usr/local/bin/mcStep 2: Initialize Workspace Directory
Section titled “Step 2: Initialize Workspace Directory”To keep your installation organized, we recommend working within a dedicated directory. This prevents configuration files and assets from cluttering your home folder.
mkdir -p $HOME/opstella-installation/{assets,shell-values,kubeconfigs,helm-charts,helm-values,images,opstella-configs}Step 3: Gather Core Assets
Section titled “Step 3: Gather Core Assets”Core assets include the scripts and Kubernetes manifests provided by the Opstella team.
-
Download the Assets Package: Visit the Releases page on git.opsta.io and download the latest
.tar.gzrelease. -
Extract to the Workspace:
Terminal window tar xzvf orion-assets-*.tar.gz -C $HOME/opstella-installation/assets --strip-components=1
Core Asset Structure
Section titled “Core Asset Structure”Once extracted, your assets directory should contain:
files/: Logos and other static resources.kubernetes-manifests/: Pre-defined YAML configurations.scripts/: Initialization and helper scripts (e.g.,opstella-core-init.sh).
Step 4: Prepare Resources for Air-gapped Environments
Section titled “Step 4: Prepare Resources for Air-gapped Environments”In an Air-gapped Environment, you must manually prepare the following resources and place them in their respective directories.
4a. Container Images (Tarballs)
Section titled “4a. Container Images (Tarballs)”Pull and save required container images as .tar files.
- Path:
$HOME/opstella-installation/images/
4b. Helm Charts (Tarballs)
Section titled “4b. Helm Charts (Tarballs)”Download charts from their respective repositories as .tgz files.
- Path:
$HOME/opstella-installation/helm-charts/
4c. External Plugins & Files
Section titled “4c. External Plugins & Files”Some tools (like SonarQube) require external plugins that are usually downloaded on-the-fly. For air-gapped environments, you must manually download these and host them on an Internal HTTP Static File Server (e.g., Nginx, Apache).
Example: SonarQube OIDC Plugin
- Original URL:
https://github.com/vaulttec/sonar-auth-oidc/releases/download/v2.1.1/sonar-auth-oidc-plugin-2.1.1.jar - Action: Download this file and upload it to your internal server. Update your variables to point to your internal link:
https://your-internal-server/sonar-auth-oidc-plugin-2.1.1.jar.
Step 5: Configuration Storage
Section titled “Step 5: Configuration Storage”Finally, prepare the directories where you will store your custom configurations and cluster connection files.
Helm Values
Section titled “Helm Values”Custom configuration files (values.yaml) for Helm releases.
- Path:
$HOME/opstella-installation/helm-values/
Opstella Custom Configurations
Section titled “Opstella Custom Configurations”Modified YAML files or scripts based on the downloaded assets.
- Path:
$HOME/opstella-installation/opstella-configs/
Kubernetes Kubeconfigs
Section titled “Kubernetes Kubeconfigs”Kubeconfig files for accessing your Management, Non-Prod, and Prod clusters.
- Path:
$HOME/opstella-installation/kubeconfigs/
Working Directory Summary
Section titled “Working Directory Summary”As you proceed throughout the guide, your directory should looks like this.
โฟลเดอร์~
โฟลเดอร์opstella-installation
โฟลเดอร์assets
โฟลเดอร์files
- …
- opstella-logo.svg
โฟลเดอร์kubernetes-manifests
- …
- opstella.yaml
โฟลเดอร์scripts
- …
- script.sh
โฟลเดอร์helm-charts (air-gapped)
- …
- postgresql-15.5.38.tgz
- keycloak-21.8.0.tgz
โฟลเดอร์helm-values
- …
- postgresql-keycloak-full-values.yaml
- keycloak-full-values.yaml
โฟลเดอร์images (air-gapped)
- …
- bitnami-postgresql-16.4.0-debian-12-r14.tar
- bitnami-keycloak-24.0.5-debian-12-r8.tar
โฟลเดอร์kubeconfigs
- management_cluster.yaml
- nonprod_cluster.yaml
- prod_cluster.yaml
โฟลเดอร์opstella-configs
- …
- opstella-core-init.sh
- opstella-backend-tag-on-premise.yaml
Finished?
Use the below navigation to proceed