跳至内容

使用 QPOptions 扩展队列代理镜像

Knative 服务 Pod 包含两个容器

  • 用户主服务容器,名为 user-container
  • 队列代理 - 一个名为 queue-proxy 的 sidecar,充当 user-container 前面的反向代理

您可以扩展队列代理以提供其他功能。队列代理的 QPOptions 功能允许其他运行时包扩展队列代理功能。

例如,security-guard 存储库提供了一个使用 QPOptions 功能的扩展。该 QPOption 包使用户能够向队列代理添加额外的安全功能。

可用的运行时功能是在构建队列代理镜像时确定的。队列代理定义了一种有序的方式来激活和配置扩展。

附加信息

添加扩展

您可以通过在构建队列代理镜像之前替换 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 共享。了解更多信息。