Week 24 - Issue #83
Daily.dev is a top news resource for programmers with 150k+ active developers. It was created as a side project but quickly gained traction due to the organic community that developed around it. The company is devoted to helping developers grow professionally and providing quality information.
Controller: A single reconcile loop (such as the ReplicaSet controller)
-Manager/Operator: A component that runs one or more controllers, like the Kube-controller-manager
-Custom Resource: an instance of a Kubernetes type defined by using Custom Resource Definitions. A custom resource is formed by metadata, spec, and status.
-Owner: Controller responsible for driving a custom resource from the observed state to the desired state. (Such as ReplicaSetController owns the ReplicaSet resources.)
-Watch: Action of a controller that looks
Pascal Zwikirsch created a GitHub repository detailing using Kaniko on Cloud Build to cache multi-stage Docker images. He walks us through the file structure and commands needed to get this up and to run. You can check out the repo here.
Kubernetes is a container orchestration framework that helps manage the lifecycle of containerized applications. It comprises a Master node that manages a group of worker nodes. A typical application has a web server with a backend service to persist data. To deploy an application on Kubernetes, you need to create a Dockerfile, set up a Cloud SQL instance, create a Google Cloud Storage bucket, and create a ConfigMap and Secret on your local minikube cluster. Finally, you can deploy your application using a Deployment and Service.
There are many ways to run containers on the cloud, so it's especially tough to pick the right abstraction at the right time. Early-stage startups shouldn't run on Kubernetes yet, but eventually, growth-stage and large companies should be running on it in some form. A guide to choosing the right container abstractions is broken down by engineering teams 1e0, 1e1, and 1e2+ engineers. Of course, for any team building anything other than a simple web service, you'll run into a wall quickly with those services.