# Kubernetes Introduction

With kubectl we can orchestrate our application&#x20;

![](/files/-MEalCThW0iwDbG5rYC7)

Now what's the relationship between Docker & Kubernetes :

\>Kubernetes uses Docker HOST to host applications in the form of Docker containers. It need not to be Docker all the time . Kubernetes supports alternative to Dockers as well as such as Rocket o CRIO.

\>>A kubernetes cluster consists set of nodes . A node is worker machine & that is where container will be launched by Kubernetes .

![](/files/-MEamgL5sQ1eNYlPbrtI)

So when we setup Kubernetes cluster below components installed on the cluster.

![](/files/-MEamukf-N2ktFuEpi4t)

\>>>API server acts as the front-end for the Kubernetes.&#x20;

\>>>etcd : Its a distributed reliable key-value store used by Kubernetes to store all data used to manage the cluster.

etcd is responsible for implementing locks within the cluster to ensure there are no conflicts between the masters .

\>>Scheduler is repsonsible for distributing work or containers across mutiple nodes . It looks for newly created containers & assigns them to nodes.

\>>The controllers are the brain behind orchestration.They are responsible for noticing & responding when nodes containers / endpoints goes down. The Controllers makes decision to bring up new containers in such cases .

&#x20;\>>Container runtime : The Container runtime is the underlying software that is used to run containers . In our case it happens to be Docker.

\>>kubelet : Its a agent that runs on each node in the cluster . The agent is responsible for making sure that the containers are running on the nodes as expected.&#x20;

\>>kubectl : It is kubernetes CLI which is used to deploying & manage applications on a Kubernetes cluster to get cluster related information , to get the status of the nodes & many other things.

![](/files/-MEapVWH6VqGvmPKeIT8)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://architectures.gitbook.io/project/docker/container-orchestration-docker-swarm-and-kubernetes/kubernetes-introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
