Hello
I have tried installing drone server on k8s using latest helm chart(2.5.1) with drone image 1.6.1.
Following chart’s readme on github*com/helm/charts/tree/master/stable/drone, i use some helm values :
sourceControl.provider=github
sourceControl.github.clientID=xxxxxxxxx
sourceControl.secret=drone-gh-secrets
server.host=xxxxx.webrelay.io
Current k8s version is on v1.16.3 and installed on private cluster. So to get public access of drone-server i use https://webhookrelay.com/ service using its tunnel feature.
Based on similiar topic about Drone exec runner fails with “not implemented”, that clarify “not implemented” error is possible to occur when there is reverse proxy or load balancer that could be interfering and redirect POST becomes a GET request in agent and server communication.
So I try run drone runner directly on k8s using kubernetes-drone-runner after experiencing issue on docker runner and exec runner, so i can connect to the server just using k8s service (without additional reverse proxy or loadbalancer).
Here is my kubernetes runner configuration :
kubernetes drone runner deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: drone-runner
namespace: drone-system
spec:
...
env:
- name: DRONE_DEBUG
value: "true"
- name: DRONE_TRACE
value: "true"
- name: DRONE_RPC_HOST
value: drone-drone.drone-system.svc.cluster.local
- name: DRONE_RPC_PROTO
value: http
- name: DRONE_RPC_SECRET
valueFrom:
secretKeyRef:
name: drone-server-secrets
key: clientSecret
- name: DRONE_RPC_DUMP_HTTP
value: "true"
- name: DRONE_RPC_DUMP_HTTP_BODY
value: "true"
But its still give same errors :
drone-runner log
{"kind":"pipeline","type":"kubernetes","os":"","arch":"","variant":"","kernel":""}
HTTP/1.1 500 Internal Server Error
Content-Length: 15
Cache-Control: no-cache, no-store, must-revalidate, private, max-age=0
Content-Type: text/plain; charset=utf-8
Date: Mon, 03 Feb 2020 08:05:14 GMT
Expires: Thu, 01 Jan 1970 00:00:00 UTC
Pragma: no-cache
X-Accel-Expires: 0
not implementedPOST /rpc/v2/stage HTTP/1.1
Host: drone-drone.drone-system.svc.cluster.local
User-Agent: Go-http-client/1.1
Content-Length: 83
X-Drone-Token: xxxxxxx
Accept-Encoding: gzi
drone server log
{
"arch": "",
"kernel": "",
"kind": "pipeline",
"level": "debug",
"msg": "manager: request queue item",
"os": "",
"time": "2020-02-03T08:00:56Z",
"type": "kubernetes",
"variant": ""
}
{
"error": "not implemented",
"level": "warning",
"msg": "manager: request queue item error",
"time": "2020-02-03T08:00:56Z"
}