Giter VIP home page Giter VIP logo

shashwatsingh22 / k8s_management_project Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 3.0 3.8 MB

An Cluster manager project, which helps users to manage the backend part of their apps like managing pods, creating cluster and many services are provided here.

License: MIT License

Dart 41.95% Python 1.43% HTML 44.96% JavaScript 2.91% CSS 8.75%
flutter web ansible-playbook python-cgi aws k8s-cluster helm gcp multi-node-cluster kubernetes

k8s_management_project's Introduction

GitHub top language GitHub top language GitHub pull requests GitHub closed pull requests GitHub GitHub Repo stars GitHub forks GitHub contributors

Master Cluseter 😍

An Cluster Kubernetes Management project, which helps users to manage the backend part for the there application like setup cluster on cloud or own data center , manage the cluster , and many services are provided here.

Demo Video


![Demo Video](FlutterWork/assets/main.png =200x100)

Configuration of Multi Node Cluster on Cloud:

  • Multi Node Cluster:

      Multi Node Cluster is a relation between master and slave in which there are many slave which is
      control by a single master. This will divide the work and will not put any burden on a single
      pod which results in reducing of time complexity. 
    
  • Why Configuration on Clouds:

     We can configure it on any datacenter which will be controlled by us. So we use clouds services to
     configure it.  After being configured , the user does not need to do anything, all is our 
     business , we just want your details like access key, passwords or give us permission by the IAM role on 
     the clouds and give us  that much of access so that we can create instance and use that 
     instance.  In this it will be that you just need to tell how many master will be there and how 
     many slaves? In which we can create high availability architecture with the help of multi master 
     structure  in which there can be many master as well as slave and if one master is down then we 
     will have another master .
    

Configure :

1.Cluster on Same Cloud Plateform:

In this, user have to tell  platform  in order to build architecture on it
single platforms like google clouds, aws , azure etc.

2.Cluster on Multi Cloud Plateform:

In today’s industry , everyone needs all the architecture in multicloud Cluster. As one slave is running on 
their local datacenter , another on AWS or Google clouds  and all are running on some other clouds .
This is Multiclouds Architecture.

πŸ€” Wants to Know More You Can Refer to this blog ! (Which will explain you How this complete setup is Done by Ansible ?) πŸ“https://bit.ly/3s9Reka

cloud_plateforms

Tool used for automation:

We are using ANSIBLE for automation which is good for the configuration but not for provisioning but we know how to provision it with the help of ANSIBLE.

ansible_use

But In Next Verision we are going to use Terraform (For Provisioning).

Now it will be the task of ANSIBLE to download the required software which we have already hosted on our cloud which will act as controller node so that we can manage manged node and do anything.

  • Kubernetes:

      Kubernetes is an open source container orchestration engine for automating deployment, scaling, 
      and management of containerized applications. The open source project is hosted by the Cloud 
      Native Computing Foundation
    
      Kubernetes is a portable, extensible, open-source platform for managing containerized workloads 
      and services, that facilitates both declarative configuration and automation. It has a large, 
      rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
    
  • Kubernetes Services

      1.Pod : Pods are the smallest, most basic deployable objects in Kubernetes. A Pod represents a 
      single instance of a running process in your cluster. Pods contain one or more containers, such 
      as Docker containers. When a Pod runs multiple containers, the containers are managed as a 
      single entity and share the Pod's resources.
    
  • Launch Pod:

    If we want create a new pod, then click on the launch pod and then we will give a tag and use 
    any image like httpt  then our pod will be created.
    
  • Get All:

    From this we can find out how many pods are in running in  our entire cluster.
    
  • Delete Pod:

    To delete an existing pods from the cluster without login from clouds using this App
    
  • Describe Pod:

    It will describe all things about the pods  after taking a label value
    
  • Get Pods by label Value:

  1. Deployment

    A Deployment provides declarative update for Pods and ReplicaSets . You describe a desired state in a Deployment, and the Deployment Controller changes the actual state to the desired state at a controlled rate. You can define Deployments to create new ReplicaSets, or to remove existing Deployments and adopt all their resources with new Deployments.

    Create Deployment:
    The ReplicaSet creates Pods in the background. Check the status of the rollout to see if it 
    succeeds or not. 
    
    β€’	Get All:
    From this we can find out how many deployment are in running in  our entire cluster.
    
    β€’	Delete Deployment:
    To delete an existing deployment from the cluster without login
    
    β€’	Describe Deployment Get RC(Replication Controller) Detail:
    If a pod is going down , it helps to restart it or if it is not restarted , then it helps to 
    male a same replica. It helps to fullfill the need of deployment of admin.
    
    β€’	Get RS(Replica Set) Detail:
        A ReplicaSet's purpose is to maintain a stable set of replica Pods running at any given 
        time. As such, it is often used to guarantee the availability of a specified number of 
        identical Pods
    
    β€’	Scale_Out: 
        We can increase the deployment using this scale_out button
    
    β€’	Scale_in:
    We can decrease the deployment using this scale_in button
    β€’	Update Version of the image:
    
  2. Secret

  3. Service

  4. Namespace

  5. Storage

  6. Multi Container Pod

  7. Cluster role

  8. Demon Set

  9. Package Manger (Helm)

Get Shell :

1.	Master
2.	Container

Image Creater Docker:

Create Image:

Contributors


Shashwat Singh


Aditya Singh Pratham


Neeraj Saini


Vishwanath Pratap Singh

Let us explain in deep that what we are using in the Master Cluster and why we are using it . πŸ€”

So first of all , we are using automation tool in this project , in which you have to provide IAM credentials to us so that we can provide the cloud services. On the basis of that credentials we configure your cloud to the cluster .Here we are working on Kubernetes cluster and we used Ansible as our configuration tool for automation.

Let's discuss few points about ansible ...

There are two nodes in the Ansible, one is the manage node and the other one is the controller node. In this, we are taking the credentials from user as per there request of any cloud(like googke cloud , aws, azure ) and with the help of the ansible tool we are provisioning instance and configuring it and when the instance is being lunched on the basis of number of master and we can cretae master of high availability architecture and we can add as many numbers of slave to Cluster .For Demo we lunched an single master and initially we launched 2 slaves then ansible configured the master as well as setup all the important softwares of master and slave and manage all the Configuration files . To manage all the stuffs from our side we provide some files in your master node so that you can access your master node directly through our application (website and app) in which there are some python files which hosted automatically after the server run. We are doing all this with the help of Ansible.

And we will add multi cloud architecture in next version in which we ask you to where do you want to launch your master or slave and how many slave do you have and where do you want to launch per slave . If you want to make your master on google cloud then we will fetch all the details like to launch a instance we need a (public) key for security and all other things .

We have not yet made it user based. We are working through our default values and launching our instance through cloud . In next version we will implement the user mode and create our database through firstore which store all our data like some important credentials like name , username , password , email , iam role creadentials .

k8s_management_project's People

Contributors

adityasinghpratham avatar s3n71n3l avatar shashwatsingh22 avatar vishnupsingh523 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

k8s_management_project's Issues

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.