Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
play

GitHub Action

KinD (Kubernetes in Docker) Action

v0.2.0 Pre-release

KinD (Kubernetes in Docker) Action

play

KinD (Kubernetes in Docker) Action

Easily run a Kubernetes cluster in your GitHub Action

Installation

Copy and paste the following snippet into your .yml file.

              

- name: KinD (Kubernetes in Docker) Action

uses: engineerd/setup-kind@v0.2.0

Learn more about this action in engineerd/setup-kind

Choose a version

@engineerd/setup-kind

Setup KinD (Kubernetes in Docker) with a single GitHub Action!

This action assumes a Linux environment, and will not work on Windows or MacOS agents.

name: "Create cluster using KinD"
on: [pull_request, push]

jobs:
  kind:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: engineerd/setup-kind@v0.2.0
    - name: Testing
      run: |
        kubectl cluster-info
        kubectl get pods -n kube-system

Note: KUBECONFIG is automatically merged after cluster creation, so starting with version 0.6 of Kind, you do not need to manually export the KUBECONFIG environment variable. See this document for a detailed migration guide Note: GitHub Actions workers come pre-configured with kubectl version 1.16.3.

The following arguments can be configured on the job using the with keyword (see example above). Currently, possible inputs are all the flags for kind cluster create, with the additional version, which sets the Kind version to downloadm and skipClusterCreation, which when present, skips creating the cluster (the Kind tools is configured in the path).

Optional inputs:

  • version: version of Kind to use (default "v0.5.1")
  • config: path (relative to the root of the repository) to a kind config file. If omitted, a default 1-node cluster will be created
  • image: node Docker image to use for booting the cluster.
  • name: cluster context name (default "kind")
  • wait: wait for control plane node to be ready (default "300s")
  • skipClusterCreation: if "true", the action will not create a cluster, just acquire the tools

Example using optional inputs:

name: "Create cluster using KinD"
on: [pull_request, push]

jobs:
  kind:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: engineerd/setup-kind@v0.2.0
      with:
          version: "v0.6.0"        
    - name: Testing
      run: |
        kubectl cluster-info
        kubectl get pods -n kube-system