Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Install APIgee Hybrid v1.13 error

I am installing Apigee Hybrid following the instructions at https://cloud.google.com/apigee/docs/hybrid/v1.13/install-helm-charts.
I am currently on Step 10 in Part 2: Hybrid runtime setup.

I have successfully installed the components: Apigee Operator/Controller, datastore, telemetry, Redis, and ingress manager. However, when installing the organization, I encountered an error where the apigee-udca container cannot run.

Here is the error log:

----------------------------------------------------------------------------------
{"level":"info","ts":1734264178.4265897,"caller":"aau/main.go:37","msg":"Starting aau"}
{"level":"info","ts":1734264178.4674225,"caller":"log/logger.go:60","msg":"No http forward proxy configured"}
{"level":"info","ts":1734264178.4676564,"caller":"log/logger.go:60","msg":"No http forward proxy configured"}
{"level":"error","ts":1734264179.0240057,"caller":"log/logger.go:85","msg":"Error while fetching runtime config. Got non 2xx status code 404","stacktrace":"edge-internal.git.corp.google.com/uap/aau/log.Errorf\n\t/go/src/edge-internal/uap/aau/log/logger.go:85\nedge-internal.git.corp.google.com/uap/aau/client.(*client).setTenantBuckets\n\t/go/src/edge-internal/uap/aau/client/client.go:362\nedge-internal.git.corp.google.com/uap/aau/client.(*client).InitializeClient\n\t/go/src/edge-internal/uap/aau/client/client.go:396\nedge-internal.git.corp.google.com/uap/aau/manager.NewManager\n\t/go/src/edge-internal/uap/aau/manager/manager.go:70\nmain.main\n\t/go/src/edge-internal/uap/aau/main.go:45\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:271"}
{"level":"fatal","ts":1734264179.024604,"caller":"log/logger.go:95","msg":"Unable to initialize client for AAU Manager. Details: http error received with code = 404 for service = \"RUNTIME_CONFIG\" with message = \"<!DOCTYPE html>\\n<html lang=en>\\n <meta charset=utf-8>\\n <meta name=viewport content=\\\"initial-scale=1, minimum-scale=1, width=device-width\\\">\\n <title>Error 404 (Not Found)!!1</title>\\n <style>\\n *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}\\n </style>\\n <a href=//www.google.com/><span id=logo aria-label=Google></span></a>\\n <p><b>404.</b> <ins>That’s an error.</ins>\\n <p>The requested URL <code>/v1/organizations/apigee-demo-443715/runtimeConfig</code> was not found on this server. <ins>That’s all we know.</ins>\\n\"","stacktrace":"edge-internal.git.corp.google.com/uap/aau/log.Fatalf\n\t/go/src/edge-internal/uap/aau/log/logger.go:95\nedge-internal.git.corp.google.com/uap/aau/manager.NewManager\n\t/go/src/edge-internal/uap/aau/manager/manager.go:72\nmain.main\n\t/go/src/edge-internal/uap/aau/main.go:45\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:271"}
-------------------------------------------------------------------------------------------------------------------

I look forward to your support to continue the next steps.

Solved Solved
0 9 649
1 ACCEPTED SOLUTION

I am unable to complete Step 7: Enable Control Plane access.

The "PATCH"  HTTP method should be used, not POST.  It's a documentation bug we will correct. Please use: 

curl -X PATCH   -H "Authoriztion: Bearer $TOKEN"   'https://apigee.googleapis.com/v1/organizations/bmenasha-compute-service-1/controlPlaneAccess'    .....

> I attempted to deploy the Helm chart for apigee-virtualhost,

 

This can happen when you don't define the values for the "virtualhosts" property or more likely the supplied "envgroup" property is set to a name that is not among the names in the "virtualhosts" value. 

For example. if you define one virtualhost like


virtualhosts:
- name: lab-apigee2024-group-release
  selector:
    app: apigee-ingressgateway
    ingress_name: INGRESS_NAME
  sslCertPath: PATH_TO_CERT_FILE
  sslKeyPath: PATH_TO_KEY_FILE

 

you must deploy with envgroup set to  lab-apigee2024-group-release

helm upgrade my-chart-name apigee-virtualhost/ --install --namespace apigee --atomic --set envgroup=lab-apigee2024-group-release -f overrides.yaml 

 

View solution in original post

9 REPLIES 9

Hello @hungdv-007, we truly appreciate your patience as we keep track of your question. We’ll make sure you get a helpful answer, and we also invite the community to pitch in with their thoughts. 

While we wait, consider checking our articles and upcoming events 🙂

Did you set a custom value for the "contractProvider" property? https://cloud.google.com/apigee/docs/hybrid/v1.14/config-prop-ref.html#top-level    that is the value used to construct the URL that is resulting in a 404.   If you didn't chang this property value, then the url to be requested is https://apigee.googleapis.com/v1/organizations/apigee-demo-443715/runtimeConfig  , you can try requesting that url (or use the hostname in contractProvider) and ensure it's resolving to a valid IP address.

Typically one would change contractProvider to use a regional endpoint as described here https://cloud.google.com/apigee/docs/hybrid/v1.14/using-data-residency-with-apigee-hybrid  . You should ensure this value is correct and you can make requests to the configured hostname  (control plane service endpoint  like us-apigee.googleapis.com   as described here https://cloud.google.com/apigee/docs/locations#available-apigee-api-control-plane-hosting-jurisdicti...)  without getting this 404. 

 

 

Hi @hungdv-007, thank you for sharing your question and engaging with our Apigee community! It looks like you’ve received a helpful reply that could address your concern—thanks @bmenasha for your reply!

@hungdv-007, If it worked for you, consider marking it as an accepted solution to help others benefit from the shared knowledge. We’re thrilled to have you as part of our community and appreciate your participation. Looking forward to seeing you around! 😊

Thank you for your enthusiastic support. I am continuing with the installation.

I was able to get past that error, but new issues have arisen:

  1. I am unable to complete Step 7: Enable Control Plane access. Please refer to the illustration below.

    hungdv007_0-1735061216924.png

     

  2. I attempted to deploy the Helm chart for apigee-virtualhost, but it failed. The illustration is provided below.

    hungdv007_1-1735061232528.png


    What is wrong? Thank for your help!

I am unable to complete Step 7: Enable Control Plane access.

The "PATCH"  HTTP method should be used, not POST.  It's a documentation bug we will correct. Please use: 

curl -X PATCH   -H "Authoriztion: Bearer $TOKEN"   'https://apigee.googleapis.com/v1/organizations/bmenasha-compute-service-1/controlPlaneAccess'    .....

> I attempted to deploy the Helm chart for apigee-virtualhost,

 

This can happen when you don't define the values for the "virtualhosts" property or more likely the supplied "envgroup" property is set to a name that is not among the names in the "virtualhosts" value. 

For example. if you define one virtualhost like


virtualhosts:
- name: lab-apigee2024-group-release
  selector:
    app: apigee-ingressgateway
    ingress_name: INGRESS_NAME
  sslCertPath: PATH_TO_CERT_FILE
  sslKeyPath: PATH_TO_KEY_FILE

 

you must deploy with envgroup set to  lab-apigee2024-group-release

helm upgrade my-chart-name apigee-virtualhost/ --install --namespace apigee --atomic --set envgroup=lab-apigee2024-group-release -f overrides.yaml 

 

Hi @bmenasha @AlexET ,

Thanks for your support!

I have a few more questions about this:

  • After completing "Step 7: Enable Control Plane Access," do I need to upgrade the services that have already been deployed again?
  • For "Step 11 (Optional): Configure Workload Identity," I am using a Kubernetes cluster on a private cloud, so can I skip this step?
  • On my Kubernetes cluster, I have installed Istio. Can I just integrate it with this ingress gateway? Do you have any additional recommendations for me on this? If possible, please share some documentation on this topic—it would be greatly appreciated.

Thank you very much once again!

> After completing "Step 7: Enable Control Plane Access," do I need to upgrade the services that have already been deployed again?

No, there is no need to redploy.

 

>  For "Step 11 (Optional): Configure Workload Identity," I am using a Kubernetes cluster on a private cloud, so can I skip this step?

Yes, if you downloaded and are deploying service account keys in Step #4, you can skip this step.

On my Kubernetes cluster, I have installed Istio. Can I just integrate it with this ingress gateway?

Yes you can configure your custom istio install to accept the ingress traffic. We state this in our documentation here: https://cloud.google.com/apigee/docs/hybrid/v1.14/managing-ingress.html .

You would configure Istio to direct traffic to the ingress gateways cluster IP address  like any other kubernetes service. 

Thanks

Thank you!

I will continue researching and configuring Apigee to understand the flow.