What is MoltenCore
MoltenCore allows running containerized container platforms on bare-metal in a BOSH native way, using a highly available scale out architecture. The main repo can be found on github.
This project uses terraform to provision bare-metal servers.
It has been tested successfully with terraform 0.12.x Follow the instructions here to install terraform on your system.
Clone the project
The packet-molten-core repo contains the terraform we need for the task at hand. Go ahead and clone the repo, we will also copy the vars template which we need in further steps:
git clone https://github.com/starkandwayne/packet-molten-core cd packet-molten-core cp terraform.tfvars.example terraform.tfvars
Setup a Packet account
Create a Packet account by signing-up here.
Create a project
Your serves will be created in a project, please refer to this support article on how to setup a project.
Retrieve your packet project id
select the project you just created and then browse to project settings. here you will find your Project ID
- copy your Project ID and fill it in your
Retrieve your packet user api key
in the right top corner you will see your profile in the dropdown menu you will see a link API Keys create an api key here.
- copy your API Key and fill it in your
Optionally customize the defaults
With your Project ID and API Key filled in you should be go to go, however you might want the change the following defaults:
packet_facility: the geographic location of the server datacenter full list here.
node_type: the type of server to use, available types here
node_count: number of nodes you want, best to use odd numbers when deploying cf or k8s to keep quorum
Now we can go ahead and deploy our cluster
terraform init # to retrieve all the modules terraform plan # to verify all variables terraform apply # actually deploy a MoltenCore
All management interactions with your MoltenCore cluster are performed from the
first node (zone zero,
z0 for short). This node also hosts the embedded BUCC.
Use the helper script (
./utils/ssh) to access
node-z0 by default it wil go to
other nodes can be reached by passing a number (eg.
./utils/ssh 1 to go the second node)
./utils/ssh # ssh to node-z0 journalctl -f -u bucc.service # wait for BUCC to be deployed mc shell # start interactive shell for interacting with BUCC
For more things to do with your cluster refer to the molten-core repo.
Terraform can be used to delete your MoltenCore cluster. To do so run the following command: