Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

display_name Kubernetes (Deployment)
description Provision Kubernetes Deployments as Coder workspaces
icon ../../../site/static/icon/k8s.png
maintainer_github coder
verified true
tags
kubernetes
container

Remote Development on Kubernetes Pods

Provision Kubernetes Pods as Coder workspaces with this example template.

Prerequisites

Infrastructure

Cluster: This template requires an existing Kubernetes cluster

Workspace image

The container image determines what tools, languages, and runtimes are available in the workspace out of the box, so it has a major impact on the developer experience.

Some options to consider:

More language-specific images (Go, Java, Node.js, and more) are available in coder/images, and the devcontainers/images collection is another good source of ready-made development images. You can also build your own image to pre-bake the exact tools your team needs. Visit Coder's image management docs for additional guidance.

Authentication

This template authenticates using a ~/.kube/config, if present on the server, or via built-in authentication if the Coder provisioner is running on Kubernetes with an authorized ServiceAccount. To use another authentication method, edit the template.

Architecture

This template provisions the following resources:

  • Kubernetes pod (ephemeral)
  • Kubernetes persistent volume claim (persistent on /home/coder)

This means, when the workspace restarts, any tools or files outside of the home directory are not persisted. To pre-bake tools into the workspace (e.g. python3), modify the container image. Alternatively, individual developers can personalize their workspaces with dotfiles.

Note This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.