Open monikagupta78 opened 6 years ago
The problem of GKE is that the default Ingress Controller only works for services exposing a NodePort. See this issue. You need to either edit the services to change ClusterIP
for NodePort
or deploy a different Ingress Controller. You can find guides here: http://kubeless.io/docs/http-triggers/
I am still unable to setup another ingress constroller. is there a way to test these functions without going through load balancer?
and can you let me know how to make this change that you suggested- edit the services to change ClusterIP for NodePort ?
I am still unable to setup another ingress constroller. is there a way to test these functions without going through load balancer?
The functions are accessible within the cluster by default but for using the frontend web application you need to expose them with an ingress object.
and can you let me know how to make this change that you suggested- edit the services to change ClusterIP for NodePort ?
If you execute kubectl edit service create
it will open a text editor in which you can modify the value type: ClusterIP
for type: NodePort
. Once you do that for all the services of the example you should see that the ingress object todos
have an address associated. At that point you should be able to call them executing curl <IP>/read-all
for example.
I edited all five functions, but I don't see IP being associated to todos ingress object. do I need to redeploy or something?
D:\serverless\serverless-kubeless\examples\todo-app\backend>kubectl get ing NAME HOSTS ADDRESS PORTS AGE todos 35.185.19.186.xip.io 80 21h
This is not changing.
On Thu, Apr 26, 2018 at 1:38 PM Andres notifications@github.com wrote:
I am still unable to setup another ingress constroller. is there a way to test these functions without going through load balancer?
The functions are accessible within the cluster by default but for using the frontend web application you need to expose them with an ingress object.
and can you let me know how to make this change that you suggested- edit the services to change ClusterIP for NodePort ?
If you execute kubectl edit service create it will open a text editor in which you can modify the value type: ClusterIP for type: NodePort. Once you do that for all the services of the example you should see that the ingress object todos have an address associated. At that point you should be able to call them executing curl
/read-all for example. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/serverless/serverless-kubeless/issues/115#issuecomment-384551763, or mute the thread https://github.com/notifications/unsubscribe-auth/AIa7NHheann3o_vL7mrT49xhglqNfcUXks5tsYBsgaJpZM4Tiv1a .
I also set it up on minikube. ingress object is created, IP is also assigned but still the function is not accessible using that IP.
This is the status of my services and ing object.
C:>kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
AGE
create ClusterIP 10.110.155.95
C:>kubectl get ing NAME HOSTS ADDRESS PORTS AGE todos 192.168.99.100.xip.io 10.0.2.15 80 40m
I am trying to check read-all in browser/postman - but it says site can not be reached. I am just trying to access these functions using postman. Am I missing anything? I have setup minikube on windows machine, installed kubeless, enabled ingress. Pls guide.
Thanks Monika
On Thu, Apr 26, 2018 at 2:02 PM Monika Gupta monikagupta78@gmail.com wrote:
I edited all five functions, but I don't see IP being associated to todos ingress object. do I need to redeploy or something?
D:\serverless\serverless-kubeless\examples\todo-app\backend>kubectl get ing NAME HOSTS ADDRESS PORTS AGE todos 35.185.19.186.xip.io 80 21h
This is not changing.
On Thu, Apr 26, 2018 at 1:38 PM Andres notifications@github.com wrote:
I am still unable to setup another ingress constroller. is there a way to test these functions without going through load balancer?
The functions are accessible within the cluster by default but for using the frontend web application you need to expose them with an ingress object.
and can you let me know how to make this change that you suggested- edit the services to change ClusterIP for NodePort ?
If you execute kubectl edit service create it will open a text editor in which you can modify the value type: ClusterIP for type: NodePort. Once you do that for all the services of the example you should see that the ingress object todos have an address associated. At that point you should be able to call them executing curl
/read-all for example. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/serverless/serverless-kubeless/issues/115#issuecomment-384551763, or mute the thread https://github.com/notifications/unsubscribe-auth/AIa7NHheann3o_vL7mrT49xhglqNfcUXks5tsYBsgaJpZM4Tiv1a .
If you use Minikube the Ingress won't give you a public IP so you won't be able to access it from a public service like postman.
Let me try to reproduce your issue in GKE, I will give you more information about it when I have a chance to follow the setup steps.
sure, thanks. Pls update me once you are able to replicate the same.
On Thu, Apr 26, 2018 at 9:48 PM Andres notifications@github.com wrote:
If you use Minikube the Ingress won't give you a public IP so you won't be able to access it from a public service like postman.
Let me try to reproduce your issue in GKE, I will give you more information about it when I have a chance to follow the setup steps.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/serverless/serverless-kubeless/issues/115#issuecomment-384701889, or mute the thread https://github.com/notifications/unsubscribe-auth/AIa7NPvefWfKWobE0WdJPYhVDkKd-61jks5tsfNigaJpZM4Tiv1a .
@monikagupta78 I have updated the guide for running the TODO example in GKE. Can you follow the guide at https://github.com/andresmgot/serverless-kubeless/blob/9731ab03f66e0d2354d8a80294a0aa46b742179d/examples/todo-app/backend/README.md#running-the-backend-in-gke and let me know if you get the same result?
I tried all setup again, could see the IP being assigned. I am trying to invoke the backend functions, can't i test that in browser or postman? I am not still not able to. when I am invoking read-all function using kubless cli, it just comes out, doesnt even return empty array []. can't I test without the frontend app? one more Qs, I had changed the clusterIP to nodeport, do I need to revert that change?
Thanks Monika
On Fri, Apr 27, 2018 at 4:15 PM Andres notifications@github.com wrote:
@monikagupta78 https://github.com/monikagupta78 I have updated the guide for running the TODO example in GKE. Can you follow the guide at https://github.com/andresmgot/serverless-kubeless/blob/9731ab03f66e0d2354d8a80294a0aa46b742179d/examples/todo-app/backend/README.md#running-the-backend-in-gke and let me know if you get the same result?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/serverless/serverless-kubeless/issues/115#issuecomment-384935029, or mute the thread https://github.com/notifications/unsubscribe-auth/AIa7NEelMWHmGH3HebKVGD3yD3Vi2vNuks5tsvbAgaJpZM4Tiv1a .
I am trying to invoke the backend functions, can't i test that in browser or postman?
Yes, as far as the IP it assign you is public you should be able to reach it.
I am not still not able to. when I am invoking read-all function using kubless cli, it just comes out, doesnt even return empty array []. can't I test without the frontend app?
That may be cause by an error in the function or a misconfiguration. What does curl -v <your ip>.nip.io
returns? Did you modify the host of the Ingress object?
I had changed the clusterIP to nodeport, do I need to revert that change?
AFAIK you don't need to but I recommend you to do so.
It seems to be working, looks like proxy was the issue. I am getting response for read-all like below: [{"_id":"5ae00d316d04cf1fa3725c02","id":"a09c2b60-4846-11e8-a0b7-a7edc07a3c98","updatedAt":1524632881430},{"_id":"5aea8b6f6d04cfd863725c03","id":"c0adb080-4e87-11e8-a0b7-a7edc07a3c98","updatedAt":1525320559496},{"_id":"5aea8bab6d04cf326d725c04","id":"e4343ba0-4e87-11e8-a0b7-a7edc07a3c98","updatedAt":1525320619098},{"_id":"5aea8bd76d04cf68cc725c05","id":"feaafb90-4e87-11e8-a0b7-a7edc07a3c98","updatedAt":1525320663497},{"_id":"5aeaa39c6d04cf368b725c06","desc":"Create first todo","id":"29be2bf0-4e96-11e8-a0b7-a7edc07a3c98","updatedAt":1525326748719}]
Had created one entry using postman - {"desc":"Create first todo"}
I could see that in read-all. Hope this is the expected behavior.
Thanks for your support.
On Wed, May 2, 2018 at 8:31 PM Andres notifications@github.com wrote:
I am trying to invoke the backend functions, can't i test that in browser or postman?
Yes, as far as the IP it assign you is public you should be able to reach it.
I am not still not able to. when I am invoking read-all function using kubless cli, it just comes out, doesnt even return empty array []. can't I test without the frontend app?
That may be cause by an error in the function or a misconfiguration. What does curl -v
.nip.io returns? Did you modify the host of the Ingress object? I had changed the clusterIP to nodeport, do I need to revert that change?
AFAIK you don't need to but I recommend you to do so.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/serverless/serverless-kubeless/issues/115#issuecomment-386008837, or mute the thread https://github.com/notifications/unsubscribe-auth/AIa7NNe61LtE5IUmYeCQSGu_oFwF0OmXks5tuco9gaJpZM4Tiv1a .
I have deployed todo-app/backend/ app in GKE. while trying to access I am getting error 404.
To me it looks like an issue with ingress setup. I can see two ingress entries when I run below command:
and the configuration todo yml file is:
Configuration of basic-ingress is :
I am not very sure of this configuration of ingress, can someone help pls?
All my todos functions been deployed successfully: