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…


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…

Why does our code need to run async and how can you achieve it?

Stockholm in Jan. 2021, by author

Being a developer for over a decade and working with Java most of the time, I struggled for quite a long time to adapt to Spotify’s code convention, which is as below.

image from @Johnschno, unsplash

With English being our primary working language, I urgently need to improve my English skills, especially in writing, for e-mail is our main communication method when working from home.

Luckily, many of my colleagues write excellent e-mails. And concluding, digesting and absorbing the essence is a perfect way of advancing. I hope to successfully jump out of my Chinese thinking mode and writing habit that has been with me for almost 30 years, though a big challenge.

So let’s start with concluding. A good e-mail must be correct, concise, and decent.

Correctness is the priority. By using accurate words and…

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