今年测试了很多新技术包括了juicefs还有etcd相关的一些性能极限，也发现了k3s在Edge应用中的一些问题。总的来说，Kubernetes整体的设计思路还是没有Edge化，不过Edge究竟是什么，研究生搞了一堆Edge相关的研究，结果Edge还是没能太明白（如果弄得明白可能我就去读个PhD了）。我觉得Edge就是在极端的中心化的Cloud和极端去中心化的P2P之间的一个平衡吧，它应该包含了Cloud 和 Distributed Computing，简而言之 Edge Computing = Cloud + Distributed Computing.
服务器相关也是，弄了一个日本的节点，用上了OVH的S3 和Juicefs，整体的成本也是下降得不错。Nextcloud感觉就没有那个需要了，所以也就不装了。以后的东西大部分都打包到容器当中，弄成一个个的Dev Container，放到GoHarbor上面去。GoHarbor还是挺方便的，然后GoHarbor的基础使用Juicefs降低存储的成本。目前整个网站的PV都是mount在了Goharbor上面，容量高达1PB，不过也没预计用到这么多。
Kubernetes are very useful for managing servers at a scale. Someone might ask, I don't have more than 3 servers to manage. Should I go for Kubernetes, or could we use Docker or Docker Compose?
In the past several years, I would suggest we could just use Docker Compose. But seeing that more mature and lightweight Kubernetes solutions appeared, I changed my mind and started using Kubernetes if I had more than two machines to manage (or even one machine). I think K3s is a good distribution of Kubernetes which has a relatively small footprint in case you have a small cluster. Comparing it to running the container naked using Docker compose, using K3s will require you to run a few extra Kubernetes administrative processes. That is about 150 MB of extra memory, which should not be a big deal for most IoT devices (I guess).
We are using Kubernetes not just for managing a "huge" cluster but to have verifiable deployment across development and deployment. In our development environment, we downscale the cluster to 1. And in the production or staging environment, we could upscale the deployment if necessary.
This article will describe how to install a light weighted version of Kubernetes -- K3s in two nodes and with IPv6 enabled.