Set ingest policy
This article describes how to set ingest policies in Azure Container Storage enabled by Azure Arc. The ingest policy that you set for that subvolume determine the ingest characteristics of your subvolume.
Ingest policy parameters
You can configure the following parameters. The following table also lists the default values if you don't edit the policy:
Parameter | Description | Available values | Default |
---|---|---|---|
spec.ingest.order |
The order in which files written to the subvolume are ingested. This order is a best effort, not a guarantee. | oldest-first : the oldest files yet to be ingested are prioritized.newest-first : the newest files yet to be ingested are prioritized. |
oldest-first |
spec.ingest.minDelaySec |
The minimum number of seconds after the last file handle is closed before the file is eligible for ingest. | Any integer value of seconds between 0 and 31536000 (one year). | 60 seconds |
spec.eviction.order |
Once a file is ingested successfully, how the system evicts the local copy of that file. | unordered : ingested files are evicted at some point after their minDelaySec elapses.never : ingested files are never evicted. |
unordered |
spec.eviction.minDelaySec |
The number of seconds after a file is ingested successfully before the system deletes the local copy of that file. This parameter has no effect if spec.eviction.order is set to never . |
Any integer value of seconds between 0 and 31536000 (one year). | 300 seconds (5 minutes) |
Change ingest policy
If you want to change the ingest policy from the default edgeingestpolicy-default, create a file named myedgeingest-policy.yaml with the following contents:
apiVersion: arccontainerstorage.azure.net/v1
kind: EdgeIngestPolicy
metadata:
name: <create-a-policy-name-here> # This must be updated and referenced in the spec.ingestPolicy section of the edgeSubvolume.yaml
spec:
ingest:
order: <your-ingest-order>
minDelaySec: <your-min-delay-sec>
eviction:
order: <your-eviction-order>
minDelaySec: <your-min-delay-sec>
To apply myedgeingest-policy.yaml, run the following command:
kubectl apply -f "myedgeingest-policy.yaml"
You can then use this new ingest policy for new ingest subvolumes you create by putting its name in the spec.ingestPolicy
field. You can also update the ingest policy of an existing subvolume by putting your newly created policy name in the spec.ingestPolicy
field of that subvolume, and once you reapply the configuration for that subvolume, the policy updates.