Installation Guide
Welcome to the AppNet installation guide. This document provides step-by-step instructions on how to set up AppNet and its dependencies.
Requirements:
First, clone the AppNet repo:
git clone git@github.com:appnet-org/appnet.git --recursive
cd appnet
conda create -y -n appnet python=3.10
conda activate appnet
Install the CLI
appnetctl
is a command line program to manage the AppNet control plane.
To install the CLI, run
. ./install.sh
Once installed, verify the CLI and other tools is running correctly with:
appnetctl version
appnetctl verify
Lastly, install the CRDs into the cluster:
make install
Requirements
Kubernetes
To install a Kubernetes cluster, we recommend using kubeadm. Follow the steps below:
- Install the Control Plane:
. ./utils/k8s_setup.sh
- (Optional) Set Up Worker Nodes:
- First, prepare the worker nodes:
. ./utils/k8s_setup_worker.sh
- Then, join the cluster using kubeadm join. Run the following command on the control plane node to get the join command:
kubeadm token create --print-join-command
Note: if you plan to use a multi-node cluster, make sure you can ssh other nodes from the control plane node.
- Verify Installation:
kubectl version
For additional installation methods (e.g., KIND, Minikube), visit this page
(Optional) We highly recommend installing k9s for visualizing your clutser.
Istio
Istio can be installed in either sidecar mode or ambient mode. Choose the one that best fits your requirements:
- Sidecar Mode
. ./utils/istio_setup_sidecar.sh
- Ambient Mode
. ./utils/istio_setup_ambient.sh
Go
See this page for installation instructions.
Rust
Install Rust by running the following command:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Protoc
Install the Protocol Buffers Compiler and the necessary Go plugins with these commands:
sudo apt -y install protobuf-compiler
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
Conda
See this page for installation instructions.
For ubuntu users:
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh -O Miniconda.sh
bash Miniconda.sh