Skip to content

Lattice Target Group only supports single stack IP addresses #725

@olobrian

Description

@olobrian

When trying to install and configure an httproute with the AWS gateway controller I'm getting the error:

Failed build model due to failed to build rules due to buildTargetGroupSpec err Lattice Target Group only supports single stack IP addresses

I haven't found other issues containing this error and I'm confused where I'm going wrong after trying to follow the installation docs.

Here are the debug logs for my controller:

{"level":"debug","ts":"2025-04-11T19:26:06.423Z","logger":"runtime.events","caller":"record/event.go:418","msg":"Adding/Updating Reconcile","type":"Normal","object":{"kind":"HTTPRoute","namespace":"default","name":"api-dev3-redacted-httproute","uid":"609e0a06-aa23-4f01-bc9c-b6c903e3d0da","apiVersion":"gateway.networking.k8s.io/v1","resourceVersion":"25953912"},"reason":"Reconcile"}
{"level":"info","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_lattice_service.go:137","msg":"Setting customer-domain-name: api.dev3.dev.internal.redacted.com for route api-dev3-redacted-httproute-default","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_lattice_service.go:156","msg":"Added service api-dev3-redacted-htt-default to the stack (ID api-dev3-redacted-htt-default)","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_listener.go:28","msg":"Building Listener for Route api-dev3-redacted-httproute-default","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_listener.go:119","msg":"Added listener api-dev3-redacted-httproute-default to the stack (ID id-1ba52612f64e84211f67a7df38c58915a3257eacd59e88a498516712fce79c8a)","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_lattice_service.go:87","msg":"Building rules for 1 listeners","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_rule.go:33","msg":"Processing 1 rules","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_rule.go:45","msg":"Processing rule match","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_rule.go:109","msg":"Examining pathmatch type PathPrefix value / for for httproute api-dev3-redacted-httproute-default "}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_rule.go:119","msg":"Using PathMatchPathPrefix for httproute api-dev3-redacted-httproute-default "}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_rule.go:226","msg":"Processing Service backendRef api-dev3-redacted-service-default","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gateway/model_build_targetgroup.go:290","msg":"buildTargetGroupSpec, kind Service","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"info","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"controllers/route_controller.go:291","msg":"buildAndDeployModel, Failed build model for api-dev3-redacted-httproute due to failed to build rules due to buildTargetGroupSpec err Lattice Target Group only supports single stack IP addresses","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"info","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"controllers/route_controller.go:162","msg":"reconcile error","name":"api-dev3-redacted-httproute","message":"failed to build rules due to buildTargetGroupSpec err Lattice Target Group only supports single stack IP addresses","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"info","ts":"2025-04-11T19:26:06.436Z","logger":"controller.route","caller":"gwlog/metadata.go:82","msg":"reconcile_end","type":"route","name":"api-dev3-redacted-httproute","namespace":"default","trace_id":"54a273b0-9e6f-4bf9-8164-03ff13183600"}
{"level":"debug","ts":"2025-04-11T19:26:06.436Z","logger":"runtime.events","caller":"record/event.go:418","msg":"Failed build model due to failed to build rules due to buildTargetGroupSpec err Lattice Target Group only supports single stack IP addresses","type":"Warning","object":{"kind":"HTTPRoute","namespace":"default","name":"api-dev3-redacted-httproute","uid":"609e0a06-aa23-4f01-bc9c-b6c903e3d0da","apiVersion":"gateway.networking.k8s.io/v1","resourceVersion":"25954124"},"reason":"FailedBuildModel"}

My gateway:

kind: Gateway
metadata:
  creationTimestamp: "2025-04-11T19:17:45Z"
  finalizers:
  - gateway.k8s.aws/resources
  generation: 1
  name: dev-test
  namespace: default
  resourceVersion: "25952854"
  uid: 548112d6-45cd-403c-a403-806f6a53a26c
spec:
  gatewayClassName: amazon-vpc-lattice
  listeners:
  - allowedRoutes:
      namespaces:
        from: Same
    name: http
    port: 80
    protocol: HTTP

My gatewayclass:

apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  creationTimestamp: "2025-04-11T18:08:59Z"
  generation: 1
  name: amazon-vpc-lattice
  resourceVersion: "25952838"
  uid: fd9a66c9-7b33-4280-a41c-ec6d1b2ec182
spec:
  controllerName: application-networking.k8s.aws/gateway-api-controller

My httproute:

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  creationTimestamp: "2025-04-11T19:00:23Z"
  finalizers:
  - httproute.k8s.aws/resources
  generation: 3
  name: api-dev
  namespace: default
  resourceVersion: "25958851"
  uid: 583091f0-6a01-480e-bf84-d64b4e67b0a6
spec:
  hostnames:
  - api.dev1.dev.internal.redacted.com
  parentRefs:
  - group: gateway.networking.k8s.io
    kind: Gateway
    name: dev-test
    namespace: default
    port: 80
  rules:
  - backendRefs:
    - group: ""
      kind: Service
      name: api-dev1-redacted-service
      port: 8080
      weight: 1
    matches:
    - path:
        type: PathPrefix
        value: /

The docs don't say anything about creating target groups, but I don't really understand VPC lattices quite yet.

I only use IPv4 in this cluster, but I'm open to debugging ideas or commands I can run to provide more info!

Would anyone be able to help me learn more?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions