Automatically deploys any number of lab servers with tools in place to run Docker and Kubernetes Labs.
These lab server deployments are to be used with the AlphaBravo ABLabs Training Materials and Sessions.
CAUTION This release is a Beta public release as it was originally intended to be deployed internal only. There will be costs involved with deploying this, there will be problems when installing this that the end user may need to troubleshoot, and there will be breaking changes introduced in the future. Use at your own risk.
- Docker
- Code Server
- Rancher MCM UI
- K3d / K3s / RKE2
- Virtual Machines
- Wildcard cert specific to each host via LetsEncrypt
- Clone this repo
cd ab-lab-server
- Copy
secrets.yml.dist
tosecrets.yml
and fill in with required fields. Annotations in thesecrets.yml.dist
file explain what each field is for. - Copy
variables.yml.dist
tovariables.yml
and fill in with required fields (number of servers desired, size of servers etc). Annotations in thevariables.yml.dist
file explain what each field is for. - Type
make environment
and this will drop you into a Docker container with all the required tools (Ansible, Terraform, etc). - Type
make setup-aws
. Additional options foraws-spot
anddigitalocean
will be defined in the future once they are fully tested.
There are currently a few options available for how / where to deploy the lab components.
- Cloud Provider Options: AWS, AWS-Spot, DigitalOcean
- DNS Provider Options: Cloudflare, Route53, None (Host File Only)
- SSL Certificate: LetsEncrypt, UserProvided (WIP), SelfSigned (WIP)
Coming Soon
Coming Soon
Changing the dns.service
option in variables.yml
file will switch from the default cloudflare
DNS deployment to route53
DNS.
Coming Soon
Coming Soon
Coming Soon
- Verify deployment by checking links in
./ansible/files/deployment_name/lab-server-info.txt
- Use the
./ansible/files/deployment_name/lab-server-info.txt
file to distribute access info to students. Make sure to provide them with the generated private ssh key for this deployment located under./ansible/files/deployment_name/deploymentname-private-key.pem
.
- Access Code-Server: go to
https://code-yourbranchname-lab1.yourdomain.tld
to login code server. Use the PW you defined in thesecrets.yml
file - Access to Rancher: go to
https://rancher-yourbranchname-lab1.yourdomain.tld
to login rancher server. Use the PW you defined in thesecrets.yml
file - Access to Portainer: go to
https://portianer-yourbranchname-lab1.yourdomain.tld
to login Portianer server. Use the PW you defined in thesecrets.yml
file
- From within the
make environment
container, runmake teardown
. Warning, this will destroy ALL LAB SERVERS for this particular branch. Use at your own risk.
-
Only run the playbook against the group "haproxy_server"
ansible-playbook -i inventory/yourbranchname/yourbranchname-inventory main.yml --limit "haproxy_server
-
Only run the playbook against the tag "labs"
ansible-playbook -i inventory/yourbranchname/yourbranchname-inventory main.yml --tags "labs"
AlphaBravo provides products, training and services for Cloud and DevSecOps adoption and acceleration.
Contact AB today to learn how we can help you.
- Web: https://alphabravo.io
- Email: info@alphabravo.io
- Phone: 301-337-8141