In this post we’ll learn some of the most useful and important Kubernetes System commands that you should know before diving deeper into kubectl cli.
Kubernetes Config
Probably the most important command which kind of sits above anything else you’ll explore on the Kubernetes cluster. If you don’t know config then you won’t even be able to browse your clusters, also known as contexts. So in this section we’ll talk about Kubernetes Contexts.
More details: kubectl config
Show Current Context
kubectl config current-context
List All Contexts
kubectl config get-contexts
Switch to Context
kubectl config use-contexts [CONTEXT NAME]
Delete Context
kubectl config delete-context [CLUSTER NAME]
Clear .kube File
kubectl config unset users.[CLUSTER USER]
kubectl config unset contexts.[CONTEXT NAME]
kubectl config unset clusters.[CLUSTER NAME]
Kubernetes Cluster
We’ll now start looking into your chosen cluster and we’ll start with inspecting the cluster-info details.
More details: kubectl cluster-info
High Level Cluster Info
kubectl cluster-info
Low Level Cluster Info Dump
kubectl cluster-info dump
Kubernetes Cluster Nodes
Once you made into your chosen context, you’ll probably need to see what the cluster is made of, how many Nodes are running as well as node details, such as cpu, memory, pod capacity, versions etc.
More details: Kubernetes Nodes
List All Nodes
kubectl get nodes
Describe All Nodes
kubectl describe nodes
Describe Single Node
kubectl describe node [NODE NAME]
Kubernetes Cluster Events
At this point you know your cluster quite well so it’s time to start looking into what’s actually happening on the cluster. This information is normally shown as Events.
List All Events
kubectl get events
List Events per Namespace
kubectl get events -n [NAMESPACE]
Kubernetes Namespaces
We’ll start wrapping up this chapter with a seamless transition from cluster information to workloads running on the cluster. And the best start on that is with learning Namespaces, which are essentially buckets into which your applications will deployed into.
More details: Kubernetes Namespaces
Create Namespace
Imperative
kubectl create ns [NAME]
Declarative
kubectl apply -f [NAMESPACE TEMPLATE].yaml
[NAMESPACE TEMPLATE].yaml
apiVersion: v1
kind: Namespace
metadata:
name: [NAME]
List All Namespaces
kubectl get namespaces
Show All Resources in Namespace
kubectl get all -n [NAMESPACE]
Show All Resources in All Namespaces
kubectl get all --all-namespaces
Delete Namespace
Imperative
kubectl delete ns [NAME]
Declarative
kubectl delete -f [NAMESPACE TEMPLATE].yaml
Kubernetes Server Resources
Finally, to complement Namespaces, we’ll now discover which Kubernetes resources are available on your cluster as well as information whether these can be bound into a namespace or not.
More details: kubectl api-resources
List Server Resource Types
kubectl api-resources
<< Introduction | Kubernetes System | Kubernetes Pods >>