Creates the cluster and prints information regarding further actions.
Temporary cluster keys will be stored in ~/.config/bibigrid/keys
.
Using ssh-keygen -t ecdsa
a keypair is generated.
This keypair is injected into every started instance and is used by BiBiGrid to connect to instances.
- When
Remote Security Group ID
is set, the rule only applies to nodes within that group id. The rule cannot apply to nodes outside the cloud.
- allows SSH from everywhere
- allows everything within the same security group
Direction | Ethertype | Protocol | Port Range Min | Port Range Max | Remote IP Prefix | Remote Security Group ID |
---|---|---|---|---|---|---|
Ingress | IPv4 | None | None | None | None | Default Security Group |
Ingress | IPv4 | TCP | 22 | 22 | 0.0.0.0/0 | None |
When running a multi-cloud additionally the following rules are set:
- allows every TCP connection from the VPN (10.0.0.0/24)
- allows every TCP connection from other cidrs (other clouds)
Direction | Ethertype | Protocol | Port Range Min | Port Range Max | Remote IP Prefix | Remote Security Group ID |
---|---|---|---|---|---|---|
Ingress | IPv4 | TCP | None | None | 10.0.0.0/24 | None |
Ingress | IPv4 | TCP | None | None | other_cidrs | None |
Only created when multi-cloud is used (more than one configuration in configuration file).
- allow every UDP connection from the other clouds over 51820 (necessary for WireguardVPN).
Direction | Ethertype | Protocol | Port Range Min | Port Range Max | Remote IP Prefix | Remote Security Group ID |
---|---|---|---|---|---|---|
Ingress | IPv4 | UDP | 51820 | 51820 | other_cidrs | None |
- For every cloud C, all other clouds' cidr is set as an
allowed_address
with the mac address of C. This prevents outgoing addresses with the "wrong" mac address, ip combination from getting stopped by port security.
For the first configuration a master, for all others a vpngtw is started.
The playbook and bin is uploaded.
- Automatic updates are deactivated on host machine
- Python is installed
- Move playbook contents to new home
/opt/playbook/
and set rights accordingly - Wait until dpkg lock is released
- Install
ansible.cfg
to/etc/ansible/ansible.cfg
The playbook is executed. Read more about the exact steps of execution here.
At the end the cluster information is printed:
- cluster id
- master's public ip
- How to connect via SSH
- How to terminate the cluster
- How to print detailed cluster info
- How to connect via IDE Port Forwarding (only if ide)
- Duration
Cluster myclusterid with master 123.45.67.89 up and running!
SSH: ssh -i '/home/user/.config/bibigrid/keys/tempKey_bibi-myclusterid' [email protected]
Terminate cluster: ./bibigrid.sh -i '/home/xaver/.config/bibigrid/hybrid.yaml' -t -cid myclusterid
Detailed cluster info: ./bibigrid.sh -i '/home/xaver/.config/bibigrid/hybrid.yaml' -l -cid myclusterid
IDE Port Forwarding: ./bibigrid.sh -i '/home/xaver/.config/bibigrid/hybrid.yaml' -ide -cid myclusterid
--- 12 minutes and 0.9236352443695068 seconds ---