On Thursday, 22 June 2017 18:16:22 UTC+4, Evan Jones wrote:
>
> The Cloud SQL Proxy logs suggest to me that it may not be using the right 
> credentials? It is possible that it is trying to use the cluster's "default 
> service account"?
>
>
It seems to have been a permissions issue. It started working when I gave 
the cloud-sql service account "Project Owner" rights. The problem with this 
is that it's too permissive though.

Another question though: Do I really have to use cloudsql proxy to access 
it from GKE? It seems that whitelisting the IP addresses of the GKE cluster 
works just as well - In which case I wonder why the documentation 
recommends the overcomplicated route of setting up cloud sql proxy.

 

> If you use "kubectl exec ... -ti /bin/sh" you should be able to examine 
> the contents of the credentials file that is being passed to ensure that 
> the contents match what you expect. You can also try to interactively start 
> /cloud_sql_proxy with different flags to see if you can get it to start and 
> print the "expected" log message.
>
> Good luck I hope that helps!
>
>
>
> On Thursday, June 22, 2017 at 9:46:52 AM UTC-4, Traiano Welcome wrote:
>>
>> Hi Evan
>>
>>
>> On Thu, Jun 22, 2017 at 5:34 PM, Evan Jones <evan....@triggermail.io> 
>> wrote:
>>
>>> I know nothing about wordpress, but for what it is worth, we are using 
>>> this Cloud SQL Proxy container with success. A few notes about the config 
>>> you posted:
>>>
>>>
>>> * I'm assuming that where you have 
>>> "-instances=[INSTANCE_CONNECTION_NAME]=tcp:[PORT]" you've replaced this 
>>> with your Cloud SQL instance name (project:region:cloud_sql_name), and port 
>>> with 3306, right?
>>>
>>
>>
>> I have this:
>>
>>           command: ["/cloud_sql_proxy", "--dir=/cloudsql",
>>                     
>> "-instances=lol-staging:europe-west2:lol-staging-001=tcp:3306",
>>                     "-credential_file=/secrets/cloudsql/credentials.json"]
>>
>> I've redeployed and can see logs now, the wordpress container is failing 
>> because it's failing connection to SQL via the proxy:
>>
>>
>>      MySQL Connection Error: (2006) MySQL server has gone away
>>      Warning: mysqli::mysqli(): MySQL server has gone away in - on line 10
>>      Warning: mysqli::mysqli(): Error while reading greeting packet. 
>> PID=167 in - on line 10
>>      Warning: mysqli::mysqli(): (HY000/2006): MySQL server has gone away 
>> in - on line 10
>>
>> The cloud sql proxy container complains about an account not having 
>> correct permissions (however  I have given it editor permissions):
>>
>>     kubectl logs pods/wordpress-2608214628-9bc9b cloudsql-proxy
>>
>>
>> 2017/06/22 13:40:15 Throttling 
>> refreshCfg(lol-staging:europe-west2:lol-staging-001): it was only called 
>> 24.005689746s ago
>> 2017/06/22 13:40:15 couldn't connect to 
>> "lol-staging:europe-west2:lol-staging-001": ensure that the account has 
>> access to "lol-staging:europe-west2:lol-staging-001" (and make sure there's 
>> no typo in that name). Error during createEphemeral for 
>> lol-staging:europe-west2:lol-staging-001: googleapi: Error 403: The client 
>> is not authorized to make this request., notAuthorized
>> 2017/06/22 13:40:18 New connection for 
>> "lol-staging:europe-west2:lol-staging-001"
>>
>>
>> So I'm now wondering how to better validate which account is being 
>> referred to here and whether the permissions are correct.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>  
>>
>>>
>>> * If you run kubectl logs pod cloudsql-proxy you should see something 
>>> like the following:
>>>
>>> 2017/06/21 20:45:06 Listening on (whatever) for (your instance name)
>>> 2017/06/21 20:45:06 Ready for new connections
>>>
>>> * If the cloudsql-proxy container is running, you can run kubectl exec 
>>> (pod) -c cloudsql-proxy -ti /bin/sh to get a shell and try to verify the 
>>> cloudsql-proxy configuration, or to start a new instance and make sure it 
>>> is configured correctly.
>>>
>>> * We are using this with local Unix socket connections in the /cloudsql 
>>> directory, but localhost sockets should also work.
>>>
>>>
>>> I'm surprised you don't see any logs from your wordpress container, but 
>>> I can't help with that part.
>>>
>>> Good luck!
>>>
>>>
>>> On Thursday, June 22, 2017 at 3:15:26 AM UTC-4, Traiano Welcome wrote:
>>>>
>>>> Hi Ahmet
>>>>
>>>> On Thursday, 22 June 2017 02:25:05 UTC+4, Ahmet Alp Balkan wrote:
>>>>>
>>>>> Can you run "kubectl logs -l app=wordpress"? I am assuming there will 
>>>>> be some logs from the crashing mysql container.
>>>>>
>>>>>
>>>> Thanks for your response. I get no output from running that command (I 
>>>> suppose no logs are being generated). I tried both the command, and 
>>>> running 
>>>> it in a loop, just in case:
>>>>
>>>>  for i in `seq 1 100`;do echo "checking $i " - $(kubectl logs -l 
>>>> app=web );done
>>>>
>>>> No result.
>>>>
>>>> Just to be clear, wordpress container is in a pod, and the cloud sql 
>>>> container is a sidecar container connected to pod.
>>>>
>>>> Google's documentation seems pretty thin on getting this working 
>>>> properly with GKE containers, and non-existent on troubleshooting 
>>>> connectivity issues with cloud sql proxy.
>>>>
>>>> Do you know of an alternative method of getting a container access to 
>>>> Cloud SQL from GKE ?
>>>>
>>>>
>>>>
>>>> On Wed, Jun 21, 2017 at 7:58 AM, Traiano Welcome <tra...@gmail.com> 
>>>>> wrote:
>>>>>
>>>>>> I'm following this example of how to get wordpress running on GKE 
>>>>>> connected to Google Cloud SQL via the Google Cloud SQL Proxy:
>>>>>>
>>>>>>
>>>>>> https://cloud.google.com/sql/docs/mysql/connect-container-engine
>>>>>>
>>>>>>
>>>>>> <https://cloud.google.com/sql/docs/mysql/connect-container-engine>
>>>>>>
>>>>>> Unfortunately, my wordpress pod is failing with a crashloop error, 
>>>>>> and it's not clear from the documentation how to dig deeper into the 
>>>>>> reason 
>>>>>> for this. Here is a sample of the error:
>>>>>>
>>>>>>
>>>>>> bash-3.2$ kubectl get pods| egrep wordpress
>>>>>> wordpress-713960421-v4f49     0/2       CrashLoopBackOff   16         20m
>>>>>>
>>>>>> (kubectl describe pod ...)
>>>>>>
>>>>>> 11m   22s     36      kubelet, gke-noon-staging-default-  
>>>>>> pool-d500b601-dfb6                                    Warning FailedSync 
>>>>>>         Error syncing pod, skipping: [failed to "StartContainer" for 
>>>>>> "web" with   CrashLoopBackOff: "Back-off 5m0s restarting failed 
>>>>>> container=web   
>>>>>> pod=wordpress-713960421-v4f49_default(f64276d2-5660-11e7-a565-42010a9a0023)"
>>>>>>  , failed to "StartContainer" for "cloudsql-proxy" with    
>>>>>> CrashLoopBackOff: "Back-off 5m0s restarting failed 
>>>>>> container=cloudsql-proxy    
>>>>>> pod=wordpress-713960421-v4f49_default(f64276d2-5660-11e7- 
>>>>>> a565-42010a9a0023)"  
>>>>>>  ]
>>>>>>
>>>>>> My questions are: 
>>>>>>
>>>>>>    - How to dig further into why the pod is failing to deploy with 
>>>>>>    cloud sql proxy
>>>>>>    - Has anyone got an example working for using cloud sql proxy 
>>>>>>    with as simple mysql client pod?
>>>>>>
>>>>>> Here is a description of the deployment (kubectl describe wordpress):
>>>>>>
>>>>>>
>>>>>>  https://pastebin.com/DjYM97R7 <https://pastebin.com/DjYM97R7>
>>>>>>
>>>>>>
>>>>>> <https://pastebin.com/DjYM97R7>
>>>>>>
>>>>>> And a description of the pod (kubectl describe ):
>>>>>>
>>>>>>
>>>>>> <https://pastebin.com/pN7gUZg8>
>>>>>>
>>>>>>  https://pastebin.com/pN7gUZg8 <https://pastebin.com/pN7gUZg8>
>>>>>>
>>>>>>
>>>>>>
>>>>>> I deployed the cloud sql proxy and wordpress container separately and 
>>>>>> found the cloud sql proxy runs fine, but the wordpress blog container 
>>>>>> fails 
>>>>>> to startup on kubernetes. 
>>>>>> Error syncing pod, skipping: 
>>>>>>
>>>>>> failed to "StartContainer" for "wordpress" with CrashLoopBackOff
>>>>>>
>>>>>> <https://stackoverflow.com/questions/44672411/simple-client-connecting-to-google-cloud-sql-using-cloud-sql-proxy#comment76333823_44672411>
>>>>>>      
>>>>>> Looking at the pod logs for wordpress, it seems wordpress is dying 
>>>>>> because it cannot connect to the MySQL DB: 
>>>>>>
>>>>>> MySQL Connection Error: (2002) Connection refused – Traiano Welcome 
>>>>>> <https://stackoverflow.com/users/6052496/traiano-welcome> 3 hours ago 
>>>>>> <https://stackoverflow.com/questions/44672411/simple-client-connecting-to-google-cloud-sql-using-cloud-sql-proxy#comment76334135_44672411>
>>>>>>   
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Kubernetes user discussion and Q&A" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to kubernetes-use...@googlegroups.com.
>>>>>> To post to this group, send email to kubernet...@googlegroups.com.
>>>>>> Visit this group at https://groups.google.com/group/kubernetes-users.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "Kubernetes user discussion and Q&A" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/kubernetes-users/2kqHNT1Nbtc/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to 
>>> kubernetes-use...@googlegroups.com.
>>> To post to this group, send email to kubernet...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/kubernetes-users.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to kubernetes-users+unsubscr...@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.
Visit this group at https://groups.google.com/group/kubernetes-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to