Installation
Introduction ¶
Welcome to the Nauticus Controller! This project provides a Kubernetes controller that allows you to easily
manage Spaces
, a fully-managed Kubernetes namespace that integrates RBAC, network policies, resources, and quotas and
more. This getting started guide will walk you through the process of installing and configuring Nauticus for your
Kubernetes cluster, as well as give an overview of the features and functionality provided by the controller. We hope
that this guide will help you to quickly get up and running with Nauticus, and start taking advantage of the powerful
tooling it provides. Let's get started!
Prerequisites ¶
- A running Kubernetes cluster (version 1.17 or later) with kubectl command-line tool installed and configured on your machine.
- Access to the cluster with cluster-admin permissions.
- Familiarity with Kubernetes concepts such as namespaces, RBAC, and resources.
Before you begin, please ensure that you have a running Kubernetes cluster and you have the kubectl command-line tool installed and configured on your machine. If you don't have a cluster, you can create one using the kind command. You must also have cluster-admin permissions to be able to use Nauticus.
It is also recommended to have basic understanding of Kubernetes concepts such as namespaces, RBAC, and resources.
Once you have everything set up, you can proceed to the next step of the guide.
Installation ¶
In this section, we will explain how to install Nauticus using Helm and kubectl.
Helm ¶
- Make sure that you have docker and kind installed if you want to create a kubernetes cluster within Docker
-
Start by creating a new Kubernetes cluster with kind command if you don't have one.
Create a kind clusterkind create cluster --image kindest/node:v1.27.2 --wait 5m --name nauticus
-
Make sure that you have Helm and kubectl installed on your machine. If you don't have them installed, you can find instructions on how to install them here: helm and here kubectl.
-
Use the following command to add the Nauticus Helm repository:
Add Edixos Helm Repositoryhelm repo add edixos https://edixos.github.io/charts
-
Use the following commands to install Nauticus:
Install Naurticus with Helmkubectl create namespace nauticus-system helm install nauticus --namespace nauticus-system edixos/nauticus
-
Use the following command to check the status of the Nauticus pods:
Get Nauticus Controller podkubectl get pods -n nauticus-system
-
Use the following command to verify that the Nauticus controller is running:
Get Nauticus Controller logskubectl logs -f <nauticus-controller-pod-name> -n nauticus-system
Now you can start using Nauticus to create and manage Spaces in your cluster.
Kubectl ¶
In this section, we will go through the steps to install Nauticus using a kubectl manifest file. This file contains all the resources needed for Nauticus to function properly.
-
Apply the manifest file using kubectl:
Install Nauticus from all-in-one manifest filekubectl apply -f https://raw.githubusercontent.com/edixos/nauticus/main/config/install.yaml
-
Use the following command to check the status of the Nauticus pods:
Get Nauticus Controller podkubectl get pods -n nauticus-system
- Use the following command to verify that the Nauticus controller is running:
Get Nauticus Controller logs
kubectl logs -f <nauticus-controller-pod-name> -n nauticus-system
Basic Usage ¶
To use Nauticus to create a new space, you can use the following kubectl command:
cat << EOF | kubectl apply -f -
apiVersion: nauticus.io/v1alpha1
kind: Space
metadata:
name: my-space
EOF
Space
by adding status.NamespaceName
to it.
For more details on how to use space's features please refer to the Tutorial Section.