Upgrading v0.6 to v0.7¶
When upgrading from v0.6 to v0.7, the installation script simply needs to be ran again. However, due to some breaking changes, some manual adjustments are required for existing workloads using the control interface directly and not through the Python or Rust SDK.
No changes are required for workloads using one of the SDK as the changes are already handled by the SDK itself.
Breaking changes¶
Control Interface Accepted message¶
For an improved stability of the communication between a workload and Ankaios, a new message was introduced that confirms the connection of a workload to the control interface. The confirmation sent is a response to the initial Hello
sent by the workload.
Additional non-breaking changes to the Ankaios manifest¶
Build-in runtime support for containerd¶
Ankaios now natively supports the containerd runtime. To run a containerd workload just set the runtime
field to containerd and use an appropriate runtimeConfig
:
For more details on the setup required for using the runtime, please consult the user documentation.
Podman-kube control interface¶
You can now use the control interface also from podman-kube workloads. As podman-kube works could be composed by multiple pods with multiple containers in each pod, the control interface pipes will be provided to a specific pod and container defined in the controlInterfaceTarget
field of the workload's runtimeConfig
. Other containers from the same or other pods will not have access to the control interface.
The following example shows the manifest of a podman-kube workload setup for control interface access:
apiVersion: v0.1
workloads:
simple:
agent: agent_A
runtime: podman-kube
controlInterfaceAccess:
allowRules:
- type: StateRule
operation: Read
filterMask:
- "desiredState"
runtimeConfig: |
controlInterfaceTarget: pod_A/container_A
manifest: |
apiVersion: v1
kind: Pod
metadata:
name: pod_A
spec:
restartPolicy: Never
containers:
- name: container_A
image: ghcr.io/eclipse-ankaios/tests/alpine:latest
command: ["sleep", "12000"]