Drone Agent (0.8) on kubernet cannot connect to server

I try to start drone agent in K8S
Drone server run normally, expose 8000 and 9000 port, create service and ingress. Setup server to connect to bitbucket.
Services manifest in k8s

apiVersion: v1
kind: Service
metadata:
name: drone-agents-gw
spec:
clusterIP: None
ports:
- port: 9000
protocol: TCP
name: drone-rpc
selector:
app: drone
type: ClusterIP

apiVersion: v1
kind: Service
metadata:
name: drone
spec:
ports:
- port: 8000
protocol: TCP
targetPort: 8000
name: drone-web
selector:
app: drone
type: ClusterIP

In agent configuration i use server url drone-agents-gw:9000
But in agent log i see error
grpc error: done(): code: Internal: rpc error: code = Internal desc = stream terminated by RST_STREAM with error code: 1

Try images 0.8 and 0.8.4 versions - all have this error.
How i can fix this?

I recommend taking a look at the official kubernetes helm chart: https://github.com/kubernetes/charts/tree/master/incubator/drone

It is confirmed to work with drone 0.8.*

Hey!

Here is my yaml wich I use to run Drone on k8s:

apiVersion: apps/v1                                                                                                                             
kind: Deployment                                                                                                                                
metadata:                                                                                                                                       
  name: drone                                                                                                                                   
spec:                                                                                                                                           
  selector:                                                                                                                                     
    matchLabels:                                                                                                                                
      app: drone                                                                                                                                
  replicas: 1                                                                                                                                   
  template:                                                                                                                                     
    metadata:                                                                                                                                   
      labels:                                                                                                                                   
        app: drone                                                                                                                              
    spec:                                                                                                                                       
      containers:                                                                                                                               
        - name: drone                                                                                                                           
          image: drone/drone:0.8                                                                                                                
          env:                                                                                                                                  
            - name: DRONE_OPEN                                                                                                                  
              value: "false"                                                                                                                    
            - name: DRONE_ADMIN                                                                                                                 
              value: "Sh4d1"                                                                                                                    
            - name: DRONE_HOST                                                                                                                  
              value: "drone-url"                                                                                                            
            - name: DRONE_GITHUB                                                                                                                
              value: "true"                                                                                                                     
            - name: DRONE_GITHUB_CLIENT                                                                                                         
              value: "clientid"                                                                                                                                                                                                    
            - name: DRONE_GITHUB_SECRET
              value: "secret"
            - name: DRONE_SECRET
              value: "drone-secret"
          ports:                                                                                                                                
          - containerPort: 8000                                                                                                                 
            name: drone-web-port                                                                                                                
          - containerPort: 9000                                                                                                                 
          volumeMounts:                                                                                                                         
          - mountPath: /var/lib/drone                                                                                                           
            name: drone-db                                                                                                                      
      volumes:                                                                                                                                  
      - name: drone-db                                                                                                                          
        hostPath:                                                                                                                               
          path: /var/lib/drone                                                                                                                  
---                                                                                                                                             
apiVersion: v1                                                                                                                                  
kind: Service                                                                                                                                   
metadata:                                                                                                                                       
  name: drone                                                                                                                                   
  labels:                                                                                                                                       
    app: drone                                                                                                                                  
spec:                                                                                                                                           
  ports:                                                                                                                                        
  - name: http                                                                                                                                  
    port: 80                                                                                                                                    
    targetPort: drone-web-port                                                                                                                  
    protocol: TCP                                                                                                                               
  - name: agent                                                                                                                                 
    port: 9000                                                                                                                                  
  selector:                                                                                                                                     
    app: drone
---
---                                                                                                                                    [10/1459]
apiVersion: apps/v1
kind: Deployment
metadata:
  name: drone-agent
spec:
  selector:
    matchLabels:
      app: drone-agent
  replicas: 1
  template:
    metadata:
      labels:
        app: drone-agent
    spec:
      containers:
        - name: drone-agent
          image: drone/agent:0.8
          args: ["agent"]
          env:
            - name: DRONE_SERVER
              value: "drone:9000"
            - name: DRONE_SECRET
              value: "drone-secret"
          volumeMounts:
            - mountPath: /var/run/docker.sock
              name: docker-socket
      volumes:
        - name: docker-socket
          hostPath:
            path: /var/run/docker.sock
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: drone
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
    - host: "drone-url"
      http:
        paths:
          - path: /
            backend:
              serviceName: drone
              servicePort: http

You don’t need a service for drone agent since you don’t need to expose it as a service.