Cluster Kubernetes - IaC
Kubernetes is a very useful tool for deploying and orchestrating containers. In this short post, I make use of various DevOps tools to deploy a Kubernetes cluster in the AWS cloud via infrastructure as code - IaC using Terraform with Helm charts.
First, I create a Virtual Private Cloud - VPC on AWS. It is possible to create it using the AWS CloudFormation service. To do this, I have reused the template obtained from the Linux Academy repository.
This is the network infrastructure architecture.
To define a valid network address in CIDR format in the VPC I used private IP address blocks that follow the RFC 1918 standard. These private IP ranges include:
10.0.0.0.0/8(from10.0.0.0.0to10.255.255.255)
172.16.0.0/12(from172.16.0.0.0to172.31.255.255.255)
192.168.0.0/16(from192.168.0.0.0to192.168.255.255)
The mask determines how many IP addresses will be available. For example:
/8offers about 16 million IP addresses.
/16offers about 65,000 IP addresses.
/24offers 256 IP addresses.
/28offers 16 IP addresses.
In AWS, 3 to 5 IPs are typically reserved for internal cloud uses, such as: Network Address, AWS Internal Gateway, AWS DNS Service, Broadcast Address, among others.
The main address range for the VPC (172.21.0.0/16) is divided into specific subnets. In this case, with /24 mask for each public subnet. This allows to organize the IP address space for different subnets within the VPC.
def print_hi(name)
puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.