Skip to content

Latest commit

 

History

History
82 lines (58 loc) · 2.97 KB

File metadata and controls

82 lines (58 loc) · 2.97 KB

Bare Metal (On-Premises)

The bare-metal provider provisions a KubeAid-managed Kubernetes cluster across your own Linux servers using SSH-based access. There is no cloud API host management-you manage the server lifecycle yourself.

Uses Kubermatic KubeOne under the hood for SSH-only access platforms without API host management support.

Features

Prerequisites

Common Requirements

Server Requirements

Each server must meet these prerequisites:

Requirement Details
SSH Access KubeAid CLI must SSH as root user
Hostname Must be lowercase (no uppercase letters in /etc/hostname)
No Docker Docker must not be installed; remove Docker's APT source and keyring
Packages socat, conntrack, pigz must be installed

Important: If you fixed an uppercase hostname with hostnamectl, also update /etc/hosts mappings for 127.0.0.1 and the server's public/private IPs.

Install KubeAid CLI

KUBEAID_CLI_VERSION=$(curl -s "https://api.github.com/repos/Obmondo/kubeaid-cli/releases/latest" | jq -r .tag_name)
OS=$([ "$(uname -s)" = "Linux" ] && echo "linux" || echo "darwin")
CPU_ARCHITECTURE=$([ "$(uname -m)" = "x86_64" ] && echo "amd64" || echo "arm64")

wget "https://github.com/Obmondo/kubeaid-cli/releases/download/${KUBEAID_CLI_VERSION}/kubeaid-cli-${KUBEAID_CLI_VERSION}-${OS}-${CPU_ARCHITECTURE}"
sudo mv kubeaid-cli-${KUBEAID_CLI_VERSION}-${OS}-${CPU_ARCHITECTURE} /usr/local/bin/kubeaid-cli
sudo chmod +x /usr/local/bin/kubeaid-cli

Setup

# Generate configuration
kubeaid-cli config generate bare-metal

# Edit outputs/configs/general.yaml and secrets.yaml

# Bootstrap the cluster
kubeaid-cli cluster bootstrap

# Access the cluster
export KUBECONFIG=./outputs/kubeconfigs/main.yaml
kubectl cluster-info

Logs are saved in outputs/.log. Access the ArgoCD and Grafana dashboards.

Cleanup

kubeaid-cli cluster delete main
kubeaid-cli cluster delete management

See Also