Add-ons
Gloo add-ons extend the functionality of your cluster. During Gloo Platform installation, you set up these optional components. If you encounter issues with the functionality, you can troubleshoot the add-ons.
External auth service
With the external auth service, you can protect your APIs by enforcing auth. For more information, see External authentication and authorization.
- Check that the pod is running.
kubectl get po -n gloo-mesh-addons -l app=ext-auth-service
- Make sure that you created all of the external auth-related custom resources, such as server and policy configs.
kubectl get extauthpolicies,extauthserver -A
- Check that the
AuthConfig
internal custom resource is created and in an Accepted state.kubectl get authconfigs -A
- To get detailed logs for the external auth service, change the log level to
DEBUG
.- Edit the external auth service.
kubectl get deploy -n gloo-mesh-addons ext-auth-service -o yaml > ext-auth.yaml
- In the
spec.container.env
section, find theLOG_LEVEL
environment variable and set it toDEBUG
.... spec: containers: - env: - name: LOG_LEVEL value: DEBUG
- Apply the updated configuration.
kubectl apply -f ext-auth.yaml
- Make sure that the external auth service pod restarts.
kubectl get po -n gloo-mesh-addons -l app=ext-auth-service
- Optional: To generate fresh logs, send a request to a service that is protected by an external auth policy.
- Edit the external auth service.
- Check the logs of the Gloo external auth server in your workload cluster.
kubectl logs -n gloo-mesh-addons pods/$(kubectl get pod -l app=ext-auth-service -A -o jsonpath='{.items[0].metadata.name}')
Optionally, you can format the output with
jq
or save it in a local file so that you can read and analyze the output more easily.kubectl logs -n gloo-mesh-addons pods/$(kubectl get pod -l app=ext-auth-service -A -o jsonpath='{.items[0].metadata.name}') > ext-auth-service.json
Rate limiter
With the rate limiter, you can protect your APIs by enforcing limits on the number of requests within a certain timeframe, such as 100 requests per minute. For more information, see Rate limiting.
- Check that the pod is running.
kubectl get po -n gloo-mesh-addons -l app=rate-limiter
- Make sure that you created all of the rate limiting-related custom resources, such as server and client configs.
kubectl get ratelimitserverconfigs,RatelimitConfigs,ratelimitserversettings,ratelimitclientconfigs,ratelimitpolicies -A
- Check the logs of the Gloo rate limiter in your workload cluster. To view logs recorded since a relative duration such as 5s, 2m, or 3h, you can specify the
--since <duration>
flag.meshctl logs rate-limiter -l error [--since DURATION]
Optionally, you can format the output with
jq
or save it in a local file so that you can read and analyze the output more easily.meshctl logs rate-limiter -l error > rate-limiter-logs.json