Closed saza-ku closed 18 hours ago
-1 I do not want to increase the num of containers unnecessarily. Should we create a container for every single feature in the simulator? Obviously No.
The debuggable scheduler had the clear motivation to split, while I don't see any here.
Can you add more context (if any) like your company needs to split it for some usecases etc? If ↓ is the only motivation, I'm gonna close this issue.
This would make the codes tidy and easy to develop.
Thank you for your comment, and I apologize for the delayed response 🙏 @saza-ku and I discussed in person. I am a coworker of his.
Because syncer only needs to connect to a KWOK cluster, its code and setting could be decoupled from the simulator core. We anticipate syncer and the simulator core can be developed independently, avoiding situations where the simulator would be hard to develop due to its dependency on syncer, or where the simulator's configuration would become more complex.
Additionally, we are planning to propose a replay feature, which records events on a real cluster, stores them in files, and then replays the events on a simulator cluster. Similar to syncer, replay feature can also be developed independently. If this feature were to be coupled with the simulator core, it could negatively impact the development of the simulator.
The issue of increasing number of container images could be mitigated by including syncer command within simulator-backend
.
Image users can switch entrypoint
to use syncer.
Furthermore, since syncer is an optional feature, it might be acceptable that syncer container image is not managed within this repository.
With that said, these are still theoretical discussions, and I understand and respect your opinion. Please feel free to close this issue if you prefer 😄
At the moment, I don't feel the need of the decoupling, and we can re-consider it when we actually find it necessary.
/close
@sanposhiho: Closing this issue.
syncer is now running as a goroutine in the process of the
simulator-server
container. But we could separate it as another container, as we did to the debuggable scheduler (https://github.com/kubernetes-sigs/kube-scheduler-simulator/issues/318).This would make the codes tidy and easy to develop.
/area simulator