2023 Week 24/27: Long Live With Apple
Contents
Overview
This is the weekly recap post spans from May 21 to June 16, 2023.
This post might be longer than usual, because I do NOT spend much time on preparing language tests. š¤” Instead, I spent lots of time on social activities and playing video games. š
So there are lots of things to write down.
Actually, I’m almost exhausted just listing these things on titles. šµ
Here we go.
Professional Stuff
New Idea: Cloudflare Tunnel Ingress Controller
TLDR; I build a Kubernetes Ingress Controller which could expose the Kubernetes Ingress to the Internet,
- easily, quickly, and securely
- without requiring a public IP address
- without maintaining any Tunnel / Jump Server (like frpc, zerotier, tailscale)
I have a homelab, which contains 4 x86/arm computing devices and 1 storage device. And I use Kubernetes for manage and orchestrate workloads.
The networking model in Kubernetes is complex, there are several different kind of networks:
- Host Networking, the real network for the Control Plane host or Worker host
- Pod Networking, the virtual/real network for Pods, usually a virtual overlay networking, which only accessible on Layer 3 (IP Layer)
- Service Networking, the virtual network for Services, usually virtual IP addresses, and bunch of iptables / ipvs rules.
For exposing a workload running in Kubernetes to the Internet, a system administrator need to understand all these networking, and all of them must be configured correctly.
I used to use:
- Cilium CNI as Pod Networking
- MetalLB as Service LoadBalancer
- Nginx Ingress / Traefik Ingress as Ingress Controller
Then I have DNS records like:
|
|
So I could use any of these IP addresses to expose a HTTP service locally, like this:
|
|
And I use Cloudflare Tunnel to expose these service to the Internet.
With this solution, I need to manually configure the Cloudflare Tunnel for each domain, and the ingress layer (traefik ingress) is actually not needed.
I imagine that maybe I could use cloudflared as a Ingress Controller directly, and I found that:
cloudflare/cloudflare-ingress-controller
It’s the official Cloudflare Ingress Controller, but it is not maintained for a long time, and it’s not working with the latest version of Kubernetes.
So I built the successor of it:
STRRL/cloudflare-tunnel-ingress-controller
I have used it to expose my several services to the Internet, and it works well for a while. Great!
Package on AUR: larksuite-bin
For some reason, I need to use Lark Suite, which is a International version of Feishu. I installed the latest feishu-bin
from AUR, but Feishu noticed me that I can NOT use Feishu as Lark. Then I noticed the larksuite-bin
on AUR has been marked as outdated.
Fortunately, I did explore the feishu-bin
package before, I think I could package a new version for larksuite-bin
.
Actually, the maintainer of
feishu-bin
on AUR is an ex-colleague of mine, also an old friend from Hangzhou Linux User Group. š
Then I sent a email to the current maintainer of larksuite-bin
on AUR, for asking me as the co-maintainer:
So the final result is I became the maintainer of larksuite-bin
on AUR now, and I upgraded the package to the latest version.
å¹“č½»äŗŗēē¬¬äøꬔę“ę° AUR ( pic.twitter.com/hZJZiYRRHt
— STRRL.gpt (@strrlthedev) June 15, 2023
Great!
Summer OSPP Hangzhou
I attended the Summer OSPP Hangzhou, and giving a lighting speech:
Slides: https://docs.google.com/presentation/d/1PUwXGVGcI6Ibk_FcFBqwFYnMfcAxNYX3QT_IyxsGtFQ/edit?usp=sharing
Chaos Mesh on KubeCon China 2023
KubeCon finally come back to China, the previous one was still held before the COVID-19 pandemic.
I have applied for a offline booth for Chaos Mesh, as the benefit of being a CNCF Incubating project.
So, I will be there, welcome to visit our booth, and talk with us!
Onboarding WebP Cloud Service
Nova asked me to try his new service, which is a WebP Cloud Service.
This site has been configured with that service, and it really reduces the size of images, and speeds up the loading.
I have posted another article about this service, take a look if you are interested:
http://strrl.dev/post/2023/speed-up-image-loading-with-webp.se/
Personal Stuff
Apple WWDC
There are soo many new software features announced on WWDC, and I am so excited about them:
- NameDrop, it’s so cool to exchange the contact, but it’s not available in current beta version.
- Offline Map, it’s useful, but it’s not available in China.
- CheckIn in Message app, it’s also an amazing feature, I always share my location and direction to my girlfriend, and check-in would enhance it. But it’s also not available in China now.
- Mental Health! I have used it for several days, as the objective reflection of my mood.
- Journal! I want the Journal App so much! The AI generated daily summary is so cool! It would be reflection and summary for my life!
I am thinking about buying iWatch instead of my current Samsung Watch, and fully use the Apple Ecosystem.
I researched / explored lots of solutions and methodologies to make me happy and improve the productivity, and I think Apple Ecosystem would help me to achieve them.
Meet with Friends
š
š is a young but professional front-end developer. We have 3 meals together, and talked a lot about the engineering, technology, and life.
I am so impressive about his passion about the engineering, I have saw the bright future of him.
Teacher š
We came to a Piano Cafe one day afternoon, and played a KAWAI Grand Piano. (Or Steinway? I did not remember.)
š
— STRRL.gpt (@strrlthedev) June 14, 2023
š„
ę¢ å¼äŗåŗ¦ https://t.co/Kiut08542x pic.twitter.com/9JRaxJeT2o
The key of Grand Piano is even much lighter than my digital piano, YAMAHA P115.
I took some sheet books for some Game Original Soundtrack, like NieR and Monster Hunter. Teacher š played them as sight-reading, that’s so impressive!
TualatriX
TualatriX is a professional iOS developer and also a freelancer, we are both villagers in Liangzhu Culture Village.
The first time we meet each other was introduced by Lakr. We have a lunch together, and we talked and coded at the Starbucks for a whole afternoon.
ä»å¤©č®¤čÆäŗå äøŖę°ęåļ¼å¤§å®¶äøčµ·å é¢äŗęéēęå·“å ē大ę”ļ¼č¾¹ęå¤Ŗé³ćč¾¹č天ćč¾¹å代ē ļ¼å¾å¼åæć
— å¾ęé¼ (@tualatrix) May 23, 2023
åęę¶å¤©ē©ŗä¹éåøøē¾ć pic.twitter.com/Ge2yyx1aEt
He also taught me some SwiftUI stuff, and I am so impressive about that, the declarative way to build the UI!
pseudoyu
We came to the Rokid company’s activity, which is watching WWDC 2023 together. We tried the unreleased AR devices, it’s not kind of great experience, but it’s still cool.
ä¹ čæēę¶å°ē„ē§čē³ēēę„ä»Ŗå¼ęļ¼å @strrlthedev å„å„åå ēŗæäøę“»åØćå°é² AR ē¼éåé²čäøęļ¼čæč¢«ä»č¶ åø ēåé³ēč½¦éå家ļ¼åčäŗå „ēę„ē¬¬äøē§ęÆåé³éŖęčæēļ¼ļ¼ē»äŗč§å°äŗå¶åå¼åč @tualatrixļ¼ä»„åå³å°å¼å§ē WWDC23ć
— pseudoyu (@pseudo_yu) June 5, 2023
äøéēå¼ē«Æļ¼ę°ēäø幓大ę¦ä¼ęÆäøŖ儽幓å§ć pic.twitter.com/fQsrbsQLlD
Xiaowen
Xiaowen and I meet also at the Liangzhu Culture Village, we have a dinner in the “ēå ¶é£ Baobao å°é 馔.
ęę Øäøäøå¹“č½»ē儽š« https://t.co/xBbv89JACe
— Xiaowen (@ixiaowenz) June 22, 2023
I learned something about recording personal cash flow and budget management, he also mentioned a good application called “you need a budget”. And he also suggested me to get some knowledge about the CFA I certification, it would cover the basic economics and finance knowledge as a bachelor degree.
Game: The Legend of Zelda: Tears of the Kingdom
Great Game! I have cleared the main story when I wrote this post.
And there are still lots of funny content like these:
Game: Diablo IV
Another Great Game! I have played 4 different classes, and it consumed me most of the gaming time in the past several weeks.
I also extended my friend list on battlenet, it’s great to see lots of friends playing this game at the same time.
I also streaming my game play on youtube, and here is the recording:
https://www.youtube.com/playlist?list=PL2CnjpVBS-U9sBtUAut_d1g0xj6jw9wcQ
At last
It have been too long from last updates, I need to find a new way to build the weekly recap, or it consumed too much time to write it.