Skip to content

Kubernetes Executor Can't Run Builds

I had the kubernetes executor working on my first test K8S cluster. I just created a new K8S cluster on bare metal using CoreOS Tectonic. I successfully deployed this gitlab runner deployment object:

kubectl create --filename deployments/gitlab-ci-runner.yaml --namespace gitlab

apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-runner
  namespace: gitlab
data:
  config.toml: |
    concurrent = 4

    [[runners]]
      name = "Kubernetes Runner"
      url = "https://my.gitlab.url/ci/"
      token = "MY_TOKEN"
      executor = "kubernetes"
      [runners.kubernetes]
        namespace = "gitlab"
        allow_privileged = true

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: gitlab-runner
  namespace: gitlab
spec:
  replicas: 1
  selector:
    matchLabels:
      name: gitlab-runner
  template:
    metadata:
      labels:
        name: gitlab-runner
    spec:
      containers:
      - args:
        - run
        image: gitlab/gitlab-runner:latest
        imagePullPolicy: Always
        name: gitlab-runner
        volumeMounts:
        - mountPath: /etc/gitlab-runner
          name: config
        - mountPath: /etc/ssl/certs
          name: cacerts
          readOnly: true
      restartPolicy: Always
      volumes:
        - name: config
          configMap:
            name: gitlab-runner
        - name: cacerts
          hostPath:
            path: /usr/share/ca-certificates/mozilla

The runner is registered with my Gitlab CI instance, however, when I try to run builds now against this new K8S cluster I just get this.

Running with gitlab-ci-multi-runner 1.10.4 (b32125f)
Using Kubernetes namespace: gitlab
Using Kubernetes executor with image mmencel/chefdk:latest ...
ERROR: Build failed (system failure): the server does not allow access to the requested resource (post pods)

My K8S versions are:

$ kubectl version

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T07:31:07Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2+coreos.1", GitCommit:"3ed7d0f453a5517245d32a9c57c39b946e578821", GitTreeState:"clean", BuildDate:"2017-01-18T01:43:45Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}