Shaken Fist is a deliberately minimal cloud. You can read more about Shaken Fist at https://github.com/shakenfist/shakenfist -- this repository is the deployment and CI tooling for the project, and therefore not a great place to start your journey.
Build an acceptable deployment, noting that only Ubuntu is supported.
sudo apt-get install ansible tox pwgen
git clone https://github.com/shakenfist/deploy
cd deploy
git submodule init
git submodule update
cd ansible
ansible-galaxy install andrewrothstein.etcd-clusterOn Google Cloud, you need to enable nested virt first:
# Create an image with nested virt enabled (only once)
gcloud compute disks create sf-source-disk --image-project ubuntu-os-cloud \
--image-family ubuntu-1804-lts --zone us-central1-b
gcloud compute images create sf-image \
--source-disk sf-source-disk --source-disk-zone us-central1-b \
--licenses "https://compute.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"Configure deployment parameters and deploy
cd ansible
export METAL_IP_SF1="192.168.72.240"
export METAL_IP_SF2="192.168.72.230"
export METAL_IP_SF3="192.168.72.242"
./deployandtest.shConfigure deployment parameters and deploy
cd ansible
export OS_SSH_KEY_NAME="and-arwen"
export OS_FLAVOR_NAME="2C-4GB-50GB"
export OS_EXTERNAL_NET_NAME="ext-net"
./deployandtest.shConfigure deployment parameters and deploy
cd ansible
export METAL_IP_SF1="192.168.72.240"
export METAL_IP_SF2="192.168.72.230"
export METAL_IP_SF3="192.168.72.242"
./deployandtest.shThe "metal" installation option can be used to create a test cluster on VMWare ESXi hypervisors.
Virtual machines hosted under ESXi need two CPU options enabled.
Hardware virtualization:
Expose hardware assisted virtualization to the guest OS
Performance counters:
Enable virtualized CPU performance counters