3 options
Kubernetes cookbook : practical solutions to container orchestration / Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu.
- Format:
- Book
- Author/Creator:
- Saito, Hideto, author.
- Lee, Hui-Chuan Chloe, author.
- Hsu, Ke-Jou Carol, author.
- Language:
- English
- Subjects (All):
- Linux.
- Application software--Development.
- Application software.
- Virtual computer systems.
- Physical Description:
- 1 online resource (554 pages)
- Edition:
- Second edition.
- Place of Publication:
- Birmingham ; Mumbai : Packt, [2018]
- System Details:
- text file
- Summary:
- Learn how to automate and manage your containers and reduce the overall operation burden on your system. About This Book Use containers to manage, scale and orchestrate apps in your organization Transform the latest concept of Kubernetes 1.10 into examples Expert techniques for orchestrating containers effectively Who This Book Is For This book is for system administrators, developers, DevOps engineers, or any stakeholder who wants to understand how Kubernetes works using a recipe-based approach. Basic knowledge of Kubernetes and Containers is required. What You Will Learn Build your own container cluster Deploy and manage highly scalable, containerized applications with Kubernetes Build high-availability Kubernetes clusters Build a continuous delivery pipeline for your application Track metrics and logs for every container running in your cluster Streamline the way you deploy and manage your applications with large-scale container orchestration In Detail Kubernetes is an open source orchestration platform to manage containers in a cluster environment. With Kubernetes, you can configure and deploy containerized applications easily. This book gives you a quick brush up on how Kubernetes works with containers, and an overview of main Kubernetes concepts, such as Pods, Deployments, Services and etc. This book explains how to create Kubernetes clusters and run applications with proper authentication and authorization configurations. With real-world recipes, you'll learn how to create high availability Kubernetes clusters on AWS, GCP and in on-premise datacenters with proper logging and monitoring setup. You'll also learn some useful tips about how to build a continuous delivery pipeline for your application. Upon completion of this book, you will be able to use Kubernetes in production and will have a better understanding of how to manage containers using Kubernetes. Style and approach This recipe-based book will teach you how to use Kubernetes in production and will help you discover various steps involved in managing your containers using Kubernetes Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: Building Your Own Kubernetes Cluster
- Introduction
- Exploring the Kubernetes architecture
- Getting ready
- How to do it...
- Kubernetes master
- API server (kube-apiserver)
- Scheduler (kube-scheduler)
- Controller manager (kube-controller-manager)
- Command-line interface (kubectl)
- Kubernetes node
- kubelet
- Proxy (kube-proxy)
- How it works...
- etcd
- Kubernetes network
- See also
- Setting up the Kubernetes cluster on macOS by minikube
- Setting up the Kubernetes cluster on Windows by minikube
- Setting up the Kubernetes cluster on Linux via kubeadm
- Package installation
- Ubuntu
- CentOS
- System configuration prerequisites
- CentOS system settings
- Booting up the service
- Network configurations for containers
- Getting a node involved
- Setting up the Kubernetes cluster on Linux via Ansible (kubespray)
- Installing pip
- Installing Ansible
- Installing python-netaddr
- Setting up ssh public key authentication
- Maintaining the Ansible inventory
- Running the Ansible ad hoc command to test your environment
- Ansible troubleshooting
- Need to specify a sudo password
- Need to specify different ssh logon user
- Need to change ssh port
- Common ansible issue
- Running your first container in Kubernetes
- Running a HTTP server (nginx)
- Exposing the port for external access
- Stopping the application
- How it works…
- See also.
- Chapter 2: Walking through Kubernetes Concepts
- An overview of Kubernetes
- Linking Pods and containers
- Managing Pods with ReplicaSets
- Creating a ReplicaSet
- Getting the details of a ReplicaSet
- Changing the configuration of a ReplicaSet
- Deleting a ReplicaSet
- There's more...
- Deployment API
- Using kubectl set to update the container image
- Updating the YAML and using kubectl apply
- Working with Services
- Creating a Service for different resources
- Creating a Service for a Pod
- Creating a Service for a Deployment with an external IP
- Creating a Service for an Endpoint without a selector
- Creating a Service for another Service with session affinity
- Deleting a Service
- Working with volumes
- emptyDir
- hostPath
- NFS
- glusterfs
- downwardAPI
- gitRepo
- PersistentVolumes
- Using storage classes
- gcePersistentDisk
- awsElasticBlockStore
- Working with Secrets
- Creating a Secret
- Working with kubectl create command line
- From a file
- From a directory
- From a literal value
- Via configuration file
- Using Secrets in Pods
- By environment variables
- By volumes
- Deleting a Secret
- Using ConfigMaps
- Mounting Secrets and ConfigMap in the same volume
- Working with names
- Working with Namespaces
- Creating a Namespace.
- Changing the default Namespace
- Deleting a Namespace
- Creating a LimitRange
- Deleting a LimitRange
- Working with labels and selectors
- Equality-based label selector
- Set-based label selector
- Linking Service to Pods or ReplicaSets using label selectors
- Linking Deployment to ReplicaSet using the set-based selector
- Chapter 3: Playing with Containers
- Scaling your containers
- Scale up and down manually with the kubectl scale command
- Horizontal Pod Autoscaler (HPA)
- There is more…
- Updating live containers
- Deployment update strategy - rolling-update
- Rollback the update
- Deployment update strategy - recreate
- Forwarding container ports
- Container-to-container communication
- Pod-to-Pod communication
- Working with NetworkPolicy
- Pod-to-Service communication
- External-to-internal communication
- Working with Ingress
- Ensuring flexible usage of your containers
- Pod as DaemonSets
- Running a stateful Pod
- Pod recovery by DaemonSets
- Pod recovery by StatefulSet
- Submitting Jobs on Kubernetes
- Pod as a single Job
- Create a repeatable Job
- Create a parallel Job
- Schedule to run Job using CronJob
- Working with configuration files
- YAML
- JSON
- Pod
- Deployment
- Service
- Chapter 4: Building High-Availability Clusters
- Clustering etcd
- Static mechanism
- Discovery mechanism
- kubeadm
- kubespray
- Kops
- Building multiple masters
- Setting up the first master
- Setting up the other master with existing certifications
- Adding nodes in a HA cluster
- Chapter 5: Building Continuous Delivery Pipelines
- Moving monolithic to microservices
- Microservices
- Frontend WebUI
- Working with the private Docker registry
- Using Kubernetes to run a Docker registry server
- Using Amazon elastic container registry
- Using Google cloud registry
- Launching a private registry server using Kubernetes
- Creating a self-signed SSL certificate
- Creating HTTP secret
- Creating the HTTP basic authentication file
- Creating a Kubernetes secret to store security files
- Configuring a private registry to load a Kubernetes secret
- Create a repository on the AWS elastic container registry
- Determining your repository URL on Google container registry
- Push and pull an image from your private registry
- Push and pull an image from Amazon ECR
- Push and pull an image from Google cloud registry
- Using gcloud to wrap the Docker command
- Using the GCP service account to grant a long-lived credential
- Integrating with Jenkins
- Setting up a custom Jenkins image
- Setting up Kubernetes service account and ClusterRole
- Launching the Jenkins server via Kubernetes deployment
- Using Jenkins to build a Docker image
- Deploying the latest container image to Kubernetes.
- Chapter 6: Building Kubernetes on AWS
- Playing with Amazon Web Services
- Creating an IAM user
- Installing AWS CLI on macOS
- Installing AWS CLI on Windows
- Creating VPC and Subnets
- Internet gateway
- NAT-GW
- Security group
- EC2
- Setting up Kubernetes with kops
- Working with kops-built AWS cluster
- Deleting kops-built AWS cluster
- Using AWS as Kubernetes Cloud Provider
- Elastic load balancer as LoadBalancer service
- Elastic Block Store as StorageClass
- Managing Kubernetes cluster on AWS by kops
- Modifying and resizing instance groups
- Updating nodes
- Updating masters
- Upgrading a cluster
- Chapter 7: Building Kubernetes on GCP
- Playing with GCP
- Creating a GCP project
- Installing Cloud SDK
- Installing Cloud SDK on Windows
- Installing Cloud SDK on Linux and macOS
- Configuring Cloud SDK
- Creating a VPC
- Creating subnets
- Creating firewall rules
- Adding your ssh public key to GCP
- Launching VM instances
- Playing with Google Kubernetes Engine
- How to do it…
- Exploring CloudProvider on GKE
- StorageClass
- Service (LoadBalancer)
- Ingress
- There's more…
- Managing Kubernetes clusters on GKE
- Node pool
- Multi-zone and regional clusters
- Multi-zone clusters
- Regional clusters
- Cluster upgrades
- Chapter 8: Advanced Cluster Administration
- Advanced settings in kubeconfig
- How to do it.
- Setting new credentials.
- Notes:
- Previous edition published: 2016.
- Description based on print version record.
- OCLC:
- 1039687219
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.