fabric8
fabric8 copied to clipboard
nginx-ingress stuck: "does not have ingress points"
$ gofabric8 version
gofabric8, version 0.4.176 (branch: 'unknown', revision: 'homebrew')
build date: '20171110-18:14:07'
go version: '1.9.2'
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-16T03:15:08Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T20:55:30Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
$ uname -a
Darwin machine_name 15.6.0 Darwin Kernel Version 15.6.0: Mon Oct 2 22:20:08 PDT 2017; root:xnu-3248.71.4~1/RELEASE_X86_64 x86_64 i386 MacBookAir6,2 Darwin
$ docker --version # on my local machine
Docker version 17.11.0-ce, build 1caf76c
$ docker --version # on cluster
Docker version 17.03.1-ce, build c6d412e
I realise that it's ambitious to think that fabric8 will work with k8s 1.9, but despite the issue on init-containers being out of beta I thought I'd give it a shot.
Steps to reproduce
$ gofabric8 deploy --package system --http=true --legacy=false -n fabric8
# In another terminal (because previous command hangs)
$ kubectl apply nginx-ingress-permissions.yaml # See below for this file
The gofabric8 deploy
command never completes:
gofabric8 output
Deploying fabric8 to your Kubernetes installation at https://192.168.13.175:6443 for domain in namespace fabric8
Loading fabric8 releases from maven repository:https://repo1.maven.org/maven2/
Continue? [Y/n]
Creating new Namespace: fabric8
No endpoints found for service nginx-ingress
Deploying package: ingress version: 4.0.208
Template APISERVER_HOSTPORT = 192.168.13.175:6443
Template NODE_IP = 192.168.13.175
Template EXPOSER =
Template DOMAIN = 192.168.13.175.nip.io
Template GITHUB_OAUTH_CLIENT_SECRET =
Template GITHUB_OAUTH_CLIENT_ID =
Template HTTP =
Template TLS_ACME_DATA =
Template APISERVER = 192.168.13.175
Template OAUTH_AUTHORIZE_PORT = 6443
Template NAMESPACE = nginx-ingress
Creating ingress template resources in namespace nginx-ingress from 9 objects
Processing resource kind: Namespace in namespace nginx-ingress name nginx-ingress
Processing resource kind: ServiceAccount in namespace nginx-ingress name nginx-ingress-serviceaccount
Processing resource kind: Service in namespace nginx-ingress name default-backend
Processing resource kind: Service in namespace nginx-ingress name nginx-ingress
Processing resource kind: ConfigMap in namespace nginx-ingress name fabric8-system
Processing resource kind: ConfigMap in namespace nginx-ingress name nginx-ingress
Processing resource kind: ConfigMap in namespace nginx-ingress name nginx-tmpl
Processing resource kind: Deployment in namespace nginx-ingress name default-backend
Processing resource kind: Deployment in namespace nginx-ingress name nginx-ingress
ingress.......................................................................✔
Waiting for External LoadBalancer IP Address for service nginx-ingress in namespace nginx-ingress. This may take a few minutes.If you are running your own ingress controller please run deploy again passing the --ingress=false flag.
The nginx-ingress
doesn't have permissions to see other services in its namespace so I gave it permissions:
nginx-ingress-permissions.yaml
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: nginx-ingress
name: fabric8-nginx-ingress-user
rules:
- apiGroups: [""]
resources: ["services"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: fabric8-nginx-user
namespace: nginx-ingress
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: fabric8-nginx-ingress-user
subjects:
- kind: ServiceAccount
name: nginx-ingress-serviceaccount
namespace: nginx-ingress
Now the nginx-ingress
service/deployment enters CrashLoopBackOff
.
It says something about missing ingress points and then dies.
nginx-ingress pod log
[dumb-init] Unable to detach from controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] Child spawned with PID 7.
[dumb-init] Unable to attach to controlling tty (errno=25 Inappropriate ioctl for device).
[dumb-init] setsid complete.
I1228 15:31:58.225440 7 launch.go:105] &{NGINX 0.9.0-beta.11 git-a3131c5 https://github.com/kubernetes/ingress}
I1228 15:31:58.225483 7 launch.go:108] Watching for ingress class: nginx
I1228 15:31:58.225779 7 nginx.go:182] starting NGINX process...
I1228 15:31:58.226482 7 launch.go:262] Creating API server client for https://10.96.0.1:443
I1228 15:31:58.238746 7 launch.go:124] validated nginx-ingress/default-backend as the default backend
F1228 15:31:58.240834 7 launch.go:134] service nginx-ingress/nginx-ingress does not (yet) have ingress points
[dumb-init] Received signal 17.
[dumb-init] A child with PID 7 exited with exit status 255.
[dumb-init] Forwarded signal 15 to children.
[dumb-init] Child exited with status 255. Goodbye.
I understand that this issue may be down prioritised, but I though I'd file the issue anyway.
gofabric8 validate
after killing gofabric8 deploy ...
:
Validating your Kubernetes installation at https://192.168.13.175:6443 in namespace default
Service account......................................✘ serviceaccounts "fabric8" not found
Console..............................................✘ deployments.extensions "fabric8" not found
Jenkinshift Service..................................✘ services "jenkinshift" not found
PersistentVolumeClaims...............................✔
ConfigMaps...........................................✔
I just switched out the nginx images with the newest releases.
default-backend
now runs gcr.io/google_containers/defaultbackend:1.4
and nginx-ingress
runs quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0
That didn't fix the issue 😁
nginx-ingress pod log
NGINX Ingress controller
Release: 0.9.0
Build: git-6816630
Repository: https://github.com/kubernetes/ingress-nginx
-------------------------------------------------------------------------------
I1228 17:36:15.712435 6 main.go:227] Creating API client for https://10.96.0.1:443
I1228 17:36:15.725464 6 main.go:239] Running in Kubernetes Cluster version v1.9 (v1.9.0) - git (clean) commit 925c127ec6b946659ad0fd596fa959be43f0cc05 - platform linux/amd64
I1228 17:36:15.727908 6 main.go:83] validated nginx-ingress/default-backend as the default backend
F1228 17:36:15.729824 6 main.go:101] service nginx-ingress/nginx-ingress does not (yet) have ingress points
Hi did you figured out how to solve this ? I also had same problem
sh-4.2# kubectl logs nginx-ingress-7ddc99b46c-6b9wk --namespace nginx-ingress [dumb-init] Unable to detach from controlling tty (errno=25 Inappropriate ioctl for device). [dumb-init] Child spawned with PID 5. [dumb-init] Unable to attach to controlling tty (errno=25 Inappropriate ioctl for device). [dumb-init] setsid complete. I0202 07:42:29.973603 5 launch.go:105] &{NGINX 0.9.0-beta.11 git-a3131c5 https://github.com/kubernetes/ingress} I0202 07:42:29.973632 5 launch.go:108] Watching for ingress class: nginx I0202 07:42:29.973813 5 launch.go:262] Creating API server client for https://10.96.0.1:443 I0202 07:42:29.976995 5 nginx.go:182] starting NGINX process... I0202 07:42:29.986773 5 launch.go:124] validated nginx-ingress/default-backend as the default backend F0202 07:42:29.987821 5 launch.go:134] service nginx-ingress/nginx-ingress does not (yet) have ingress points [dumb-init] Received signal 17. [dumb-init] A child with PID 5 exited with exit status 255. [dumb-init] Forwarded signal 15 to children. [dumb-init] Child exited with status 255. Goodbye.
BTW, do you know what docker version and k8s version are workable for latest gofabric8 ?
I never figured out how to get rid of service nginx-ingress/nginx-ingress does not (yet) have ingress points
.
And I never got fabric8 working. I think I was close, but I never figured out what value to give to PROXY_PASS_URL
, which I mention here: https://github.com/fabric8-ui/fabric8-ui-openshift-nginx/issues/16
Because init-containers in k8s was deprecated in 1.6 or something, I suppose you'll have to use 1.5. I never bothered trying that.
well, thx, anyway, i tried docker 17+k8s 1.9, docker 1.12 + k8s 1.7.2, i didn't make it work, and i searched on website, i see someone successfully make it work on k8s 1.7.2 or 1.7.3 ... that's sad it is really hard to set up this platform, it should be easy...