Skip to main content

Octostar Single Node

Prerequisites​

Installing Docker, Helm, helmfile and kubectl is necessary before we can install Octostar single node.

On MacOS​

Docker Installation on MacOS:​

  1. Download Docker Desktop for Mac: Visit the Docker Hub and download the Docker Desktop application.
  2. Install Docker Desktop: Open the downloaded .dmg file and drag the Docker icon to your Applications folder.
  3. Run Docker Desktop: Open Docker from your Applications folder. Docker will ask for your password to install its networking components and links to the Docker apps.
  4. Verify Installation: Open a terminal and run docker --version to ensure Docker is installed correctly.

Helm Installation on MacOS:​

  1. Homebrew: If you have Homebrew installed, you can simply run brew install helm.
  2. Manual Install:
    • Download the latest release of Helm from the .
    • Unpack it (tar -zxvf helm-v3.0.0-darwin-amd64.tar.gz) and move it to a directory included in your system's PATH (mv darwin-amd64/helm /usr/local/bin/helm).

Helmfile installation on MacOS:

  1. Install Helmfile: using Homebrew with this command:
brew install helmfile

kubectl Installation on MacOS:​

  1. Homebrew: Run brew install kubectl or brew install kubernetes-cli.
  2. Curl:
    • Download the latest release with the command: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl".
    • Make the binary executable: chmod +x ./kubectl.
    • Move the binary into your PATH: sudo mv ./kubectl /usr/local/bin/kubectl.

On Linux​

Docker Installation on Linux:​

  1. Update Package Index: Run sudo apt-get update.
  2. Install Packages to Allow apt to Use Repository Over HTTPS:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
  1. Add Docker’s Official GPG Key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. Set Up the Stable Repository:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
  1. Install Docker Engine:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Verify Installation: Run sudo docker run hello-world to check if Docker was installed without any issues.

Helm Installation on Linux:​

  1. From Script: Helm provides an automated script to get started quickly. Run curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash.
  2. From Package Manager (for example, using snap for Ubuntu):
sudo snap install helm --classic

Install Helmfile on a Linux system​

  1. Open your terminal and use the following command to download the latest release of Helmfile:
wget https://github.com/roboll/helmfile/releases/download/v0.144.0/helmfile_linux_amd64

Make the binary executable

  1. Change the permissions of the downloaded binary to make it executable:
chmod +x helmfile_linux_amd64

Move the binary to your PATH

  1. Move the Helmfile binary to a directory in your PATH for easy access:
sudo mv helmfile_linux_amd64 /usr/local/bin/helmfile

Verify the installation

  1. Check that Helmfile is correctly installed by running:
helmfile --version
  1. You should see the version of Helmfile printed out.

Remember to replace v0.144.0 with the actual version you wish to install. You can find the latest version on the .

kubectl Installation on Linux:​

  1. Curl:
    • Download the latest release with the command:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  1. Package Management (for example, for Ubuntu/Debian):
sudo apt-get update
sudo apt-get install -y kubectl

After installation, you can verify that helm and kubectl are properly installed by running helm version and kubectl version --client, respectively.

​

Installing Kind (Kubernetes-in-Docker)​

Kind is a tool designed for running local Kubernetes clusters using Docker container "nodes." It simplifies the process of testing Kubernetes by allowing you to set up a single-node cluster quickly. This setup can be implemented on any architecture, including ARM-based systems and Intel/AMD ones.

Download Kind

Open your terminal and run the following command to download the latest version of Kind. This command automatically detects your architecture and downloads the appropriate binary.

curl -Lo ./kind $(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep -i $(uname -s) | grep $(uname -m) || echo "URL not found")

Make the Kind Binary Executable

After downloading, you need to make the binary executable:

chmod +x ./kind

Move the Binary to Your PATH

To use the kind command from anywhere on your system, move it to a directory in your path. A common place is /usr/local/bin/.

sudo mv ./kind /usr/local/bin/kind

Verify the Installation

Check that Kind is installed correctly by running:

kind --version

You should see the version of Kind printed out.

Congratulations. You are now ready to get started with octostar-singlenode !

Set up DNS​

Our Kubernetes ingress controller has a single entry point on port 80/443, and routes requests by URL and path, so you need to reach it via appropriate domain names in order to work correctly.

Option#1 Set up local name resolution​

When you use local name resolution, as opposed to real DNS domain names, you should edit your /etc/hosts file and add the following entries:

minio-api.local.test 127.0.0.1
fusion.local.test 127.0.0.1
home.local.test 127.0.0.1

This will allow you to connect to the cluster only from a browser in the host machine.

Configure Chrome​

We use a self-signed root certificate authority for the local domain names. So if you use local resolution via /etc/hosts you will need the instructions below.

Instructions​

To configure Chrome to trust our self-signed root CA certificate, follow these steps to add the rootCA.pem file:

  1. Open Chrome and go to Settings by clicking on the three dots in the upper right corner.
  2. Scroll down and click on "Advanced" to expand the advanced settings options.
  3. Under the "Privacy and security" section, click on "Security."
  4. Find the "Manage certificates" option and click on it.
  5. In the Certificate Manager window, go to the "Authorities" tab. (Use Keychain Access for Mac)
  6. Click on "Import" to start adding the rootCA.pem file.
  7. Browse to the location of the rootCA.pem file on your computer, select it, and click "Open."
  8. When prompted, ensure you check all the boxes that apply to enable trust for this certificate.
  9. Finally, click "OK" to complete the process.

Your Chrome browser will now trust certificates issued by your self-signed root CA.

Option#2 Set up regular DNS for remote browsing​

Follow these steps to obtain a single node system reachable from remote on a public IP.

#TODO @Guido Maria Serra

Checkout the code​

Clone or download the zip file of "octostar-singlenode" repository. You will see a k8s directory, where all the helm templates, and other tools necessary to bring up the single node deployment live.

If you are on Linux, you will have to use Kind, so please execute these scripts in this order:

  • ./k8s/onetime-setup.kind (setup the cluster)
  • ./k8s/install-octostar.kind (bring up all the components in kubernetes)

The second script takes a lot of time (up to 20m), and the script output is a bit cryptic, but keep an eye on the kubernetes pods slowly coming up using:

kubectl get pods --all-namespaces 

And occasionally checking the logs and state of each pod.

Take it for a spin​

Open chrome and go to https://home.local.test, login with the following credentials:

  • Username: admin
  • Password: Welcome@123