Explain the basic knowledge and means, build an Operator from scratch using Kubebuilder

In Infrastructure Development, we can never bypass Operators in modern Kubernetes solutions.

I have been writing different operators in the past one or two months, with the purpose to reduce companies’ pressure in managing various Kubernetes and GCP resources on the GCP and to inject more automated management methods.

From the company’s perspective, the higher the automation, the lower the maintenance pressure; the stronger the scalability, and the higher the stability.

From the developers’ point of view, application developers can be more assured to focus less on infrastructure and concentrate more on business innovation. Infrastructure developers reduce toil and spare…

I am taking a break from writing recently. Not because I paused my learning and reflection, but we made a big leap-we have our own apartment 6 months from arriving in Stockholm🇸🇪.

too much research to do


Buying or Renting

Why do we want to own an apartment so soon? The idea jumped out of our minds when we asked each other the following three questions.

First, Stockholm is a fascinating city, and we would like to settle down here. Why not a space with the decorations and feeling we want?

Second, having missed the golden Bitcoin train, why not be decisive this time and have a cozy…

How I joined Spotify as an Engineer From China

From Unsplash:@rparmly, source

2020 is a magical year. With Covid-19 raging around the world, people’s work and lifestyle have changed a lot. But the opportunities still exist, and my career ushered in a tremendous change. I moved from southern China to Sweden🇸🇪 and became a software engineer at Spotify.

I have always wanted to move to Europe. I want to try to live in the beautiful European cities of the fairy tale, at least make myself enough time to travel all over the European continent.

For the pandemic, everything has changed too fast. It is four months after joining Spotify now. I finally…

OCI? CRI? What’s High-level and Low-level Container Runtime?

Keeping on learning Kubernetes piece by piece and having a deeper understanding of its advantages, I am no longer shocked at its rapid development and popularity.

Though backed by big companies like Google is undoubtedly the push, its design, features, and convenience are the biggest attraction. Most of all, it disintegrates the monolithic Internet system governance and lifecycle and offers a new management method.

Kubernetes is a set of concepts, including various resource types like Pod, Deployment, control plane, and different components like Node, APIServer, etcd, etc., which may take years to absorb them all. …

from unsplash, @jasonhogan

Last week, I was tackling a task subscribing to a PubSubTopic in our operator project, which I think is worth writing down. It gives me the same relief as reaching the top of a mountain. The bumpy path ahead, but you ride it out.

There were four “big stones” on the way, and I went on a smooth journey once I killed them. They were four “how to.”

  • How to set up the Google PubSub subscription in Go?
  • How to trigger the Kubernetes Operator after consuming the message?
  • How to write the unit test?
  • How to set the proper IAM?


Understand Events structure and walk through how they are generated

Image from Unsplash @bizarretribe

kubectl get events --namespace {name}

It is considered one of the essential CLI commands for debugging the objects in the cluster. We can usually solve the simple issues with kubectl get pod or kubectl logs pod xxx. But what if both of them are limited? Events objects are what we seek to first to race the problem.

Just like Pod, Deployment, and ConfigMap, events are also one type of resource objects of Kubernetes, not tied to Pod like logs. But why we fail to get a result when we try to find the corresponding Pod events through kubectl get events…


What’s New? Are there any interesting features?

from pexel

With Java 15 still hot and fresh, Java 16 was released on time on March 16, which is also the last minor version update before the next LTS version, Java17. Whether you are using Java11, Java11+ versions, or even Java8, it is necessary to know the new features, many of which will appear in Java17. I believe that many companies will upgrade their internal Java standard version to Java 17.


How a Bash Template Speeds Up my Work

a pizza template,add what you like

As a PaaS developer, writing shell scripts is inevitable, though I only need to write them very occasionally, once a month maybe. I can’t say it is tough but admit it is not easy. The reasons are

  • It takes your effort to adapt to the syntax since it is different from commonly used high-level languages.
  • To be proficient in writing, you need to master more built-in variables.
  • Debug is always not easy.
  • Be cautious about error control. Extra attention is required when it comes to files deletion.

Deeply addicted to Google at the beginning of my writing shell scripts, I…

Now brew upgrade golang to 1.16 is supported!


Go1.16! , by author

Last week, Go1.16 was released, bringing relatively more changes than version 1.15, which was influenced by the epidemic.

The update is in many aspects, including compilation, deployment, standard library, etc. In the official Go document, all changes are classified based on Tools, Runtime, Complier, etc.

It is undoubtedly good to dig into all the changes, but sometimes we understand them this moment and forget them the next second, not to mention truly grasping all of them. For easier memorizing, I divide the changes, I think are important to ordinary developers, into two categories.

  • Underlining Change, including all non-code-related changes.
  • Standard…

Stefanie Lai

Live in Stockholm. Love writing, interested in cooking, drawing and reading. Want to travel all around Europe with my cat.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store