UNCLASSIFIED - NO CUI

Skip to content

P1 Edits

joshwolf requested to merge (removed):jwolf into master

Packer

Features modified:

  • Restructured packer folder to better identify what each stage is doing:
    • ansible: the primary packer provisioner
    • cloudinit: the ansible-playbook run on cloudinit
    • 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 in cloudinit to try and better follow ansible best practices
  • consolidated kubernetes specific steps into kubernetes role in ansible, 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 and put 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 future ova 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 in ansible 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!

Merge request reports