This tutorial will walk you through how to prepare an environment using Anypoint Service Mesh. If you are looking for the best place to get started, this tutorial will be your best place to get started. Before you can use Anypoint Service Mesh, you will need to obtain a license key by getting in touch with your MuleSoft account team. Additionally, if you are a Windows user there may be some steps in this guide that don't match up since this guide is biased towards Mac users. If this is your first time using MuleSoft, checkout our Hello Mule tutorial and click the signup button below to get started.
If you have a Macbook, this tutorial will help you set up the tools you will need to interact with your Kubernetes Cluster.
- You need to be an Administrator to run the commands.
- Add terminal app security exception in Mac (after Catalina Update)
Returning users: If you have done these steps (2.1.1 - 2.1.5) before, you will need to run the command below and then remove your previous asmctl version.
Replace yourprofile with your own file directory path
This command removes your previous asmctl version
rm -rf .asm
2.1.1 Install homebrew
Open the terminal and paste the following code to install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2.1.2 Install kubectl
This is required so you can interact with your K8s cluster.
brew install kubernetes-cli
2.1.3 Install Anypoint Service Mesh client
You install, manage, and troubleshoot your Anypoint Service Mesh instance by using the Anypoint Service Mesh client. To download the Anypoint Service Mesh client, type the following command at the command prompt:
curl -Ls http://anypoint.mulesoft.com/servicemesh/xapi/v1/install > asmctl && chmod +x asmctl
Add the following to .bash_profile:
2.1.4 Install istioctl
You’ll need to install istioctl to be able to install and interact with the ISTIO control plane. ASM 1.1 supports ISTIO v 1.6 & 1.7 - see latest info here.
Download ISTIO v.1.7.0
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.7.0 sh -
Make istioctl available in your terminal for easy access (NOTE: Please change the PATH to reflect your environment):
2.1.5 Choose a Kubernetes Environment you want to use
Jump to Step 3 to choose your Kubernetes environment
2.2.1 Install Ubuntu on WSL (Windows Subsystem for Linux)
Windows Subsystem for Linux (WSL) is a compatibility layer for running Linux binary executables natively on Windows 10. Ensure that the "Windows Subsystem for Linux" optional feature is enabled. Next, open up your PowerShell as an Administrator and run the command:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Instead of this powershell command, you can open the start menu and search Turn Windows features on or off. Then Select Windows Subsystem for Linux and click OK. You will need to restart your computer when prompted. Next we are going to install the Ubuntu Linux Distribution.
Open the Microsoft Store and Ubuntu, then select GET from the distributions page.
Complete initialization of Ubuntu:
1) Launch the Ubuntu app and wait for the installation to complete
2) Once installation is complete, you will be prompted to create a new user account. This user account is for the normal non-admin user that you'll be logged-in as by default when launching
3) Update and upgrade Ubuntu by entering the following command in the Ubuntu terminal:
sudo apt update && sudo apt upgrade
2.2.2 Install kubectl (on Ubuntu, not Windows)
kubectl will be used via the Ubuntu app to run commands against the Kubernetes cluster. Note: kubectl can be used with Windows PowerShell however this approach does not work with the commands and scripts that need to be executed in the Service Mesh labs.
Open the Ubuntu app:
1) Download the latest release of kubectl:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
2) Make the kubectl binary executable:
chmod +x ./kubectl
3) Move the binary in to your PATH:
sudo mv ./kubectl /usr/local/bin/kubectl
4) Test to ensure the version you installed is up-to-date:
kubectl version --client
Need additional information?
2.2.3 Install Anypoint Service Mesh Utility
Next, install the Anypoint Service Mesh Utility via the command line:
mkdir -p $HOME/.asm && curl -Ls https://anypoint.mulesoft.com/servicemesh/xapi/v1/install > $HOME/.asm/asmctl && chmod +x $HOME/.asm/asmctl && export PATH=$PATH:$HOME/.asm
Then add the following to .bash_profile:
2.2.4 Install istioctl
You’ll need to install istioctl to be able to install and interact with ISTIO. At GA we will only support 1.6 and 1.7. Both versions will need different flags to be set at the time of installation.
curl -sL https://istio.io/downloadIstioctl | sh -
If you like to check your installation then run the following:
Please choose a selection below of what tutorial you like to follow to setup Anypoint Service Mesh on your cloud of choice.
Thanks so much for reading the tutorial. Please click on one of the following tutorials to continue your learning of Anypoint Service Mesh. If you have any trouble, feel free to reach out to use @MuleDev on Twitter.