Last active
April 29, 2021 15:45
-
-
Save jonico/e9268b6d63174599ef463bca81b9af4b to your computer and use it in GitHub Desktop.
Example of a GitHub Action runner pod managed by summerwind/actions-runner-controller that was successfully tested with container and services keywords in action workflow files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
items: | |
- apiVersion: v1 | |
kind: Pod | |
metadata: | |
creationTimestamp: "2021-04-29T15:09:09Z" | |
labels: | |
pod-template-hash: 65f67dcb66 | |
runner-deployment-name: actions-runner-deployment-epona | |
runner-template-hash: 6788f4694c | |
managedFields: | |
- apiVersion: v1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:metadata: | |
f:labels: | |
.: {} | |
f:pod-template-hash: {} | |
f:runner-deployment-name: {} | |
f:runner-template-hash: {} | |
f:ownerReferences: | |
.: {} | |
k:{"uid":"707d0cfe-b302-4466-a564-f82002a023b3"}: | |
.: {} | |
f:apiVersion: {} | |
f:blockOwnerDeletion: {} | |
f:controller: {} | |
f:kind: {} | |
f:name: {} | |
f:uid: {} | |
f:spec: | |
f:containers: | |
k:{"name":"docker"}: | |
.: {} | |
f:env: | |
.: {} | |
k:{"name":"DOCKER_TLS_CERTDIR"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
f:image: {} | |
f:imagePullPolicy: {} | |
f:name: {} | |
f:resources: {} | |
f:securityContext: | |
.: {} | |
f:privileged: {} | |
f:terminationMessagePath: {} | |
f:terminationMessagePolicy: {} | |
f:volumeMounts: | |
.: {} | |
k:{"mountPath":"/certs/client"}: | |
.: {} | |
f:mountPath: {} | |
f:name: {} | |
k:{"mountPath":"/runner"}: | |
.: {} | |
f:mountPath: {} | |
f:name: {} | |
k:{"mountPath":"/runner/_work"}: | |
.: {} | |
f:mountPath: {} | |
f:name: {} | |
k:{"name":"runner"}: | |
.: {} | |
f:env: | |
.: {} | |
k:{"name":"DOCKER_CERT_PATH"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"DOCKER_HOST"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"DOCKER_TLS_VERIFY"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"DOCKERD_IN_RUNNER"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"GITHUB_URL"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"RUNNER_ENTERPRISE"}: | |
.: {} | |
f:name: {} | |
k:{"name":"RUNNER_GROUP"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"RUNNER_LABELS"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"RUNNER_NAME"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"RUNNER_ORG"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"RUNNER_REPO"}: | |
.: {} | |
f:name: {} | |
k:{"name":"RUNNER_TOKEN"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
k:{"name":"RUNNER_WORKDIR"}: | |
.: {} | |
f:name: {} | |
f:value: {} | |
f:image: {} | |
f:imagePullPolicy: {} | |
f:name: {} | |
f:resources: | |
.: {} | |
f:limits: | |
.: {} | |
f:cpu: {} | |
f:memory: {} | |
f:requests: | |
.: {} | |
f:cpu: {} | |
f:memory: {} | |
f:securityContext: {} | |
f:terminationMessagePath: {} | |
f:terminationMessagePolicy: {} | |
f:volumeMounts: | |
.: {} | |
k:{"mountPath":"/certs/client"}: | |
.: {} | |
f:mountPath: {} | |
f:name: {} | |
f:readOnly: {} | |
k:{"mountPath":"/runner"}: | |
.: {} | |
f:mountPath: {} | |
f:name: {} | |
k:{"mountPath":"/runner/_work"}: | |
.: {} | |
f:mountPath: {} | |
f:name: {} | |
f:dnsPolicy: {} | |
f:enableServiceLinks: {} | |
f:restartPolicy: {} | |
f:schedulerName: {} | |
f:securityContext: {} | |
f:terminationGracePeriodSeconds: {} | |
f:tolerations: {} | |
f:volumes: | |
.: {} | |
k:{"name":"certs-client"}: | |
.: {} | |
f:emptyDir: {} | |
f:name: {} | |
k:{"name":"runner"}: | |
.: {} | |
f:emptyDir: {} | |
f:name: {} | |
k:{"name":"work"}: | |
.: {} | |
f:emptyDir: {} | |
f:name: {} | |
manager: manager | |
operation: Update | |
time: "2021-04-29T15:09:09Z" | |
- apiVersion: v1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:status: | |
f:conditions: | |
k:{"type":"ContainersReady"}: | |
.: {} | |
f:lastProbeTime: {} | |
f:lastTransitionTime: {} | |
f:status: {} | |
f:type: {} | |
k:{"type":"Initialized"}: | |
.: {} | |
f:lastProbeTime: {} | |
f:lastTransitionTime: {} | |
f:status: {} | |
f:type: {} | |
k:{"type":"Ready"}: | |
.: {} | |
f:lastProbeTime: {} | |
f:lastTransitionTime: {} | |
f:status: {} | |
f:type: {} | |
f:containerStatuses: {} | |
f:hostIP: {} | |
f:phase: {} | |
f:podIP: {} | |
f:podIPs: | |
.: {} | |
k:{"ip":"10.42.2.172"}: | |
.: {} | |
f:ip: {} | |
f:startTime: {} | |
manager: k3s | |
operation: Update | |
time: "2021-04-29T15:09:14Z" | |
name: actions-runner-deployment-epona-k4sr5-db75q | |
namespace: github-actions-runner-epona | |
ownerReferences: | |
- apiVersion: actions.summerwind.dev/v1alpha1 | |
blockOwnerDeletion: true | |
controller: true | |
kind: Runner | |
name: actions-runner-deployment-epona-k4sr5-db75q | |
uid: 707d0cfe-b302-4466-a564-f82002a023b3 | |
resourceVersion: "1289114" | |
selfLink: /api/v1/namespaces/github-actions-runner-epona/pods/actions-runner-deployment-epona-k4sr5-db75q | |
uid: f01fa46a-ab8b-4593-b073-a4130f5912ca | |
spec: | |
containers: | |
- env: | |
- name: RUNNER_NAME | |
value: actions-runner-deployment-epona-k4sr5-db75q | |
- name: RUNNER_ORG | |
value: Hyrule | |
- name: RUNNER_REPO | |
- name: RUNNER_ENTERPRISE | |
- name: RUNNER_LABELS | |
value: epona,kubernetes | |
- name: RUNNER_GROUP | |
value: default | |
- name: RUNNER_TOKEN | |
value: redacted | |
- name: DOCKERD_IN_RUNNER | |
value: "false" | |
- name: GITHUB_URL | |
value: https://octodemo.com/ | |
- name: RUNNER_WORKDIR | |
value: /runner/_work | |
- name: DOCKER_HOST | |
value: tcp://localhost:2376 | |
- name: DOCKER_TLS_VERIFY | |
value: "1" | |
- name: DOCKER_CERT_PATH | |
value: /certs/client | |
image: jonico/actions-runner:latest | |
imagePullPolicy: Always | |
name: runner | |
resources: | |
limits: | |
cpu: "1" | |
memory: 1Gi | |
requests: | |
cpu: 200m | |
memory: 128Mi | |
securityContext: {} | |
terminationMessagePath: /dev/termination-log | |
terminationMessagePolicy: File | |
volumeMounts: | |
- mountPath: /runner | |
name: runner | |
- mountPath: /runner/_work | |
name: work | |
- mountPath: /certs/client | |
name: certs-client | |
readOnly: true | |
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount | |
name: default-token-b7bxp | |
readOnly: true | |
- env: | |
- name: DOCKER_TLS_CERTDIR | |
value: /certs | |
image: docker:dind | |
imagePullPolicy: IfNotPresent | |
name: docker | |
resources: {} | |
securityContext: | |
privileged: true | |
terminationMessagePath: /dev/termination-log | |
terminationMessagePolicy: File | |
volumeMounts: | |
- mountPath: /runner/_work | |
name: work | |
- mountPath: /runner | |
name: runner | |
- mountPath: /certs/client | |
name: certs-client | |
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount | |
name: default-token-b7bxp | |
readOnly: true | |
dnsPolicy: ClusterFirst | |
enableServiceLinks: true | |
nodeName: node64-1 | |
preemptionPolicy: PreemptLowerPriority | |
priority: 0 | |
restartPolicy: OnFailure | |
schedulerName: default-scheduler | |
securityContext: {} | |
serviceAccount: default | |
serviceAccountName: default | |
terminationGracePeriodSeconds: 30 | |
tolerations: | |
- effect: NoExecute | |
key: node.kubernetes.io/unreachable | |
operator: Exists | |
tolerationSeconds: 10 | |
- effect: NoExecute | |
key: node.kubernetes.io/not-ready | |
operator: Exists | |
tolerationSeconds: 300 | |
volumes: | |
- emptyDir: {} | |
name: runner | |
- emptyDir: {} | |
name: work | |
- emptyDir: {} | |
name: certs-client | |
- name: default-token-b7bxp | |
secret: | |
defaultMode: 420 | |
secretName: default-token-b7bxp | |
status: | |
conditions: | |
- lastProbeTime: null | |
lastTransitionTime: "2021-04-29T15:09:09Z" | |
status: "True" | |
type: Initialized | |
- lastProbeTime: null | |
lastTransitionTime: "2021-04-29T15:09:14Z" | |
status: "True" | |
type: Ready | |
- lastProbeTime: null | |
lastTransitionTime: "2021-04-29T15:09:14Z" | |
status: "True" | |
type: ContainersReady | |
- lastProbeTime: null | |
lastTransitionTime: "2021-04-29T15:09:09Z" | |
status: "True" | |
type: PodScheduled | |
containerStatuses: | |
- containerID: containerd://9a109842e778112da5212f7844dac4f5eea2ed88a49a9ac453e41af801f350a9 | |
image: docker.io/library/docker:dind | |
imageID: docker.io/library/docker@sha256:9398e00a10c16fb3b98c77d452708702e790fd41c725b9b89de26352bea7fdce | |
lastState: {} | |
name: docker | |
ready: true | |
restartCount: 0 | |
started: true | |
state: | |
running: | |
startedAt: "2021-04-29T15:09:14Z" | |
- containerID: containerd://b7818b9bb39add9364b45a8a3267eb2f61303e723ec71882fae44a894ced3036 | |
image: docker.io/jonico/actions-runner:latest | |
imageID: docker.io/jonico/actions-runner@sha256:5b498da7c5a2008ce6148b595eb836b2510ce70cf6072b1ce96e4a9516e94fb3 | |
lastState: {} | |
name: runner | |
ready: true | |
restartCount: 0 | |
started: true | |
state: | |
running: | |
startedAt: "2021-04-29T15:09:13Z" | |
hostIP: 10.0.0.8 | |
phase: Running | |
podIP: 10.42.2.172 | |
podIPs: | |
- ip: 10.42.2.172 | |
qosClass: Burstable | |
startTime: "2021-04-29T15:09:09Z" | |
kind: List | |
metadata: | |
resourceVersion: "" | |
selfLink: "" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Hello World Docker & Service | |
on: | |
workflow_dispatch: | |
jobs: | |
helloworld: | |
container: jonico/actions-runner:latest | |
name: Hello World | |
services: | |
redis: | |
image: redis | |
ports: | |
- 6379:6379 | |
options: --entrypoint redis-server | |
runs-on: epona | |
steps: | |
- name: Say Hello | |
run: echo Hello World | |
- name: Redis ping | |
timeout-minutes: 1 | |
run: echo PING | nc redis ${{ job.services.redis.ports[6379] }} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
items: | |
- apiVersion: actions.summerwind.dev/v1alpha1 | |
kind: RunnerDeployment | |
metadata: | |
annotations: | |
kubectl.kubernetes.io/last-applied-configuration: | | |
{"apiVersion":"actions.summerwind.dev/v1alpha1","kind":"RunnerDeployment","metadata":{"annotations":{},"labels":{"environment":"epona"},"name":"actions-runner-deployment-epona","namespace":"github-actions-runner-epona"},"spec":{"template":{"spec":{"dockerEnabled":true,"group":"default","image":"jonico/actions-runner:latest","labels":["epona","kubernetes"],"organization":"Hyrule","resources":{"limits":{"cpu":"1000m","memory":"1Gi"},"requests":{"cpu":"50m","memory":"128Mi"}},"tolerations":[{"effect":"NoExecute","key":"node.kubernetes.io/unreachable","operator":"Exists","tolerationSeconds":10}]}}}} | |
creationTimestamp: "2021-02-21T23:13:32Z" | |
generation: 44 | |
labels: | |
environment: epona | |
managedFields: | |
- apiVersion: actions.summerwind.dev/v1alpha1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:metadata: | |
f:annotations: | |
.: {} | |
f:kubectl.kubernetes.io/last-applied-configuration: {} | |
f:labels: | |
.: {} | |
f:environment: {} | |
f:spec: | |
.: {} | |
f:template: | |
.: {} | |
f:spec: | |
.: {} | |
f:dockerEnabled: {} | |
f:group: {} | |
f:image: {} | |
f:labels: {} | |
f:organization: {} | |
f:resources: | |
.: {} | |
f:limits: | |
.: {} | |
f:cpu: {} | |
f:memory: {} | |
f:requests: | |
.: {} | |
f:memory: {} | |
f:tolerations: {} | |
manager: kubectl-client-side-apply | |
operation: Update | |
time: "2021-02-21T23:13:31Z" | |
- apiVersion: actions.summerwind.dev/v1alpha1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:spec: | |
f:replicas: {} | |
f:status: | |
.: {} | |
f:availableReplicas: {} | |
f:readyReplicas: {} | |
manager: manager | |
operation: Update | |
time: "2021-02-21T23:27:10Z" | |
- apiVersion: actions.summerwind.dev/v1alpha1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:spec: | |
f:template: | |
f:spec: | |
f:resources: | |
f:requests: | |
f:cpu: {} | |
manager: kubectl-edit | |
operation: Update | |
time: "2021-03-21T22:09:48Z" | |
name: actions-runner-deployment-epona | |
namespace: github-actions-runner-epona | |
resourceVersion: "1287341" | |
selfLink: /apis/actions.summerwind.dev/v1alpha1/namespaces/github-actions-runner-epona/runnerdeployments/actions-runner-deployment-epona | |
uid: 504f93dc-7206-417a-9943-ba7ee5bb9697 | |
spec: | |
replicas: 1 | |
selector: null | |
template: | |
metadata: | |
creationTimestamp: null | |
spec: | |
dockerEnabled: true | |
dockerdContainerResources: {} | |
group: default | |
image: jonico/actions-runner:latest | |
labels: | |
- epona | |
- kubernetes | |
organization: Hyrule | |
resources: | |
limits: | |
cpu: "1" | |
memory: 1Gi | |
requests: | |
cpu: 200m | |
memory: 128Mi | |
tolerations: | |
- effect: NoExecute | |
key: node.kubernetes.io/unreachable | |
operator: Exists | |
tolerationSeconds: 10 | |
kind: List | |
metadata: | |
resourceVersion: "" | |
selfLink: "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment