跳到内容

注意

此集成目前处于 Alpha 阶段。我们正尝试评估其使用情况,因此如果您正在使用或对此感兴趣,请通过 #knative-serving Slack 频道与我们联系。

使用 QPOptions 扩展 Queue Proxy 镜像

Knative 服务 pod 包含两个容器

  • 用户主服务容器,名为 user-container
  • Queue Proxy - 一个名为 queue-proxy 的 sidecar,它作为 user-container 前置的反向代理

您可以扩展 Queue Proxy 以提供额外的功能。Queue Proxy 的 QPOptions 功能允许附加的运行时包来扩展 Queue Proxy 的能力。

例如,security-guard 仓库提供了一个使用 QPOptions 功能的扩展。QPOption 包使用户能够为 Queue Proxy 添加额外的安全功能。

可用的运行时功能在构建 Queue Proxy 镜像时确定。Queue Proxy 定义了激活和配置扩展的有序方式。

附加信息

添加扩展

您可以通过在构建 Queue Proxy 镜像之前替换 cmd/queue/main.go 文件来添加扩展。以下示例显示了一个添加了 test-gate 扩展的 cmd/queue/main.go 文件

  package main

  import "os"

  import "knative.dev/serving/pkg/queue/sharedmain"
  import "knative.dev/security-guard/pkg/qpoption"
  import _ "knative.dev/security-guard/pkg/test-gate"

  func main() {
      qOpt := qpoption.NewQPSecurityPlugs()
      defer qOpt.Shutdown()

        if sharedmain.Main(qOpt.Setup) != nil {
          os.Exit(1)
      }
  }

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。