Kubernetes Cookbook
Practical solutions to container orchestration, 2nd Edition
Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu
- 554 páginas
- English
- ePUB (apto para móviles)
- Disponible en iOS y Android
Kubernetes Cookbook
Practical solutions to container orchestration, 2nd Edition
Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu
Información del libro
Learn how to automate and manage your containers and reduce the overall operation burden on your system.
Key Features
- 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
Book Description
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.
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
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.
Preguntas frecuentes
Información
Walking through Kubernetes Concepts
- Linking Pods and containers
- Managing Pods with ReplicaSets
- Deployment API
- Working with Services
- Working with Volumes
- Working with Secrets
- Working with names
- Working with Namespaces
- Working with labels and selectors
Introduction
An overview of Kubernetes
$ kubectl version --short
Client Version: v1.10.2
Server Version: v1.10.2
kubectl [command] [TYPE] [NAME] [flags]
- command: Specifies the operation that you want to perform on one or more resources.
- TYPE: Specifies the resource type. Resource types are case-sensitive and you can specify the singular, plural, or abbreviated forms.
- NAME: Specifies the name of the resource. Names are case-sensitive. If the name is omitted, details for all resources are displayed.
- flags: Specifies optional flags.
- Use the run command:
$ kubectl run my-first-nginx --image=nginx "my-first-nginx"
- Use the create -f command with the YAML file:
$ cat nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-first-nginx
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
//specify -f (filename)
$ kubectl create -f nginx.yaml
deployment.apps "my-first-nginx" created
- If you want to see the status of the Deployment, type the kubectl get command as follows:
$ kubectl get deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
my-first-nginx 1 1 1 1 4s
- If you also want the support abbreviation, type the following:
$ kubectl get deploy
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
my-first-nginx 1 1 1 1 38s
- If you want to delete these resources, type the kubectl delete command as follows:
$ kubectl delete deploy my-first-nginx
deployment.extensions "my-first-nginx" deleted
- The kubectl command supports many kinds of sub-commands; use the -h option to see the details, for example:
//display whole sub command options
$ kubectl -h
//display sub command "get" options
$ kubectl get -h
//display sub command "run" options
$ kubectl run -h
- Setting up a Kubernetes cluster on macOS using minikube and Set up a Kubernetes cluster on Windows using minikube in Chapter 1, Building Your Own Kubernetes Cluster
- Setting up a Kubernetes cluster on Linux using kubeadm in Chapter 1, Building Your Own Kubernetes Cluster
- Setting up a Kubernetes cluster on Linux using kubespray (Ansible) in Chapter 1, Building Your Own Kubernetes Cluster
Linking Pods and containers
- The process ID (PID) namespace
- The network namespace
- The interprocess communication (IPC) namespace
- The unix time sharing (UTS) namespace