Skills2026年4月16日·1 分钟阅读

Contour — High-Performance Kubernetes Ingress Controller Using Envoy

Route traffic into Kubernetes clusters with Contour. Built on Envoy proxy, it provides a powerful HTTPProxy CRD for advanced routing, TLS delegation, and rate limiting beyond standard Ingress.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Contour K8s Ingress
直接安装命令
npx -y tokrepo@latest install e916ebd5-3939-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

TL;DR
Contour uses Envoy proxy as its data plane to route traffic into Kubernetes with advanced HTTPProxy CRD features.
§01

What it is

Contour is a Kubernetes ingress controller that uses Envoy proxy as its data plane. It provides a custom HTTPProxy CRD that goes beyond standard Ingress with features like TLS delegation, rate limiting, and weighted routing.

Contour targets platform engineers running Kubernetes who need more routing control than the standard Ingress resource provides, without the complexity of a full service mesh like Istio.

§02

How it saves time or tokens

Contour provides advanced routing features through a single CRD instead of requiring annotations, config maps, or multiple resources. TLS certificate delegation lets teams manage their own certificates without cluster-admin access. This reduces operational overhead and support tickets.

§03

How to use

  1. Install Contour on your cluster:
# kubectl quickstart
kubectl apply -f https://projectcontour.io/quickstart/contour.yaml
# Or with Helm
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install contour bitnami/contour -n projectcontour --create-namespace
  1. Verify pods are running: kubectl get pods -n projectcontour.
  1. Create HTTPProxy resources to route traffic to your services.
§04

Example

# HTTPProxy with TLS and weighted routing
apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: my-app
spec:
  virtualhost:
    fqdn: app.example.com
    tls:
      secretName: app-tls
  routes:
    - conditions:
        - prefix: /
      services:
        - name: app-v1
          port: 80
          weight: 90
        - name: app-v2
          port: 80
          weight: 10
§05

Related on TokRepo

§06

Common pitfalls

  • Contour requires Envoy pods running alongside it. Ensure sufficient cluster resources for both Contour control plane and Envoy data plane pods.
  • HTTPProxy and standard Ingress resources can conflict if both are applied to the same host. Use one or the other per domain.
  • TLS certificate delegation requires the TLSCertificateDelegation resource to be created in the certificate namespace first.

常见问题

How does Contour differ from NGINX Ingress Controller?+

Contour uses Envoy as its proxy (high performance, xDS configuration) while NGINX Ingress uses NGINX. Contour provides HTTPProxy CRD for multi-team delegation and advanced routing. NGINX Ingress uses annotations for configuration.

What is the HTTPProxy CRD?+

HTTPProxy is a Contour-specific custom resource that extends beyond standard Kubernetes Ingress. It supports route delegation across namespaces, weighted backends, TLS passthrough, rate limiting, and header-based routing in a single resource.

Can Contour and standard Ingress resources coexist?+

Yes. Contour processes both standard Ingress resources and HTTPProxy CRDs. However, avoid applying both to the same hostname to prevent routing conflicts.

Does Contour support rate limiting?+

Yes. Contour supports both local and global rate limiting through the HTTPProxy spec. Local rate limiting is configured per-route. Global rate limiting requires an external rate limit service.

Is Contour a CNCF project?+

Yes. Contour is a CNCF incubating project maintained by VMware and the broader community. It follows the CNCF governance model.

引用来源 (3)

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产