Skip to content

Welcome to my K8s repo! πŸš€ Currently, I'm immersed in the exciting world of Kubernetes (K8s), exploring its capabilities for automating, deploying, and scaling containerized applications. Kubernetes offers a streamlined approach to container orchestration, providing scalability, flexibility, and fostering a microservices architecture.

Notifications You must be signed in to change notification settings

dsrathore1/Kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kubernetes Learning Journey πŸŽ“

Welcome to my Kubernetes learning journey! 🌟 In this repository, I've organized my exploration of Kubernetes by creating a folder for each Kubernetes object. Each folder contains YAML files for the respective object. Additionally, I've dockerized the applications and set up continuous integration using GitHub-Actions.

Objectives 🏹

  • Gain a deeper understanding of Kubernetes concepts.
  • Practice creating various Kubernetes objects.
  • Dockerize applications for containerization.
  • Implement continuous integration for seamless development.

Folder Structure πŸ“‚

  • /pods: YAML files for Kubernetes Pods.
  • /services: YAML files for Kubernetes Services.
  • /deployments: YAML files for Kubernetes Deployments.
  • /replica-sets: YAML files for Kubernetes ReplicaSets.
  • /configmaps: YAML files for Kubernetes ConfigMaps.
  • /secrets: YAML files for Kubernetes Secrets.
  • /ingresses: YAML files for Kubernetes Ingress resources.
  • /persistent-volumes: YAML files for Kubernetes Persistent Volumes.
  • /persistent-volume-claims: YAML files for Kubernetes Persistent Volume Claims.

Dockerization 🐳

I've containerized the applications associated with each Kubernetes object. The Dockerfiles and related configuration can be found in the respective folders.

Continuous Integration with CircleCI πŸ”„

To ensure smooth and continuous development, I've integrated CircleCI into the workflow. Each push to this repository triggers a build and test pipeline, ensuring the reliability of the Kubernetes configurations and Docker images.

Kubernetes Objects Definitions πŸ“

Pods πŸ§‘β€πŸš€

A Pod is the smallest and simplest unit in the Kubernetes object model. It represents a single instance of a running process in a cluster.

Services βš™οΈ

A Service defines a logical set of Pods and a policy by which to access them. It enables external traffic to access the applications running in the Pods.

Deployments πŸš€

A Deployment provides declarative updates to applications. It allows you to describe an application's life cycle, such as which images to use for the app, the number of Pods, and how to update them.

ReplicaSets πŸ”

A ReplicaSet ensures a specified number of replicas (instances) of a pod are running at all times. It is part of the Kubernetes "apps" API group and provides advanced features for managing pod replication.

ConfigMaps βš™οΈ

A ConfigMap allows you to decouple configuration artifacts from the container image, keeping containerized applications portable across different environments.

Secrets πŸ”’

Secrets are similar to ConfigMaps but are intended to store sensitive information, such as passwords or API keys.

Ingresses 🌐

An Ingress is an API object that manages external access to services within a cluster. It provides HTTP and HTTPS routing to services based on rules.

Persistent Volumes (PVs) πŸ’Ύ

A Persistent Volume is a piece of storage in the cluster that has been provisioned by an administrator or dynamically provisioned.

Persistent Volume Claims (PVCs) πŸ’Ύ

A Persistent Volume Claim is a request for storage by a user.

Getting Started πŸš€

  1. Clone the Repository:

    git clone https://github.com/dsrathore1/kubernetes-learning-journey.git
    cd kubernetes-learning-journey
  2. Explore Kubernetes Objects:

    Dive into each folder to explore YAML configurations for different Kubernetes objects.

  3. Dockerize Applications:

    Explore the Dockerfiles and configurations in each folder to understand how applications are containerized.

  4. Continuous Integration:

    Check the CircleCI configuration files to understand the build and test pipeline.

Contributing 🀝

If you have insights, suggestions, or improvements, feel free to contribute! Create a pull request, and let's learn together! 🌐

License πŸ“œ

This project is licensed under the MIT License - see the LICENSE file for details.

About

Welcome to my K8s repo! πŸš€ Currently, I'm immersed in the exciting world of Kubernetes (K8s), exploring its capabilities for automating, deploying, and scaling containerized applications. Kubernetes offers a streamlined approach to container orchestration, providing scalability, flexibility, and fostering a microservices architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published