ROAD TO CKA [Certified Kubernetes Administrator ]-What Kubernetes is & is not?(Day-3)
Tags: cka, kubernetes, devops, roadtocka
Published: 2023-07-10 09:12:33


![Kubernetes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9y26lypbv3h03ed8i0k.png)
Welcome to my Blog "Road To CKA" Day-3 . I am prepraing myself for the Certified Kubernetes Administrator and i wolud like to share my journey with you all. 
To preprar myself for the CKA Exam i am following:

- Roadmap from [Roadmap.sh](https://roadmap.sh/kubernetes)

- [Kubernetes Documentation](https://kubernetes.io/docs/home/)

- Udemy course - [Certified Kubernetes Administrator (CKA) with Practice Tests](https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/) created By Mumshad Mannambeth

-Coursera - [IBM DevOps and Software Engineering Professional Certificate ](https://www.coursera.org/professional-certificates/devops-and-software-engineering) created By IBM . 

I will try my best to share with you my daily learing topics and describe the theam in my own way.

[ROAD TO CKA [Certified Kubernetes Administrator ]-Prepration Resources (Day-1)](https://dev.to/capriciousbased/road-to-cka-day-1-5b0p)

[ROAD TO CKA [Certified Kubernetes Administrator ]-Exam Prerequisites,Syllabus , Exam details(Day-2)](https://dev.to/capriciousbased/road-to-cka-certified-kubernetes-administrator-exam-prerequisitessyllabus-exam-detailsday-2-46e4)

[ROAD TO CKA [Certified Kubernetes Administrator ]-Kubernetes Architecture(Day-4)](https://dev.to/capriciousbased/road-to-cka-certified-kubernetes-administrator-kubernetes-architectureday-4-2n01)

[ROAD TO CKA [Certified Kubernetes Administrator ]-Core Concept- Control Plane/Master Node (Day-5)](https://dev.to/capriciousbased/road-to-cka-certified-kubernetes-administrator-core-concept-control-planemaster-node-day-5-1d58)

[ROAD TO CKA [Certified Kubernetes Administrator ]-Core Concept- Worker Node (Day-6)](https://dev.to/capriciousbased/road-to-cka-certified-kubernetes-administrator-core-concept-worker-node-day-6-3nhj)

Today i would like to share information about What Kubernetes is & is not?

## What is Kubernetes?

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.

The name Kubernetes originates from Greek, meaning helmsman or pilot. K8s as an abbreviation results from counting the eight letters between the "K" and the "s". Google open-sourced the Kubernetes project in 2014. Kubernetes combines over 15 years of Google's experience running production workloads at scale with best-of-breed ideas and practices from the community.

so we can say in easy words : 
Sure! Here's the information you provided in a simplified bullet point format:

- Kubernetes is an open-source containerization orchestration platform.
- It was initially developed by Google and is now maintained by the Cloud Native Computing Foundation.
- Kubernetes is easily portable across different cloud platforms and on-premises environments.
- It has a growing ecosystem of projects and products from various partners.
- Kubernetes is widely recognized as the leading container orchestration solution.
- Kubernetes as a Service evolved from Containers as a Service.
- It enables declarative management, automatically performing operations to achieve the desired state.

## Why you need Kubernetes and what it can do?

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a robust infrastructure for running and managing containers across a cluster of machines.

Here are some key reasons why Kubernetes is widely used and why it is beneficial:

**Scalability:** Kubernetes enables you to easily scale your applications up or down based on demand. It automatically distributes containers across multiple machines, allowing for efficient utilization of resources. You can add or remove containers dynamically without affecting the overall availability of your application.

**High Availability:** Kubernetes ensures that your applications are highly available by automatically restarting failed containers, replacing failed nodes, and distributing containers across healthy nodes. It supports features like replication and self-healing, which help in maintaining the desired state of your applications.

**Load Balancing and Service Discovery:** Kubernetes provides built-in load balancing capabilities to distribute incoming network traffic across multiple containers. It also offers service discovery mechanisms, allowing containers to find and communicate with each other easily.

**Resource Optimization:** Kubernetes optimizes resource allocation by allowing you to define resource requirements and limits for each container. It ensures that containers have the necessary resources to run efficiently while preventing resource contention among different applications.

**Rolling Updates and Rollbacks:** Kubernetes simplifies the process of updating applications by supporting rolling updates. It can gradually deploy new versions of containers while keeping the application available. If issues occur, Kubernetes allows you to roll back to the previous version with minimal downtime.

**Declarative Configuration:** With Kubernetes, you define the desired state of your application through YAML or JSON configuration files. Kubernetes then continuously monitors and adjusts the actual state to match the desired state, ensuring that your application remains in the desired state even if failures occur.

**Extensibility and Ecosystem:** Kubernetes has a large and vibrant ecosystem with a wide range of tools and extensions available. It supports pluggable architecture, allowing you to integrate additional functionality or extend its capabilities as per your requirements.

**Cloud Portability:** Kubernetes is cloud-agnostic and can run on various cloud providers as well as on-premises infrastructure. This portability allows you to avoid vendor lock-in and migrate your applications across different environments easily.

Overall, Kubernetes simplifies the management of containerized applications, provides scalability and high availability, and promotes efficient resource utilization, making it a popular choice for deploying and managing applications in modern cloud-native environments.

## What Kubernetes is not ?

While Kubernetes is a powerful tool for container orchestration and application management, it's important to understand what Kubernetes is not:

**Kubernetes is not a containerization platform:**Kubernetes is not responsible for creating or building containers. It is designed to manage and orchestrate containers that have already been created using containerization technologies such as Docker. Kubernetes works with containers to provide a platform for deployment, scaling, and management of applications.

**Kubernetes is not a traditional virtualization platform:** Unlike traditional virtualization platforms, Kubernetes operates at the container level rather than virtualizing the entire operating system. It does not provide virtual machines (VMs) but focuses on managing and orchestrating containers.

**Kubernetes is not a monitoring or logging solution:**While Kubernetes provides some basic monitoring and logging features, it is not a comprehensive monitoring or logging solution. Kubernetes integrates with other monitoring and logging tools like Prometheus, Grafana, or ELK Stack to provide detailed metrics, monitoring, and logging capabilities.

**Kubernetes is not a replacement for configuration management tools:** Kubernetes does not replace configuration management tools like Ansible, Chef, or Puppet. While Kubernetes manages the deployment and scaling of applications, configuration management tools are still valuable for managing the configuration and state of the underlying infrastructure.

**Kubernetes is not a cure-all solution:** Kubernetes is a complex technology that requires a certain level of expertise to operate effectively. It may not be suitable for every use case or every application. Some applications may be better suited to simpler deployment models or traditional infrastructure setups. It's important to evaluate the specific requirements and characteristics of your applications before adopting Kubernetes.

**Kubernetes is not inherently secure:** While Kubernetes provides some security features, it is not a complete security solution. It's crucial to implement additional security measures such as network policies, encryption, authentication, and authorization mechanisms to ensure the security of your Kubernetes cluster and the applications running on it.

**Kubernetes is not a silver bullet for all application challenges:** While Kubernetes offers many benefits, it does not solve all application challenges on its own. It is just one piece of a larger ecosystem and should be used in conjunction with other complementary technologies and best practices to build robust and resilient applications.

Understanding these limitations and considering them alongside your specific requirements will help you make informed decisions about when and how to leverage Kubernetes effectively.

We can also say in easy words : Certainly! Here are simplified bullet points for the given sentences:

- Kubernetes is not a traditional, all-inclusive platform like other services.
- It is flexible and supports a wide range of workloads, including stateless, stateful, and data-processing workloads.
- It doesn't offer continuous integration/continuous delivery pipelines for building and deploying source code.
- It doesn't come with built-in solutions for logging, monitoring, and alerting.

- Kubernetes doesn't provide built-in middleware, databases, or other services.

 #RoadToCKA #Day_1 #Kubernetes #devops