This topic tells you how to troubleshoot Contour installation and configuration.
Symptom:
The Contour package fails to reconcile, and the Envoy pods fail with errors like:
23-11-23 01:55:11.503][1][warning][config] [source/common/config/grpc_subscription_impl.cc:128] gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) ingress_http: malformed IP address: ::
Explanation:
By default, the Contour package programs Envoy’s listeners to use IPv6 addresses. In most cases, this is OK. However, some clusters, such as TKGI, only support IPv4.
Solution:
ImportantThis solution only applies to Contour v1.26 or later, which is included in Tanzu Application Platform v1.8.0 and later.
To use IPv4 addresses on the listeners, update the Tanzu Application Platform values file (commonly called tap-values.yaml
).
The following is an example of the Contour section of the values file:
contour:
envoy:
listenIPFamily: IPv4
Symptom:
After upgrading, workload pods fail to become ready due to errors with pulling images.
Explanation:
The pods fail to pull the queue-proxy sidecar image. This is due to a known issue with the kapp rebase rules where the pods try to pull an outdated image.
Solution:
You can resolve this by applying an overlay to the cnrs
package:
#@ load("@ytt:data", "data")
#@ load("@ytt:overlay", "overlay")
#@overlay/match by=overlay.subset({"kind":"Config"}), expects="1+"
---
rebaseRules:
#@overlay/append
- path: [data, queue-sidecar-image]
type: copy
sources: [new, existing]
resourceMatchers:
- kindNamespaceNameMatcher: {kind: ConfigMap, namespace: knative-serving, name: config-deployment}
For more information about applying overlays, see Customize your package installation.