Skip to content
Presentation of useful tools to develop with Kubernetes locally
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode init docs Jun 2, 2019
cloud-code init docs Jun 2, 2019
kubeadm-dind-cluster init docs Jun 2, 2019
minikube init docs Jun 2, 2019
skaffold init docs Jun 2, 2019
README.md init docs Jun 2, 2019

README.md

Local Development with Kubernetes ☸️

Presentation of useful tools to develop with Kubernetes locally

Local cluster

  • Minikube : Run Kubernetes locally on Windows, Mac or Linux.

  • MicroK8S : A single package of k8s that installs on 42 flavours of Linux.

  • Kind : A tool for running local Kubernetes clusters using Docker container “nodes”.

  • kubeadm-dind-cluster : A Kubernetes multi-node test cluster based on kubeadm.


Lightweight cluster

Remote cluster

Improve K8S command line UX

# Tip : easy merge kube config files and switch contexts
export KUBECONFIG=~/.kube/k1_config:~/.kube/k2_config:~/.kube/k3_config
kubectx
<3 contexts>
  • kube-shell : An integrated shell for working with the Kubernetes CLI
  • kube-prompt : An interactive kubernetes client featuring auto-complete
  • K9S
  • kube-ps1 : Kubernetes prompt info for bash and zsh
  • Stern : Multi pod and container log tailing
  • Kail : Kubernetes log viewer
  • KubeSpy : Tools for observing Kubernetes resources in real time
kubectl create ns gd
kubens gd

# In one shell (keep it displayed)
kubespy trace deploy gd/nginx-deployment
# In another shell
kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml 

# Pod
kubespy status v1 Pod gd/nginx
kubectl create -f https://github.com/pulumi/kubespy/raw/master/examples/trivial-pulumi-example/yaml/nginx.yaml

# Service
kubespy trace service  gd/nginx
kubectl create -f https://github.com/pulumi/kubespy/raw/master/examples/trivial-service-trace-example/yaml/nginx.yaml
kubectl krew {search,info,install,upgrade,remove} 
  • Examples :
    • kubectl view-utilization -h
    • kubectl get-all --only-scope=namespace --namespace=default

Development

GUI/TUI

Other tools

Learning

Useful links

https://cloud.google.com/blog/products/containers-kubernetes/easier-kubernetes-development-from-your-laptop https://medium.com/@wso2tech/multi-node-kubernetes-cluster-with-vagrant-virtualbox-and-kubeadm-9d3eaac28b98

You can’t perform that action at this time.