Introduction

Last updated: February 18, 2019

Reading time: 1 minutes

What is kube-exec ?

kube-exec is a library similar to os/exec that allows you to run commands in a Kubernetes pod, as if that command was executed locally. > It is inspired from go-dexec by ahmetb, which does the same thing, but for a Docker engine.

The interface of the package is similar to os/exec , and essentially this:

creates a new pod in Kubernetes based on a user-specified image

waits for the pod to be in Running state

state attaches to the pod and allows you to stream data to the pod through stdin , and from the pod back to the program through stdout and stderr

How to use it

cfg := kube.Config{ Kubeconfig: os.Getenv("KUBECONFIG"), Image: "ubuntu", Name: "kube-example", Namespace: "default", } cmd := kube.Command(cfg, "/bin/sh", "-c", "sleep 2; echo Running from Kubernetes pod;") cmd.Stdout = os.Stdout err := cmd.Run() if err != nil { log.Fatalf("error: %v", err) }

Here’s a list of full examples you can find in this repo:

© 2019 Released under the MIT license – Documentation built with Hugo using the Material theme.