Kubernetes on AWS: Deploy and manage production-ready Kubernetes clusters on AWS 1788390075, 9781788390071

Learn to implement container orchestration on AWS with ease Key Features Leverage the power of Kubernetes on AWS to depl

2,334 180 4MB

English Pages 270 Year 2018

Report DMCA / Copyright

DOWNLOAD FILE

Kubernetes on AWS: Deploy and manage production-ready Kubernetes clusters on AWS
 1788390075, 9781788390071

Table of contents :
Cover
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Table of Contents
Preface
Chapter 1: Google's Infrastructure for the Rest of Us
Why do I need a Kubernetes cluster?
The roots of containers
Enter the container
Cgroups
Namespaces
Putting the pieces together
Here, schedule this...
The basics of Kubernetes
The pod
Labeling all the things
Replica sets
Services
Under the hood
API server
Controller manager
Scheduler
Kubelet
Summary
Chapter 2: Start Your Engines
Your own Kubernetes
Installation
macOS
Linux
Windows
Starting Minikube
First steps with kubectl
Building Docker containers inside the cluster
Building and launching a simple application on Minikube
What just happened?
Rolling out changes
Resilience and scaling
Using the dashboard
Configuration as code
Troubleshooting Minikube
Summary
Chapter 3: Reach for the Cloud
Cluster architecture
Creating an AWS account
Creating an IAM user
Getting the CLI
Setting up a key pair
Preparing the network
Setting up a bastion
sshuttle
Instance profiles
Kubernetes software
Docker
Installing Kubeadm
Building an AMI
Bootstrapping the cluster
What just happened?
Access the API from your workstation
Setting up pod networking
Launching worker nodes
Demo time
Summary
Chapter 4: Managing Change in Your Applications
Running pods directly
Jobs
CronJob
Cron syntax
Concurrency policy
History limits
Managing long running processes with deployments
kubectl patch
kubectl edit
kubectl apply
Kubernetes dashboard
Greater control of your deployments
RollingUpdate deployment
Recreate deployment
DaemonSet
Summary
Chapter 5: Managing Complex Applications with Helm
Installing Helm
macOS
Linux and Windows
Installing Tiller
Installing a chart
Configuring a chart
Creating your own charts
Chart.yaml
values.yaml
templates
Making it your own
Developing and debugging
Templating language
Functions
Flow control
Hooks
Packaging Helm charts
You can test building an index
Using your repository
Organizational patterns for Helm
Chart per application
Shared charts
Library charts
Next steps
Chapter 6: Planning for Production
The design process
Initial planning
Planning for success
Planning for a successful roll out
Discovering requirements
Availability
Capacity
EC2 instance types
EC2 instance types
Breadth versus depth
Performance
Disk performance
gp2
io2
st1
sc1
Networking
Security
Always be updating
In-place updates
Immutable images
Network security
Infra-node networking
Node-master networking
External networking
Kubernetes infra-pod networking
IAM roles
Validation
Observability
Logging
Monitoring
Blackbox monitoring
Alerting
Tracing
Summary
Chapter 7: A Production-Ready Cluster
Building a cluster
Getting started with Terraform
Variables
Networking
Plan and apply
Control Plane
Preparing node images
Installing Packer
Packer configuration
Node group
Provisioning add-ons
Managing change
Summary
Chapter 8: Sorry My App Ate the Cluster
Resource requests and limits
Resource units
How pods with resource limits are managed
Quality of Service (QoS)
Resource quotas
Default limits
Horizontal Pod Autoscaling
Deploying the metrics server
Verifying the metrics server and troubleshooting
Autoscaling pods based on CPU usage
Autoscaling pods based on other metrics
Autoscaling the cluster
Deploying the cluster autoscaler
Summary
Chapter 9: Storing State
Volumes
EBS volumes
Persistent volumes
Persistent volumes example
Storage classes
StatefulSet
Summary
Further reading
Chapter 10: Managing Container Images
Pushing Docker images to ECR
Creating a repository
Pushing and pulling images from your workstation
Setting up privileges for pushing images
Use images stored on ECR in Kubernetes
Tagging images
Version Control System (VCS) references
Semantic versions
Upstream version numbers
Labelling images
Summary
Other Books You May Enjoy
Index

Polecaj historie