# KodeKloud: Beta Courses Kubernetes and Cloud-Native Associate (KCNA)

## Kubernetes and Cloud-Native Associate (KCNA)

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Introduction/Course-Introduction/page.md): This article introduces a Kubernetes and Cloud Native Associate Certification Prep Course, covering essential concepts and exam preparation strategies.

### Kubernetes Fundamentals

- [What are Containers](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Fundamentals/What-are-Containers/page.md): This article provides an overview of containers, focusing on Docker and its role in modern application development and deployment.
- [Demo Docker](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Fundamentals/Demo-Docker/page.md): This article provides a guide on installing Docker on an Ubuntu virtual machine and running Docker containers.
- [Container Orchestration](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Fundamentals/Container-Orchestration/page.md): This article provides a comprehensive guide on container orchestration, focusing on deployment, scaling, and management of containerized applications in production environments.
- [Kubernetes Architecture](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Fundamentals/Kubernetes-Architecture/page.md): This lesson covers the fundamental components and terminology of Kubernetes architecture for designing scalable and highly available systems.
- [Runtime CRI](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Fundamentals/Runtime-CRI/page.md): This article explores the Container Runtime Interface and its role in enabling Kubernetes to support various container runtimes without altering its core codebase.
- [Docker vs ContainerD](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Fundamentals/Docker-vs-ContainerD/page.md): This article explores the differences between Docker and ContainerD, including their components and associated CLI tools for container management.

### Kubernetes Resources

- [Pods](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Pods/page.md): This article explores Kubernetes pods, their role in container orchestration, and how they simplify scaling and deployment of applications.
- [Demo Pods](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Demo-Pods/page.md): This tutorial teaches how to deploy a pod in a Minikube cluster using the kubectl command-line tool.
- [Pods with YAML](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Pods-with-YAML/page.md): This tutorial teaches how to create a Kubernetes Pod using a YAML configuration file.
- [Demo Pods with YAML](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Demo-Pods-with-YAML/page.md): This tutorial teaches how to create a Kubernetes pod using a YAML definition file for better configuration control.
- [ReplicaSets](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/ReplicaSets/page.md): This article explores ReplicaSets in Kubernetes, focusing on their role in managing pod replicas for high availability and scalability.
- [Demo ReplicaSets](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Demo-ReplicaSets/page.md): Learn to create and manage a ReplicaSet using a Pod definition file to maintain a consistent number of identical Pods.
- [Deployments](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Deployments/page.md): This article explains how Kubernetes Deployments facilitate application rollouts, ensuring efficient updates and high availability in production environments.
- [Demo Deployments](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Demo-Deployments/page.md): Learn to create a Kubernetes Deployment using a ReplicaSet definition, including setup, configuration, deployment, and verification steps.
- [Deployments Rolling Updates and Rollbacks](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Deployments-Rolling-Updates-and-Rollbacks/page.md): This article provides a guide on managing Kubernetes deployments, including rolling updates, rollbacks, and deployment strategies.
- [Demo Deployments Rolling Updates and Rollbacks](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Demo-Deployments-Rolling-Updates-and-Rollbacks/page.md): Learn to update and roll back deployments in Kubernetes using YAML files and various kubectl commands.
- [Imperative vs Declarative](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Imperative-vs-Declarative/page.md): This article explores imperative and declarative approaches to managing Kubernetes objects, highlighting their differences and providing exam tips.
- [Kubectl Apply Command](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Kubectl-Apply-Command/page.md): This article explains the `kubectl apply` command and how Kubernetes manages object configurations declaratively.
- [Kubernetes Namespaces](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Kubernetes-Resources/Kubernetes-Namespaces/page.md): This lesson explains Kubernetes namespaces, their importance in resource management, and how to use them effectively in a cluster environment.

### Scheduling

- [Manual Scheduling](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Manual-Scheduling/page.md): This article explains methods for manually scheduling pods on nodes in Kubernetes without using the built-in scheduler.
- [Labels and Selectors](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Labels-and-Selectors/page.md): Labels and selectors provide a method to group and filter items based on criteria, essential for managing Kubernetes objects like Pods and Services.
- [Taints and Tolerations](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Taints-and-Tolerations/page.md): This article explores how Kubernetes uses taints and tolerations to control pod scheduling on nodes with clear examples and analogies.
- [Node Selectors](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Node-Selectors/page.md): This guide explains how to use Kubernetes node selectors to restrict pod scheduling to specific nodes based on labels.
- [Node Affinity](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Node-Affinity/page.md): This comprehensive guide explains node affinity in Kubernetes, detailing how to control pod placement using advanced scheduling features and flexible operators.
- [Taints and Tolerations vs Node Affinity](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Taints-and-Tolerations-vs-Node-Affinity/page.md): This guide explores taints, tolerations, and node affinity to control pod placement in a Kubernetes cluster.
- [DaemonSets](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/DaemonSets/page.md): This guide explains DaemonSets in Kubernetes, their use cases, and how to create one for managing Pods on every node.
- [Static Pods](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Static-Pods/page.md): This article explores static pods in Kubernetes, their configuration, and their role in managing essential components without a control plane.
- [Multiple Schedulers](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Multiple-Schedulers/page.md): This article covers deploying multiple schedulers in Kubernetes to enable custom placement logic for specific applications while using the default scheduler for most workloads.
- [Configuring Kubernetes Scheduler Profiles](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Scheduling/Configuring-Kubernetes-Scheduler-Profiles/page.md): This article explores Kubernetes scheduler profiles and their configuration through practical examples of Pod scheduling in a cluster.

### Container Orchestration - Security

- [Security Kubernetes Security Primitives](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Security-Kubernetes-Security-Primitives/page.md): This article explores foundational security measures essential for running production-grade applications on Kubernetes.
- [Authentication](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Authentication/page.md): This lesson covers authentication methods in Kubernetes, focusing on securing management access through various mechanisms like static password and token files.
- [TLS in Kubernetes Certificate Creation](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/TLS-in-Kubernetes-Certificate-Creation/page.md): This guide demonstrates generating certificates for a Kubernetes cluster using OpenSSL, focusing on simplicity and ease of use.
- [KubeConfig](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/KubeConfig/page.md): This article explains kubeconfig files in Kubernetes, focusing on authentication, context management, and simplifying cluster access.
- [API Groups](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/API-Groups/page.md): This article explains the organization of Kubernetes API groups and their role in cluster interactions and resource management.
- [Authorization](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Authorization/page.md): This article explores authorization in Kubernetes, detailing how it defines permitted actions for authenticated users within a cluster.
- [Role Based Access Controls](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Role-Based-Access-Controls/page.md): This guide explores Role-Based Access Controls in Kubernetes, focusing on creating and managing roles and role bindings for resource access management.
- [Cluster Roles](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Cluster-Roles/page.md): This article explains Kubernetes cluster roles, their management, and the distinction between namespaced and cluster-scoped resources.
- [Service Accounts](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Service-Accounts/page.md): This article provides a comprehensive guide on Kubernetes service accounts, their security roles, management, and token handling.
- [Image Security](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Image-Security/page.md): This lesson explores best practices for securing container images, including image naming, secure repositories, and configuring pods for private registries.
- [Security Contexts](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Security-Contexts/page.md): This article explains how to enhance container security in Kubernetes by configuring user IDs and Linux capabilities through security contexts.
- [Network Policies](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Security/Network-Policies/page.md): This article provides an overview of network policies in Kubernetes, focusing on implementation and security concepts for managing pod communication.

### Container Orchestration - Networking

- [Cluster Networking](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Networking/Cluster-Networking/page.md): This article provides a guide on configuring networking for master and worker nodes in a Kubernetes cluster, detailing network settings and port configurations.
- [Pod Networking](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Networking/Pod-Networking/page.md): This article explores pod networking in Kubernetes, covering IP address assignment, inter-pod communication, and the use of the Container Network Interface for automation.
- [CNI in Kubernetes](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Networking/CNI-in-Kubernetes/page.md): This article explains how Kubernetes uses the Container Network Interface to configure network plugins for containers.
- [Ingress](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Networking/Ingress/page.md): This article provides a comprehensive guide on Ingress in Kubernetes, covering its purpose, configuration, and best practices for managing external access to applications.

### Cloud Native Architecture

- [Autoscaling](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Autoscaling/page.md): This article explores Kubernetes autoscaling capabilities and essential features for efficient resource management based on real-time application demand.
- [Horizontal Pod Autoscaler](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Horizontal-Pod-Autoscaler/page.md): Learn about the Horizontal Pod Autoscaler in Kubernetes and how it adjusts the number of running pods based on current resource usage.
- [Vertical Pod Autoscaler](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Vertical-Pod-Autoscaler/page.md): This article provides an overview of the Vertical Pod Autoscaler and its role in dynamically adjusting resource allocations for Kubernetes pods.
- [Cluster Autoscaler](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Cluster-Autoscaler/page.md): This article explores the Cluster Autoscaler and its role in optimizing resource allocation within a Kubernetes cluster by automatically scaling nodes.
- [Serverless](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Serverless/page.md): This article explains serverless computing, its benefits, and how it simplifies cloud infrastructure management through Function as a Service and Kubernetes serverless approaches.
- [Kubernetes SIG](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Kubernetes-SIG/page.md): This article discusses the Kubernetes project, its community structure, and the role of Special Interest Groups in driving innovation and maintaining quality standards.
- [Open Standards](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Architecture/Open-Standards/page.md): This article explores Open Standards and their impact on interoperability and vendor neutrality in cloud-native technologies.

### Cloud Native Observability

- [Observability Fundamentals](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Observability-Fundamentals/page.md): This article explains observability, its importance in system monitoring, and the three pillars  logging, tracing, and metrics for effective troubleshooting and performance insights.
- [SLOSLASLI](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/SLOSLASLI/page.md): This article explains Service Level Objectives, Indicators, and Agreements, focusing on their roles in measuring and ensuring service reliability and performance.
- [Prometheus Use Case](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Use-Case/page.md): This article explores Prometheus use cases, showcasing its applications in infrastructure monitoring, including metrics aggregation, proactive alerting, and performance analysis.
- [Prometheus Basics](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Basics/page.md): This article explores the fundamentals of Prometheus, an open-source monitoring tool for collecting, visualizing, and alerting on metrics data.
- [Prometheus Architecture](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Architecture/page.md): This article explores the architecture of Prometheus, focusing on its core components and functionality for monitoring time series data.
- [Prometheus Node Exporter](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Node-Exporter/page.md): This guide explains how to install the Prometheus Node Exporter on a Linux host for system-level metrics collection.
- [Prometheus Configuration](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Configuration/page.md): This guide explains how to configure a Prometheus server to scrape metrics from one or multiple nodes.
- [Prometheus Metrics](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Metrics/page.md): This guide explains the components and structure of Prometheus metrics, including metric names, labels, values, and their role in monitoring.
- [Prometheus Monitoring Containers](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Monitoring-Containers/page.md): Learn to extend Prometheus monitoring from Linux hosts to containerized environments using cAdvisor for comprehensive system performance insights.
- [Prometheus Monitoring Kubernetes](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Prometheus-Monitoring-Kubernetes/page.md): This article explores using Prometheus for monitoring applications and Kubernetes clusters, detailing deployment, monitoring targets, and management with Helm and the Prometheus operator.
- [Cost Management](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Observability/Cost-Management/page.md): This article explores strategies for effective cloud cost management to optimize spending and ensure high performance.

### Cloud Native Application Delivery

- [Application Delivery Fundamentals](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/Application-Delivery-Fundamentals/page.md): This article discusses the implementation of CI/CD and GitOps to improve application delivery, reduce errors, and enhance operational efficiency in software development.
- [What is GitOps](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/What-is-GitOps/page.md): GitOps is an approach to managing Kubernetes environments using Git repositories as a single source of truth for infrastructure as code.
- [GitOps Principles](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/GitOps-Principles/page.md): This article discusses the principles of GitOps and the establishment of a governing body to standardize practices within the GitOps community.
- [Push vs Pull based Deployments](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/Push-vs-Pull-based-Deployments/page.md): This article explores push-based and pull-based deployment methods in Kubernetes environments, highlighting their processes, security considerations, and best practices.
- [CICD with GitOps](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/CICD-with-GitOps/page.md): This article explains GitOps methodology for managing Kubernetes infrastructure and applications using Git as the single source of truth for deployments.
- [Git Repositories Dockerfile and Application Walkthrough](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/Git-Repositories-Dockerfile-and-Application-Walkthrough/page.md): This lesson demonstrates implementing a CI/CD pipeline using Argo CD and GitOps methodologies for continuous deployment with Kubernetes.
- [ArgoCD Walkthrough](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/ArgoCD-Walkthrough/page.md): This guide explores the Argo CD user interface and demonstrates integrating a Kubernetes manifest repository for continuous deployment.
- [CICD Pipeline Demo](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Cloud-Native-Application-Delivery/CICD-Pipeline-Demo/page.md): This article demonstrates how Argo CD provisions resources in Kubernetes by monitoring a Git repository for changes.

### Container Orchestration - Storage

- [Introduction to Docker Storage](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Introduction-to-Docker-Storage/page.md): This article explains Docker storage mechanisms, focusing on storage drivers and volume driver plugins, essential for understanding container orchestration in Kubernetes.
- [Storage in Docker](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Storage-in-Docker/page.md): This article covers Docker storage, file system management, layered architecture, and methods for persisting data using volumes and bind mounts.
- [Volume Driver Plugins in Docker](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Volume-Driver-Plugins-in-Docker/page.md): This article explains Docker volume driver plugins, their functionality, and how to use them for persistent data storage across various cloud solutions.
- [Container Storage Interface](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Container-Storage-Interface/page.md): The article explains the Container Storage Interface and its role in standardizing storage driver interactions with container orchestration platforms.
- [Volumes](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Volumes/page.md): This article provides a guide on persistent volumes in Kubernetes, explaining their importance for data persistence beyond a pod’s lifecycle.
- [Persistent Volumes](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Persistent-Volumes/page.md): This article provides a comprehensive guide on persistent volumes in Kubernetes, focusing on centralized storage management for scalable environments.
- [Persistent Volume Claims](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Persistent-Volume-Claims/page.md): This article provides a guide on creating and managing Persistent Volume Claims in Kubernetes, including their relationship with Persistent Volumes and reclaim policies.
- [Storage Class](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Storage/Storage-Class/page.md): This article explores storage classes in Kubernetes, focusing on static and dynamic provisioning for effective storage resource management.

### Conclusion

- [Conclusion](https://notes.kodekloud.com/docs/Kubernetes-and-Cloud-Native-Associate-KCNA/Conclusion/Conclusion/page.md): This article concludes a course, encouraging reflection on skills gained and suggesting further resources for application developers and system administrators.
