CICD with Docker and Kubernetes
- Tongue
- English
- Leaves
- 92
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Table of Contents
Preface
Who Is This Book For, and What Does It Cover?
Changes in the Second Edition
How to Contact Us
About the Authors
1 Using Docker for Development and CI/CD
1.1 Benefits of Using Docker
1.1.1 Set up Development Environments in Minutes
1.1.2 Deploy Easily in the Cloud or on Premises
1.1.3 Less Risky Releases
1.2 A Roadmap to Adopting Docker
1.2.1 Choosing the First Project to Dockerize
1.2.2 Writing the First Dockerfile
1.2.3 Writing More Dockerfiles
1.2.4 Writing a Docker Compose File
1.2.5 A Standardized Development Environment
1.2.6 End-To-End Testing and QA
1.2.7 Continuous Deployment to Staging
1.2.8 Continuous Deployment to Production
1.3 Summary
2 Deploying to Kubernetes
2.1 Containers and Pods
2.2 Declarative vs Imperative Systems
2.3 Replica Sets Make Scaling Pods Easy
2.4 Deployments Drive Replica Sets
2.4.1 What Happens When You Change Configuration
2.5 Detecting Broken Deployments with Readiness Probes
2.6 Rollbacks for Quick Recovery from Bad Deploys
2.7 MaxSurge and MaxUnavailable
2.8 Quick Demo
2.9 Selectors and Labels
2.9.1 Services as Load Balancers
2.10 Advanced Kubernetes Deployment Strategies
2.10.1 Blue / Green Deployment
2.10.2 Canary Deployment
2.11 Summary
3 CI/CD Best Practices for Cloud-Native Applications
3.1 What Makes a Good CI/CD Pipeline
3.1.1 Speed
3.1.2 Reliability
3.1.3 Completeness
3.2 General Principles
3.2.1 Architect the System in a Way That Supports Iterative Releases
3.2.2 You Build It, You Run It
3.2.3 Use Ephemeral Resources
3.2.4 Automate Everything
3.3 Continuous Integration Best Practices
3.3.1 Treat Master Build as If You're Going to Make a Release at Any Time
3.3.2 Keep the Build Fast: Up to 10 Minutes
3.3.3 Build Only Once and Promote the Result Through the Pipeline
3.3.4 Run Fast and Fundamental Tests First
3.3.5 Minimize Feature Branches, Embrace Feature Flags
3.3.6 Use CI to Maintain Your Code
3.4 Continuous Delivery Best Practices
3.4.1 The CI/CD Pipeline is the Only Way to Deploy to Production
3.4.2 Developers Can Deploy to Production-Like Staging Environments at a Push of a Button
3.4.3 Always Use the Same Environment
4 Implementing a CI/CD Pipeline
4.1 Docker and Kubernetes Commands
4.1.1 Docker Commands
4.1.2 Kubectl Commands
4.2 Setting Up The Demo Project
4.2.1 Install Prerequisites
4.2.2 Download The Git Repository
4.2.3 Running The Microservice Locally
4.2.4 Reviewing Kubernetes Manifests
4.3 Overview of the CI/CD Workflow
4.3.1 CI Pipeline: Building a Docker Image and Running Tests
4.3.2 CD Pipelines: Canary and Stable Deployments
4.4 Implementing a CI/CD Pipeline With Semaphore
4.4.1 Introduction to Semaphore
4.4.2 Creating a Semaphore Account
4.4.3 Creating a Semaphore Project For The Demo Repository
4.4.4 The Semaphore Workflow Builder
4.4.5 The Continuous Integration Pipeline
4.4.6 Your First Build
4.5 Provisioning Kubernetes
4.5.1 DigitalOcean Cluster
4.5.2 Google Cloud Cluster
4.5.3 AWS Cluster
4.6 Provisioning a Database
4.6.1 DigitalOcean Database
4.6.2 Google Cloud Database
4.6.3 AWS Database
4.6.4 Creating the Database Secret on Semaphore
4.7 The Canary Pipeline
4.7.1 Creating a Promotion and Deployment Pipeline
4.8 Your First Release
4.8.1 The Stable Deployment Pipeline
4.8.2 Releasing the Canary
4.8.3 Releasing the Stable
4.8.4 The Rollback Pipeline
4.8.5 Troubleshooting and Tips
4.9 Summary
5 Final Words
5.1 Share This Book With The World
5.2 Tell Us What You Think
5.3 About Semaphore
π SIMILAR VOLUMES
Start using Kubernetes in complex big data and enterprise applications, including Docker containers. Starting with installing Kubernetes on a single node, the book introduces Kubernetes with a simple Hello example and discusses using environment variables in Kubernetes.<br />Next,<i>Kubernetes Micro
Start using Kubernetes in complex big data and enterprise applications, including Docker containers. Starting with installing Kubernetes on a single node, the book introduces Kubernetes with a simple Hello example and discusses using environment variables in Kubernetes.<br />Next,<i>Kubernetes Micro
This book on Kubernetes, a container cluster manager, discusses all aspects of using Kubernetes in today's complex big data and enterprise applications, with Docker containers. Starting with installing Kubernetes on a single node, Kubernetes Microservices with Docker introduces Kubernetes with a si
Learn how to use the power of Docker and Kubernetes to deploy your Rails applications easily and efficiently.<br /><em>Deploying Rails with Docker, Kubernetes and ECS</em>shows you how to set up the project, push it to DockerHub, manage services and set up an efficient continuous integration environ