mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-10-29 09:17:38 +00:00
Add auto-update support to `podman kube play`. Auto-update policies can
be configured for:
* the entire pod via the `io.containers.autoupdate` annotation
* a specific container via the `io.containers.autoupdate/$name` annotation
To make use of rollbacks, the `io.containers.sdnotify` policy should be
set to `container` such that the workload running _inside_ the container
can send the READY message via the NOTIFY_SOCKET once ready. For
further details on auto updates and rollbacks, please refer to the
specific article [1].
Since auto updates and rollbacks bases on Podman's systemd integration,
the k8s YAML must be executed in the `podman-kube@` systemd template.
For further details on how to run k8s YAML in systemd via Podman, please
refer to the specific article [2].
An examplary k8s YAML may look as follows:
```YAML
apiVersion: v1
kind: Pod
metadata:
annotations:
io.containers.autoupdate: "local"
io.containers.autoupdate/b: "registry"
labels:
app: test
name: test_pod
spec:
containers:
- command:
- top
image: alpine
name: a
- command:
- top
image: alpine
name: b
```
[1] https://www.redhat.com/sysadmin/podman-auto-updates-rollbacks
[2] https://www.redhat.com/sysadmin/kubernetes-workloads-podman-systemd
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
|
||
|---|---|---|
| .. | ||
| kube | ||
| config_linux.go | ||
| config_linux_cgo.go | ||
| config_linux_nocgo.go | ||
| config_linux_test.go | ||
| container.go | ||
| container_create.go | ||
| namespaces.go | ||
| namespaces_freebsd.go | ||
| namespaces_linux.go | ||
| namespaces_unsupported.go | ||
| oci.go | ||
| oci_freebsd.go | ||
| oci_linux.go | ||
| oci_unsupported.go | ||
| pause_image.go | ||
| pod_create.go | ||
| ports.go | ||
| ports_bench_test.go | ||
| ports_test.go | ||
| rlimit_int64.go | ||
| rlimit_uint64.go | ||
| security_freebsd.go | ||
| security_linux.go | ||
| security_unsupported.go | ||
| storage.go | ||
| validate.go | ||