I am studying "kubectl describe" sourcecodes at https://github.com/kubernetes/kubectl/blob/master/pkg/describe/describe.go
However, I still could not figure out how "kubectl decsribe [CRD]" works (as in which function/functions are called).
I am a Go newbie, so would like to get some pointers please. Thanks.
I have read describePod function and understand how it works more or less, but still could not figure out how "kubectl describe [CRD]" works.
CodePudding user response:
The "kubectl describe " function can be found in the command-line interface (CLI) of Kubernetes, specifically in the "kubectl" tool. "kubectl" is used to manage and interact with a Kubernetes cluster and its resources. enter image description here
CodePudding user response:
The kubectl describe command is used to view information about a Kubernetes resource or resource group, as its name suggests.
AS per this doc your Pod ought to be scheduled and running already. Debugging Pods is a good place to start if your pod isn't running yet.
Obtaining information about pods by means of kubectl describe pod
Refer this doc for more information.
AS per this doc you can use the get, list, create, update, and delete commands to access this custom resource because the API group that you specify for this CRD is example.crd.com.
You can use kubectl describe crd <crd_name> to get a description of the CRD.
Refer this SO1 and SO2 for more information
CodePudding user response:
The kubectl describe command for a Custom Resource Definition (CRD) is implemented in the kubectl binary, which is a command-line tool for interacting with a Kubernetes cluster. The source code for kubectl is part of the Kubernetes project and is available on GitHub at https://github.com/kubernetes/kubernetes.
To find the implementation of the kubectl describe command for CRDs, you can search the source code for the relevant function. You can use the grep command or a code search tool like GitHub's Code Search to search for the string "kubectl describe crd". The implementation for this command is likely spread across multiple files, so you may need to search multiple files to find all relevant code.
Keep in mind that the implementation of the kubectl describe command may change over time as the Kubernetes project evolves, so you should always check the latest version of the code to ensure that you are working with the most up-to-date implementation.