Autoscaling pods using google cloud metric like pubsub - google-cloud-pubsub

I am currently referring to google documentation for autoscaling using pubsub metric from stackdriver:
Autoscaling Deployments with External Metrics
But, I am getting some error in deploying google sample config present in above link/config link: Link to config image
Error: error validating data: ValidationError(HorizontalPodAutoscaler.spec.metrics[0]): unknown field "external" in io.k8s.api.autoscaling.v2beta1.MetricSpec; if you choose to ignore these errors, turn validation off with --validate=false
Looked around the web but was unable to find any reference to this error. I am not sure what is wrong.

Looks Like, There was a version error.
Previously i was using 1.9.7-gke.11 (Although note that this is default gke version right now )
Now with 1.10.9-gke.5 , Everything is working fine

Related

"An internal error occurred while ensuring the default service account exists" while creating Google App Engine

I am trying to create Google App Engine using create application option but i am getting below error :
An internal error occurred while ensuring the default service account exists.
Can you please help me with the solution
Tried creating with different location getting same error
Make sure the default App Engine Service Account is not missing (due to an accidental deletion e.g) from the IAM & admin > Service accounts section of the Cloud Console. It is named after your project followed by "#appspot.gserviceaccount.com".
If you do not see it, you can recover it by doing for example a REST API call as documented here:
POST https://iam.googleapis.com/v1/projects/[PROJECT-ID]/serviceAccounts/[SA-NAME]#[PROJECT-ID].iam.gserviceaccount.com:undelete
If the deletion was made more than 30 days ago, the only way left to fix the issue would be to create a new project and use its brand new default Service Account.

Can I use StackDriver Trace PHP application in GKE?

I want to check latencies of RPC every day about CakePHP Application each endpoints running in GKE cluster. I found it is possible using php google client or zipkin server by reading documents , but I don't know how easy to introduce to our app though both seem tough for me.
In addition, I'm concerned about GKE cluster configuration has StackDriver Trace option though our cluster it sets disabled.Can we trace span if it sets enable?
Could you give some advices?
I succeeded to send gcp's trace api in php client via REST. It can see trace set by php client parameters , but my endpoint for trace api has stopped though I don't know why.Maybe ,it is not still supported well because the document have many ambiguous expression so, I realized watching server response by BigQuery with fluentd and DataStudio and it seem best solution because auto span can be set by table name with yyyymmdd and we can watch arbitrary metrics with custom query or calculation field.

on what error log settings can I find app error logs that google clould compute engine apps throw

I've deployed an app using googles cloud compute engine service.
I get an error when I try to register a new user:
We're sorry, but something went wrong. If you are the application owner check the logs for more information.
I'm in the logs section of the google cloud console and it has all sorts of random logs I can look at but I cant find where the errors that the app coding itself caused caused are put, e.g. I'm sure its a mail configuration problem that is causing the error message for new registered users but I cant fix the problem until I find out what the actual error is.
Where exactly are actual app errors put, because they aren't displayed on the page the like in production on my local computer. (I'm using a rails app if that makes a difference to anything)
All errors are logged in the logging section, try applying filters or sorting the logs by date. Sometimes they take a little while to appear.

Invalid and/or missing SSL certificate when using Google App Engine

UPDATE: Please, if anyone can help: Google is waiting for inputs and examples of this problem on their bug tracking tool. If you have reproducible steps for this issue, please share them on: https://code.google.com/p/googleappengine/issues/detail?id=10937
I'm trying to fetch data from the StackExchange API using a Google App Engine backend. As you may know, some of StackExchange's APIs are site-specific, requiring developers to run queries against every site the user is registered in.
So, here's my backend code for fetching timeline data from these sites. The feed_info_site variable holds the StackExchange site name (such as 'security', 'serverfault', etc.).
data = json.loads(urllib.urlopen("%sme/timeline?%s" %
(self.API_BASE_URL, urllib.urlencode({"pagesize": 100,
"fromdate": se_since_timestamp, "filter": "!9WWBR
(nmw", "site": feed_info_site, "access_token":
decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key":
self.API_APP_KEY}))).read())
for item in data['items']:
... # code for parsing timeline items
When running this query on all sites except Stack Overflow, everything works OK. What's weird is, when the feed_info_site variable is set to 'stackoverflow', I get the following error from Google App Engine:
HTTPException: Invalid and/or missing SSL certificate for URL:
https://api.stackexchange.com/2.2/me/timeline?
filter=%219WWBR%28nmw&access_token=
<ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key=
<API_KEY_REMOVED>&site=stackoverflow
Of course, if I run the same query in Safari, I get the JSON results I'm expecting from the API. So the problem really lies in Google's URLfetch service. I found several topics here on Stack Overflow related to similar HTTPS/SSL exceptions, but no accepted answer solved my problems. I tried removing cacerts.txt files. I also tried making the call with validate_certificate=False, with no success.
I think the problem is not strictly related to HTTPS/SSL. If so, how would you explain that changing a single API parameter would make the request to fail?
Wait for the next update to the app engine (scheduled one soon) then update.
Replace browserid.org/verify with another service (verifier.loogin.persona.org/verify is a good service hosted by Mozilla what could be used)
Make sure cacerts.txt doesnt exist (looks like you have sorted but just in-case :-) )
Attempt again
Good luck!
-Brendan
I was facing the same error, google has updated the app engine now, error resolved, please check the updated docs.

LookupHost in Google App Engine errors

I've tried the following code:
addresses, error := net.LookupHost("google.com")
in regular Go and in the Google App Engine SDK, and it generally works fine.
However in a production GAE instance, it produces the following error:
error reading DNS config: open /etc/resolv.conf: operation not permitted
Will this be fixed, is there a workaround, can I change anything in the app.yaml configuration etc.?
You'll need to use the AppEngine API:
http://godoc.org/code.google.com/p/appengine-go/appengine/socket#LookupIP
Note you'll need a context there as well.

Resources