# Troubleshooting

## failed to call webhook

When operating within a GKE Private Cluster, an additional firewall rule is required when [installing PerfectScale Automation Agent](#install-perfectscale-automation-agent). &#x20;

A new firewall rule will permit the Control Plane address range to communicate with the Cluster Pod IPv4 address range on port 8443.

Refer to the official documentation for detailed instructions:

{% embed url="<https://cloud.google.com/kubernetes-engine/docs/how-to/latest/network-isolation#add_a_firewall_rule>" %}

## Autoscaler debugging

To diagnose issues with the PerfectScale Autoscaler, start by checking the logs of the serve pod. If none of the following logs are present: `patched`,  `empty patch`, or `failed to marshal patch:`, it may indicate that the API server is unable to reach the PerfectScale Autoscaler serve pod, and most likely it is an infrastructure-related issue.

Here are some common scenarios where this might happen:

1. Network policies at the Kubernetes level (e.g., Calico) are blocking access.
2. Network policies blocking traffic from the API server to Kubernetes pods (e.g., GCP custom security groups).
3. An interceptor (such as Istio) intercepts requests but does not forward them to the serve pod.

If you see error logs from the serve pod, such as messages starting with `failed to marshal patch:` or `empty patch`, please contact support, and we will assist you.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.perfectscale.io/enable-automation/troubleshooting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
