higress icon indicating copy to clipboard operation
higress copied to clipboard

Proposal: Simplify All-in-one Implementation with kine(sqlite) + k8s-apiserver

Open zhixiongdu027 opened this issue 8 months ago • 6 comments

Background: Based on the design principles of the All-in-one architecture (abstracting Kubernetes concepts while maintaining Kubernetes API compatibility), we propose re-evaluating the implementation approach described in the current design documentation.

Key Observations:

​User Perspective: All-in-one users expect a Kubernetes-transparent experience without interacting with low-level k8s components.

​Design Principle: The system should maximally reuse Kubernetes native concepts and APIs to ensure compatibility.

​Implementation Suggestion: Using kine (with SQLite) + kube-apiserver might provide a cleaner implementation compared to the current documented approach, as:

Kine already implements the Kubernetes storage interface (etcd v3 API)
SQLite embedded database aligns with All-in-one's single-node deployment scenario
Reduced maintenance cost through reuse of upstream Kubernetes components

zhixiongdu027 avatar Apr 02 '25 02:04 zhixiongdu027

Perhaps it's a good idea to migrate the apiserver component in standalone to kine, but we need to check if the kine deployment is lightweight enough.

I'd like to hear your opinion @CH3CHO

johnlanni avatar Apr 02 '25 03:04 johnlanni

Perhaps it's a good idea to migrate the apiserver component in standalone to kine, but we need to check if the kine deployment is lightweight enough.

I'd like to hear your opinion @CH3CHO

I think it's a good idea. We can dig into it.

CH3CHO avatar Apr 02 '25 04:04 CH3CHO

It looks like kine and k3s only support Linux. So we will still need to rely on a docker container environment to do the visualization for us.

CH3CHO avatar Apr 03 '25 02:04 CH3CHO

maybe we no need k3s but noly need kine here

zhixiongdu027 avatar Apr 03 '25 06:04 zhixiongdu027

maybe we no need k3s but noly need kine here

However, if we use k3s to simulate a K8s environment, there will be much easier.

CH3CHO avatar Apr 03 '25 07:04 CH3CHO

easier

yes, but if use k3s here,we also need docker in docker ,that's not easy

zhixiongdu027 avatar Apr 03 '25 07:04 zhixiongdu027