Kubernetes is the technology most commonly used to deploy and organize containerized workloads on distributed systems. However, Kubernetes is much more than just a container organization: it is quickly becoming an essential management and control point for organizations. why? Because of its ability to treat infrastructure as code.

Born from the need to automate application deployment, scaling, and management, Kubernetes provides an infrastructure layer for distributed applications and services, making devices available for these applications and services as a collection of abstractions. These abstractions are then managed within the Kubernetes Unified Interface.

Being a software-controlled infrastructure, Kubernetes not only simplifies the deployment and management of applications and services, but also offsets the risks posed by the underlying hardware. The business model removes hardware as a sticking point. When the hardware fails, the software is simply moved to another location.

Applications run as microservices in containers, designed to be portable and independently deployable. Devops teams declare the desired state of workloads and Kubernetes ensures that the actual state matches the desired state, automatically troubleshooting and remedial failures, often by restarting an unresponsive container. This means that containers must be immutable and stateless to prevent data loss or application corruption on crash and restart. In order to keep track of the state, immutable containers save data and configuration information outside the container.

Why does Kubernetes need object storage

Kubernetes achieves superior scaling by running portable containers separate from underlying hardware and software requirements. For a container to be truly portable, it cannot rely on local storage devices, which by itself are not portable. This challenge can be easily overcome by taking advantage of a fast data center network to separate compute containers and local storage.

While the requirements may seem straightforward, the delivery against them is not. In fact, Kubernetes will be problematic for legacy storage formats like file and block that commonly work on SAN and NAS devices. These storage types are based on POSIX, a standard system call interface designed to access data from local storage. POSIX is hitting a wall with increasing volumes of data and the demands of modern analytics applications to analyze that data exponentially. Even locally, conflict and corruption of POSIX metadata can occur with many simultaneous parallel file operations. These are not hyperscale storage system behaviors.

By contrast, distributed object storage does not experience this limitation. By not allowing edits, object storage gains the advantages of sequential I/O and simpler locking mechanisms. When combined with a fast data center network, the distributed object storage system will outperform legacy POSIX-compliant file system solutions, especially when handling concurrent parallel requests.

Devops teams now use object storage almost exclusively when faced with the limitations and complexities of working with external files, block storage, and Kubernetes. The best object storage, like Kubernetes itself, is distributed, detached, annotated, and immutable.

Kubernetes native object storage is managed, secured, and automated through existing Kubernetes mechanisms and integrations, providing rich functionality and high efficiency for developers as it enables workloads across on-premises clouds, multiclouds, hybrid clouds, and public clouds.

Storing a native Kubernetes object with MinIO

With all this in mind, we saw a design opportunity to move MinIO within the Kubernetes framework to simplify and automate provisioning, securing, and the ongoing management of buckets and objects through Kubernetes. At the same time, we have added a set of features to simplify the adoption and deployment of native Kubernetes object storage, especially for multi-tenant environments.

The MinIO Kubernetes Operator encapsulates all critical devops tasks into software that can be easily consumed by enterprise IT to create and manage a large object storage infrastructure independent of the underlying hardware. The MinIO Kubernetes plug-in extends the familiar kubectl command set Adds a direct set of sub-commands for creating, configuring and managing MinIO groups on Kubernetes.

The MinIO launcher console makes storing Kubernetes objects easier. This GUI is so simple that anyone in the organization can create, deploy, and manage object storage as a service. For years, devops have been begging IT teams to store self-service objects, and here it is.

minio player MinIO

MinIO player console.

MinIO Console is based on mc CLI to provide the same simplicity and power in a browser-based GUI that seems intuitive to enterprise IT admins. The dashboard visualizes industry standard monitoring across Prometheus and the MinIO metrics endpoint.

mini console MinIO

MinIO console.

We built the MinIO Console to provide IT administrators with a simplified point-and-click experience of managing object storage with Kubernetes without having to understand Helm or YAML schemas. The browser-based interface saves time and simplifies operations such as configuring and managing containers, users and groups, and their policies and settings. New users and repositories can be added manually or with a few clicks through OpenID Connect, Active Directory or LDAP.

minio Create Bucket MinIO

Create a storage container in the MinIO Console.

In the true spirit of Kubernetes automation, we recently added SUBNET Health to our SUBNET commercial engine and support platform. SUBNET Health is a GUI-driven support program that automatically performs dozens of checks across drives, network, CPU, memory, operating systems, containers, and MinIO software components to ensure they are operating optimally. Diagnostics can be shared with MinIO to benefit from 24/7 live engineer support. Root cause resolution becomes faster, saving administrator time and increasing reliability and availability.

minio . show MinIO

MinIO SUBNET Health.

MinIO’s high-performance Kubernetes native object storage suite provides a consistent IT experience for organizations and development teams across the full suite of Kubernetes distributions and services including Red Hat OpenShift, VMware Tanzania, SUSE, HP Ezmeral, Azure AKS, Google GKE, Amazon EKS, and Kubernetes Storage upstream. More than 58% of the Fortune 500 rely on MinIO in one way or another to provide the object storage layer in the public, private, multi, hybrid, and on-edge clouds.

Download MinIO And try it yourself. We have a tutorial, Simplify object storage as a service with the Kubernetes and MinIO operator, to help you get started.

Ugur Tigli is the Chief Technology Officer of MinIO, where he oversees enterprise strategy and helps MinIO clients design enterprises and deploy API-based, cloud-native, and scalable, enterprise-wide data infrastructure with MinIO. Ugur has nearly two decades of experience building high-performance data infrastructure for global financial institutions. Prior to joining MinIO, he was a Technology Leader at Bank of America, where he served as Senior Vice President, Global Head of Hardware Engineering. Ugur joined BofA with the acquisition of Merrill Lynch where he was Vice President of Storage Engineering.

The New Technology Forum provides a place to explore and discuss emerging enterprise technology with unprecedented depth and breadth. The choice is personal, based on our choice of technologies that we believe are important and of great interest to InfoWorld readers. InfoWorld does not accept marketing warranties for publication and reserves the right to edit all Contributed Content. Send all inquiries to newtechforum@infoworld.com.

Copyright © 2021 IDG Communications, Inc.

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *