Difference between revisions of "Installing Kubernetes with Ansible on AWS"
Line 22: | Line 22: | ||
It is necessary to set up the <code>hosts</code> and <code>inventory</code> files for [[Ansible]]. | It is necessary to set up the <code>hosts</code> and <code>inventory</code> files for [[Ansible]]. | ||
See the following examples: | See the following examples: | ||
For | |||
For <code>hosts</code> file: | |||
<syntaxhighlight> | <syntaxhighlight> | ||
127.0.0.1 master | 127.0.0.1 master | ||
Line 28: | Line 29: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
For <code>inventory</code> file: | |||
<syntaxhighlight> | <syntaxhighlight> | ||
master | master | ||
worker | worker | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 07:56, 3 August 2021
This article explains how to install Kubernetes using Ansible on AWS's Ubuntu 20.04 computing clusters.
Set up at least two machines on AWS
The first task is to create two EC2 instances that matches Kubernetes Cluster minimal configuration:
The master node must have at least 2 CPU cores, 2 Gb of memory. The worker node (slave) should have at least 1 CPU core and 2 Gb of memory.
Set the right Security Groups
{{#lst:Input/K8s Installation/Security Groups|Security Groups}}
Ideally, one could first create a Security Group, and name it K8s Sec Grp
, then, just create two or more instances of EC2, and select the said security group during the creation cycle.
Use the same Signature File
When creating these instances, make sure that you create or select the same Identity file (.pem
file) for all instances of the same cluster. This will significantly reduce the complexity of installation.
Make sure Ansible is installed
Install Ansible on the machine that will run Ansible to install the cluster. You may follow this procedure: Installing Ansible. If you already installed Python 3.0
and pip3
, launch the following instruction in your terminal should work:
pip3 install ansible
Set up Ansible Hosts and Inventory file
It is necessary to set up the hosts
and inventory
files for Ansible.
See the following examples:
For hosts
file:
127.0.0.1 master
127.0.0.2 worker
For inventory
file:
master
worker