KNative服务是否不允许initContainers字段?

我正在尝试使用KNative使用容器和initContainer部署服务。
如果安装了Istio,则无需进行侧面注入。
这是我得到的错误:

import 'dart:convert';
import 'dart:io';

void main() async {
  var ls = await Process.start('ls',[]);
  var head = await Process.start('head',['-1']);

  ls.stdout
      .transform(utf8.decoder)
      .transform(const Linesplitter())
      .map((line) => '1: $line\n')
      .transform(utf8.encoder)
      .pipe(head.stdin)
      .catchError(
        (e) {
          // forget broken pipe after head process exit
        },test: (e) => e is SocketException && e.osError.message == 'Broken pipe',);

  await head.stdout.pipe(stdout);
}

我的YAML文件:

Internal error occurred: admission webhook "webhook.serving.knative.dev" denied the request: validation failed: must not set the field(s): spec.template.spec.initContainers
volumes not mounted: [some_script]: spec.template.spec.containers[0].volumeMounts

谢谢!

freekoo 回答:KNative服务是否不允许initContainers字段?

Knative服务API spec中没有init容器,这使我相信它不受支持。

,

为了给Arghya的答案增加一点色彩,Knative现在特意排除了init容器,因为它们可能在冷启动期间引起大量(无限)的额外延迟。此外,Knative的目标之一就是简化Kubernetes API的大部分内容,因此阻止了init容器之类的解决方案,这些解决方案也可以作为用户容器的启动部分来实现。

此处要进行限制的原因之一是,添加API的时间要比从API中删除的时间要容易得多,因此,最初的API很少,可以看出哪些约束非常繁琐。

本文链接:https://www.f2er.com/2766731.html

大家都在问