What is Kubernetes Engine?
It is GCP’s managed Kubernetes service.
What are some key points of Kubernetes Engine?
What is a container?
Highly-portable, light weight way of distributing and scaling apps and workloads without replicating the quest OS. It starts and stops more quickly and uses less resources (than a VM?)
What are some key points of Kubernetes Engine Cluster Architecture?
What does cluster master manage and how can users issue commands to it?
Users can issue commands via kubectl command
What is a node and what are some key points?
List 6 Kubernetes objects
What is a pod and what are some key points?
A pod is a single instance of a running process in a cluster
What are services (Kubernetes Engine)?
A service provides API end points with a stable IP address and allows applications to discover pods running a particular application. Services update when changes are made to a pod, in order to maintain an up to date list of pods running an application. Services that depend on pods should not be tightly coupled to particular pods.
Why should services that depend on pods not be tightly coupled to particular pods?
Pods are ephemeral and their IP may change
What is a Replica Set?
A controller used by deployment to ensure the correct number of identical pods is running. If a pod is unhealthy, it will be terminated. If not enough pods are running, one will be created.
What is a Deployment (Kubernetes Engine)?
A deployment is set of identical pods that are created using a pod template. A pod template is a definition of how to run a pod. The description of how to define the pod is a pod specification. Kubernetes uses this definition to keep the pod in the state defined by the template (e.g add pods to ensure a minimum set in the template)
What states can a Kubernetes Deployment be in?
What is a Stateful Set (Kubernetes Engine)?
Most deployments are stateless. Stateful sets are like deployments, but a unique id is assigned to the pods. This allows Kubernetes to track which pod is used by which client, It is used when an application needs a unique network identifier or stable persistent storage
What is a Job (Kubernetes Engine)?
A job is an abstraction about a workload. Jobs create pods and run them until the application completes a workload. Job Specs are in a config file and include specs about the container to use and the command to run.
What is Kubernetes engine good for?
What are key points of Container Orchestration?
Compare Kubernetes Engine and Compute Engine.
How do you deploy a Kubernetes Cluster? (console and shell)
Create a cluster under KE -> Clusters : select zone/region/ machine template/ number node pools. KE runs a number of workloads to manage the cluster. You can view them in the workloads page
gcloud container clusters create [NAME]
Parameters include project, zone, machine type, image disk type, disk size, number of nodes
Command to create a cluster can be very long. It’s better to select a template from the console and it will give you the necessary command
How do you deploy an Application Pod ? (console and shell)
From Cluster page of KE, select Create a Deployment. Specify container image, environment variables, initial command, application name, labels, namespace and cluster to deploy to.
Once deployed you can display the corresponding YAML specification of the deployment which can be saved and used to create deployments from the command line.
kubectl run [DEPLOMENT NAME] –image=[DOCKER IMAGE NAME] –port=[PORT]