wiki/structured/cli.kubectl.org
Gabriel Arazas ae3656f006 Make the command line notes consistent
Just the title anyways. It makes easier to find aside from the file name
and also makes it clear in case I refer to them from other documents.
2021-06-20 10:22:13 +08:00

2.0 KiB

Command line: kubectl

The main binary when managing Kubernetes clusters.

Subcommands

  • api-resource lists all of the resources it currently supports.
  • cluster-info prints information of the cluster and the add-ons installed.
  • create [RESOURCE] [NAME] creates the specified resource with the given name.

    • --dry-run just initiates the process and does nothing. Useful with -o yaml to create a minimal manifest.
    • -o [yaml|json|wide] prints the created resource as the specified output. Specially useful to create manifests and manage clusters declaratively.
  • describe [RESOURCE] [NAME] prints a detailed description of the given resource.
  • logs [RESOURCE] [NAME] shows the log printed from the given resource.
  • explain [RESOURCE] prints an explaination of the given resource — e.g., kubectl explain pods, kubectl explain rs.
  • get [RESOURCE] list the specified resource from the cluster.

    • -o, --output [yaml|json|wide] prints in the specified format. You can also print the columns you only need.
  • apply applies a manifest, that is, a configuration file.

When referring to a specific resource with ${RESOURCE}/${NAME} — e.g., namespace/demo, deploy/hello.

Examples

As this is a massive tool, this needs massive examples.

Basic workflow example from a beginner's perspective

Say you want to deploy your application with Kubernetes akin to Docker with a single container.

# Get the description of the cluster.
kubectl cluster-info

# List all of the supported resources.
kubectl api-resources

# Create a deployment.
kubectl create deployment/hello-world --image=alpine