Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

there is only one runc-sandboxer to manage pods #175

Open
ningmingxiao opened this issue Dec 26, 2024 · 1 comment
Open

there is only one runc-sandboxer to manage pods #175

ningmingxiao opened this issue Dec 26, 2024 · 1 comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@ningmingxiao
Copy link

What would you like to be added?

root       33194  0.0  0.0 1166232 9472 pts/5    Sl   23:51   0:00  |   |               \_ runc-sandboxer --listen /run/runc-sandboxer.sock --dir /run/kuasar-runc
root       33195  0.0  0.0  14980  1864 pts/5    S    23:51   0:00  |   |               |   \_ [sandbox-parent]
root       33196  0.0  0.0 1301432 7752 pts/5    Sl   23:51   0:00  |   |               |   \_ runc-sandboxer --listen /run/runc-sandboxer.sock --dir /run/kuasar-runc
root       33262  0.0  0.0   2800  1536 ?        Ss   23:51   0:00  |   |               |       \_ /bin/sh -c while true; do echo `date`; sleep 1; done
root       34030  0.0  0.0   2696  1408 ?        S    23:53   0:00  |   |               |       |   \_ sleep 1
root       33352  0.0  0.0   2800  1536 ?        Ss   23:52   0:00  |   |               |       \_ /bin/sh -c while true; do echo `date`; sleep 1; done
root       34034  0.0  0.0   2696  1408 ?        S    23:53   0:00  |   |               |       |   \_ sleep 1
root       33444  0.0  0.0   2800  1664 ?        Ss   23:52   0:00  |   |               |       \_ /bin/sh -c while true; do echo `date`; sleep 1; done
root       34028  0.0  0.0   2696  1408 ?        S    23:53   0:00  |   |               |       |   \_ sleep 1
root       33810  0.0  0.0   2800  1664 ?        Ss   23:53   0:00  |   |               |       \_ /bin/sh -c while true; do echo `date`; sleep 1; done
root       34036  0.0  0.0   2696  1408 ?        S    23:53   0:00  |   |               |       |   \_ sleep 1
root       33996  0.0  0.0   2800  1664 ?        Ss   23:53   0:00  |   |               |       \_ /bin/sh -c while true; do echo `date`; sleep 1; done
root       34032  0.0  0.0   2696  1408 ?        S    23:53   0:00  |   |               |           \_ sleep 1

there is only one runc-sandboxer to manage pods,if it is killed, how to manage pods?
and how to upgrade runc-sandboxer? if there are many pods are runing.

Why is this needed?

runc-sandboxer may oom or be killed, runc-sandboxer should update.

@ningmingxiao ningmingxiao added the kind/feature Categorizes issue or PR as related to a new feature. label Dec 26, 2024
@abel-von
Copy link
Contributor

Actually, That is what we are trying to do, to remove 1:1 shims of pods. In the current main branch, What we do is to fork another runc-sandboxer to manage all the containers after it start the parent process can be restarted, it will fork another child to manage new pods, old pods will still served by the old child.

However this is still not an ideal solution, as the childs may be restarted by oom as you mentioned.

So we are trying to solve it with the "File Descriptor Store" of systemed, which we report the connection fd and request to systemd, so that even the runc-sandboxer restart, we can get the old connection and requests back.

This is the first PR, the change in ttrpc-rust, the subsequent PRs will be submit later.
kuasar-io/ttrpc-rust#2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

2 participants