Deploying Sonarqube Enterprise through helm chart with Terraform to GCP encountered timeout error

And this is the output of describing the developer edition pod:

zack_tzeng@cloudshell:~ (italpha)$ kubectl describe pods developer-sonarqube-0 --namespace sonarqube-external-db
W0607 13:28:01.978800     931 gcp.go:120] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Name:         developer-sonarqube-0
Namespace:    sonarqube-external-db
Priority:     0
Node:         gke-italpha-pool-2-2ed789a4-f6x9/10.142.0.18
Start Time:   Tue, 07 Jun 2022 13:20:45 +0000
Labels:       app=sonarqube
              controller-revision-hash=developer-sonarqube-6f5fc98694
              release=developer
              statefulset.kubernetes.io/pod-name=developer-sonarqube-0
Annotations:  checksum/config: ac837503d4925c6f8b194170b6f1d4eaf988e7599e59d00ee7ea4bfeccf6e72c
              checksum/init-fs: 94b53939c261bbe9ec91bf72223db6a713db4bbd9a6422080d4c6ca75e219c6d
              checksum/init-sysctl: 6d94f1740c4bb17570034ee9411d0066078e83f5a4942b3b6e6cdec3e26f151d
              checksum/plugins: cf6d00c7c4f7f8c2fc69b69e5da06fb5286a0ecdcfd85cf9440ac9485accdfa0
              checksum/prometheus-ce-config: 39d65d5c3a99f68a0a8b7e1f6cccd7dbead18e2dc0dbc9322f435cf822bdad75
              checksum/prometheus-config: f8a25d044ca3488d8c1df768685003d8c3bbee0435f73995cae00131b7c8f4bb
              checksum/secret: d59d049908b0012e9c91b037719afc9c4ff7760d6110a8a81bba9e9949efac0e
Status:       Running
IP:           10.68.7.54
IPs:
  IP:           10.68.7.54
Controlled By:  StatefulSet/developer-sonarqube
Init Containers:
  init-sysctl:
    Container ID:  containerd://e8e89c4994946a7b86088b75aa5ba8b3f0f74b013c5a237c69ac9941fa46e41b
    Image:         busybox:1.32
    Image ID:      docker.io/library/busybox@sha256:ae39a6f5c07297d7ab64dbd4f82c77c874cc6a94cea29fdec309d0992574b4f7
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
      -e
      /tmp/scripts/init_sysctl.sh
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Tue, 07 Jun 2022 13:20:47 +0000
      Finished:     Tue, 07 Jun 2022 13:20:47 +0000
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /tmp/scripts/ from init-sysctl (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7qrhr (ro)
  inject-prometheus-exporter:
    Container ID:  containerd://03b5f8f92bbde73bff17dc115bbca7bc188ffba2042a1bdf51da809ca38c5477
    Image:         curlimages/curl:7.76.1
    Image ID:      docker.io/curlimages/curl@sha256:fa32ef426092b88ee0b569d6f81ab0203ee527692a94ec2e6ceb2fd0b6b2755c
    Port:          <none>
    Host Port:     <none>
    Command:
      /bin/sh
      -c
    Args:
      curl -s 'https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.0/jmx_prometheus_javaagent-0.16.0.jar'  --output /data/jmx_prometheus_javaagent.jar -v
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Tue, 07 Jun 2022 13:20:48 +0000
      Finished:     Tue, 07 Jun 2022 13:20:49 +0000
    Ready:          True
    Restart Count:  0
    Environment:
      http_proxy:
      https_proxy:
      no_proxy:
    Mounts:
      /data from sonarqube (rw,path="data")
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7qrhr (ro)
Containers:
  sonarqube:
    Container ID:   containerd://9ae6cdbf879b25b6b13a651161fc79ad3d8dbc33056153052795b10cae6939ee
    Image:          sonarqube:9.4.0-developer
    Image ID:       docker.io/library/sonarqube@sha256:a0822cca9a57cbfc93a2d4396691a8a53c490f12f03bae4c39eb68736c95396f
    Ports:          9000/TCP, 8000/TCP, 8001/TCP
    Host Ports:     0/TCP, 0/TCP, 0/TCP
    State:          Running
      Started:      Tue, 07 Jun 2022 13:21:13 +0000
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     800m
      memory:  4Gi
    Requests:
      cpu:      400m
      memory:   2Gi
    Liveness:   http-get http://:http/api/system/liveness delay=60s timeout=1s period=30s #success=1 #failure=6
    Readiness:  exec [sh -c #!/bin/bash
# A Sonarqube container is considered ready if the status is UP, DB_MIGRATION_NEEDED or DB_MIGRATION_RUNNING
# status about migration are added to prevent the node to be kill while sonarqube is upgrading the database.
host="$(hostname -i || echo '127.0.0.1')"
if wget --proxy off -qO- http://${host}:9000/api/system/status | grep -q -e '"status":"UP"' -e '"status":"DB_MIGRATION_NEEDED"' -e '"status":"DB_MIGRATION_RUNNING"'; then
  exit 0
fi
exit 1
] delay=60s timeout=1s period=30s #success=1 #failure=6
    Startup:  http-get http://:http/api/system/status delay=30s timeout=1s period=10s #success=1 #failure=24
    Environment Variables from:
      developer-sonarqube-jdbc-config  ConfigMap  Optional: false
    Environment:
      SONAR_WEB_JAVAOPTS:        -javaagent:/opt/sonarqube/data/jmx_prometheus_javaagent.jar=8000:/opt/sonarqube/conf/prometheus-config.yaml
      SONAR_CE_JAVAOPTS:         -javaagent:/opt/sonarqube/data/jmx_prometheus_javaagent.jar=8001:/opt/sonarqube/conf/prometheus-ce-config.yaml
      SONAR_JDBC_PASSWORD:       <set to the key 'jdbc-password' in secret 'developer-sonarqube'>                                 Optional: false
      SONAR_WEB_SYSTEMPASSCODE:  <set to the key 'SONAR_WEB_SYSTEMPASSCODE' in secret 'developer-sonarqube-monitoring-passcode'>  Optional: false
    Mounts:
      /opt/sonarqube/conf/prometheus-ce-config.yaml from prometheus-ce-config (rw,path="prometheus-ce-config.yaml")
      /opt/sonarqube/conf/prometheus-config.yaml from prometheus-config (rw,path="prometheus-config.yaml")
      /opt/sonarqube/data from sonarqube (rw,path="data")
      /opt/sonarqube/logs from sonarqube (rw,path="logs")
      /opt/sonarqube/temp from sonarqube (rw,path="temp")
      /tmp from tmp-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7qrhr (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  init-sysctl:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      developer-sonarqube-init-sysctl
    Optional:  false
  init-fs:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      developer-sonarqube-init-fs
    Optional:  false
  install-plugins:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      developer-sonarqube-install-plugins
    Optional:  false
  prometheus-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      developer-sonarqube-prometheus-config
    Optional:  false
  prometheus-ce-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      developer-sonarqube-prometheus-ce-config
    Optional:  false
  sonarqube:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tmp-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  kube-api-access-7qrhr:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Normal   Scheduled  7m17s                  default-scheduler  Successfully assigned sonarqube-external-db/developer-sonarqube-0 to gke-italpha-pool-2-2ed789a4-f6x9
  Normal   Pulled     7m16s                  kubelet            Container image "busybox:1.32" already present on machine
  Normal   Created    7m16s                  kubelet            Created container init-sysctl
  Normal   Started    7m15s                  kubelet            Started container init-sysctl
  Normal   Pulled     7m14s                  kubelet            Container image "curlimages/curl:7.76.1" already present on machine
  Normal   Created    7m14s                  kubelet            Created container inject-prometheus-exporter
  Normal   Started    7m14s                  kubelet            Started container inject-prometheus-exporter
  Normal   Pulling    7m12s                  kubelet            Pulling image "sonarqube:9.4.0-developer"
  Normal   Pulled     6m49s                  kubelet            Successfully pulled image "sonarqube:9.4.0-developer" in 22.741765953s
  Normal   Created    6m49s                  kubelet            Created container sonarqube
  Normal   Started    6m49s                  kubelet            Started container sonarqube
  Warning  Unhealthy  5m57s (x3 over 6m17s)  kubelet            Startup probe failed: Get "http://10.68.7.54:9000/api/system/status": dial tcp 10.68.7.54:9000: connect: connection refused
  Warning  Unhealthy  5m26s (x3 over 5m46s)  kubelet            Startup probe failed: Get "http://10.68.7.54:9000/api/system/status": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  3m47s (x5 over 5m16s)  kubelet            Readiness probe failed:
  Warning  Unhealthy  3m47s                  kubelet            Liveness probe failed: HTTP probe failed with statuscode: 500
zack_tzeng@cloudshell:~ (italpha)$