Document dev environment.
This commit is contained in:
@@ -1,19 +1,53 @@
|
|||||||
A Terraform script to create k8s nodes. This script has modules for creating the
|
A terraform script that will setup VMs via AWS or KVM/QEMU (libvirt).
|
||||||
nodes on a KVM/QEMU (libvirt) hypervisor or creating the nodes via AWS.
|
|
||||||
|
|
||||||
The modules allow you create N VMs of a specific type. So you could create 1
|
The modules allow you create N VMs of a specific type. So you could create 1
|
||||||
master node and 3 worker nodes or you could create 3 Ubuntu VMs and 5 CentOS
|
master node and 3 worker nodes or you could create 3 Ubuntu VMs and 5 CentOS
|
||||||
VMs, or whatever fits your needs.
|
VMs, or whatever fits your needs.
|
||||||
|
|
||||||
|
This script creates the VMs and then uses Cloud-init for initial configuration
|
||||||
|
of the VMs.
|
||||||
|
|
||||||
|
libvirt vs. AWS
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
This script allows VMs to be created libvirt or AWS. You can choose either one,
|
||||||
|
however, running both at the same time has not been tested. Therefore, when
|
||||||
|
using one, you should comment out all code pertaining to the other provider.
|
||||||
|
|
||||||
Cloud-Init
|
Cloud-Init
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
Both the libvirt and aws modules use cloud-init for initial configuration of the
|
Both the libvirt and aws modules use cloud-init for initial configuration of the
|
||||||
VMs.
|
VMs. Cloud-init is used to create the admin user and add the mss-admin keys.
|
||||||
|
Cloud-init is also used to install some initial packages. The goal is to get
|
||||||
|
these VMs setup enough so that they can be configured via Ansible.
|
||||||
|
|
||||||
|
Environment Setup
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
1. From within the nodes-terraform directory run `terraform init`. You will a
|
||||||
|
see bunch if output as terraform grabs the dependencies it needs.
|
||||||
|
|
||||||
|
2. Copy the shared `terraform.tfvars` from S3.
|
||||||
|
```shell
|
||||||
|
aws s3 cp s3://mss-terraform-state/global/s3/terraform.tfvars .
|
||||||
|
```
|
||||||
|
For instructions on getting AWS CLI to work correctly see `aws-api-setup.md`
|
||||||
|
in the `doc-ops` repo.
|
||||||
|
|
||||||
|
Take care to copy your `terraform.tfvars` back to the S3 bucket whenever you
|
||||||
|
make a change to it.
|
||||||
|
|
||||||
|
3. Verify that you branch and variables match whats deployed by running
|
||||||
|
`terraform plan`. If everything is in sync you should see `No changes. Your
|
||||||
|
infrastructure matches the configuration.` _IF_ you do not see this message
|
||||||
|
make sure to sync with the other admins before continuing.
|
||||||
|
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
|
_UNFINISHED_
|
||||||
TODO REM add libvirt provider
|
TODO REM add libvirt provider
|
||||||
libvirt provider depends on mkisofs
|
libvirt provider depends on mkisofs
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user