The source project of this merge request has been removed.
P1 Edits
Packer
Features modified:
- Restructured packer folder to better identify what each stage is doing:
-
ansible
: the primary packer provisioner -
cloudinit
: the ansible-playbook run oncloudinit
-
packer
: the necessary config's to define packer ami and ova builds (this folder structure almost identically mirrors the cluster api project)
-
-
kubeadm init
now simply performs the complete initialization phase instead of each phase independently - consolidated config/certs to a single s3 bucket, secondary masters and workers now pull from a single s3 bucket in the folder
/control-plane/
, with the intent that cluster backup states will also be stored here in the future - consolidated common node setup steps in
ansible
and incloudinit
to try and better follow ansible best practices - consolidated kubernetes specific steps into
kubernetes
role inansible
, such as installing kubelet and kubeadm, prepulling kubeadm images, and setting up the appropriate directories and config files - leveraged more runtime facts, such as more robust ec2 instance querying at runtime, and
kubeadm version
regex parsing instead of passing kubernetes version as a variable - using ansible's aws_s3 module to
get
andput
from S3 - use
sysprep
role to cleanup instances to better align with cluster api - restructured packer config files into
packer
directory in a structure that better aligns with cluster api and futureova
plans - using Makefile to orchestrate
packer
, similar to cluster api
Features added:
- containerd runtime (docker is left in for now as an alternative)
- added
provider
step inansible
to perform provider specific tasks, such as installing python modules necessary to interact with aws api better, or installing cloudinit into vmware - embed
calico
images and template into instances for future offline support
Features removed:
- Nothing, hopefully!
Terraform
Features modified:
- Consolidated S3 buckets into a single cluster bucket. Workers and masters now pull from
/control-plane/*
for the necessary boot tokens/certs/configs - Modified volume resizing in cloudinit script to use nvme0n1 instead of xvda
- Modified ansible-playbook cloudinit to work with updated amis
Features added:
- Modularize terraform rollout to better handle existing network infrastructure (vpc's and subnets) by feeding in the values on
terraform apply
- Added master's ASG to dynamically update/register to classic ELB
Features removed:
- Nothing, hopefully!