L8 - Platform as a Service (PaaS) - Kubernetes 1/2 Flashcards

1
Q

container orchestration

A

The management and deployment of multiple containers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

container execution platform services

A
  • container placement
  • resource and usage monitoring
  • health checks
  • container scaling
  • access to services
  • networking of containers
  • persistent storage management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

container placement

A

selects a specific host for a specific container or a set of containers using different rules

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

access to services in container execution platform services

A
  • IP management and load balancing (LB)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does networking of containers refer to?

A
  • efficient implementation of microservices communication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Examples of container orchestration tools

A

AWS container service (Amazon ECS)
Azure Container Service
Docker SWARM
MESOS
kubernetes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Kubernetes?

A
  • OS for deploying cloud-native applications
  • a cluster for running applications
  • an orchestration of cloud cloud-native microservices apps
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Key features of Kubernetes

A
  • automated deployment and replication of containers
  • online scale-out and scale-in of container clusters
  • LB over groups of containers
  • rolling upgrades of application containers
  • automated rescheduling of failed containers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a cloud-native application?

A

Software architecture that solves business problems that can typically only be achieved at the scale of cloud computing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cloud Native Maturity Model

A
  1. Cloud Native Services
  2. Application Design
  3. Automation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cloud Native Services

A
  • storage, compute
  • databases, analytics
  • container service, FaaS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Application Design

A
  • general guidelines for scalable, robust cloud applications
  • microservices: considered to be most mature cloud application model
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Automation in Cloud Native Maturity Model

A
  • deployment, monitoring, predictive analytics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

The Twelve Factors of (Cloud Native Services?)

A
  1. Codebase (one codebase tracked revision control)
  2. Dependencies (declare and isolate dependencies)
  3. Config (store config in the environment)
  4. Backing services (treat backing services)
  5. Build, release, run (separate build and run stages)
  6. Processes (execute the app as one or more stateless processes)
  7. Port binding (export services via port binding)
  8. Concurrency (scale out via process model)
  9. Disposability (fast startup and graceful shutdown)
  10. Dev/prod parity (keep development, staging and production as similar as possible)
  11. Logs (treat logs as event streams)
  12. Admin processes (run admin tasks as one-off processes)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a cluster?

A
  • consists of a bunch of nodes and a control plane
  • control-plane provides API, scheduler to assign work to nodes, and persistent storage for the cluster state
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is orchestration?

A

Services to run and coordinate microservices applications

17
Q

How to run a microservices application?

A
  1. Write microservices
  2. Package each service in a container
  3. Wrap each container in its own Pod
  4. Deploy pods to the cluster via workload resources that configure controllers: Deployments, DaemonSets, StatefulSets, CronJobs
18
Q

Does K8s support different container runtimes?

A

Yes. Different nodes of a cluster can have a different container runtime

19
Q

What is the CRI?

A

Container Runtime Interface, which is an abstraction layer for 3rd party container runtimes

internet:
The Container Runtime Interface (CRI) is an API that allows a container orchestration system, such as Kubernetes, to communicate with the container runtime, such as Docker or containerd, on a host machine.

20
Q

What is Declarative Management in K8s?

A

Here applications are managed declaratively
- you describe how the application should run in YAML files
- POST the descriptions to K8s
- follow how Kubernetes manages the application to match the descriptions

21
Q

Advantages of declarative management in K8s

A
  • the implementation is entirely on K8s
  • it oversees the applications during runtime to always match the requiremens
22
Q

What is REST?

A

Representational State Transfer (REST) is a software architecture that imposes conditions on how an API should work

23
Q

3 Master Node Components

A
  1. Kube-API server
  2. Cluster store
  3. Controller manager
24
Q

Kube-API Server

A
  • provides REST interface for K8s control plane and datastore.
  • acts as the gatekeeper to the cluster by handling authentication and authorization
  • all clients and other apps interact with K8s through API server
25
Q

What is cluster store?

A
  • etcd (distributed key-value store) is currently K8sā€™ backing store. All data cluster data is stored here
  • prefers consistency over availability ā€“> If etcd is unavailable the applications can continue but not be updated
26
Q

Controller manager in master node

A
  • controls independent control loops (for nodes, endpoints, replicasets)
  • obtains desired state, observes current state, determines differences, reconciles differences
27
Q

What does the Kube-scheduler do?

A

Selects a node for newly created pods to run on

  1. Determines nodes that are capable of running the pod
  2. Ranks the capable nodes depending on (resources available, # pods running)
28
Q

Node Components

A
29
Q

WHAT IS Kubelet

A
  • the node-level manager in K8s
  • manages the lifecycle of every pod
  • receives new pod assignments from API-server
30
Q

What is Container Runtime?

A
  • performs container-related tasks like pulling images, starting, stopping
  • is a plugin model called the Container Runtime Interface (CRI)
    Example: cri-containerd (CNCF)