Terraform Interpolation Syntax

Conditionals

Interpolations can contain conditionals. E.g.

using ternary operation:

i.e. if var.env == "production"

then subnet = var.prod_subnet

else subnet = var.dev_subnet

 

https://www.terraform.io/docs/configuration/interpolation.html#conditionals

Billing: reducing costs on AWS, Kubernetes, etc

Our monthly AWS bill is millions of dollars per year. So, we’re always trying to reduce costs.

Here are a few tips – some of these are Kubernetes but mainly AWS:

  • reduce size of pods
  • get the right node size and type
  • get the right instance class
  • don’t over-provision storage
  • clean up lost resources

https://medium.com/@dyachuk/why-do-kubernetes-clusters-in-aws-cost-more-than-they-should-fa510c1964c6

 

Cost Optimization is also one of the five pillars of the Well-Architected Framework from AWS: https://aws.amazon.com/architecture/well-architected/

i.e. https://d1.awsstatic.com/whitepapers/architecture/AWS-Cost-Optimization-Pillar.pdf

 

Billing Dashboard AWS: https://console.aws.amazon.com/billing/home

 

Wizards: why they suck

You see it everywhere – from Windows dialogs to AWS.

Wizards are supposed to simplify a task by focusing on just a few specific items.

But the problem is that you can end up losing track of the big picture whilst you’re traversing a long wizard.

West Midlands Space Centre

Aim: launch at least 1 satellite from the West Midlands

How: using Rockoon technology

Phases:

  1. launch high altitude balloon
  2. launch rocket
  3. launch rockoon
  4. launch rockoon with satellite
  5. launch rockoon with satellite to LEO
  6. launch rockoon with satellite to the Moon

Phase 1

Pico tracker: http://www.loratracker.uk/?p=30

Useful links:

UKHAS:

BIS West Midlands:

Black Knights Rocket club:

 

 

 

Kubernetes: EKS – Warning FailedScheduling – default-scheduler no nodes available to schedule pods

I spun up an EKS cluster and, when I ran:

kubectl get pods -n kube-system

got

 

More detail needed:

kubectl describe pods -n kube-system

Warning FailedScheduling 2m13s (x345 over 102m) default-scheduler no nodes available to schedule pods

 

Looking in EC2 Instances, I could see 2 EKS nodes running with the correct AMI IDs.

But Kubernetes can’t see these nodes. E.g.

kubectl get nodes

No resources found.

Note: low level objects like nodes aren’t namespaced – https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#not-all-objects-are-in-a-namespace