In this chapter, we learned how to determine the compute and network requirements of a Kubernetes cluster. We also touched upon the software requirements that come along with it, such as etcd, and how odd-numbered clusters are preferred (due to the census algorithm) as the cluster needs to achieve more than 50% of votes for consensus.
The etcd cluster can either run on the kube-apiserver or have a separate set of clusters dedicated just for etcd. When it comes to resources, 2 CPUs and 8 GB of RAM should be enough. When deciding on the storage system for etcd, opt for lower latency and higher IOPS storage such as SSD. We then jumped into sizing the kube-apiserver, which can be run alongside etcd. Given that both components can coexist, resources should be bumped to anything between 8 and 16 GB of RAM and between 2 and 4 CPUs per node.
In order to properly size the worker...
Hands-On Linux for Architects
By :
Hands-On Linux for Architects
By:
Overview of this book
It is very important to understand the ?exibility of an infrastructure when designing an efficient environment. In this book, you will cover everything from Linux components and functionalities through to hardware and software support, which will help you to implement and tune effective Linux-based solutions.
This book gets started with an overview of Linux design methodology. Next, you will focus on the core concepts of designing a solution. As you progress, you will gain insights into the kinds of decisions you need to make when deploying a high-performance solution using Gluster File System (GlusterFS). In the next set of chapters, the book will guide you through the technique of using Kubernetes as an orchestrator for deploying and managing containerized applications. In addition to this, you will learn how to apply and configure Kubernetes for your NGINX application. You’ll then learn how to implement an ELK stack, which is composed of Elasticsearch, Logstash, and Kibana. In the concluding chapters, you will focus on installing and configuring a Saltstack solution to manage different Linux distributions, and explore a variety of design best practices. By the end of this book, you will be well-versed with designing a high-performing computing environment for complex applications to run on.
By the end of the book, you will have delved inside the most detailed technical conditions of designing a solution, and you will have also dissected every aspect in detail in order to implement and tune open source Linux-based solutions
Table of Contents (22 chapters)
Preface
Free Chapter
Section 1: High-Performance Storage Solutions with GlusterFS
Introduction to Design Methodology
Defining GlusterFS Storage
Architecting a Storage Cluster
Using GlusterFS on the Cloud Infrastructure
Analyzing Performance in a Gluster System
Section 2: High-Availablility Nginx Web Application Using Kubernetes
Creating a Highly Available Self-Healing Architecture
Understanding the Core Components of a Kubernetes Cluster
Architecting a Kubernetes Cluster
Deploying and Configuring Kubernetes
Section 3: Elastic Stack
Monitoring with the ELK Stack
Designing an ELK Stack
Using Elasticsearch, Logstash, and Kibana to Manage Logs
Section 4: System Management Using Saltstack
Solving Management Problems with Salty Solutions
Getting Your Hands Salty
Design Best Practices
Assessments
Other Books You May Enjoy
Customer Reviews