GithubHelp home page GithubHelp logo

kubernetesclusterrh8's Introduction

image

INTRODUCTION


This playbook is intended to install and configure KUBERNETES Cluster on RHEL/CentOS 7,8 by Kubeadm.

Note: With RHEL OS you may face issues while installing docker lastest version if the OS is itself on old version.

Read this document carefully to have more understanding about this ansible playbook.

image

RESOURCE REQUIREMENTS

The playbook is intended to run on VM's with atleast 2 cores and 2GB RAM allocated. So please make sure, we have this much amount of resources available, else the playbook will fail.

VARIABLES DECLARATION


Variables need to declared inside deploy_kubernetes/defaults/main.yml

  1. KUBERNETES_MASTER => The node fqdn or hostname who will act as Kubernetes Cluster master.

  2. MASTER_IP_ADDRESS => IP address of the above kubernetes master

  3. CRIOVERSION => Required CRIO repository version

  4. Other variables declared in deploy_kubernetes/vars/main.yml

PRE-REQUISITES
  • Basic knowledge of Linux, Git.
  • Base OS repository should be configured.
  • Internet connectivity of VM's (or all required respoitory configured offline)
  • Communication already working between ansible control node and managed nodes.
INVENTORY SETUP

One can use it's own inventory or create it's own inventory. Replace the hostnames in "inventory" file present here with hostnames of your environment.

USAGE


Step Description Commands
1 Download this playbook in your ansible server # git clone https://github.com/HemantGangwar/kubernetesClusterRH8.git
2 Enter into the directory created # cd kubernetesClusterRH8
3 Update inventory file provided here with your node names. # vi inventory
4 Update deploy_kubernetes/defaults/main.yml with required parameter (example) KUBERNETES_MASTER: master.lab.example.com
5 Now execute the playbook # ansible-playbook kubernetes.yml OR ansible-playbook kubernetes.yml -e KUBERNETES_MASTER=master.lab.example.com

Note: The playbook is fully idempotent and can be safely used multiple times.

It contains 3 segments:

  1. Pre-Requsisites taking care of Run time disabling of selinux and switching off swap.
  2. A role named deploy_kubernetes containing master and worker deployment.
  3. Post-Requisite taking care of setting up Networking(weave) for Cluster.

Execution of playbook can be viewed on https://youtu.be/x7l7Ne2jvsw

image image image image image image image image image image

AUTHOR

This playbook is written by Hemant Gangwar, you can read more about author at https://learningtechnix.wordpress.com or follow on LinkedIN https://www.linkedin.com/in/hemant-gangwar-6a677b19/

BUG FIXES

  1. In version 30 June 2020 fixed an issue with playbook requiring static master name while joining Kubernetes nodes
  2. In version 10 July 2020 fixed issue of deprecated, package installation warning. And updated Inventory description.
  3. In version 5 Aug 2020 fixed dependency issue used in case of RedHat OS.
  4. In version 8 July 2022, it is updated to incorporate CRIO deployment as well.

kubernetesclusterrh8's People

Contributors

hemantgangwar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.