CLI tools

The following CLI tools are supported for use with Knative.

kubectl

You can use kubectl to apply the YAML files required to install Knative components, and also to create Knative resources, such as services and event sources using YAML.

See Install and Set Up kubectl.

kn

kn provides a quick and easy interface for creating Knative resources such as services and event sources, without the need to create or modify YAML files directly. kn also simplifies completion of otherwise complex procedures such as autoscaling and traffic splitting.

Note

kn cannot be used to install Knative components such as Serving or Eventing.

Additional resources

func

The func CLI enables you to create, build, and deploy Knative Functions without the need to create or modify YAML files directly.

Additional resources

Connecting CLI tools to your cluster

After you have installed kubectl or kn, these tools will search for the kubeconfig file of your cluster in the default location of $HOME/.kube/config, and will use this file to connect to the cluster. A kubeconfig file is usually automatically created when you create a Kubernetes cluster.

You can also set the environment variable $KUBECONFIG, and point it to the kubeconfig file.

Using the kn CLI, you can specify the following options to connect to the cluster:

  • --kubeconfig: use this option to point to the kubeconfig file. This is equivalent to setting the $KUBECONFIG environment variable.
  • --context: use this option to specify the name of a context from the existing kubeconfig file. Use one of the contexts from the output of kubectl config get-contexts.

You can also specify a config file in the following ways:

  • Setting the environment variable $KUBECONFIG, and point it to the kubeconfig file.

  • Using the kn CLI --config option, for example, kn service list --config path/to/config.yaml. The default config is at ~/.config/kn/config.yaml.

For more information about kubeconfig files, see Organizing Cluster Access Using kubeconfig Files.

Using kubeconfig files with your platform

Instructions for using kubeconfig files are available for the following platforms: