Skip to content

k is a `kubectl` helper to deal with different kubernetes envionments

Notifications You must be signed in to change notification settings

maximilian-krauss/k

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

k

Just like James Bond's Q, but for kubectl

Q

k is a kubectl helper to deal with different kubernetes envionments

Installation

npm install -g the-k

Usage

k [environment name] ... commands/shorthands
# Without k
kubectl --kubeconfig /Users/max/.bluemix/plugins/container-service/clusters/moo-dev/moo-dev.yml exec -it mypod-abcdef -- /bin/sh

# With k
k dev exec -it mypod-abcdef -- /bin/sh

# With k on steroids
k dev e mypod-abcdef -- /bin/sh

Configuration

The kFile

That what's all about. You need to place a .kfile.json inside your home directory. See below for an example config.

Example .kfile.json

{
  "shorthands": {
    "gp": ["get", "pods"],
    "gs": ["get", "services"],
    "e": ["exec", "-it"]
  },
  "environments": {
    "dev": {
      "kubeconfig": "/Users/max/.bluemix/plugins/container-service/clusters/moo-dev/moo-dev.yml"
    },
    "int": {
      "kubeconfig": "/Users/max/.bluemix/plugins/container-service/clusters/moo-int/moo-int.yml"
    },
    "prod": {
      "kubeconfig": "/Users/max/.bluemix/plugins/container-service/clusters/moo-int/moo-int.yml",
      "requiresConfirmation": true
    }
  }
}