deis / workflow

The open source PaaS for Kubernetes.
https://deis.com/workflow/
MIT License
1.3k stars 181 forks source link

trouble with registering deis #829

Closed hesamnobari closed 7 years ago

hesamnobari commented 7 years ago

ive followed every step in install instructions.. and for registering deis i have this problem a@a-virtual-machine:~$ deis register http://10.0.0.237.nip.io Error: Get http://10.0.0.237.nip.io/v2/: dial tcp 10.0.0.237:80: getsockopt: no route to host what can i do for register?

bacongobbler commented 7 years ago

10.0.0.x is an internal network bridge for within the cluster. You'll need to grab the load balancer's IP address or the node's public IP address. See https://deis.com/docs/workflow/quickstart/deploy-an-app/#determine-your-host-and-hostname-values

bacongobbler commented 7 years ago

also it should be http://deis.theipaddress.nip.io as the router redirects requests based on the header's hostname. deis redirects to the controller.

hesamnobari commented 7 years ago

@bacongobbler a@a-virtual-machine:~$ deis register http://deis.10.0.0.237.nip.io Error: Get http://deis.10.0.0.237.nip.io/v2/: dial tcp 10.0.0.237:80: getsockopt: no route to host this is the error afterwards..

bacongobbler commented 7 years ago

10.0.0.237 will not work outside of the cluster. My first comment should show you how to get the correct IP address you're looking for.

hesamnobari commented 7 years ago

@bacongobbler a@a-virtual-machine:~$ deis register http://deis.84.x.32.42.nip.io Error: Get http://deis.84.x.32.42.nip.io/v2/: dial tcp 84.x.32.42:80: getsockopt: connection refused the public 84.x.32.42 we have killed all process on port 80 &443

dfcarpenter commented 7 years ago

Not sure how to proceed here either. Following the exact instructions.

  1. Minikube ip
    minikube ip
    192.168.64.2

    Option 1. If your router IP is 1.1.1.1, its $hostname will be 1.1.1.1.nip.io. You can find your IP address by running:

    kubectl --namespace=deis describe svc deis-router
    Name:           deis-router
    Namespace:      deis
    Labels:         heritage=deis
    Annotations:        service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout=1200
    Selector:       app=deis-router
    Type:           LoadBalancer
    IP:         10.0.0.54
    Port:           http    80/TCP
    NodePort:       http    30327/TCP
    Endpoints:      <none>
    Port:           https   443/TCP
    NodePort:       https   30582/TCP
    Endpoints:      <none>
    Port:           builder 2222/TCP
    NodePort:       builder 32763/TCP
    Endpoints:      <none>
    Port:           healthz 9090/TCP
    NodePort:       healthz 30349/TCP
    Endpoints:      <none>
    Session Affinity:   None
    Events:         <none>

    Do I use 192.x.x or 10.x.x ? When I use 192.x.x I get (either deis register http://192.168.64.2.nip.io OR deis register http://10.0.0.54.nip.io) I get

    Error: http://192.168.64.2.nip.io does not appear to be a valid Deis controller.
    Make sure that the Controller URI is correct, the server is running and
    your deis version is correct.

For 10.x.x (either deis register http://10.0.0.54.nip.io || deis register http://deis.10.0.0.54.nip.io) I get

Error: Get http://deis.10.0.0.54.nip.io/v2/: dial tcp 10.0.0.54:80: getsockopt: operation timed out

Do I need to change my virtualbox settings? Is there something obvious I am missing?

vdice commented 7 years ago

@dfcarpenter there's actually a docs fix surrounding the line referenced below Option 1. (see https://github.com/deis/workflow/pull/835). There may be still be room for improved clarity in those docs, particularly w/r/t minikube clusters...

The full command should be:

deis register http://deis.$(minikube ip).nip.io

(where $(minikube ip) resolved to 192.168.64.2 at the time of writing)

Let me know if the above fails to work...

dfcarpenter commented 7 years ago

@vdice So I was having issues with some pods starting correctly and I was unable to uninstall and purge everything and start over. The problem now is the deis-router just hangs and never gets out of a pending state.

kubectl --namespace=deis get pods
NAME                                     READY     STATUS    RESTARTS   AGE
deis-builder-1134541883-qgm0v            1/1       Running   1          14m
deis-controller-2381495828-wx1cn         1/1       Running   1          14m
deis-database-401209816-fn4hk            1/1       Running   0          14m
deis-logger-2717637750-9vsgb             1/1       Running   2          14m
deis-logger-fluentd-9dw27                1/1       Running   0          14m
deis-logger-redis-1413683677-v5hck       1/1       Running   0          14m
deis-minio-3370481340-dmr30              1/1       Running   0          14m
deis-monitor-grafana-1073006293-qvr3q    1/1       Running   0          14m
deis-monitor-influxdb-2675149720-ljnxv   1/1       Running   0          14m
deis-monitor-telegraf-hpm0f              1/1       Running   1          14m
deis-nsqd-1225249577-1kll5               1/1       Running   0          14m
deis-registry-2623437609-9tz32           1/1       Running   2          14m
deis-registry-proxy-1pm8b                1/1       Running   0          14m
deis-router-3574011047-thqw0             0/1       Pending   0          14m
deis-workflow-manager-3757950027-db43m   1/1       Running   0          14m
kubectl get svc --all-namespaces
NAMESPACE     NAME                     CLUSTER-IP   EXTERNAL-IP   PORT(S)                                                    AGE
default       details                  10.0.0.224   <none>        9080/TCP                                                   31d
default       kubernetes               10.0.0.1     <none>        443/TCP                                                    32d
default       postgres                 10.0.0.192   <none>        5432/TCP                                                   13h
deis          deis-builder             10.0.0.207   <none>        2222/TCP                                                   14m
deis          deis-controller          10.0.0.166   <none>        80/TCP                                                     14m
deis          deis-database            10.0.0.193   <none>        5432/TCP                                                   14m
deis          deis-logger              10.0.0.204   <none>        80/TCP                                                     14m
deis          deis-logger-redis        10.0.0.16    <none>        6379/TCP                                                   14m
deis          deis-minio               10.0.0.179   <none>        9000/TCP                                                   14m
deis          deis-monitor-grafana     10.0.0.219   <none>        80/TCP                                                     14m
deis          deis-monitor-influxapi   10.0.0.71    <none>        80/TCP                                                     14m
deis          deis-monitor-influxui    10.0.0.174   <none>        80/TCP                                                     14m
deis          deis-nsqd                10.0.0.29    <none>        4151/TCP,4150/TCP                                          14m
deis          deis-registry            10.0.0.161   <none>        80/TCP                                                     14m
deis          deis-router              10.0.0.54    <pending>     80:30508/TCP,443:31946/TCP,2222:31143/TCP,9090:32638/TCP   14m
deis          deis-workflow-manager    10.0.0.246   <none>        80/TCP                                                     14m
fission       controller               10.0.0.136   <nodes>       80:31313/TCP                                               11h
fission       etcd                     10.0.0.41    <none>        2379/TCP                                                   11h
fission       influxdb                 10.0.0.125   <nodes>       8086:31315/TCP                                             11h
fission       poolmgr                  10.0.0.110   <none>        80/TCP                                                     11h
fission       router                   10.0.0.141   <nodes>       80:31314/TCP                                               11h
kube-system   default-http-backend     10.0.0.218   <nodes>       80:30001/TCP                                               32d
kube-system   kube-dns                 10.0.0.10    <none>        53/UDP,53/TCP                                              32d
kube-system   kubernetes-dashboard     10.0.0.78    <nodes>       80:30000/TCP                                               32d
kube-system   tiller-deploy            10.0.0.216   <none>        44134/TCP                                                  13h

Could it be related to #533 somehow? Specifically to replace "LoadBalancer" by "NodePort" for Minikube installs?

vdice commented 7 years ago

@dfcarpenter I see. The only extra value that should need setting for Workflow on minikube is the --set router.host_port.enabled=true as mentioned in the install-minikube guide -- even then, if it is not explicitly set, the router pod should run fine.

Wondering if you could supply what the router logs are saying when it is stuck in the pending state?

The following may turn up some clues: kubectl -n deis logs $(kubectl -n deis get po -l app=deis-router -o name) and/or kubectl -n deis describe $(kubectl -n deis get po -l app=deis-router -o name)

dfcarpenter commented 7 years ago

@vdice Thanks. So the logs command doesn't show anything but the describe does.

Name:       deis-router-3574011047-thqw0
Namespace:  deis
Node:       /
Labels:     app=deis-router
        pod-template-hash=3574011047
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"deis","name":"deis-router-3574011047","uid":"95c3a738-6045-11e7-af40-0ab2ca7a0882...
Status:     Pending
IP:
Controllers:    ReplicaSet/deis-router-3574011047
Containers:
  deis-router:
    Image:  quay.io/deis/router:v2.13.0
    Ports:  8080/TCP, 6443/TCP, 2222/TCP, 9090/TCP
    Liveness:   http-get http://:9090/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:9090/healthz delay=1s timeout=1s period=10s #success=1 #failure=3
    Environment:
      POD_NAMESPACE:    deis (v1:metadata.namespace)
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from deis-router-token-cmz9v (ro)
Conditions:
  Type      Status
  PodScheduled  False
Volumes:
  deis-router-token-cmz9v:
    Type:   Secret (a volume populated by a Secret)
    SecretName: deis-router-token-cmz9v
    Optional:   false
QoS Class:  BestEffort
Node-Selectors: <none>
Tolerations:    <none>
Events:
  FirstSeen LastSeen    Count   From            SubObjectPath   Type        Reason          Message
  --------- --------    -----   ----            -------------   --------    ------          -------
  1h        1h      92  default-scheduler           Warning     FailedScheduling    No nodes are available that match all of the following predicates:: PodFitsHostPorts (1).

I did also ensure that the router.host_port option was set to true

helm install deis/workflow --namespace deis --set router.host_port.enabled=true
NAME:   eager-bumblebee
LAST DEPLOYED: Mon Jul  3 16:15:59 2017
NAMESPACE: deis
STATUS: DEPLOYED

RESOURCES:
==> v1/Service
NAME                    CLUSTER-IP  EXTERNAL-IP  PORT(S)                                                   AGE
deis-logger-redis       10.0.0.16   <none>       6379/TCP                                                  4s
deis-nsqd               10.0.0.29   <none>       4151/TCP,4150/TCP                                         4s
deis-minio              10.0.0.179  <none>       9000/TCP                                                  4s
deis-monitor-influxapi  10.0.0.71   <none>       80/TCP                                                    4s
deis-router             10.0.0.54   <pending>    80:30508/TCP,443:31946/TCP,2222:31143/TCP,9090:32638/TCP  4s
deis-monitor-grafana    10.0.0.219  <none>       80/TCP                                                    4s
deis-database           10.0.0.193  <none>       5432/TCP                                                  4s
deis-monitor-influxui   10.0.0.174  <none>       80/TCP                                                    4s
deis-logger             10.0.0.204  <none>       80/TCP                                                    4s
deis-builder            10.0.0.207  <none>       2222/TCP                                                  4s
deis-workflow-manager   10.0.0.246  <none>       80/TCP                                                    4s
deis-controller         10.0.0.166  <none>       80/TCP                                                    4s
deis-registry           10.0.0.161  <none>       80/TCP                                                    4s

==> v1beta1/DaemonSet
NAME                   DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
deis-monitor-telegraf  1        1        0      1           0          <none>         4s
deis-registry-proxy    1        1        0      1           0          <none>         4s
deis-logger-fluentd    1        1        0      1           0          <none>         4s

==> v1beta1/Deployment
NAME                   DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
deis-monitor-grafana   1        1        1           0          4s
deis-builder           1        1        1           0          4s
deis-logger            1        1        1           0          4s
deis-nsqd              1        1        1           0          4s
deis-monitor-influxdb  1        1        1           0          4s
deis-workflow-manager  1        1        1           0          4s
deis-registry          1        1        1           0          4s
deis-router            1        1        1           0          4s
deis-minio             1        1        1           0          4s
deis-logger-redis      1        1        1           0          4s
deis-database          1        1        1           0          3s
deis-controller        1        1        1           0          3s

==> v1/Secret
NAME                   TYPE    DATA  AGE
minio-user             Opaque  2     4s
objectstorage-keyfile  Opaque  2     4s
deis-router-dhparam    Opaque  1     4s

==> v1/ConfigMap
NAME                  DATA  AGE
slugrunner-config     1     4s
dockerbuilder-config  2     4s
slugbuilder-config    2     4s

==> v1/ServiceAccount
NAME                   SECRETS  AGE
deis-logger-fluentd    1        4s
deis-logger            1        4s
deis-minio             1        4s
deis-database          1        4s
deis-controller        1        4s
deis-nsqd              1        4s
deis-router            1        4s
deis-builder           1        4s
deis-workflow-manager  1        4s
deis-monitor-telegraf  1        4s
deis-registry          1        4s

Not sure exactly how to troubleshoot but would https://github.com/deis/router/issues/58 still be applicable?

vdice commented 7 years ago

@dfcarpenter ah it indeed appears to resemble https://github.com/deis/router/issues/58 -- is there another service/k8s resource already using port 80 on the minikube host?

pradeepkumarreddynarsing commented 7 years ago

Hi Team,

Could someone please guide me. I am also trying to install Deis in minikube. While registering, obeserving below error.

[Deis]$ kubectl --namespace=deis describe svc deis-router Name: deis-router Namespace: deis Labels: heritage=deis Annotations: service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout=1200 Selector: app=deis-router Type: LoadBalancer IP: 10.0.0.121 Port: http 80/TCP NodePort: http 30876/TCP Endpoints: 172.17.0.9:8080 Port: https 443/TCP NodePort: https 31032/TCP Endpoints: 172.17.0.9:6443 Port: builder 2222/TCP NodePort: builder 31934/TCP Endpoints: 172.17.0.9:2222 Port: healthz 9090/TCP NodePort: healthz 32103/TCP Endpoints: 172.17.0.9:9090 Session Affinity: None Events:


[Deis]$ minikube ip 192.168.99.100 [Deis]$ [Deis]$ deis register http://deis.10.0.0.121.nip.io http://deis.10.0.0.121.nip.io/v1/ does not appear to be a valid Deis controller. Make sure that the Controller URI is correct, the server is running and your client version is correct. Error: Get http://deis.10.0.0.121.nip.io/v1/: EOF

pradeepkumarreddynarsing commented 7 years ago

update:- no other service is using port 80.

bacongobbler commented 7 years ago

That is the IP internal to the cluster. You'll want to use the value returned from minikube ip as shown in the documentation. :)

pradeepkumarreddynarsing commented 7 years ago

Sorry for delay in responding. I tried with "minikube ip" also, observing below issue. ]$ minikube ip 192.168.99.100 []$ []$ deis register http://deis.192.168.99.100.nip.io Error: http://deis.192.168.99.100.nip.io/v1/ does not appear to be a valid Deis controller. Make sure that the Controller URI is correct, the server is running and your client version is correct.

bacongobbler commented 7 years ago

Looks like you’re using an older client as it’s hitting /v1. Can you try updating?

pradeepkumarreddynarsing commented 7 years ago

Current version, I am using is following:- $ deis version 1.13.3


Will follow the document:- https://deis.com/docs/workflow/quickstart/install-cli-tools/ and update to v2.18.0. Will let you know the status. Thanks a lot for providing the details.

pradeepkumarreddynarsing commented 7 years ago

After updating to v2.18.0 Able to register User in deis.

jayaprakash369 commented 2 years ago

i tried to register user with deis register https://deis.app-testing.mydomain.io but am getting the below error, (don't bother abut double dot in domain name it's common and it's working. i already registered user for another domain like this)

Error: https://deis.app-testing.mydomain.io does not appear to be a valid Deis controller.
Make sure that the Controller URI is correct, the server is running and
your deis version is correct.

I have domain in route53. configured load balancer with ACM certificate and pointed load balancer to domain in route53.

my pods are running without any error. i don't know how to troubleshoot it?can anyone help?