Google Kubernetes Engine Flashcards

1
Q

Microservices

A

This is an architecture where an application is divided into a number of small tasks instead of lumped onto a single node, allowing for greater access and easier scalability.

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

How do Microservices communicate?

A

They used APIs, which allows them to be written in different programming languages. You can also use CI/CD to deliver faster funcationalities.

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

CI/CD

A

Continuous Integration and Continuous Delivery/Deployment. A methodology of streamlining software delivery.

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

Continuous Integration

A

Developers frequently submit code to a common repository where it is reviewed and tested. Once validated an automatic build is triggered.

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

Continuous Delivery

A

Allows for the automation of the release process so that software can be deployed to the target enviornment at any time

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

Continuous Deployment

A

Changes made by a developer that pass all tests are automatically deployed to the production enviornment

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

What are the advantages of containers?

A

They provide isolation between servies allowing for them to each have their own unconflicting libraries, the application’s use can be limited to each resource, they are self contained with all dependancies and don’t need an OS, and they are lightweight.

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

What types of containers does GKE support?

A

GKE primarily supports Docker. This platform creates Dockerfiles that can then be hosted in Google Container Registry and accessed from GKE clusters.

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

Kubernetes

A

Also known as K8s, an open source container orchestrator that was initially developed by Google that allows for the deployment, scaling, and management of containerized applications (both stateless and stateful).

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

Master Nodes

A

Responsible for the management of the cluster. Takes care of the desired state using YAML files on worker nodes. Runs API server, controller manager, etcd, and scheduler.

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

Worker Nodes

A

Host the workloads which are pods. Managed by the master node and runs kublet, kube proxy, and container runtime (aka Dockerfiles)

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

Pods

A

The smallest unit and can contain one or more containers. Each one has a unique IP address that is shared between the contents. They are created when called upon (ephemeral).

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

Kubernetes Objects

A

Records of intent defined in YAML files that are declarative and determine the state of the pods, ReplicaSets, Replication controllers, deployments, and namespaces.

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

What data do Kubernetes objects need?

A

apiVersion (the version of the Kubernetes API being used), kind (the kind of object to be created), metadata (data that helps uniquely identify the object, such as name), spec (the specification of the object, which is dependant on type)

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

ReplicaSets

A

Used to manage the number of pods that are running at any given time by monitoring how many pods are running and deploying new ones as needed. Defined under the replicas parameter.

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

Deployments

A

Used to deploy, update, and control pods, creating ReplicaSets without the need to define them seperately. Support both Canary and Blue/Green deployment.

17
Q

Canary Deployment

A

Deploy a new app version to a subset of users and when that version is working properly, deploy to all.

18
Q

Blue/Green Deployment

A

Use two enviornments with only one active at a time. After updating inactive one to new version and testing traffic is switched to make it the active one.

19
Q

NameSpaces

A

Virtual clusters with a Kubernetes cluster, used to allow the recycling of the names of resources. Names only have to be unique within the namespace but not within the cluster. They can be isolated from each other using network policies.

20
Q

Services

A

Used to group Pods into a single endpoint. Has a stable IP address, so requests can be sent to it and then forwarded to a pod. Types include Cluster IP, NodePort, Load Balancer, ExternalName and Ingress.

21
Q

ClusterIP Service

A

Default service that uses internal ClusterIP to expose Pods, meaning services aren’t available outside of cluster. Used for internal communication between microservices within a cluster.

22
Q

NodePort Service

A

Exposes each node outside of the cluster. The pods can then be accessed using :. If there are multiple IP addresses with the same port, they will all be exposed.

23
Q

LoadBalancer Service

A

Dynamically creates a provider load balancer. In the case of GCP, a network load balancer is created for you. It does use objects outside of Kubernetes and generates additional costs.

24
Q

ExternalName Serivce

A

Service is exposed using a DNS name specified in the External Name spec.

25
Q

Ingress Service

A

Object that allows the routing of HTTP(S) traffic according to defined rules/paths. Can be associated with one or more service objects.

26
Q

How many master nodes are deployed in a zonal GKE Cluster?

A

One

27
Q

How many master nodes are deployed in a regional GKE Cluster?

A

Three. Recommended for upgrading the management plane to experince zero downtime.

28
Q

Node Pools

A

Groups worker nodes with the same configuration. Multiple node pools are used for groups with specific characteristics such as local SSDs, minimum CPU, a specific node image, or a preemptible instance.

29
Q

Node Taints

A

Schedule your workload on a particular node pool

30
Q

Container-Optimized OS

A

Default OS that your Kubernetes engine uses

31
Q

Google’s Container Optimized OS

A

a locked down version of Chromium OS which runs containerized operations. Images are maintained and updated by Google. Not good for running non containerized applications or when you need enterprise support from Linux.

32
Q

GKE Storage Suggestions

A

Persistent storage in GKE is easiest when using GCP services such as Cloud SQL, Datastore, or Cloud Storage. Expose storage directly to your pods using volumes that are backed by ephemeral or durable storage.

33
Q

Cloud Build

A

A Cloud Build was the original container builder that was intially used with the intention of turning it into a CI/CD service. It runs one or more build steps to produce artifacts, using steps defined by YAML configuration profiles usually triggered by a code repository.