k3s/docs/cli.md

156 lines
4.5 KiB
Markdown
Raw Normal View History

2014-07-28 21:33:20 +00:00
## kubecfg command line interface
The `kubecfg` command line tools is used to interact with the Kubernetes HTTP API.
2014-11-20 21:09:14 +00:00
* [ReplicationController Commands](#replication-controller-commands)
* [RESTful Commands](#restful-commands)
* [Complete Details](#details)
* [Usage](#usage)
* [Options](#options)
2014-07-28 21:33:20 +00:00
### Replication Controller Commands
#### Run
```
kubecfg [options] run <image> <replicas> <controller-name>
```
2014-11-20 21:09:14 +00:00
Creates a Kubernetes ReplicaController object.
* `[options]` are described in the [Options](#options) section.
* `<image>` is the Docker image to use.
* `<replicas>` is the number of replicas of the container to create.
* `<controller-name>` is the name to assign to this new ReplicaController.
2014-07-28 21:33:20 +00:00
##### Example
```
kubecfg -p 8080:80 run dockerfile/nginx 2 myNginxController
```
#### Resize
```
kubecfg [options] resize <controller-name> <new-size>
```
Changes the desired number of replicas, causing replicas to be created or deleted.
2014-11-20 21:09:14 +00:00
* `[options]` are described in the [Options](#options) section.
2014-07-28 21:33:20 +00:00
##### Example
```
kubecfg resize myNginxController 3
```
#### Stop
```
kubecfg [options] stop <controller-name>
```
2014-11-20 21:09:14 +00:00
Stops a controller by setting its desired size to zero. Syntactic sugar on top of resize.
* `[options]` are described in the [Options](#options) section.
2014-07-28 21:33:20 +00:00
#### Remove
```
kubecfg [options] rm <controller-name>
```
2014-11-20 21:09:14 +00:00
Delete a replication controller. The desired size of the controller must be zero, by
calling either `kubecfg resize <controller-name> 0` or `kubecfg stop <controller-name>`.
* `[options]` are described in the [Options](#options) section.
2014-07-28 21:33:20 +00:00
### RESTful Commands
2014-11-20 21:09:14 +00:00
Kubecfg also supports raw access to the basic restful requests. There are four different resources you can acccess:
2014-07-28 21:33:20 +00:00
* `pods`
* `replicationControllers`
* `services`
* `minions`
###### Common Flags
2014-11-20 21:09:14 +00:00
2014-07-28 21:33:20 +00:00
* -yaml : output in YAML format
* -json : output in JSON format
* -c <config-file> : Accept a file in JSON or YAML for POST/PUT
#### Commands
##### get
Raw access to a RESTful GET request.
```
kubecfg [options] get pods/pod-abc-123
```
##### list
Raw access to a RESTful LIST request.
```
kubecfg [options] list pods
```
##### create
Raw access to a RESTful POST request.
```
kubecfg <-c some/body.[json|yaml]> [options] create pods
```
##### update
Raw access to a RESTful PUT request.
```
kubecfg <-c some/body.[json|yaml]> [options] update pods/pod-abc-123
```
##### delete
Raw access to a RESTful DELETE request.
```
kubecfg [options] delete pods/pod-abc-123
```
### Details
2014-11-20 21:09:14 +00:00
#### Usage
2014-07-28 21:33:20 +00:00
```
2014-11-20 21:09:14 +00:00
kubecfg -h [-c config/file.json] [-p :,..., :] <method>
2014-07-28 21:33:20 +00:00
Kubernetes REST API:
kubecfg [OPTIONS] get|list|create|delete|update <minions|pods|replicationControllers|services>[/<id>]
Manage replication controllers:
kubecfg [OPTIONS] stop|rm|rollingupdate <controller>
kubecfg [OPTIONS] run <image> <replicas> <controller>
kubecfg [OPTIONS] resize <controller> <replicas>
```
2014-11-20 21:09:14 +00:00
#### Options
* `-V=true|false`: Print the version number.
* `-alsologtostderr=true|false`: log to standard error as well as files
* `-auth="/path/to/.kubernetes_auth"`: Path to the auth info file. Only used if doing https.
* `-c="/path/to/config_file"`: Path to the config file.
* `-h=""`: The host to connect to.
* `-json=true|false`: If true, print raw JSON for responses
* `-l=""`: Selector (label query) to use for listing
* `-log_backtrace_at=:0`: when logging hits line file:N, emit a stack trace
* `-log_dir=""`: If non-empty, write log files in this directory
* `-log_flush_frequency=5s`: Maximum number of seconds between log flushes
* `-logtostderr=true|false`: log to standard error instead of files
* `-p=""`: The port spec, comma-separated list of `<external>:<internal>,...`
* `-proxy=true|false`: If true, run a proxy to the API server
* `-s=-1`: If positive, create and run a corresponding service on this port, only used with 'run'
* `-stderrthreshold=0`: logs at or above this threshold go to stderr
* `-template=""`: If present, parse this string as a golang template and use it for output printing
* `-template_file=""`: If present, load this file as a golang template and use it for output printing
* `-u=1m0s`: Update interval period
2014-11-20 23:29:27 +00:00
* `-v=0`: log level for V logs. See [Logging Conventions](devel/logging.md) for details
2014-11-20 21:09:14 +00:00
* `-verbose=true|false`: If true, print extra information
* `-vmodule=""`: comma-separated list of pattern=N settings for file-filtered logging
* `-www=""`: If -proxy is true, use this directory to serve static files
* `-yaml=true|false`: If true, print raw YAML for responses