* Update flag names to --request and --limit - Use singular flag names and support comma separated or repeated flag values - Update tests and docs * Update CHANGELOG * Update the flag description and examples * Remove release 0.15.0 header from CHANGELOG |
||
|---|---|---|
| .. | ||
| cmd | ||
| operations | ||
| plugins | ||
| traffic | ||
| workflows | ||
| DEVELOPMENT.md | ||
| README.md | ||
README.md
kn
kn is the Knative command line interface (CLI).
Getting Started
Installing kn
You can grab the latest nightly binary executable for:
Put it on your system path, and make sure it's executable.
Alternatively, check out the client repository, and type:
go install ./cmd/kn
To use the kn container image:
- Nightly:
gcr.io/knative-nightly/knative.dev/client/cmd/kn - Latest release:
gcr.io/knative-releases/knative.dev/client/cmd/kn
Connecting to your cluster
You'll need a kubectl-style config file to connect to your cluster.
- Starting minikube writes this file (or gives you an appropriate context in an existing config file)
- Instructions for Google GKE
- Instructions for Amazon EKS
- Instructions for IBM IKS
- Instructions for Red Hat OpenShift
- Or contact your cluster administrator
kn will pick up your kubectl config file in the default location of
$HOME/.kube/config. You can specify an alternate kubeconfig connection file
with --kubeconfig, or the env var $KUBECONFIG, for any command.
Kn Config
There are a set of configuration parameters you can setup to better customize
kn. For example, you can specify where your kn plugins are located and how
they are found, and you can specify the prefix for your addressable sink
objects. The kn configuration file is meant to capture these configuration
options. Let's explore this file's location, and the options you are able to
change with it.
Location
The default location kn looks for config is under the home directory of the
user at $HOME/.config/kn/config.yaml. It is not created for you as part of the
kn installation. You can create this file elsewhere and use the --config
flag to specify its path.
Options
Below are the options you can specify in the kn config file.
-
pluginsDirwhich is the same as the persistent flag--plugins-dirand specifies the kn plugins directory. It defaults to:~/.config/kn/plugins. By using the persistent flag (when you issue a command) or by specifying the value in theknconfig, a user can select which directory to findknplugins. It can be any directory that is visible to the user. -
lookupPluginsInPathwhich is the same as the persistent flag--lookup-plugins-in-pathand specficies ifknshould look for plugins anywhere in the specifiedPATHenvironment variable. This is a boolean configuration option and the default value isfalse. -
sinkdefines your prefix to refer to Kubernetes addressable resources. To configure a sink prefix, define following in the config file:prefix: Prefix you want to describe your sink as.serviceorsvc(serving.knative.dev/v1) andbroker(eventing.knative.dev/v1alpha1) are predefined prefixes inkn. These predefined prefixes can be overridden by values in configuration file.group: The APIGroup of Kubernetes resource.version: The version of Kubernetes resources.resource: The plural name of Kubernetes resources (for example: services).
For example, the following kn config will look for kn plugins in the user's
PATH and also execute plugin in ~/kn/.config/plugins. It also defines a sink
prefix myprefix which refers to brokers in eventing.knative.dev/v1alpha1.
With this configuration, you can use myprefix:default to describe a Broker
default in kn command line.
cat ~/.config/kn/config.yaml
lookupPluginsInPath: true
pluginsdir: ~/.config/kn/plugins
sink:
- prefix: myprefix
group: eventing.knative.dev
version: v1alpha1
resource: brokers
Commands
- See the generated documentation
- See the documentation on managing
kn
Plugins
Kn supports plugins, which allow you to extend the functionality of your kn
installation with custom commands as well as shared commands that are not part
of the core distribution of kn. See the
plugins documentation for more information.