Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Knative serving with contour network broken the default httpproxy behavior #15756

Open
simsnow opened this issue Feb 7, 2025 · 1 comment
Open
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@simsnow
Copy link

simsnow commented Feb 7, 2025

What version of Knative?

0.16.0
network: contour

Expected Behavior

the contour crd httpproxy object work work fine

Actual Behavior

httpproxy can not work

Steps to Reproduce the Problem

  1. install knative serving with contour
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
  name: knative-serving
  namespace: knative-serving
spec:
  ingress:
    contour:
      enabled: true
  config:
    domain:
      xxxx.com: ""
    network:
      ingress-class: "contour.ingress.networking.knative.dev"
  1. create 2 ksvc
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: contour-test-android
spec:
  template:
    spec:
      containers:
        - image: ghcr.io/knative/helloworld-go:latest
          env:
            - name: TARGET
              value: "contour test android"
---
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: contour-test-ios
spec:
  template:
    spec:
      containers:
        - image: ghcr.io/knative/helloworld-go:latest
          env:
            - name: TARGET
              value: "contour test ios"
  1. create a httpproxy route to the above ksvc
apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: contour-test
spec:
  ingressClassName: contour
  virtualhost:
    fqdn: contour-test.default.xxxx.com
  routes:
    - conditions:
      - header:
          name: x-os
          contains: ios
      services:
        - name: contour-test-ios
          port: 80
    - conditions:
      - header:
          name: x-os
          contains: android
      services:
        - name: contour-test-android
          port: 80
  1. check the httpproxy status
kubectl describe httpproxies.projectcontour.io contour-test
...
Status:
  Current Status:  NotReconciled
  Description:     Waiting for controller
...

Thought

the contour installed by knative change the default behavior? only watch ksvc?

@simsnow simsnow added the kind/bug Categorizes issue or PR as related to a bug. label Feb 7, 2025
@skonto
Copy link
Contributor

skonto commented Feb 7, 2025

cc @dprotaso

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

2 participants