You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


Goals

  • Becoming familiar with Kubernetes concepts

What is Kubernetes?

Kubernetes, also known as K8s, is an open-source container orchestration system for automating deployment, scaling, and management of containerized applications.

It provides a platform for managing containers in the cloud and allows developers to easily manage and scale applications dynamically based on demand.


How does Kubernetes work?

Kubernetes is based on a set of nodes that run on a cloud infrastructure and are used to run containers. The nodes are managed by a set of services that provide the ability to orchestrate, manage and automate the deployment and scaling of containerised applications.

Kubernetes uses an object model that defines the desired state of the application and then works to maintain that state at all times. Objects are the basic unit of Kubernetes and can be created, updated and deleted through the Kubernetes API.


Key Kubernetes Concepts

Containers

A container image is a ready-to-run software package, containing everything needed to run an application: the code and any runtime it requires, application and system libraries, and default values for any essential settings.

Pods

Group of one or more containers, with shared storage and network resources, and a specification for how to run the containers. A Pod's contents are always co-located and co-scheduled, and run in a shared context.

Nodes

A node is a single host. It may be a physical or virtual machine. Its job is to run pods. Each Kubernetes node runs several Kubernetes components, such as the kubelet, the container runtime and the kube proxy. Nodes are managed by the Kubernetes control plane. 

Clusters

A cluster is a collection of nodes that provide computing, memory, storage and networking resources. Kubernetes uses these resources to run the various workloads that comprise your system.

Services

A service is an abstraction that defines a set of pods and an access policy for them. Services are used to expose containerized applications on the network, provide DNS name resolution, and balance the load across pods.

Volumes

A volume is a Kubernetes object that is used to provide persistent storage to containers. Volumes are used to ensure that data stored by a containerized application is available even if the container is restarted or moved to another node.

Secrets

Secrets are small objects that contain sensitive info such as credentials and tokens. They are stored by default as plaintext in etcd, accessible by the Kubernetes API server, and can be mounted as files into pods that need access to them.

Workloads

Objects you use to manage and run containers on the cluster.

Types:

    • Deployments
    • Statefulsets

Ingress

Ingress is an object in Kubernetes that provides routing rules for HTTP and HTTPS traffic from outside the cluster to services within the cluster. Ingress can be used to expose services to the internet or to other services within the cluster.

Helm

Helm is an open-source tool that helps simplify the challenges of running workloads on Kubernetes it was designed to provide an experience similar to a package manager. Helm is used for packaging and deploying applications on Kubernetes

Helm


  • No labels