Deploying Kubernetes
On this page
Kubernetes
Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management.Originally designed by Google, the project is now maintained by a worldwide community of contributors, and the trademark is held by the Cloud Native Computing Foundation.
Deploy Kubernetes
- Login to Enbuild -Enbuild
- Click on the Home
- Select the Kubernetes
- Choose the component RKE2 from the DISTRO category and click on the VALUES tab and provide the
Credentials
RKE2
RKE2, also known as RKE Government, is Rancher’s next-generation Kubernetes distribution.
It is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector.
Deploy RKE2
VPC Configuration
create_vpc (
true
orfalse
)- Description: The create_vpc variable decides if a new Virtual Private Cloud (VPC) should be created.
- Default value:
false
vpc_cidr (
string
)- Description: The vpc_cidr variable defines the IP address range for the VPC.
- Default value:
"10.0.0.0/16"
NAT Gateway Configuration
enable_nat_gateway (
true
orfalse
)- Descriprion: The enable_nat_gateway variable decides if a NAT Gateway should be enabled.
- Default value:
true
single_nat_gateway (
true
orfalse
)- Description: The single_nat_gateway decides if only one NAT Gateway should be used.
- Default value:
true
vpc_id (
string
)- Description: The vpc_id is used to Specify an existing VPC to use. Needed if
create_vpc
isfalse
. - Default value::
"vpc-39b8da44"
- Description: The vpc_id is used to Specify an existing VPC to use. Needed if
subnets (
list of strings
)- Description: Lists the IDs of subnets within the VPC. Needed if
create_vpc
isfalse
. - Example:
["subnet-5817463e", "subnet-f191cdd0"]
- Description: Lists the IDs of subnets within the VPC. Needed if
EC2 Instance Configuration
instance_type (
string
)- Description: The instance_type specifies the type of EC2 instance to use.
- Default value:
"t3.large"
associate_public_ip_address (
true
orfalse
)- Description: The associate_public_ip_address decides if the instance should have a public IP address.
- Default value:
true
controlplane_internal (
true
orfalse
)- What it does: Decides if the control plane should be internal only.
- Default value:
false
servers (
number
)- Description: Number of EC2 instances to create.
- Default value:
1
Auto Scaling Group (ASG) Configuration
- asg (
object
)- Description: The variable asgis used to the Auto Scaling Group (ASG).
- Properties:
min
(number
): Minimum number of instances in the ASG.- Default value:
1
- Default value:
max
(number
): Maximum number of instances in the ASG.- Default value:
10
- Default value:
desired
(number
): Desired number of instances in the ASG.- Default value:
1
- Default value:
suspended_processes
(list of strings
): List of processes to suspend.- Default value:
[]
- Default value:
termination_policies
(list of strings
): List of termination policies.- Default value:
["Default"]
- Default value:
Block Device Mapping
- block_device_mappings (
object
)- What it does: Configuration for the block device (storage).
- Properties:
size
(number
): Size of the volume in GB.- Default value:
50
- Default value:
type
(string
): Type of the volume.- Default value:
"gp2"
- Default value:
Registry Mirror Configuration
create_registry1_mirror (
true
orfalse
)- Description: create_registry1_mirror decides if a mirror for the
https://registry1.dso.mil
container registry should be created. - Default value:
false
- Description: create_registry1_mirror decides if a mirror for the
registry1_mirror_proxy_address (
string
)- Description: This address should have a proper container registry up and running and listening
- Example:
"http://44.210.192.97:5000"
After providing all the input values, provide the name for your deployment proceed to Infrastructure section,
Select AWS as your cloud and provide your AWS credentials.
Once all inputs are provided click on Deploy Stack
- Choose the component EKS from the DISTRO category and follow the previous steps.
EKS
Amazon Elastic Kubernetes Service (Amazon EKS) is a managed Kubernetes service to run Kubernetes in the AWS cloud and on-premises data centers. In the cloud, Amazon EKS automatically manages the availability and scalability of the Kubernetes control plane nodes responsible for scheduling containers, managing application availability, storing cluster data, and other key tasks. With Amazon EKS, you can take advantage of all the performance, scale, reliability, and availability of AWS infrastructure, as well as integrations with AWS networking and security services. On-premises, EKS provides a consistent, fully-supported Kubernetes solution with integrated tooling and simple deployment to AWS Outposts, virtual machines, or bare metal servers.
Deploy EKS
VPC Configuration
create_vpc (
true
orfalse
)- Description: The create_vpc variable decides if a new Virtual Private Cloud (VPC) should be created.
- Default value:
true
vpc_cidr (
string
)- Description: The vpc_cidr variable defines the IP address range for the VPC.
- Default value:
"10.0.0.0/16"
If you don’t want to create a new VPC, set
create_vpc
tofalse
and provide the following variables:vpc_id (
string
)- Description: The vpc_id specifies an existing VPC to use. Needed if
create_vpc
isfalse
. - Example:
"vpc-39b8da44"
- Description: The vpc_id specifies an existing VPC to use. Needed if
subnet_ids (
list of strings
)- Description: Lists the IDs of subnets within the VPC. Needed if
create_vpc
isfalse
. - Example:
["subnet-1242491c", "subnet-5817463e"]
- Description: Lists the IDs of subnets within the VPC. Needed if
EKS Cluster Configuration
cluster_name (
string
)- Description: The cluster_name variable specifies the name of the EKS cluster.
- Default value:
"juned-eks"
cluster_version (
string
)- Description: The cluster_version variable specifies the version of the EKS cluster.
- Default value:
"1.29"
cluster_endpoint_public_access (
true
orfalse
)- Description: The cluster_endpoint_public_access variable decides if the EKS cluster endpoint should be publicly accessible.
- Default value:
true
cluster_endpoint_private_access (
true
orfalse
)- Description: The cluster_endpoint_private_access variable decides if the EKS cluster endpoint should be privately accessible.
- Default value:
false
EKS Node Groups Configuration
eks_node_groups_min_size (
number
)- Description: The eks_node_groups_min_size variable specifies the minimum number of nodes in the EKS node group.
- Default value:
1
eks_node_groups_max_size (
number
)- Description: The eks_node_groups_max_size variable specifies the maximum number of nodes in the EKS node group.
- Default value:
5
eks_node_groups_desired_size (
number
)- Description: The eks_node_groups_desired_size variable specifies the desired number of nodes in the EKS node group.
- Default value:
1
NAT Gateway Configuration
enable_nat_gateway (
true
orfalse
)- Description: The enable_nat_gateway variable decides if a NAT Gateway should be enabled.
- Default value:
true
single_nat_gateway (
true
orfalse
)- Description: The single_nat_gateway variable decides if only one NAT Gateway should be used.
- Default value:
true
Kubernetes Configuration
- create_kubeconfig (
true
orfalse
)- Description: The create_kubeconfig variable decides if a kubeconfig file should be created for the EKS cluster.
- Default value:
true
EC2 Instance Configuration
- instance_types (
list of strings
)- Description: The instance_types variable specifies the types of EC2 instances to use for the EKS nodes.
- Default value:
["t3.large"]
Registry Mirror Configuration
create_registry1_mirror (
true
orfalse
)- Description: The create_registry1_mirror variable decides if a mirror for the
https://registry1.dso.mil
container registry should be created. - Default value:
false
- Description: The create_registry1_mirror variable decides if a mirror for the
registry1_mirror_proxy_address (
string
)- Description: The registry1_mirror_proxy_address variable specifies the proxy address for the registry1 mirror.
- Example:
"http://44.210.192.97:5000"