openanalytics / shinyproxy

ShinyProxy - Open Source Enterprise Deployment for Shiny and data science apps
https://www.shinyproxy.io
Apache License 2.0
512 stars 152 forks source link

Kubernetes EKS+Fargate - Container unresponsive #182

Open mentos1386 opened 4 years ago

mentos1386 commented 4 years ago

I'm getting the following error:

2019-12-16 08:49:08.623  WARN 1 --- [  XNIO-2 task-9] e.o.shinyproxy.ShinyProxyTestStrategy    : Container unresponsive, trying again (42/60): http://null:3838

With the following configuration:

proxy:
  landing-page: /
  heartbeat-rate: 10000
  heartbeat-timeout: 120000
  port: 8080

  authentication: none

  container-wait-time: 120000
  container-backend: kubernetes
  kubernetes:
    internal-networking: true
    url: http://localhost:9090 # Exposed via kubectl proxy sidecar

  specs:
  - id: 01_hello
    display-name: Hello Application
    description: Application which demonstrates the basics of a Shiny app
    container-cmd: ["R", "-e", "shinyproxy::run_01_hello()"]
    container-image: openanalytics/shinyproxy-demo
    #access-groups: [scientists, mathematicians]
  - id: 06_tabsets
    container-cmd: ["R", "-e", "shinyproxy::run_06_tabsets()"]
    container-image: openanalytics/shinyproxy-demo
    #access-groups: scientists

logging:
  level:
    root: INFO

This are the permissions for the role used by shiny-proxy

- apiGroups: [""]
  resources: ["pods", "pods/log", "services"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

I can see the pod created and running. I can even access it using kubectl port-forward. If i set internal-networking to false. I get a different error.

Kubernetes version

Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.8-eks-b8860f", GitCommit:"b8860f6c40640897e52c143f1b9f011a503d6e46", GitTreeState:"clean", BuildDate:"2019-11-25T00:55:38Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

More detail logs when accessing 01_hello using internal networking: https://gist.github.com/mentos1386/792db2add7c00af705f1c1744452e1e9 Without internal networking: https://gist.github.com/mentos1386/e431bc035c7913fc323cbbccc767b8ef


Im guessing that the null in the address that it's trying to access, should be pod ip or dns name? Could it be the limitation of Fargate? https://docs.aws.amazon.com/eks/latest/userguide/fargate.html

michaelhogersnplm commented 4 years ago

@mentos1386 very interested to hear whether or not you can find a solution!