6 Starting Principles • TechCrunch


Kubernetes is fast. As an industry standard, up to 94% of organizations deploy their services and applications on the Container Orchestration platform, according to one study. One of the key reasons companies deploy on Kubernetes is that it allows users to scale up to see up to two times the productivity gains.

Standardizing on Kubernetes gives organizations the ability to deploy any workload anywhere. But there was one missing piece: the technology assumed that workloads were transient, meaning that only stateless workloads could be safely deployed on Kubernetes. However, the community has recently changed the paradigm and introduced features like StatefulSets and Storage Classes, which can be used for data on Kubernetes.

While it is possible to run realistic workloads on Kubernetes, it is still challenging. In this article, I will provide ways to make it happen and why it is worth it.

Do it gradually

Kubernetes is on its way to becoming as popular as Linux and running any application anywhere in a distributed fashion. Using Kubernetes involves learning a lot of technical concepts and jargon. For example, newcomers may struggle with many of Kubernetes’ logical components such as containers, pods, nodes, and clusters.

If you haven’t run Kubernetes in production yet, don’t jump straight into data workloads. Instead, start by moving stateless apps so you don’t lose data when things go sideways.

If you can’t find an operator that suits your needs, don’t worry, because most of them are open source.

Understand the limitations and details

Once you are familiar with general Kubernetes concepts, dive into the list of state concepts. For example, applications may have different storage needs, such as performance or capacity requirements, so you must provide the right storage system.

What the industry generally calls storage “profiles” are called storage units in Kubernetes. They provide a way to define the different types of learning that a Kubernetes cluster can access. Storage classes can have different quality of service levels, such as I/O operations per second per GB, backup policies, or arbitrary policies, such as mandatory modes and permissive topologies.

Another important component to understand is StatefulSet. It is a Kubernetes API object used to manage elegant applications, and provides key features such as:

  • Stable, unique network accounts that allow you to monitor volumes and disconnect them at will.
  • Stable, permanent storage to keep your data safe;
  • Ordered, graceful deployment and scale required for most Day 2 operations.

While StatefulSet is a successful replacement for the popular PetSet (now discontinued), it still has imperfections and limitations. For example, the StatefulSet control does not have built-in support for resizing the volume (PVC) – this is a major challenge if the size of your application’s dataset is going to grow beyond the currently allocated storage capacity. There are solutions, but such limitations must be well understood in advance so that the engineering team knows how to handle them.



Source link

Related posts

Leave a Comment

seven + thirteen =