-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Terraform AWS article #305
base: master
Are you sure you want to change the base?
Conversation
export const TerraformAWS = { | ||
id: 'terraform-aws', | ||
url: '/terraform-aws', | ||
title: 'Bootstrapping Kubernetes clusters on AWS with Terraform', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Automating Kubernetes cluster provisioning for testing
- How to automate Kubernetes cluster provisioning
- Provisioning Kubernetes clusters at scale for feature testing
- Testing Kubernetes at scale with a custom installer
- Building a custom Kubernetes installer
|
||
The aim of the project is to enable the creation of disposable kubeadm clusters which is an enabler for running controlled and automated Kubernetes experiments. | ||
|
||
_The remainder of this article first reviews the available options for creating Kubernetes clusters and then presents the Terraform module._ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you could add a link to the repo here. I know it was linked above, but it's not clear that is something that you built. I'd say something along the lines of:
And if you want to jump to the code ...
src/terraform-aws/content.md
Outdated
|
||
_They allow you to use Kubernetes in a Software as a Service (SaaS) manner._ | ||
|
||
Naturally, managed Kubernetes services provide the highest degree of automation (creation and operation are entirely done for you), but the least amount of flexibility (you can configure only those settings that the service provider exposes through its API). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Naturally,
src/terraform-aws/content.md
Outdated
|
||
## Managed Kubernetes services | ||
|
||
Generally, the options for creating a Kubernetes cluster can be divided into two categories: managed services and installation tools. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally,
|
||
## Kubernetes installation tools | ||
|
||
Kubernetes installation tools allow you to install Kubernetes on your own infrastructure (both on-premises or in the cloud). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
own
|
||
In the present configuration, all clusters use the same settings, but you could configure each cluster separately by specifying different [input variales](https://registry.terraform.io/modules/weibeld/kubeadm/aws?tab=inputs) for the individual invocations of the kubeadm module. | ||
|
||
> You could also create a dedicated VPC for each cluster by adding additional invocations of the network submodule. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should change if you drop the previous chapter and should be a link to the docs.
terraform apply | ||
``` | ||
|
||
If you pay attention to the execution plan that Terraform presents to you, you should see that it includes the creation of the resources belonging to two new clusters. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
plan that Terraform presents to you
|
||
If you pay attention to the execution plan that Terraform presents to you, you should see that it includes the creation of the resources belonging to two new clusters. | ||
|
||
This means, that Terraform will create two new clusters while leaving the existing cluster unchanged — that's because you just added two new cluster specifications in your configuration, but didn't modify the existing one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This means,
src/terraform-aws/content.md
Outdated
|
||
## Installing CNI plugins | ||
|
||
You have three clusters now, but something might still itch you about them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have three clusters now, but all of them are incomplete.
src/terraform-aws/content.md
Outdated
|
||
_The CNI plugins indeed completed the setup of your clusters and rendered them fully functional._ | ||
|
||
At this point, you can launch further Pods in your clusters and do any other kinds of experiments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and do any other kinds of experiments.
and do more experiments.
Preview: https://deploy-preview-305--learnk8s.netlify.app/blog