kubectl explain: an affront to basic decency
This commit is contained in:
64
virtualization/kubernetes/kubernetes_explain.md
Normal file
64
virtualization/kubernetes/kubernetes_explain.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: "Kubernetes Docs"
|
||||
tags: [ "virtualization", "kubernetes", "WTFM", "hosts", "DNS" ]
|
||||
requires: [ "Kubernetes Basics" ]
|
||||
---
|
||||
|
||||
`kubectl` provides easy high-level overviews:
|
||||
|
||||
```sh
|
||||
kubectl config view
|
||||
kubectl cluster-info
|
||||
```
|
||||
|
||||
Unfortunately, the documentation commands work less well.
|
||||
|
||||
# Kube-Explain
|
||||
|
||||
The `kubectl explain` resources cannot use tab-completion.
|
||||
But you can find the same resources listed with `api-resources`, and use a fuzzy-finder, to get the same effect.
|
||||
|
||||
```sh
|
||||
t="$(kubectl api-resources | fzy | gawk '{print $1}')"
|
||||
kubectl explain ${t}
|
||||
```
|
||||
|
||||
The documentation is in a classic style, which could only be improved by deletion.
|
||||
Take this fragment from `kubectl explain namespaces`:
|
||||
|
||||
```
|
||||
DESCRIPTION:
|
||||
Namespace provides a scope for Names. Use of multiple namespaces is
|
||||
optional.
|
||||
```
|
||||
|
||||
- Sentence 1: A 'name-space' is a space for names.
|
||||
- Sentence 2: If you create a namespace, you will not receive an error due to not having a second namespace. This is also the case for deployments, variables, and files which begin with the letter 'P', but the writer was being paid per word.
|
||||
|
||||
Continuing...
|
||||
|
||||
```
|
||||
metadata <ObjectMeta>
|
||||
Standard object's metadata. More info:
|
||||
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||
```
|
||||
|
||||
So a namespace has metadata, which has something in diamond-brackets called `ObjectMeta`.
|
||||
We should understand this as 'normal metadata for an object', and the author promises us more information.
|
||||
But only a fool would trust that link, as the author's a hack, without even the flimsy excuse of being left alone with ChatGPT (the docs existed before LLMs became uncool).
|
||||
|
||||
Completing this morality tale, entitled '*Why Nobody Reads the Docs*', we arrive at the end of Kubernetes' namespace documentation:
|
||||
|
||||
```
|
||||
status <NamespaceStatus>
|
||||
Status describes the current status of a Namespace. More info:
|
||||
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||
```
|
||||
|
||||
Of course this is wrong.
|
||||
The sentence should read:
|
||||
|
||||
```
|
||||
'Status' describes the current status of a Namespace.
|
||||
```
|
||||
|
Reference in New Issue
Block a user