Skip to content

Latest commit

 

History

History
211 lines (113 loc) · 12.1 KB

README.md

File metadata and controls

211 lines (113 loc) · 12.1 KB

Practical Realtime Kubernetes Projects + Learning

𝐀 𝐫𝐞𝐩𝐨 𝐭𝐨 𝐡𝐞𝐥𝐩 𝐲𝐨𝐮 𝐏𝐫𝐚𝐜𝐭𝐢𝐬𝐞 𝐊𝐮𝐛𝐞𝐫𝐧𝐞𝐭𝐞𝐬 𝐟𝐫𝐨𝐦 𝐭𝐡𝐞 𝐠𝐫𝐨𝐮𝐧𝐝 𝐮𝐩 𝐛𝐲 𝐝𝐨𝐢𝐧𝐠 𝐩𝐫𝐚𝐜𝐭𝐢𝐜𝐚𝐥 𝐑𝐞𝐚𝐥𝐭𝐢𝐦𝐞 𝐩𝐫𝐨𝐣𝐞𝐜𝐭𝐬 𝐚𝐧𝐝 𝐭𝐞𝐚𝐜𝐡 𝐲𝐨𝐮 𝐡𝐨𝐰 𝐭𝐨 𝐮𝐬𝐞 𝐊𝐮𝐛𝐞𝐫𝐧𝐞𝐭𝐞𝐬 𝐭𝐨 𝐝𝐞𝐩𝐥𝐨𝐲, 𝐦𝐚𝐧𝐚𝐠𝐞, 𝐚𝐧𝐝 𝐬𝐜𝐚𝐥𝐞 𝐜𝐨𝐧𝐭𝐚𝐢𝐧𝐞𝐫𝐢𝐳𝐞𝐝 𝐚𝐩𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧𝐬.

kubernetes

Prerequisites

It would be nice if you know what kubectl is and have a basic understanding of running conatiners with docker / containerd or cri-o.

Preparation

To get prepared please install the kubernetes cli & setup cluster in your env from HERE and make sure to have bash completion for kubectl in place

Learning List

  1. Kubernetes for Everyone

  2. What is a Pod in Kubernetes?

  3. Deploying an Application on Kubernetes: A Complete Guide!

  4. Kubernetes – Architecture and main components overview

MORE ADDING SOON

Projects List

  1. Designing a 10-Microservices Application Deployment on EKS!

  2. Deploying Spring Boot application on K8S

  3. Uber Clone DevSecOps CI/CD Kubernetes Project

  4. Deploy to Kubernetes Using Jenkins | End to End DevOps Project | CICD

MORE ADDING SOON

icons-all

k8s-resources-map

Kubernetes Guides

Networking

The purpose of this website is to provide an overview of various Kubernetes networking components with a specific focus on exactly how they implement the required functionality.

The guide is split into multiple parts which can be studied mostly independently, however they all work together to provide a complete end-to-end cluster network abstractions.

Where possible, every topic in this guide will include a dedicated hands-on labs which can be spun up locally in a matter of minutes.

Security

The Security checklist aims at providing a basic list of guidance with links to more comprehensive documentation on each topic. It does not claim to be exhaustive and is meant to evolve.

1- https://kubernetes.io/docs/concepts/security/security-checklist/

2- https://github.com/magnologan/awesome-k8s-security

3- https://github.com/freach/kubernetes-security-best-practice

4- https://medium.com/@seifeddinerajhi/kubernetes-security-assessment-guidelines-and-necessary-checklist-9a326f341b68

5- https://medium.com/@seifeddinerajhi/owasp-kubernetes-top-10-a-comprehensive-guide-f03af6fd66ed

5- https://eksclustergames.com: Kubernetes CTF (Capture The Flag) challenges for EKS

Storage

Misc

TroubleShooting

Kubernetes in the cloud:

AWS EKS

Azure AKS

Google GKE

CNCF certifications:

Kubernetes IAC:

Certainly! Here's a list of some popular tools for managing Kubernetes Infrastructure as Code (IAC):

  1. Helm:

    • Overview: Helm is a package manager for Kubernetes that simplifies the deployment and management of applications.
    • GitHub: Helm GitHub Repository
  2. Kustomize:

    • Overview: Kustomize is a tool for customizing Kubernetes manifests, allowing you to manage configuration variations in a declarative way.
    • GitHub: Kustomize GitHub Repository
  3. Kubeconfig Management:

    • Tools like kubectx and kubens help manage and switch between multiple Kubernetes contexts and namespaces.
    • GitHub: kubectx GitHub Repository
  4. Kubeval:

    • Overview: Kubeval is a tool for validating Kubernetes manifests against the Kubernetes API schema.
    • GitHub: Kubeval GitHub Repository
  5. Kops:

    • Overview: Kops helps you create, destroy, upgrade, and maintain Kubernetes clusters on AWS.
    • GitHub: Kops GitHub Repository
  6. Terraform:

    • Overview: While not specific to Kubernetes, Terraform is widely used for IAC and can be used to provision and manage Kubernetes infrastructure.
    • Website: Terraform
  7. Pulumi:

    • Overview: Pulumi allows you to define infrastructure as code using familiar programming languages, including TypeScript, Python, and Go.
    • GitHub: Pulumi GitHub Repository
  8. Helmfile:

    • Overview: Declaratively deploy your Kubernetes manifests, Kustomize configs, and Charts as Helm releases. Generate all-in-one manifests for use with ArgoCD.
    • GitHub: Kubeform GitHub Repository
  9. Jsonnet:

    • Overview: Jsonnet is a data templating language that can be used to generate Kubernetes manifests.
    • GitHub: Jsonnet GitHub Repository
  10. Skaffold:

    • Overview: Skaffold is a command-line tool that facilitates continuous development for Kubernetes applications.
    • GitHub: Skaffold GitHub Repository

This is not an exhaustive list, and the choice of tools depends on your specific use case and preferences. Always check the official documentation and community support for each tool for the most accurate and up-to-date information.


Hit the Star! ⭐

If you are planning to use this repo for learning, please hit the star. Thanks!

❤ by H A R S H H A A - Owner/Creator