Mastering Kubernetes
eBook - ePub

Mastering Kubernetes

Gigi Sayfan

Partager le livre
  1. 426 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Mastering Kubernetes

Gigi Sayfan

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

Master the art of container management utilizing the power of Kubernetes.About This Book‱ This practical guide demystifies Kubernetes and ensures that your clusters are always available, scalable, and up to date‱ Discover new features such as autoscaling, rolling updates, resource quotas, and cluster size‱ Master the skills of designing and deploying large clusters on various cloud platforms Who This Book Is ForThe book is for system administrators and developers who have intermediate level of knowledge with Kubernetes and are now waiting to master its advanced features. You should also have basic networking knowledge. This advanced-level book provides a pathway to master Kubernetes.What You Will Learn‱ Architect a robust Kubernetes cluster for long-time operation‱ Discover the advantages of running Kubernetes on GCE, AWS, Azure, and bare metal‱ See the identity model of Kubernetes and options for cluster federation‱ Monitor and troubleshoot Kubernetes clusters and run a highly available Kubernetes‱ Create and configure custom Kubernetes resources and use third-party resources in your automation workflows‱ Discover the art of running complex stateful applications in your container environment‱ Deliver applications as standard packagesIn DetailKubernetes is an open source system to automate the deployment, scaling, and management of containerized applications. If you are running more than just a few containers or want automated management of your containers, you need Kubernetes.This book mainly focuses on the advanced management of Kubernetes clusters. It covers problems that arise when you start using container orchestration in production. We start by giving you an overview of the guiding principles in Kubernetes design and show you the best practises in the fields of security, high availability, and cluster federation.You will discover how to run complex stateful microservices on Kubernetes including advanced features as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage back ends. Using real-world use cases, we explain the options for network configuration and provides guidelines on how to set up, operate, and troubleshoot various Kubernetes networking plugins. Finally, we cover custom resource development and utilization in automation and maintenance workflows.By the end of this book, you'll know everything you need to know to go from intermediate to advanced level.Style and approachDelving into the design of the Kubernetes platform, the reader will be exposed to the advanced features and best practices of Kubernetes. This book will be an advanced level book which will provide a pathway to master Kubernetes

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Mastering Kubernetes est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Mastering Kubernetes par Gigi Sayfan en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Computer Science et System Administration. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
2017
ISBN
9781786469854

Mastering Kubernetes


Table of Contents

Mastering Kubernetes
Credits
About the Author
About the Reviewer
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the color images of this book
Errata
Piracy
Questions
1. Understanding Kubernetes Architecture
Understanding container orchestration
Physical machines, virtual machines, and containers
Containers in the cloud
Cattle versus pets
Kubernetes concepts
Cluster
Node
Master
Pod
Label
Annotation
Label selector
Replication controller and replica set
Service
Volume
StatefulSet
Secret
Name
Namespace
Diving into Kubernetes architecture in depth
Distributed systems design patterns
Sidecar pattern
Ambassador pattern
Adapter pattern
Multi-node patterns
The Kubernetes APIs
Kubernetes API
Autoscaling API
Batch API
Kubernetes components
Master components
API server
Etcd
Controller manager
Scheduler
DNS
Node components
Proxy
Kubelet
Kubernetes runtimes
The runtime interface
Docker
Rkt
App container
Rktnetes
Is rkt ready for production usage?
Hyper containers
Hypernetes
Continuous integration and deployment
What is a CI/CD pipeline?
Designing a CI/CD pipeline for Kubernetes
Summary
2. Creating Kubernetes Clusters
Quick single-node cluster with Minikube
Getting ready
Creating the cluster
Troubleshooting
Checking out the cluster
Doing work
Examining the cluster with the dashboard
Creating a multi-node cluster using kubeadm
Getting ready
Preparing a cluster of vagrant VMs
Installing the required software
The hosts file
The vars.yml file
The playbook.yml file
Creating the cluster
Initializing the master
Setting up the pod network
Adding the worker nodes
Creating clusters in the cloud (GCP, AWS, Azure)
The cloud-provider interface
GCP
AWS
Azure
Creating a bare-metal cluster from scratch
Use cases for bare-metal
When should you consider creating a bare-metal cluster?
The process
Using virtual private cloud infrastructure
Summary
3. Monitoring, Logging, and Troubleshooting
Monitoring Kubernetes with Heapster
cAdvisor
InfluxDB backend
The storage schema
CPU
Filesystem
Memory
Network
Uptime
Grafana visualization
Performance analysis with the dashboard
Top-level view
Admin view
Workloads
Services and discovery
Adding central logging
Planning central logging
Fluentd
Elasticsearch
Kibana
Detecting node problems
Node problem detector
DaemonSet
Problem Daemons
Troubleshooting scenarios
Designing robust systems
Hardware failure
Quotas, shares, and limits
Bad configuration
Cost versus performance
Managing cost on the cloud
Managing cost on bare metal
Managing cost on hybrid clusters
Summary
4. High Availability and Reliability
High-availability concepts
Redundancy
Hot swapping
Leader election
Smart load balancing
Idempotency
Self-healing
High-availability best practices
Creating highly available clusters
Making your nodes reliable
Protecting your cluster state
Clustering etcd
Static discovery
Etcd discovery
DNS discovery
The etcd.yaml file
Verifying the etcd cluster
etcd 2 versus etcd 3
Protecting your data
Running redundant API servers
Running leader election with Kubernetes
Leader election for your application
Making your staging environment highly available
Testing high-availability
Live cluster upgrades
Rolling upgrades
Complex deployments
Blue-green upgrades
Managing data-contract changes
Migrating data
Deprecating APIs
Large-cluster performance, cost, and design trade-offs
Availability requirements
Best effort
Maintenance windows
Quick recovery
Zero-downtime
Performance and data consistency
Summary
5. Configuring Kubernetes Security, Limits, and Accounts
Understanding Kubernetes security challenges
Node challenges
Network challenges
Image challenges
Configuration and deployment challenges
Pod and container challenges
Organisational, cultural, and process challenges
Hardening Kubernetes
Understanding service accounts in Kubernetes
How does Kubernetes manage service accounts?
Accessing the API server
Authenticating users
Authorizing requests
Using admission control plugins
Securing pods
Using a private image repository
ImagePullSecrets
Specifying a security context
Protecting your cluster with AppArmor
Requirements
Securing a pod with AppArmor
Writing AppArmor profiles
Pod security policies
Managing network policies
Choosing a supported networking solution
Defining a network policy
Using secrets
Storing secrets in Kubernetes
Creating secrets
Decoding secrets
Using secrets in a container
Running a multi-user cluster
The case for a multi-user cluster
Using namespaces for safe multi-tenancy
Avoiding namespace pitfalls
Summary
6. Using Critical Kubernetes Resources
Designing the Hue platform
Defining the scope of Hue
Hue components
User profile
User graph
Identity
Authorizer
External service
Generic sensor
Generic actuator
User learner
Hue microservices
Plugins
Data stores
Stateless microservices
Queue-based interactions
Planning workflows
Automatic workflows
Human workfl...

Table des matiĂšres