Files
awesome-kubernetes/docs/terraform.md
Inaki Fernandez 33fd5663e7 Sept 6th
2021-09-06 19:13:23 +02:00

38 KiB
Raw Blame History

Hashicorp Packer & Terraform

Packer

Terraform

HCL

CDK Cloud Development Kit Terraform

Terraform Infracost

  • Infracost 🌟 If you use Terraform to provision your Kubernetes clusters, you might find infracost interesting. Infracost estimates hourly and monthly costs for a Terraform project. It helps you to see the cost breakdown and compare different deployment options upfront.
  • A Guide to Cloud Cost Optimization with HashiCorp Terraform 🌟 The Terraform AWS provider now supports Code Signing for AWS Lambda, which involves digitally signing code artifacts and verifying at deployment.

Awesome Terraform

Terraform Cheat Sheets

Best Practices

Terraform and CI/CD

Terraform and Kubernetes

Learnk8s Terraform and Managed Kubernetes

OpenShift and Terraform

Terraform Kubernetes Operator

Terraform and K3s

Terraform and GCP

  • learnk8s.io/terraform-gke 🌟 Provisioning Kubernetes clusters on GCP with Terraform and GKE. Fully automated dev, test, prod environments with Google Kubernetes Engine (GKE) + container-native load balancing? The guide goes into the details of how you can provision your infrastructure with Terraform and how you can route live traffic with the GKE Ingress controller. By the end Kristijan M. will teach you how you can have:
    • The creation of 3 environments (dev, test, prod) automated
    • A cluster that can handle live traffic with the GKE Ingress controller.
    • GKE Ingress enabled with container-native load balancing.
    • All source code and knowledge to build your own infra.
  • AWS EKS Accelerator for Terraform: github.com/aws-samples/aws-eks-accelerator-for-terraform 🌟 The AWS EKS Accelerator for Terraform is a framework designed to help deploy and operate secure multi-account, multi-region AWS environments. The power of the solution is the configuration file which enables the users to provide a unique terraform state for each cluster and manage multiple clusters from one repository.

Terraform and AWS

Terraform and managed AWS EKS

Terraform and Azure

Terraform and Apache Kafka

CDK for Terraform

  • CDK for Terraform 🌟 CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.
  • hashicorp.com: GKE Cluster Setup with CDK for Terraform Learn how to provision a Google Kubernetes Engine (GKE) cluster and prepare it for application deployment using TypeScript via CDK for Terraform.

Graph Visualization Software

Gruntwork

Terraform Modules

Terraform Providers

Terraform Quality Checks

Enforce Policy with Sentinel

Reverse terraform with Terraformer

Terraform Tools

Tweets

Click to expand!

I'm getting questions about Terraform vs Kubernetes for managing infrastructure resources.

I make the distinction by treating Terraform as a frontend tool that interacts with control planes that present **its** resources through a declarative interface. Ownership is key.

— Kelsey Hightower (@kelseyhightower) November 19, 2020
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

1/ Yesterday we released v2.1.0 of the @HashiCorp Terraform provider for @HelmPack with a cool new feature: diffs of the @kubernetesio manifests that Helm is sending to the cluster!

So, what does this look like? Let's see ...

— Phil, in the 🏜️ of Arizona (@PhilipSautter) April 2, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

This is very common. Terraform doesnt give workload portability. It gives workflow portability

By keeping the same workflow it improves adoption because it doesnt matter if your managing EC2 or Pagerduty the same lang and tools work. It lowers switching costs through workflow https://t.co/wSOZYjZMm3

— Justin Garrison (@rothgar) July 29, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Unfortunately I think this is the biggest misconception that orgs have when deciding to adopt Terraform. It's "cloud agnostic" in the same way that Python is cloud agnostic. You still need vendor specific libraries. The only thing you standardize on is syntax and workflow

— Noah Mercado (@noah_mercado) July 29, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>