Open olberger opened 4 years ago
This looks similar to https://github.com/docker-library/docs/issues/883 even though that doesn't help much
Couldn't reproduce with a test today... maybe the container image changed in between...
Closing then
Well, it seems I've spoken too fast... the problem is back now.
I've stopped the VM that was running well, did a vagrant reload afterwards, and now the problem happens :-/
Really strange
I also have an issue with the aweb pod when starting antidote with selfmedicate. The aweb pod is running but is unhealthy:
vagrant@antidote-060:~$ kubectl get all -A
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/acore-5dc84fb45-lksfs 3/3 Running 1 91s
default pod/aweb-59999d4847-zv44s 0/1 Running 0 91s
default pod/jaeger-68fbc85f44-qsrqr 1/1 Running 0 90s
default pod/nginx-ingress-controller-7cb5547dff-nvg2x 1/1 Running 0 91s
[...]
When I look into the logs of the aweb pod, there are "Permission denied" errors:
vagrant@antidote-060:~$ kubectl logs pod/aweb-59999d4847-zv44s
2020/04/27 19:23:00 [error] 9#9: *1 open() "/usr/share/nginx/html/index.html" failed (13: Permission denied), client: 10.32.0.1, server: localhost, request: "GET / HTTP/1.1", host: "10.32.0.8:80"
10.32.0.1 - - [27/Apr/2020:19:23:00 +0000] "GET / HTTP/1.1" 403 153 "-" "kube-probe/1.14" "-"
It seems that kube-probe can't check the readiness of the pod because it can't access the index.html
file, so I checked the aweb container:
root@aweb-59999d4847-zv44s:/# ls -la /usr/share/nginx/html/
total 160
drwxr-xr-x 1 root root 4096 Apr 27 19:22 .
drwxr-xr-x 1 root root 4096 Jan 9 22:20 ..
-rw-r--r-- 1 root root 494 Apr 27 19:22 50x.html
drwxr-xr-x 1 root root 4096 Apr 27 19:22 advisor
-rw-r--r-- 1 root root 399 Feb 9 05:55 antidote-config.js
drwxr-xr-x 1 root root 4096 Apr 27 19:22 catalog
drwxr-xr-x 1 root root 4096 Apr 27 19:22 collections
drwxr-xr-x 2 root root 4096 Feb 9 05:55 icons
drwxr-xr-x 2 root root 4096 Feb 9 05:55 images
-rw-r--r-- 1 root root 5266 Apr 27 19:22 index.html
drwxr-xr-x 3 root root 4096 Mar 14 06:18 js
drwxr-xr-x 1 root root 4096 Apr 27 19:22 labs
drwxr-xr-x 1 root root 4096 Apr 22 16:52 node_modules
-rw-r--r-- 1 root root 60874 Mar 14 06:14 npm-debug.log
-rw-r--r-- 1 root root 31955 Apr 22 16:52 package-lock.json
-rw-r--r-- 1 root root 1143 Apr 22 16:42 package.json
-rw-r--r-- 1 root root 1780 Apr 22 16:34 rollup.config.js
drwxr-xr-x 2 root root 4096 Apr 22 16:52 stats
I'm not sure what permissions index.html
needs, but if I run chmod u+x /usr/share/nginx/html/index.html
, it seems that kube-probe now considers the aweb pod as ready:
vagrant@antidote-060:~$ kubectl get all -A
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/acore-5dc84fb45-lksfs 3/3 Running 1 22m
default pod/aweb-59999d4847-zv44s 1/1 Running 0 22m
default pod/jaeger-68fbc85f44-qsrqr 1/1 Running 0 22m
default deployment.apps/nginx-ingress-controller 1/1 1 1 22m
[...]
However, I am still unable to access the web application and I get no response when I try to run curl localhost:30001
inside the VM :/
vagrant@antidote-060:~$ curl localhost:30001 -v
* Rebuilt URL to: localhost:30001/
* Trying ::1...
* Connected to localhost (::1) port 30001 (#0)
> GET / HTTP/1.1
> Host: localhost:30001
> User-Agent: curl/7.47.0
> Accept: */*
>
Port 30001 is for the access from outside the VM, i.e. on the Vagrant host. Inside the VM, it should be on port 80 IIRC, FWIW
$ kubectl get service/nginx-ingress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-ingress NodePort 10.111.76.233 <none> 80:30001/TCP 94s
I'm not sure what permissions
index.html
needs, but if I runchmod u+x /usr/share/nginx/html/index.html
, it seems that kube-probe now considers the aweb pod as ready:
chmod +x on an HTML file ?? whoah... weird... but if this works...
Port 30001 is for the access from outside the VM, i.e. on the Vagrant host. Inside the VM, it should be on port 80 IIRC, FWIW
$ kubectl get service/nginx-ingress NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx-ingress NodePort 10.111.76.233 <none> 80:30001/TCP 94s
Oh I thought that it should work on port 30001 even inside the VM since the Vagrantfile forwards port 30001 of the guest to 30001 of the host :(
Anyway, I tried antidote-local:30001 outside the VM (it didn't work earlier because I didn't have the vagrant-hostsupdater plugin installed), and I can access the platform index.html well, but I still get 403 Forbidden errors when I try to access the lesson catalog :/
At this point I just ran chmod -R u+x /usr/share/nginx
on the entire directory on the antidote-web container, I'm not sure why it works but it actually does the trick...
I'm testing the latest 0.6.0 version of selfmedicate (with libvirt), and cannot seem to be able to connect to the Web app.
The NGinx ingress responds with 503, and the aweb pod fails to deploy/start :
also, there is: