I am somewhat new to consul and kubernetes. I have a problem where I am trying to follow this guide Enable external traffic ingress into Consul service mesh but for some reason, I am not able to get the api-gateway working. I am deploying locally and using helm.
My goal is to learn to create a microservice from ground up so I am starting with the guide. Do let me know if this guide/architecture is outdated.
Some loggings:
kubectl get svc/api-gateway -n consul
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
api-gateway LoadBalancer 10.96.155.20 <pending> 80:31325/TCP 6m44s
kubectl get gateway api-gateway -n consul
NAME CLASS ADDRESS PROGRAMMED AGE
api-gateway consul True 7m16s
I checked the log but I see no warnings besides:
2024-12-19T18:01:03.705Z+00:00 [warning] envoy.misc(19) Deprecated field: type envoy.config.cluster.v3.Cluster Using deprecated option 'envoy.config.cluster.v3.Cluster.http2_protocol_options' from file cluster.proto. This configuration will be removed from Envoy soon. Please see https://www.envoyproxy.io/docs/envoy/latest/version_history/version_history for details. If continued use of this field is absolutely necessary, see https://www.envoyproxy.io/docs/envoy/latest/configuration/operations/runtime#using-runtime-overrides-for-deprecated-features for how to apply a temporary and highly discouraged override.
Describe:
kubectl describe gateway api-gateway -n consul
Name: api-gateway
Namespace: consul
Labels: <none>
Annotations: consul.hashicorp.com/gateway-class-config:
{"serviceType":"LoadBalancer","deployment":{"defaultInstances":1,"maxInstances":1,"minInstances":1,"resources":{"limits":{"cpu":"100m","me...
API Version: gateway.networking.k8s.io/v1beta1
Kind: Gateway
Metadata:
Creation Timestamp: 2024-12-19T18:00:59Z
Finalizers:
gateway-finalizer.consul.hashicorp.com
Generation: 1
Resource Version: 1214
UID: 86a86196-c855-49c1-beeb-f7cb9e17a0df
Spec:
Gateway Class Name: consul
Listeners:
Allowed Routes:
Namespaces:
From: All
Name: http
Port: 80
Protocol: HTTP
Status:
Conditions:
Last Transition Time: 2024-12-19T18:00:59Z
Message: gateway accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2024-12-19T18:01:29Z
Message: gateway programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
Last Transition Time: 2024-12-19T18:00:59Z
Message: gateway synced to Consul
Observed Generation: 1
Reason: Synced
Status: True
Type: Synced
Last Transition Time: 2024-12-19T18:01:00Z
Message: gateway is valid
Observed Generation: 1
Reason: Accepted
Status: True
Type: ConsulAccepted
Listeners:
Attached Routes: 1
Conditions:
Last Transition Time: 2024-12-19T18:01:29Z
Message: listener accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2024-12-19T18:01:29Z
Message: listener programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
Last Transition Time: 2024-12-19T18:01:29Z
Message: listener has no conflicts
Observed Generation: 1
Reason: NoConflicts
Status: False
Type: Conflicted
Last Transition Time: 2024-12-19T18:01:29Z
Message: resolved references
Observed Generation: 1
Reason: ResolvedRefs
Status: True
Type: ResolvedRefs
Name: http
Supported Kinds:
Group: gateway.networking.k8s.io
Kind: HTTPRoute
Events: <none>