Test Flashcards

1
Q

What are containers

A

Containers are just a way of isolating running processes or code

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

Containers provide a way to ?

A
  1. Package applications and dependencies
  2. guarantee portability and consistency
  3. Keep an application isolated
  4. Take advantage of the isolation offer by a VM without
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Types of containers

A
  1. Bare metal or single host
    • Organization used to deploy multiple applications onto the same server using package managers
  2. Bare metal/single host deployment downside
    • Quickly gets messy
    • Relies on OPS team to validate changes “Don’t touch this server”
    • Can create conflicts between application dependencies
    • Hard to isolate issues
    • Hard to scale or migrate applications
    • Inter-app communication hard to debug
  3. Virtual Machines
    • Used virtualisation to isolate each application in its own VM, improving order and repeatability
    • VM being full operating systems, each image still takes up considerable resources and takes awhile to boot and start services, and still didn’t provide on-demand scaling or immediate healing
  4. Containers
    - Application image is now only as big as our application and its dependencies. Easier to store, share, and deploy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a docker?

A
  • Docker is a opensource platform tool designed to manage the containers, which allow us to build the application in a container with required libraries, binaries, dependencies to run the application, ship the container and run anywhere
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why do we use docker?

A
  1. Portability
  2. Light Weight
  3. Fast Delivery and Scalable
  4. Continuous Deployment and Testing
  5. Ability to run multiple isolated OS on single host
  6. Resource Optimisation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Docker Architecture three main components

A
  1. Docker Client
  2. Docker Host (Docker Engine)
  3. Docker Registry
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a docker client?

A

Docker client is used to manage the docker components such as containers, images, networks, storage volumes by giving the specific instructions to perform some operations like build, pull, create, run, delete, stop, restart,.

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

What is a docker host

A

Docker Host is the server where the Docker Daemon is running and it manages the docker containers and other resource. It listens and accepts the requests from Docker Client

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

What is a docker registry?

A

Docker registry or Docker Hub is a repository to manage the Docker Images. So this will allow us to push or pull the Docker Images which means you can download or upload the images

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

What is docker images?

A

Docker images are a just templates, it is very similar to snapshot image

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

What is a docker container?

A

Docker Containers are actually a executable run-time light weight operating system

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

What is a docker network?

A
  • Bridge
  • Host
  • None
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a docker storage?

A

Any data written to the docker container will not be available when docker container is removed. So we must use a docker storage to have the data permanently if need

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

Types of docker storage?

A
  • Volumes
  • Bind Mounts
  • Tmpfs mounts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a container orchestration ?

A

Container orchestration automates the deployment, management, scaling and networking of containers

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

How can container orchestration can be used?

A

Container orchestration can be used in any environment where you use containers. It can help you to deploy the same application across different environments without needing to redesign it.

17
Q

What is container orchestration used for?

A
  • Provisioning and deployment
  • Configuration and scheduling
  • Resource allocation
  • Container availability
  • Scaling or removing containers based on balancing workload across you infrastructure
  • Load Balancing and traffic routing
  • Monitoring container health
  • Configuring applications based on the container in which they will run
  • Keeping interactions between containers secure
18
Q

What is a container orchestration tool?

A

Container orchestration tools provide a framework for managing container and micro-services architecture at scale

19
Q

What is kubernetes?

A

Kubernates is an open source container orchestration tools

20
Q

What are the main components of kubernetes?

A

Cluster: A control plane and one or more compute machines, or nodes
Control Plane: The collection of processes that control Kubernetes nodes. This is where all task assignments originates

Kublet: This service run on nodes and reads the container manifest and ensures the defined containers are started and running

Pod: A group of one or more containers deployed to a single node. All containers in a pod share and IP Address, IPC, Hostname, and other resources

21
Q

Benefits of using container?

A
  • Velocity
  • Immutability
  • Declarative Configuration
  • Self Healing Systems
  • Scaling Services
  • Decoupling
  • Scaling Applications and Clusters
  • Building decoupled micro service architectures
  • Separation of concerns
  • Abstraction or infrastructure
  • Efficiency
22
Q

Define what is kubernetes?

A

Kubernetes is an orchestration engine and open-source platform for managing containerised application workloads and services that facilitates both declarative configurations and automation

23
Q

Advantages of kubernetes

A
  • Kubernetes can speed up the development process by making easy automated deployment updates and by managing our apps and services with zero downtime
  • It also provides self healing. Kubernetes can detect and restart service when process crashes inside the container
  • It can be used to scale containerised applications and their resources on the fly
24
Q

What is in a kubernetes dashboard

A

Web UI
- Dashboard is a web-based Kubernetes user interface
Kubectl
Kubectl is a command line configuration tool (CLI) for Kubernetes used to interact with master node of Kubernetes

Worker Nodes
Worker Node ar the nodes where the application actually running in kubernetes clusters its also known as minions

Kubelet
Kubelet is the primary node agent runs on each nodes and reads the container manifest which ensures that containers are running and healthy

25
Q

Deployment for kubernetes

A

Pods
- A group of one or more containers deployed to a single node
Deployment
- A deployment is a blueprint for the Pods to be created
Service
- A service is responsible for making our Pods discoverable inside the network or exposing them to the internet

26
Q

What is the Overview of configuration management

A

Configuration management tools help range infrastructure at scale

  1. Updating packages on thousands of virtual machines
  2. Changing configuration files on hundreds of servers
  3. Orchestrating a workflow such as the deployment of a new application to production across different data centers
  4. Running multiple CLI commands on dozen of servers to retrieve operational data