Added details on numerous other commands.

pull/263/head
Matt Butcher 10 years ago
parent 4c21bf8444
commit f6fe49a1f2

@ -36,6 +36,39 @@ of commands occurs.
The user workflow is the common case. This answers stories for the "tire The user workflow is the common case. This answers stories for the "tire
kicker" and "standard user" personas. kicker" and "standard user" personas.
#### Installation
Currently, the client can be used with no installation. However, installing the server side component is done like this:
```
$ helm dm install
```
- Client uses existing `kubectl` configuration to install built-in manifests.
General pattern:
```
helm dm install
```
#### Searching
```
$ helm search bar
helm:example.com/foo/bar - A basic chart
helm:example.com/foo/barracuda - A fishy chart
helm:example.com/foo/barbecue - A smoky chart
```
- Client submits the query to the manager
- Server searches the available chart repos
General pattern:
```
helm search PATTERN
```
#### Simple deployment: #### Simple deployment:
``` ```
@ -47,6 +80,12 @@ Created wonky-panda
- The server assigns a random name `wonky-panda`, fetches the chart from - The server assigns a random name `wonky-panda`, fetches the chart from
object storage, and goes about the deployment process. object storage, and goes about the deployment process.
General patterns:
```
helm deploy [-f CONFIG] [-n NAME] [CHART]
```
#### Find out about params: #### Find out about params:
In this operation, helm reads a chart and returns the list of parameters In this operation, helm reads a chart and returns the list of parameters
@ -63,6 +102,12 @@ Params:
- The API server fetches the chart, analyzes it, and returns the list of - The API server fetches the chart, analyzes it, and returns the list of
parameters. parameters.
General pattern:
```
helm list-params CHART
```
#### Generate the params for me: #### Generate the params for me:
In this operation, helm generates a parameter values file for the user. In this operation, helm generates a parameter values file for the user.
@ -77,13 +122,18 @@ $ edit values.yaml
- The server returns a stub file - The server returns a stub file
- The client writes the file to disk - The client writes the file to disk
General pattern:
```
helm gen-params CHART [CHART...]
```
#### Deploy with params: #### Deploy with params:
In this operation, the user deploys a chart with an associated values In this operation, the user deploys a chart with an associated values
file. file.
``` ```
$ helm deploy helm:example.com/foo/bar values.yaml $ helm deploy -f values.yaml helm:example.com/foo/bar
Created taco-tuesday Created taco-tuesday
``` ```
@ -96,6 +146,13 @@ Created taco-tuesday
If we allow the user to pass in a name (overriding the generated name), If we allow the user to pass in a name (overriding the generated name),
then the server must first guarantee that this name is unique. then the server must first guarantee that this name is unique.
Alternately, just the values file may be specified, since it contains a reference to the base chart.
```
$ helm deploy -f values.yaml
Created taco-wednesday
```
#### Get the info about named deployment. #### Get the info about named deployment.
A deployment, as we have seen, is a named instance of a chart. A deployment, as we have seen, is a named instance of a chart.
@ -113,6 +170,11 @@ Located at: 10.10.10.77:8080
- The API server looks up pertinent data and returns it. - The API server looks up pertinent data and returns it.
- The client displays the data. - The client displays the data.
General pattern:
```
helm status NAME
```
#### Edit and redeploy: #### Edit and redeploy:
Redeployment is taking an existing _instance_ and changing its template Redeployment is taking an existing _instance_ and changing its template
@ -120,7 +182,7 @@ values, and then re-deploying it.
``` ```
$ edit values.yaml $ edit values.yaml
$ helm redeploy taco-tuesday values.yaml $ helm redeploy -f values.yaml taco-tuesday
Redeployed taco-tuesday Redeployed taco-tuesday
``` ```
@ -128,6 +190,12 @@ Redeployed taco-tuesday
- The server coalesces the values into the existing instance and then - The server coalesces the values into the existing instance and then
restarts. restarts.
General pattern:
```
helm redeploy [-f CONFIG] NAME
```
#### Uninstall: #### Uninstall:
``` ```
@ -138,6 +206,12 @@ Destroyed taco-tuesday
- The client sends the DELETE instance name command - The client sends the DELETE instance name command
- The API server destroys the resource - The API server destroys the resource
General pattern:
```
helm uninstall NAME [NAME...]
```
### Power User Features ### Power User Features
Users familiar with the system may desire additional tools. Users familiar with the system may desire additional tools.
@ -162,10 +236,17 @@ $ helm redeploy taco-tuesday values.yaml
- The server returns the values file used to generate the instance. - The server returns the values file used to generate the instance.
- The client writes this to a file (or, perhaps, to STDOUT) - The client writes this to a file (or, perhaps, to STDOUT)
General pattern:
```
helm get-values NAME [NAME...]
```
When more than one name is specified, the resulting file will contain configs for all names.
#### Get fully generated manifest files #### Get fully generated manifest files
``` ```
$ helm get-manifests taco-tuesday $ helm manifest get taco-tuesday
Created manifest.yaml Created manifest.yaml
``` ```
@ -173,6 +254,52 @@ Created manifest.yaml
- The server returns the manifests, as generated during the - The server returns the manifests, as generated during the
deploy/redeploy cycle done prior. deploy/redeploy cycle done prior.
General pattern:
```
helm manifest get NAME [NAME...]
```
#### Auto-detecting helm problems
```
$ helm doctor
```
#### Listing all installed charts
```
$ helm chart list
helm:example.com/foo/bar#1.1.1
helm:example.com/foo/bar#1.1.2
helm:example.com/foo/barbecue#0.1.0
```
#### Get instances of a chart
```
$ helm chart get helm:example.com/foo/bar
taco-tuesday
taco-wednesday
```
### Listing deployments
```
$ helm deployment list
skinny-pigeon
taco-tuesday
taco-wednesday
```
### Getting details of a deployment
_NB: Might not need this._
```
$ helm deployment get skinny-pigeon
DETAILS
```
### Developer Workflow ### Developer Workflow
This section covers the experience of the chart developer. This section covers the experience of the chart developer.
@ -199,32 +326,112 @@ Redeployed skinny-pigeon
- `helm create` and `helm lint` are client side operations - `helm create` and `helm lint` are client side operations
- `helm deploy`, `helm status`, and `helm redeploy` are explained above. - `helm deploy`, `helm status`, and `helm redeploy` are explained above.
General pattern for create:
```
helm create [--from NAME] CHARTNAME
```
Where `NAME` will result in fetching the generated values from the cluster.
General pattern for lint:
```
helm lint PATH
```
#### Packaging and Releasing packages
Package a chart:
```
$ helm package .
Created foo-1.1.2.tgz
```
Releasing a chart:
```
$ helm release -u https://example.com/bucket ./foo-1.1.2.tgz
Uploaded to https://example.com/bucket/foo-1.1.2.tgz
```
### Helm Cluster Management Commands
#### Install
```
$ helm dm install
```
- Client installs using the current kubectl configuration
#### Uninstall
```
$ helm dm uninstall
```
#### Check which cluster is the current target for helm
```
$ helm dm target
API Endpoint: https://10.21.21.21/
```
#### View status of DM service
### Additional Helm Commands ```
$ helm dm status
OK
```
The following commands are not anticipated to be part of the daily ### Repository Configuration
workflow, but do have occasional uses. Because they are less common,
many of these are grouped into sections of subcommands. #### Listing repositories
```
$ helm repo list
```
#### Adding credentials
```
$ helm credential add TOKEN SECRET
Created token-foo
```
#### Adding a repository with credentials
```
$ helm repo add -c token-foo https://example.com/charts
```
- `helm dm install|uninstall|status|target`: Get information about a The URL is of the form `PROTO://HOST[:PORT]/BUCKET`.
cluster. This is a mix of client and server activities.
- `helm repo add|rm|list`: Manage repositories. The client pushes #### Removing repositories
requests to the manager, which manages repositories.
- `helm doctor`: Fix client communication problems. ```
- `helm package`: Package a directory into a chart. Client side. $ helm repo rm https://example.com/charts
- `helm release`: Push a package to the repository. Client sends directly ```
to repository.
- `helm list`: List deployments. Processed on the manager #### Listing Credentials
- `helm search`: Search for available charts matching a given pattern.
This is processed on the manager. ```
$ helm credential list
token-foo: TOKEN
```
#### Removing credentials
```
$ helm credential rm token-foo
```
## An Overview of Four Team Workflows
The remainder of this document is broken into two major sections: The Overview covers the The remainder of this document is broken into two major sections: The Overview covers the
broad characteristics of the four workflows. The Development Cycle broad characteristics of the four workflows. The Development Cycle
section covers how the developer cycle plays out for each of the four section covers how the developer cycle plays out for each of the four
workflows. workflows.
## An Overview of Four Team Workflows
This section provides an introduction to the four workflows outlined This section provides an introduction to the four workflows outlined
above, calling out characteristics of each workflow that define it above, calling out characteristics of each workflow that define it
against other workflows. against other workflows.

Loading…
Cancel
Save