<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1232938&amp;fmt=gif">
redapt - rack integration - white icon
Data Center Infrastructure

Enhance your data center infrastructure with tailored solutions that boost performance and efficiency, ensuring rapid growth and exceptional customer experiences.

redapt - data estate assessment - white icon
Cybersecurity

Fortify your operations with comprehensive cybersecurity solutions that deliver resilient protection and end-to-end risk mitigation.

redapt - cloud adoption ready - white icon
Managed Cloud Services

Align your cloud strategy with your business objectives through our end-to-end managed services, delivering expert oversight across infrastructure, data optimization, and cost control.

Cloud_Adoption
Cloud Adoption

Adopt the cloud confidently with expert guidance on capacity, cloud-native technologies, and a step-by-step path for successful migration.

redapt - devops adoption - white icon
DevOps

Energize your software development lifecycle with tailored DevOps to match your needs and workflows.

redapt - data science experiment - white icon
Data Analytics

Successfully adopt advanced analytics capabilities to unlock insights, inform the design of your products, and make smarter decisions.

Artifical_Intelligence
Artificial Intelligence

Leverage Artificial Intelligence to generate actionable insights, uncover new revenue opportunities, and drive more informed decision-making.

Application_Modernization
Application Modernization

Modernize your applications with advanced development methodologies, driving greater agility, efficiency, and continuous innovation to excel in today’s competitive environment.

BLOG
The latest in infrastructure, technology, and security

From emerging innovations to real-world applications, we cover what helps leaders navigate complexity, drive transformation, and make smarter decisions in a rapidly evolving landscape.

VIDEOS
Go deeper with expert stories, insights, and strategy

Your destination for expert conversations, client stories, and diving deep into the latest in infrastructure, technology, and business strategy.

CUSTOMER STORIES
Discover how we elevate organizations

Read some of our customer stories to learn more about how we develop and implement solutions, along with how those solutions have helped our clients and partners.

KNOWLEDGE CENTER
Stay informed with expert guides, trends, and webinars

Explore our curated collection of eBooks, guides, and webinars designed to help leaders stay informed and ahead of trends.

redapt-employee-unboxing-tech
ABOUT US
Get to know our mission, team, and what drives us

We specialize in implementing and managing technical solutions to support your infrastructure and digital environments. 

RC_DC_6481
LEADERSHIP
Meet the leaders driving innovation and customer success

Bringing together decades of experience in technology, business strategy, and customer success.

What the company needed Image-1
CAREERS
Join a team built on impact, collaboration, and growth

Build lasting relationships and deliver real-world results.

Actionable Insights.

Make-or-Break Focus Areas.

Experts Save You Time.

Let our experts save you time, money, and stress as you explore solutions. Talk to an expert today!

Contact Us

  • There are no suggestions because the search field is empty.
Insights > Blog

Introduction to Kubernetes And Its Infrastructure

By Redapt Marketing | Posted on March 28, 2017 | Posted in DevOps and Automation, Enterprise IT and Infrastructure

Kubernetes (K8s) is a Container Orchestration Platform that was influenced by Google engineers experience developing and working with Borg. As many know, Google has been running containers at large scale for more than a decade. K8s is completely open-source, API Driven, written in GoLang, has lots of community support, and hundreds of 3rd party add-ons.

K8s from the outside consists of three major components: etcd cluster, master server(s), and minion worker node(s). It is common to see the master services run on the same nodes as the etcd cluster, which is a distributed key-value store.

The master server runs the API, the Controller Manager, and the Scheduler. The API uses the etcd service to store any state related to running K8s. This includes the nodes in the cluster, what containers are running where, what volumes are attached to containers, secrets, config maps, etc. The controller manager embeds the core control loop for K8s, and constantly tries to make the real-world match the expected state. The scheduler is used to ensure that pods are scheduled according to their affinity, maintain data locality, etc.

The minion worker nodes are effectively the pool of resources that can be consumed by running containers. Each minion should have K8s labels designating its failover zone, and name. You can make use of these labels by defining affinity when distributing containers across the system.

In K8s, a container or a specialized group of containers, are collectively run in what is called a Pod. Each Pod runs on a single minion host with an overlay network, and thus has its own IP address. It's common to run many similar pods for load and redundancy spread throughout the minion hosts.

While it is possible to create one pod at a time. K8s provides various mechanisms for controlling the number of replicas and location of pods, as well as auto-restart on delete/failures. A Replica Set can be defined in place of a pod definition, and the number of replicas becomes a tunable field. If the node is killed and a pod dies, the Controller Manager and Scheduler will work to re-schedule a new pod, until the requirements of the Replica set are met.

Beyond a simple Replica Set, K8s also has the concept called a Deployment. In the current iteration of K8s, the deployment effectively manages replica sets. When rolling out new images via Deployment, a 'green' Replica Set is created, while the old Replica Set is 'blue'; The green Replica Set scales up incrementally, while simultaneously scaling down the blue Replica Set. You can also stand up two equal size Replica Sets, cut traffic over, and then delete the old Replica Set, for non blue-green rollouts.

Launching many pods is great, but what about routing traffic to all of the pods as I adjust the replica counts? To handle this, K8s introduces a concept called a Service. A service has a few different types depending on whether load balancing is necessary, and how ports are translated/specified. Routing generally happens via K8s pod labels and selectors.

No matter what type of resource you create in Kubernetes, it can be created with a json or yml file, which can be kept in version control. This is useful for rapid re-deploys, CICD, and tracking changes to pod Definition/Environment over time, for the application.