Vulcan Install¶
The following guide you though the installation of Vulcan on your PC.
Before You Begin¶
This tutorial assumes:
- You are running Linux. Officially, we support Ubuntu 17.10 and 18.04.
- Docker is installed.
- Git is installed.
Install Vulcan¶
Clone Vulcan:
git clone https://github.com/Volentix/Vulcan.git
Change into the Vulcan directory.
cd Vulcan
Note that you will need to use sudo to run these commands.
Install K3s and run it.
sudo ./k3s_install.sh
This script will download and start K3s in the terminal. Keep this terminal open and open another terminal.
Install Vulcan.
sudo ./vulcan_install.sh
You now have Vulcan installed on your machine. Now you may install vDexNode
Istio Auto Magic Injection¶
Namespaces, such as vdex, will need to label themselves with the istio-injection=enabled. With this annotation, pods deployed will be injected with the appropriate envoy cartridges to capture telemetry metrics and manage security.
Install vDexNode¶
Once Vulcan is installed, install Vulcan. Note that the install of Vulcan will require 2 command line arguments.
- eos_public_address: Your public address on EOS that will be credited.
- namespace: You are able to install multiple instances of vdex on one Vulcan install, however, each instance will require its own namespace. Namespaces are named logic partisions on Vulcan. You cannot deploy multiple versions of vdex into the same namespace. If this is unclear, just use
vdexas your namespace. Please note that namespaces CANNOT have spaces of special chars in them. For now the script is pretty bare so please be careful.
As a helper, you can use the shell script to deploy your cluster. Future, more advanced scripts will be built on Helm but for now this should get us going.
To begin, you will need to change to the parent directory:
cd ../
Clone the vDexNode repo:
git clone git@github.com:Volentix/vDexNode.git
Change into the kube directory:
cd vDexNode/kube
Next deploy vdex with the shell script. Note replace YOUR_EOS_PUBLIC_ADDRESS with your eos address. Also, replace theYOUR_NAMESPACE with one of your choosing:
./deploy.sh YOUR_EOS_PUBLIC_ADDRESS YOUR_NAMESPACE
The script will create the yaml files in a directory called deploy. It then runs the kubernetes intall commands. Note that the files are kept in case inspection is desired, however, they will be ignored by git.
Usaging vDexNode¶
If you have installed vDex on Vulcan, you will need to run open up some ports to communicate with vDex. This is not necessary with the docker install. Note this restriction will be removed in a future release.
As above, replace the YOUR_NAMESPACE below with the namespace you are using. Note that it appears twice in the commands.
Get Node Info¶
To the the node info, you will need to run the following if you have deployed on Vulcan.
k3s kubectl -n YOUR_NAMESPACE port-forward $(k3s kubectl -n YOUR_NAMESPACE get pod -l app=vdex-node -o jsonpath='{.items[0].metadata.name}') 8100:8100
You can then curl the instance for the nodes information:
curl http://localhost:8100
Scan Nodes¶
To the the list of nodes, you will need to run the following if you have deployed on Vulcan.
k3s kubectl -n YOUR_NAMESPACE port-forward $(k3s kubectl -n YOUR_NAMESPACE get pod -l app=vdex-node -o jsonpath='{.items[0].metadata.name}') 9080:9080
You can then curl the instance:
curl http://localhost:9080/getConnectedNodes
Kiali¶
If you have installed vdex on Vulcan, you can open up the Kiali dashboard to get information about the cluster. First open the port:
k3s kubectl -n istio-system port-forward $(k3s kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001
You can now, in the web browser of your choosing, open up the dashboard. Note that the default username and password are both admin.
http://localhost:20001/kiali/console/