-
Notifications
You must be signed in to change notification settings - Fork 15
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
Support K8s resources #1
Comments
As agreed in the team, we need to check what parts of the pod specification we would like to support (and what is supported by Podman). We also need to check if we would like to also support deployments, configMaps and persistent volume claims. |
Podman supports Kubernetes manifests via the
Although deployments do not bring a lot of benefit, we should support them to ease up the transition from K8s.
|
Besides workloads Ankaios knows also other resource types like configs and cronJobs which just have not been implemented yet. Maybe we could use another resource type besides workload if a PVC or a secret is created? But that would mean that existing YAML with several resources like pod, PVC and secret need to be split up when passing to Ankaios which is also not optimal. |
Yes, splitting would not be optimal. Another issue I see is that configs should be runtime agnostic. If we start making runtime specific config items, the complexity will rise very quickly and adding new runtimes could get very hard. |
As for cron jobs, they are currently though of as a reference to a workload with an interval specifying the execution frequency. |
Podman's documentation does not specify that the delete method for play/kube accepts a yaml/json file that specifies the resources that shall be deleted (I'll create a ticket for that). As for our implementation, I would suggest to directly send http calls to the Podman socket. It is not high effort for play kube and we don't have to wait for the changes suggested above. We can also call the Podman CLI. |
Podman issue: containers/podman#19945 |
As the podman-api rust crate does not support what we need, we have to go for the REST API or the CLI of Podman. We had a short discussion with @windsource and came to the conclusion to go for the CLI. It seems like play kube is either ways not really trimmed for speed for now see containers/podman#19716, so the latency of loading Podman in memory should not play a major role in this case. |
If we are already switching to usage of the Podman CLI instead of the Rest API, we could think about changing the config for the Porman runtime to accept strings for |
Pair programming with christoph-hamm Issue-Id: #1
The proper solution is to poll podman for the correct state in the test Issue-Id: #1
Locally the test runs, but fails on GitHub. Issue-Id: #1
Issue-Id: #1 Co-authored-by: Kaloyan <36224699+krucod3@users.noreply.github.com>
Last task is completed. |
Description
For the acceptance of Ankaios some compatibility to Kubernetes is important. For that reason the CLI shall be extended to also support (a subset of the) Kubernetes pod spec.
Goals
Final result
Summary
In the course of work we decided to not only change the CLI, but directly add a new runtime - "podman-kube". The new runtime will instrument Podman to handle K8s manifests via the
podman play kube
command.Special CLI commands will not be needed as a simple
ank run --runtime podman-kube --agent X --config <k8s manifest content>
can be used.Tasks
podman play kube
features (there are different options for the command; in case we don't support all, we need to specify which)The text was updated successfully, but these errors were encountered: