Chapter 12. Maintenance and Troubleshooting
In this chapter, you will find recipes that deal with both app-level and cluster-level maintenance. We cover various aspects of troubleshooting, from debugging pods and containers, to testing service connectivity, interpreting a resource’s status, and node maintenance. Last but not least, we look at how to deal with
etcd, the Kubernetes control plane storage component. This chapter is relevant for both cluster admins and app developers.
12.1 Enabling Autocomplete for kubectl
It is cumbersome to type full commands and arguments for the
kubectl command, so you want an autocomplete function for it.
Enable autocompletion for
For Linux and the bash shell, you can enable
kubectl autocompletion in your current shell using the following command:
$ source <(kubectl completion bash)
For other operating systems and shells, please check the documentation.
12.2 Removing a Pod from a Service
You have a well-defined service (see Recipe 5.1) backed by several pods. But one of the pods is misbehaving, and you would like to take it out of the list of endpoints to examine it at a later time.
Relabel the pod using the
--overwrite option—this will allow you to change the value of the
run label on the pod. By overwriting this label, you can ensure that it will not be selected by the service selector (Recipe 5.1) and will be removed from the list ...