Vohra | Kubernetes Management Design Patterns | E-Book | www.sack.de
E-Book

E-Book, Englisch, 410 Seiten

Vohra Kubernetes Management Design Patterns

With Docker, CoreOS Linux, and Other Platforms
1. ed
ISBN: 978-1-4842-2598-1
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

With Docker, CoreOS Linux, and Other Platforms

E-Book, Englisch, 410 Seiten

ISBN: 978-1-4842-2598-1
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



Take container cluster management to the next level; learn how to administer and configure Kubernetes on CoreOS; and apply suitable management design patterns such as Configmaps, Autoscaling, elastic resource usage, and high availability.  Some of the other features discussed are logging, scheduling, rolling updates, volumes, service types, and multiple cloud provider zones. The atomic unit of modular container service in Kubernetes is a Pod, which is a group of containers with a common filesystem and networking. The Kubernetes Pod abstraction enables design patterns for containerized applications similar to object-oriented design patterns. Containers provide some of the same benefits as software objects such as modularity or packaging, abstraction, and reuse.
CoreOS Linux is used in the majority of the chapters and other platforms discussed are CentOS with OpenShift, Debian 8 (jessie) on AWS, and Debian 7 for Google Container Engine.  
CoreOS is the main focus becayse Docker is pre-installed on CoreOS out-of-the-box. CoreOS: Supports most cloud providers (including Amazon AWS EC2 and Google Cloud Platform) and virtualization platforms (such as VMWare and VirtualBox)
Provides Cloud-Config for declaratively configuring for OS items such as network configuration (flannel), storage (etcd), and user accounts 
Provides a production-level infrastructure for containerized applications including automation, security, and scalability
Leads the drive for container industry standards and founded appc 
Provides the most advanced container registry, Quay  
 Docker was made available as open source in March 2013 and has become the most commonly used containerization platform. Kubernetes was open-sourced in June 2014 and has become the most widely used container cluster manager.  The first stable version of CoreOS Linux was made available in July 2014 and since has become one of the most commonly used operating system for containers.  
What You'll Learn
Use Kubernetes with Docker
Create a Kubernetes cluster on CoreOS on AWS
Apply cluster management design patterns
Use multiple cloud provider zones
Work with Kubernetes and tools like Ansible
Discover the Kubernetes-based PaaS platform OpenShift
Create a high availability website
Build a high availability Kubernetes master cluster
Use volumes, configmaps, services, autoscaling, and rolling updates
Manage compute resources
Configure logging and scheduling


Who This Book Is For
Linux admins, CoreOS admins, application developers, and container as a service (CAAS) developers. Some pre-requisite knowledge of Linux and Docker is required. Introductory knowledge of Kubernetes is required such as creating a cluster, creating a Pod, creating a service, and creating and scaling a replication controller. For introductory Docker and Kubernetes information, refer to Pro Docker (Apress) and Kubernetes Microservices with Docker (Apress). Some pre-requisite knowledge about using Amazon Web Services (AWS) EC2, CloudFormation, and VPC is also required. 


Deepak Vohra is an Oracle Certified Associate and a Sun Certified Java Programmer. Deepak has published in Oracle Magazine, OTN, IBM developerWorks, ONJava, DevSource,  WebLogic Developer's Journal, XML Journal, Java Developer's Journal, FTPOnline, and devx.

Vohra Kubernetes Management Design Patterns jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Contents at a Glance;4
2;Contents;6
3;About the Author;14
4;About the Technical Reviewer;15
5;Introduction;16
6;Part I: Platforms;20
6.1;Chapter 1: Kubernetes on AWS;21
6.1.1;Problem;21
6.1.2;Solution;21
6.1.3;Overview;21
6.1.4;Setting the Environment;22
6.1.5;Configuring AWS;25
6.1.6;Starting the Kubernetes Cluster;29
6.1.7;Testing the Cluster;35
6.1.8;Configuring the Cluster;36
6.1.9;Stopping the Cluster;39
6.1.10;Summary;40
6.2;Chapter 2: Kubernetes on CoreOS on AWS;41
6.2.1;Problem;41
6.2.2;Solution;41
6.2.3;Overview;42
6.2.4;Setting the Environment;43
6.2.5;Configuring AWS Credentials;43
6.2.6;Installing Kube-aws;43
6.2.7;Setting Up Cluster Parameters;45
6.2.7.1;Creating a KMS Key;46
6.2.7.2;Setting Up an External DNS Name;47
6.2.8;Creating the Cluster;47
6.2.8.1;Creating an Asset Directory;47
6.2.8.2;Initializing the Cluster CloudFormation;48
6.2.8.3;Rendering Contents of the Asset Directory;48
6.2.8.4;Customizing the Cluster;49
6.2.8.5;Validating the CloudFormation Stack;52
6.2.8.6;Launching the Cluster CloudFormation;52
6.2.9;Configuring DNS;53
6.2.10;Accessing the Cluster;57
6.2.11;Testing the Cluster;59
6.2.12;Summary;65
6.3;Chapter 3: Kubernetes on Google Cloud Platform;66
6.3.1;Problem;66
6.3.2;Solution;66
6.3.3;Overview;66
6.3.4;Setting the Environment;67
6.3.5;Creating a Project on Google Cloud Platform;67
6.3.6;Enabling Permissions;72
6.3.7;Enabling the Compute Engine API;73
6.3.8;Creating a VM Instance;79
6.3.9;Connecting to the VM Instance;83
6.3.9.1;Reserving a Static External IP Address;84
6.3.10;Creating a Kubernetes Cluster;84
6.3.11;Creating a Kubernetes Application and Service;88
6.3.12;Stopping the Cluster;92
6.3.13;Using Kubernetes with Google Container Engine;94
6.3.13.1;Creating a Google Container Cluster;94
6.3.13.2;Connecting to the Google Cloud Shell;97
6.3.13.3;Configuring kubectl;97
6.3.13.4;Testing the Kubernetes Cluster;98
6.3.14;Summary;104
7;Part II: Administration and Configuration;105
7.1;Chapter 4: Using Multiple Zones;106
7.1.1;Problem;106
7.1.2;Solution;107
7.1.3;Overview;108
7.1.4;Setting the Environment;108
7.1.5;Initializing a CloudFormation;110
7.1.6;Configuring cluster.yaml for Multiple Zones;110
7.1.7;Launching the CloudFormation;114
7.1.8;Configuring External DNS;115
7.1.9;Running a Kubernetes Application;116
7.1.10;Using Multiple Zones on AWS;118
7.1.11;Summary;131
7.2;Chapter 5: Using the Tectonic Console;132
7.2.1;Problem;132
7.2.2;Solution;132
7.2.3;Overview;133
7.2.4;Setting the Environment;133
7.2.5;Downloading the Pull Secret and the Tectonic Console Manifest;135
7.2.6;Installing the Pull Secret and the Tectonic Console Manifest;137
7.2.7;Accessing the Tectonic Console;138
7.2.8;Using the Tectonic Console;139
7.2.9;Removing the Tectonic Console;149
7.2.10;Summary;149
7.3;Chapter 6: Using Volumes;150
7.3.1;Problem;150
7.3.2;Solution;150
7.3.3;Overview;151
7.3.4;Setting the Environment;152
7.3.5;Creating an AWS Volume;154
7.3.6;Using an awsElasticBlockStore Volume;156
7.3.7;Creating a Git Repo;160
7.3.8;Using a gitRepo Volume;164
7.3.9;Summary;167
7.4;Chapter 7: Using Services;168
7.4.1;Problem;168
7.4.2;Solution;169
7.4.3;Overview;169
7.4.4;Setting the Environment;170
7.4.5;Creating a ClusterIP Service;171
7.4.6;Creating a NodePort Service;174
7.4.7;Creating a LoadBalancer Service;181
7.4.8;Summary;185
7.5;Chapter 8: Using Rolling Updates;186
7.5.1;Problem;186
7.5.2;Solution;186
7.5.3;Overview;187
7.5.4;Setting the Environment;188
7.5.5;Rolling Update with an RC Definition File;189
7.5.6;Rolling Update by Updating the Container Image;192
7.5.7;Rolling Back an Update;199
7.5.8;Using Only Either File or Image;201
7.5.9;Multiple-Container Pods;201
7.5.10;Rolling Update to a Deployment;201
7.5.11;Summary;213
7.6;Chapter 9: Scheduling Pods on Nodes;214
7.6.1;Problem;214
7.6.2;Solution;214
7.6.3;Overview;215
7.6.4;Defining a Scheduling Policy;215
7.6.5;Setting the Environment;217
7.6.6;Using the Default Scheduler;218
7.6.7;Scheduling Pods without a Node Selector;228
7.6.8;Setting Node Labels;228
7.6.9;Scheduling Pods with a Node Selector;229
7.6.10;Setting Node Affinity;235
7.6.10.1;Setting requiredDuringSchedulingIgnoredDuringExecution;237
7.6.10.2;Setting preferredDuringSchedulingIgnoredDuringExecution;244
7.6.11;Summary;251
7.7;Chapter 10: Configuring Compute Resources;252
7.7.1;Problem;252
7.7.2;Solution;252
7.7.3;Overview;253
7.7.4;Types of Compute Resources;254
7.7.5;Resource Requests and Limits;255
7.7.6;Quality of Service;257
7.7.7;Setting the Environment;258
7.7.8;Finding Node Capacity;259
7.7.9;Creating a Pod with Resources Specified;260
7.7.10;Limit on Number of Pods;267
7.7.11;Overcommitting Resource Limits;269
7.7.12;Reserving Node Resources;269
7.7.13;Summary;271
7.8;Chapter 11: Using ConfigMaps;272
7.8.1;Problem;272
7.8.2;Solution;272
7.8.3;Overview;272
7.8.4;Kubectl create configmap Command;273
7.8.5;Setting the Environment;273
7.8.6;Creating ConfigMaps from Directories;274
7.8.7;Creating ConfigMaps from Files;281
7.8.7.1;Creating ConfigMaps from Literal Values;285
7.8.8;Consuming a ConfigMap in a Volume;289
7.8.9;Summary;292
7.9;Chapter 12: Using Resource Quotas;293
7.9.1;Problem;293
7.9.2;Solution;293
7.9.3;Overview;294
7.9.4;Setting the Environment;295
7.9.5;Defining Compute Resource Quotas;296
7.9.6;Exceeding Compute Resource Quotas;298
7.9.7;Defining Object Quotas;302
7.9.8;Exceeding Object Quotas;304
7.9.9;Defining Best-Effort Scope Quotas;308
7.9.10;Summary;312
7.10;Chapter 13: Using Autoscaling;313
7.10.1;Problem;313
7.10.2;Solution;313
7.10.3;Overview;314
7.10.4;Setting the Environment;314
7.10.5;Running a PHP Apache Server Deployment;316
7.10.6;Creating a Service;316
7.10.7;Creating a Horizontal Pod Autoscaler;317
7.10.8;Increasing Load;320
7.10.9;Summary;322
7.11;Chapter 14: Configuring Logging;323
7.11.1;Problem;323
7.11.2;Solution;323
7.11.3;Overview;324
7.11.4;Setting the Environment;325
7.11.5;Getting the Logs Generated by Default Logger;325
7.11.6;Docker Log Files;327
7.11.7;Cluster-Level Logging with Elasticsearch and Kibana;328
7.11.7.1;Starting a Replication Controller;329
7.11.7.2;Starting Elastic Search;332
7.11.7.3;Starting Fluentd to Collect Logs;336
7.11.7.4;Starting Kibana;338
7.11.8;Summary;345
8;Part III: High Availability;346
8.1;Chapter 15: Using an HA Master with OpenShift;347
8.1.1;Problem;347
8.1.2;Solution;347
8.1.3;Overview;348
8.1.4;Setting the Environment;348
8.1.5;Installing the Credentials;350
8.1.6;Installing the Network Manager;351
8.1.7;Installing OpenShift via Ansible on the Client Machine;351
8.1.8;Configuring Ansible;354
8.1.9;Running the Ansible Playbook;358
8.1.10;Testing the Cluster;359
8.1.11;Testing the High Availability;361
8.1.12;Summary;365
8.2;Chapter 16: Developing a Highly Available Website;366
8.2.1;Problem;366
8.2.2;Solution;366
8.2.3;Overview;367
8.2.4;Setting the Environment;368
8.2.5;Creating CloudFormations;368
8.2.6;Configuring External DNS;372
8.2.7;Creating a Kubernetes Service;373
8.2.8;Creating an AWS Route 53 Service;378
8.2.8.1;Creating a Hosted Zone;379
8.2.8.2;Configuring Name Servers on a Domain Name;380
8.2.8.3;Creating Record Sets;385
8.2.9;Testing High Availability;395
8.2.10;Summary;403
9;Index;404



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.