Skip to content

nvtienanh/ansible-kubernetes-bare-metal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ansible-Kubernetes Repository

Automate the provisioning of a new bare-metal multi-node Kubernetes cluster with Ansible. Uses all the industry-standard tools for an enterprise-grade cluster.

Table of Contents

Stack

  • Ansible: an open source IT automation engine.
  • ContainerD: an industry-standard container runtime.
  • Kubernetes: an open-source system for automating deployment, scaling, and management of containerized applications.
  • Calico: an open source networking and network security solution for containers (CNI).
  • MetalLB: a bare metal load-balancer for Kubernetes.
  • Nginx: an Ingress controller.
  • Cert-Manager: adds certificates and certificate issuers as resource types in Kubernetes cluster.

Requirements

  1. A Linux machine with a superuser privileges and pre-installed Ansible.
  2. Ubuntu machines that are intended to become part of the new Kubernetes cluster. Make sure that your SSH key is already installed on the machines by running the following command:
$ ssh-copy-id <The remote username>@<The IPv4 address of the remote machine>

Usage

  1. Clone this Git repository to your local working station:
$ git clone https://github.com/nvtienanh/ansible-kubernetes-bare-metal.git
  1. Change directory to the root directory of the project:
$ cd kubernetes
  1. Edit the values of the default variables to your requirements:
$ nano defaults/main.yaml
  1. Edit the Ansible inventory file to your requirements:
$ nano inventory/hosts.ini
  1. Run the Ansible Playbook:
$ ansible-playbook -i inventory/hosts.ini -K playbooks/cluster.yaml

About

Installing a bare-metal Kubernetes cluster with Ansible

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published