WebAssembly 模块的拉取策略

    与 Kubernetes 的 类似, 也有IfNotPresentAlways 的概念,这分别意味着“使用缓存模块”和“不管缓存而始终拉取模块”。

    1. 如果 url 字段指向一个 OCI 镜像且该字段有一个摘要后缀(例如 ),则使用 IfNotPresent 策略。

    如果没有为某资源指定 ImagePullPolicy,则 Istio 默认为 IfNotPresent 行为。 但是如果提供的 url 字段指定一个标记值为 latest 的 OCI 镜像,则 Istio 将使用 Always 行为。

    这个过期行为可以通过 的环境变量 WASM_MODULE_EXPIRY 和 进行配置,具体包括过期的持续时间和检查过期的时间间隔。

    对于 WasmPluginImagePullPolicy: Always 意味着每次创建或更改相应的 WasmPlugin Kubernetes 资源时,Istio 将直接从其镜像源中拉取镜像。 请注意,当使用 Always 策略时,specmetadata 中的变更都会触发 Wasm 模块的拉取。 这可能意味着在 Pod 的生命周期和单个代理的生命周期内,会多次从镜像源中拉取镜像。