Kubernetes supports a microservices architecture through the serviceconstruct. It allows developers to abstract away the functionality of a set of Pods and expose it to other developers through a well-defined API. This page gathers resources about how to use Kubernetes to create a continuous delivery configuration for building microservices.
Table of Contents:
Below we have compiled publicly available sources from around the world that present views on Kubernetes and Microservices.
Best Practices for Running Containers and Kubernetes in Production Covering security, governance, monitoring, storage, networking, container life cycle management and container orchestration.
Kubernetes Nodes — A node is a worker machine in Kubernetes, previously known as a minion. A node may be a VM or physical machine, depending on the cluster. Each node has the services necessary to run pods and is managed by the master components. The services on a node include Docker, kubelet and kube-proxy. This page gathers resources about how to create and manage Kubernetes Guide Nodes.
Kubernetes Pods — A pod is a group of one or more containers (such as Docker containers), with shared storage/network, 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. This page gathers resources on what Kubernetes Pods are and how to create and manage them.
Kubernetes Controllers and Control Plane — Kubernetes Guide runs a group of controllers that take care of routine tasks to ensure the desired state of the cluster matches the observed state. Basically, each controller is responsible for a particular resource in the Kubernetes world. This page gathers resources about the Kubernetes controllers including information about replication controllers, node controllers and the Kubernetes controller manager.
Kubernetes DaemonSets — Aggregating service logs, collecting node metrics, or running a networked storage cluster all require a container to be replicated across all nodes. In Kubernetes, this is done with a DaemonSet. A DaemonSet ensures that an instance of a specific pod is running on all (or a selection of) nodes in a cluster. This page gathers resources on how to use and deploying a daemon to all nodes.
Container Runtime Interface — The Container Runtime Interface (CRI) is a plugin interface which enables kubelet to use a wide variety of container runtimes, without the need to recompile. CRI consists of a protocol buffers and gRPC API, and libraries, with additional specifications and tools under active development. This page gathers resources about how to use the container runtime interface and how to build Kubernetes cluster using the CRI.
Working with Containers in Kubernetes — Container orchestration is most commonly used for clusters that consist of many nodes. It is mainly used to deploy and manage complex containerized applications. Container orchestration can also be employed for simple clusters or for individual containers. This page gathers resources about how to work and orchestrate containers with Kubernetes.
Working with Images in Kubernetes — This page gathers resources about how to create and work with container images (such as Docker images) in Kubernetes Guide using different environments like Azure, OpenShift and more.
Workloads in Kubernetes — As more and more enterprises adopt a container based architecture, a container orchestrator has become necessary in order to provide wide-ranging options to manage containerized workloads. Kubernetes provides many options to manage containerized workloads. This page gathers resources on how to run workloads in Kubernetes.
Kubernetes Services — A Kubernetes Guide service is an abstraction which defines a logical set of Pods and a policy by which to access them - sometimes called a micro-service. The set of Pods targeted by a service is usually determined by a Label Selector. This page gathers resources about the Kubernetes service types and how to create and work with them.
Kubernetes Jobs — A Kubernetes job is a supervisor for pods carrying out batch processes, that is, a process that runs for a certain time to completion, for example a calculation or a backup operation. This page gathers resources about Kubernetes Jobs, including an introduction, tutorials,examples and more.
Kubernetes and Microservices — Kubernetes supports a microservices architecture through the service construct. It allows developers to abstract away the functionality of a set of Pods and expose it to other developers through a well-defined API. This page gathers resources about how to use Kubernetes to create a continuous delivery configuration for building microservices.
Kubernetes Operators — Kubernetes Operators are applications that facilitate the use of the Kubernetes container management system by automating backups, updates, and scaling. You can build operators with the open source Operators Framework. This page gathers resources about Kubernetes Operators and how to create and work with them.
Kubernetes Persistent Volumes — Kubernetes Persistent Volumes are storage objects with a lifecycle independent of the pod that uses them. They store data in clusters and can be customized for specific uses, with either dynamic or administrator provisioning. This page gathers resources about persistent volumes and how you can create and configure a persistent volume claim (PVC) to add persistent storage in Kubernetes.
Kubernetes Prometheus — Prometheus is an open-source monitoring and alerting toolkit. It provides easy monitoring for Kubernetes services and deployments. This page gathers resources about Kubernetes Prometheus and how to use it.
Kubernetes Jenkins — Jenkins is an open-source automation server that lets you flexibly orchestrate your build, test, and deployment pipelines. Jenkins provide Continuous Integration and Continuous Deployment (CI/CD) tools for Kubernetes users. This page gathers resources about leveraging Jenkins on Kubernetes.
Kubernetes Kafka — Kafka is an event-streaming platform that runs as a cluster of nodes called “brokers”. Running Kafka on Kubernetes allows organizations to simplify operations such as upgrades, scaling, restarts, and monitoring which are more-or-less built into the Kubernetes platform. This page gathers resources about leveraging Kafka on Kubernetes.
Kubernetes Calico — Calico enables networking and network policy in Kubernetes clusters across the cloud. Calico works on all major public cloud providers and private cloud as well. This page gathers resources about using Calico with Kubernetes.
Kubernetes Elasticsearch — Elasticsearch is an open-source, RESTful, distributed search and analytics engine built on Apache Lucene. Elasticsearch on Kubernetes streamlining critical operations, such as managing and monitoring multiple clusters, upgrading to new stack versions, scaling cluster capacity and more. This page gathers resources about using Elasticsearch with Kubernetes.