acme-dns
acme-dns copied to clipboard
health and disk I/O error
The acme-dns has a unexpected behavior. When I call https://github.com/joohoi/acme-dns#health-check-endpoint we see a report it works correct, but it doesn't correct, we can't do any operations with sqlite.
➜ curl -v http://acme.exapmle.com/health
* Trying 192.168.10.250...
* TCP_NODELAY set
* Connected to acme.exapmle.com (192.168.10.250) port 80 (#0)
> GET /health HTTP/1.1
> Host: acme.exapmle.com
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.15.10
< Date: Tue, 21 May 2019 22:40:57 GMT
< Content-Length: 0
< Connection: keep-alive
< Vary: Origin
<
* Connection #0 to host acme.exapmle.com left intact
➜ curl -X POST http://acme.exapmle.com/register
{"error": "disk I/O error"}
acme-dns version: 0.7.2
The health check endpoint can be used to ensure the server is reachable. But it does not validate the server is functioning properly.
@Kugelschieber So why is health check here if it doesn't check anything?
It's just an endpoint to check wether the service is reachable or not. It does not make sure it's working correctly. My first guess is that you have misconfigured the server somehow.
Acme-dns is working in kubernetes. SQLite located in cephfs. SQLite is becoming unreachable when cephfs doesn't availiable or restarted. Your health check doesn't check it, so kubernetes can't restart acme-dns. I receive I/O error after this situation.
Running acme-dns inside Kubernetes isn't a good idea. Kubernetes uses port 53 (DNS) for service discovery that collides with acme-dns.
@socketpair