Install the FSM CLI
fsm
CLI.Prerequisites
- Kubernetes cluster running Kubernetes v1.19.0 or greater
Set up the FSM CLI
From the Binary Releases
Download platform specific compressed package from the Releases page.
Unpack the fsm
binary and add it to $PATH
to get started.
Linux and macOS
In a bash-based shell on Linux/macOS or Windows Subsystem for Linux, use curl
to download the FSM release and then extract with tar
as follows:
# Specify the FSM version that will be leveraged throughout these instructions
FSM_VERSION=v1.2.7
# Linux curl command only
curl -sL "https://github.com/flomesh-io/fsm/releases/download/$FSM_VERSION/fsm-$FSM_VERSION-linux-amd64.tar.gz" | tar -vxzf -
# macOS curl command only
curl -sL "https://github.com/flomesh-io/fsm/releases/download/$FSM_VERSION/fsm-$FSM_VERSION-darwin-amd64.tar.gz" | tar -vxzf -
The fsm
client binary runs on your client machine and allows you to manage FSM in your Kubernetes cluster. Use the following commands to install the FSM fsm
client binary in a bash-based shell on Linux or Windows Subsystem for Linux. These commands copy the fsm
client binary to the standard user program location in your PATH
.
sudo mv ./linux-amd64/fsm /usr/local/bin/fsm
For macOS use the following commands:
sudo mv ./darwin-amd64/fsm /usr/local/bin/fsm
You can verify the fsm
client library has been correctly added to your path and its version number with the following command.
fsm version
From Source (Linux, MacOS)
Building FSM from source requires more steps but is the best way to test the latest changes and useful in a development environment.
You must have a working Go environment and Helm 3 installed.
git clone https://github.com/flomesh-io/fsm.git
cd fsm
make build-fsm
make build-fsm
will fetch any required dependencies, compile fsm
and place it in bin/fsm
. Add bin/fsm
to $PATH
so you can easily use fsm
.
Install FSM
FSM Configuration
By default, the control plane components are installed into a Kubernetes Namespace called fsm-system
and the control plane is given a unique identifier attribute mesh-name
defaulted to fsm
.
During installation, the Namespace and mesh-name can be configured through flags when using the fsm
CLI or by editing the values file when using the helm
CLI.
The mesh-name
is a unique identifier assigned to an fsm-controller instance during install to identify and manage a mesh instance.
The mesh-name
should follow RFC 1123 DNS Label constraints. The mesh-name
must:
- contain at most 63 characters
- contain only lowercase alphanumeric characters or ‘-’
- start with an alphanumeric character
- end with an alphanumeric character
Using the FSM CLI
Use the fsm
CLI to install the FSM control plane on to a Kubernetes cluster.
Run fsm install
.
# Install fsm control plane components
fsm install
fsm-preinstall[fsm-preinstall-4vb8n] Done
fsm-bootstrap[fsm-bootstrap-cdbccf694-nwm74] Done
fsm-injector[fsm-injector-7c9f5f9cdf-tw99v] Done
fsm-controller[fsm-controller-6d5984fb9f-2nj7s] Done
FSM installed successfully in namespace [fsm-system] with mesh name [fsm]
Run fsm install --help
for more options.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.