|
|
||
|---|---|---|
| .. | ||
| cmd | ||
| README.md | ||
| plugins.md | ||
| traffic_splitting.md | ||
| workflows.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
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.
Commands
See the generated documentation
Service Management
A Knative service is the embodiment of a serverless workload. It is generally in the form of a collection of containers running in a group of pods, in the underlying Kubernetes cluster. Each Knative service associates with a collection of revisions, which represent the evolution of that service.
With the Kn CLI a user can list, create, delete, and update Knative services. The detail reference of each sub-command under the service command shows the options and flags for this group of commands.
Examples:
# Create a new service from an image
kn service create mysvc --env KEY1=VALUE1 --env KEY2=VALUE2 --image dev.local/ns/image:latest
You are able to also specify the requests and limits of both CPU and memory when creating a service. See service create command reference for additional details.
# List existing services in the 'default' namespace of your cluster
kn service list
You can also list services from all namespaces or a specific namespace using flags: --all-namespaces and --namespace mynamespace. See service list command reference for additional details.
Revision Management
A Knative revision is a "snapshot" of the specification of a service. For instance, when a Knative service is created with the environment variable FOO=bar a revision is added to the service. Afterwards, when the environment variable is changed to baz or additional variables are added, a new revision is created. When the image that the service is running is changed to a new digest, a new revision is created.
With the revision command group you can list and describe the current revisions on a service.
Examples:
# Listing a service's revision
kn revision list --service srvc # CHECK this since current command does not have --service flag
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.
Plugins follow a similar architecture to kubectl plugins with some small differences. One key difference is that Kn plugins can either live in your PATH or in a chosen and specified directory. Kn plugins shows how to install and create new plugins as well as giving some examples and best practices.
To see what plugins are installed on your machine, you can use the plugin command group's list command.
Utilities
These are commands that provide some useful information to the user.
- The
kn helpcommand displays a list of the commands with helpful information. - The
kn versioncommand will display the current version of theknbuild including date and Git commit revision. - The
kn completioncommand will output a BASH completion script forknto allow command completions with tabs.
Common Flags
For every Kn command you can use these optional common additional flags:
-hor--helpto display specific help for that command--config stringwhich specifies the Kn config file (default is $HOME/.kn.yaml)--kubeconfig stringwhich specifies the kubectl config file (default is $HOME/.kube/config)