Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Coverage

Table of Contents
maxLevel5

Goals

  • Becoming familiar with Kubernetes concepts

...

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

...

  • 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

...

Clusters

    • A

...

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


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.

Image Removed

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

...

      • the kube proxy.
    • Nodes are managed by the Kubernetes control plane. 

Clusters

...


Pods

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

Image Added

Containers

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


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

...

      • Load balance

...

      • across pods.

Image Modified


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.

Image Modified


Secrets

    • Secrets are small objects that contain sensitive info such as

...

      • Credentials
      • Tokens.
    • They are stored by default as plaintext in etcd

...

    •  Accessible by the Kubernetes API server

...

    • Can be mounted as files into pods that need access to them.

Image Modified


Workloads

    • Objects you use to manage and run containers on the cluster.
    • Types:
      • Deployments
      • Statefulsets

Image Modified


Ingress

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

...

      • to other services within the cluster.

Image Modified


Helm

    • Helm is an open-source tool that helps simplify the challenges of running workloads on Kubernetes

...

    • .
    • Provide an experience similar to a package manager.
    • Helm is used for packaging and deploying applications on Kubernetes.

...

Image Added