[DevOps] Orchestration With Kubernetes

We’ll cover topics including:

  • Why Orchestration?
  • Kubernetes Fundamentals
  • Kubernetes on AWS
  • Using a Kubernetes Cluster
  • Other Deployment Strategies

Why Orchestration?

Mainly it helps to handle complicated workflows

  • Deploy code
  • Recover from failure
  • Scale 

We focus on continuesly deployment. 

The tools such as Jenkins / Travis can help to build docker image (CI), Kbuernates can helps to orchestrate our CD process to complete our software developement life-cycle.

Kubernetes Fundamentals

  • A container orchestration system packed with features for automating our application’s deployment
  • Enables us to easily scale our application and ship new code
  • Automate scheduling
  • Recover from Failure
  • Automate releases
  • Handle Scaling

K8s for Automated code Rollout

  • Detect the latest code
  • Launch into containers

Pods

  • Containers often need to communicate with one another. It's not uncommon to see a deployment involving a few containers to be deployed.
  • Kubernetes pods are abstractions of multiple containers and are also ephemeral.

Services

  • Applications are often deployed with multiple replicas. This helps with load balancing and horizontal scaling.

  • Services are an abstraction of a set of pods to expose them through a network.

What's the purpose of wrapping pods as a service?

A: User shouldn't care when pods are destroyed. Pods are ephemeral and expected to be terminated. Services persist and are the abstraction that exposes the pods. 

New Terms

TermDescription
Horizontal Scaling Handling increased traffic by creating additional replicas so that traffic can be divided across the replicas
Kubernetes Service An abstraction of a set of pods and interface for how to interact with the pods
Pods A set of containers that are deployed together
Load Balancing Handling traffic by distributing it across different endpoints
Replica A redundant copy of a resource often used for backups or load balancing
Consumer An external entity such as a user or program that interfaces with an application
原文地址:https://www.cnblogs.com/Answer1215/p/14611350.html