docs(README): update README with basic information

The README reflected an earlier stage of project development. This
update gives more useful "Why Helm?" documentation at the top, and
updates several of the instructions to be more reflective of current
status.
pull/965/head
Matt Butcher 8 years ago
parent 0e2f0c65cc
commit d3e4e9f4b1

@ -5,32 +5,43 @@
Helm is a tool for managing Kubernetes charts. Charts are packages of Helm is a tool for managing Kubernetes charts. Charts are packages of
pre-configured Kubernetes resources. pre-configured Kubernetes resources.
Features: Use Helm to...
- Helm now has both a client (`helm`) and a server (`tiller`). The - Find and use popular software packaged as Kubernetes charts
server runs inside of Kubernetes, and manages your resources. - Share your own applications as Kubernetes charts
- Helm's chart format has changed for the better: - Create reproducible builds of your Kubernetes applications
- Dependencies are immutable and stored inside of a chart's `charts/` - Intelligently manage your Kubernetes manifest files
directory. - Manage releases of Helm packages
- Charts are strongly versioned using SemVer 2
- Charts can be loaded from directories or from chart archive files ## Helm in a Handbasket
- Helm supports Go templates without requiring you to run `generate`
or `template` commands. Helm is a tool that streamlines installing and managing Kubernetes applications.
- Helm makes it easy to configure your releases -- and share the Think of it like apt/yum/homebrew for Kubernetes.
configuration with the rest of your team.
- Helm chart repositories now use plain HTTP instead of Git/GitHub. - Helm has two parts: a client (`helm`) and a server (`tiller`)
There is no longer any GitHub dependency. - Tiller runs inside of your Kubernetes cluster, and manages releases (installations)
- A chart server is a simple HTTP server of your charts.
- Charts are referenced by version - Helm runs on your laptop, CI/CD, or wherever you want it to run.
- The `helm serve` command will run a local chart server, though you - Charts are Helm packages that contain at least two things:
can easily use object storage (S3, GCS) or a regular web server. - A description of the package (`Chart.yaml`)
- And you can still load charts from a local directory. - One or more templates, which contain Kubernetes manifest files
- The Helm workspace is gone. You can now work anywhere on your - Charts can be stored on disk, or fetched from remote chart repositories
filesystem that you want to work. (like Debian or RedHat packages)
Using Helm is as easy as this:
```console
$ helm init # Initialize Helm as well as the Tiller server
$ helm install docs/examples/alpine # Install the example Alpine chart
happy-panda # <-- That's the name of your release
$ helm list # List all releases
happy-panda
quiet-kitten
```
## Install ## Install
Helm is in its early stages of development. At this time there are no Helm is in its early stages of development. At this time there are no binary
releases. releases.
To install Helm from source, follow this process: To install Helm from source, follow this process:
@ -50,8 +61,11 @@ You will now have two binaries built:
- `bin/helm` is the client - `bin/helm` is the client
- `bin/tiller` is the server - `bin/tiller` is the server
You can locally run Tiller, or you build a Docker image (`make From here, you can run `bin/helm` and use it to install a recent snapshot of
docker-build`) and then deploy it (`helm init -i IMAGE_NAME`). Tiller. Helm will use your `kubectl` config to learn about your cluster.
For development on Tiller, you can locally run Tiller, or you build a Docker
image (`make docker-build`) and then deploy it (`helm init -i IMAGE_NAME`).
The [documentation](docs) folder contains more information about the The [documentation](docs) folder contains more information about the
architecture and usage of Helm/Tiller. architecture and usage of Helm/Tiller.
@ -62,3 +76,27 @@ Kubernetes Helm is the merged result of [Helm
Classic](https://github.com/helm/helm) and the Kubernetes port of GCS Deployment Classic](https://github.com/helm/helm) and the Kubernetes port of GCS Deployment
Manager. The project was jointly started by Google and Deis, though it Manager. The project was jointly started by Google and Deis, though it
is now part of the CNCF. is now part of the CNCF.
Differences from Helm Classic:
- Helm now has both a client (`helm`) and a server (`tiller`). The
server runs inside of Kubernetes, and manages your resources.
- Helm's chart format has changed for the better:
- Dependencies are immutable and stored inside of a chart's `charts/`
directory.
- Charts are strongly versioned using SemVer 2
- Charts can be loaded from directories or from chart archive files
- Helm supports Go templates without requiring you to run `generate`
or `template` commands.
- Helm makes it easy to configure your releases -- and share the
configuration with the rest of your team.
- Helm chart repositories now use plain HTTP instead of Git/GitHub.
There is no longer any GitHub dependency.
- A chart server is a simple HTTP server
- Charts are referenced by version
- The `helm serve` command will run a local chart server, though you
can easily use object storage (S3, GCS) or a regular web server.
- And you can still load charts from a local directory.
- The Helm workspace is gone. You can now work anywhere on your
filesystem that you want to work.

Loading…
Cancel
Save