Concepts Flashcards

1
Q

What is a container?

A

A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.

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

What are some benefits of containers?

A
  • Software will always run the same, regardless of the environment.
  • Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do containers and virtual machines behave differently?

A

Have similar resource allocation and isolation benefits but containers virtualize OS rather than hardware.

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

Can multiple containers run on the same machine and how?

A

Yes. They share the OS kernel with other containers each running isolated processes in user space.

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

Whats the space benefit when compared to VMs?

A

Containers take up less space than VMs and start almost instantly. Container images are typically tens of MBs in size whereas VMs takes up tens of GBs.

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

How does VMs work basically?

A

They virtualize physical hardware. Hypervisor allows multiple Vms on a single machine. Each VM includes a full copy of an OS, on or more apps, necessary bins etc.

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

What is a hypervisor basically?

A

A hypervisor or virtual machine monitor (VMM) is computer software, firmware, or hardware, that creates and runs virtual machines.

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

Can VMs and containers run together?

A

Yes they can.

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

What is Containerd?

A

It is an industry standart container runtime. Available as a daemon for both for Linux and Windows. It manages the complete container lifecycle of its host system, image transfer and storage, container execution and supervision, low-level storage and network attachments.

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

What is runC?

A

Its the runtime code for Docker. Docker engine is built on runC and Containerd.

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

What are the basic similarities between containers and VMs?

A

Both are designed to provide an isolated environment in which to run an application.
In both the env. is represented as a binary artifact that can be moved between hosts.

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

ClusterIP vs NodePort ?

A

<b>ClusterIP:</b> Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster. This is the default ServiceType.

<b>NodePort:</b> Exposes the service on each Node’s IP at a static port (the NodePort). A ClusterIP service, to which the NodePort service will route, is automatically created. You’ll be able to contact the NodePort service, from outside the cluster, by requesting :

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

ReplicaSet ?

A

A ReplicaSet ensures that a specified number of pod replicas are running at any given time. However, a Deployment is a higher-level concept that manages ReplicaSets and provides declarative updates to pods along with a lot of other useful features. Therefore, we recommend using Deployments instead of directly using ReplicaSets, unless you require custom update orchestration or don’t require updates at all.

This actually means that you may never need to manipulate ReplicaSet objects: use a Deployment instead, and define your application in the spec section.

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

Service

A

Service: An API object that describes how to <b>access </b> applications, such as a set of Pods , and can describe ports and load-balancers. [-]
The access point can be internal or external to the cluster.

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

.jar and -cp

A

A JAR (Java ARchive) is a package file format typically used to aggregate many Java class files and associated metadata and resources (text, images, etc.) into one file for distribution

-cp is for classpath

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

Kubernetes (K8S)

A

Kubernetes, also sometimes called K8S (K – eight characters – S), is an open source orchestration framework for containerized applications that was born from the Google data centers

17
Q

Pod

A

The smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster.

18
Q

Volume

A

A directory containing data, accessible to the containers in a pod . [-]
A Kubernetes volume lives as long as the pod that encloses it. Consequently, a volume outlives any containers that run within the pod , and data is preserved across container restarts.