A GitHub Action for Kubernetes IN Docker - local clusters for testing Kubernetes using kubernetes-sigs/kind.
Create a workflow YAML file in your .github/workflows
directory. An example workflow is available below. For more information, reference the GitHub Help Documentation for Creating a workflow file.
For more information on inputs, see the API Documentation
version
: The kind version to use (default: v0.29.0
)config
: The path to the kind config filenode_image
: The Docker image for the cluster nodescluster_name
: The name of the cluster to create (default: chart-testing
)wait
: The duration to wait for the control plane to become ready (default: 60s
)verbosity
: info log verbosity, higher value produces more outputkubectl_version
: The kubectl version to use (default: v1.30.4)registry
: Whether to configure an insecure local registry (default: false)registry_image
: The registry image to use (default: registry:2)registry_name
: The registry name to use (default: kind-registry)registry_port
: The local port used to bind the registry (default: 5000)registry_enable_delete
: Enable delete operations on the registry (default: false)install_only
: Skips cluster creation, only install kind (default: false)ignore_failed_clean
: Whether to ignore the post delete cluster action failing (default: false)cloud_provider
: Whether to use cloud provider loadbalancer (default: false)Create a workflow (eg: .github/workflows/create-cluster.yml
):
name: Create Cluster on: pull_request jobs: create-cluster: runs-on: ubuntu-latest steps: - name: Create k8s Kind Cluster uses: helm/kind-action@v1
This uses @helm/kind-action GitHub Action to spin up a kind Kubernetes cluster on every Pull Request. See @helm/chart-testing-action for a more practical example.
Configuring Local RegistryCreate a workflow (eg: .github/workflows/create-cluster-with-registry.yml
):
name: Create Cluster with Registry on: pull_request jobs: create-cluster-with-registry: runs-on: ubuntu-latest steps: - name: Kubernetes KinD Cluster id: kind uses: helm/kind-action@v1 with: registry: true registry_name: my-registry registry_port: 5001 registry_enable_delete: true
This will configure the cluster with an insecure local registry at my-registry:5001
on both the host and within cluster. Subsequent steps can refer to the registry address with the output of the kind setup step (i.e. ${{ steps.kind.outputs.LOCAL_REGISTRY }}
).
Note: If config
option is used, you must manually configure the cluster nodes with registry config dir enabled at /etc/containerd/certs.d
. For example:
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 containerdConfigPatches: - |- [plugins."io.containerd.grpc.v1.cri".registry] config_path = "/etc/containerd/certs.d"
Participation in the Helm community is governed by the Code of Conduct.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4