In this section you will get an overview of others Kubernetes useful features, in order of complexity.
Namespaces
is the way to support multiple virtual clusters in Kubernetes.
They are intended for use in environments with many users spread across multiple teams, or projects. For clusters with a few to tens of users, you should not need to create or think about namespaces
at all. Start using namespaces
when you need the features they provide.
By default, all objects are in the default
namespace. There is a "hidden" namespace
where Kubernetes runs services for itself.
Try:
$ kubectl get namespace
NAME STATUS AGE
default Active 56d
kube-public Active 56d
kube-system Active 56d
$ kubectl get all --namespace=kube-system
[lot of stuff]
It is a tool to validate your Kubernetes YAML files: https://github.com/garethr/kubeval
The easiest integration is with docker run
, if you files are in the directory kubernetes
docker run -it -v `pwd`/kubernetes:/kubernetes garethr/kubeval kubernetes/**/*
It is a package manager for Kubernetes: https://helm.sh/. It contains multiple, ready to use, Kubernetes manifest for projects, for example mysql
Kube State Metrics is a service you can install on your Kubernetes clusters to get metrics from its state. It's very useful for production cluster as you can measure and put alerts on the state of your applications. Like when do you have pod evictions, are your deployment fully deployed, etc.
kubectl delete statefulset,deployment,service,pod --all