github.com/danielqsj/helm@v2.0.0-alpha.4.0.20160908204436-976e0ba5199b+incompatible/README.md (about)

     1  # Kubernetes Helm
     2  
     3  [![CircleCI](https://circleci.com/gh/kubernetes/helm.svg?style=svg)](https://circleci.com/gh/kubernetes/helm)
     4  
     5  Helm is a tool for managing Kubernetes charts. Charts are packages of
     6  pre-configured Kubernetes resources.
     7  
     8  Use Helm to...
     9  
    10  - Find and use popular software packaged as Kubernetes charts
    11  - Share your own applications as Kubernetes charts
    12  - Create reproducible builds of your Kubernetes applications
    13  - Intelligently manage your Kubernetes manifest files
    14  - Manage releases of Helm packages
    15  
    16  ## Helm in a Handbasket
    17  
    18  Helm is a tool that streamlines installing and managing Kubernetes applications.
    19  Think of it like apt/yum/homebrew for Kubernetes.
    20  
    21  - Helm has two parts: a client (`helm`) and a server (`tiller`)
    22  - Tiller runs inside of your Kubernetes cluster, and manages releases (installations)
    23    of your charts.
    24  - Helm runs on your laptop, CI/CD, or wherever you want it to run.
    25  - Charts are Helm packages that contain at least two things:
    26    - A description of the package (`Chart.yaml`)
    27    - One or more templates, which contain Kubernetes manifest files
    28  - Charts can be stored on disk, or fetched from remote chart repositories
    29    (like Debian or RedHat packages)
    30  
    31  ## Docs
    32  
    33  - [Quick Start](docs/quickstart.md)
    34  - [Architechture](docs/architecture.md)
    35  - [Charts](docs/charts.md)
    36  	- [Chart Repository Guide](docs/chart_repository.md)
    37  	- [Syncing your Chart Repository](docs/chart_repository_sync_example.md)
    38  - [Developers](docs/developers.md)
    39  
    40  
    41  ## Install
    42  
    43  Download a [release tarball of helm and tiller for your platform](https://github.com/kubernetes/helm/releases). Unpack the `helm` and `tiller` binaries and add them to your PATH and you are good to go! OS X/[Cask](https://caskroom.github.io/) users can `brew cask install helm`.
    44  
    45  ### Install from source
    46  
    47  To install Helm from source, follow this process:
    48  
    49  Make sure you have the prerequisites:
    50  - Go 1.6
    51  - A running Kubernetes cluster
    52  - `kubectl` properly configured to talk to your cluster
    53  - [Glide](https://glide.sh/) 0.10 or greater with both git and mercurial installed.
    54  
    55  1. [Properly set your $GOPATH](https://golang.org/doc/code.html)
    56  2. Clone (or otherwise download) this repository into $GOPATH/src/k8s.io/helm
    57  3. Run `make bootstrap build`
    58  
    59  You will now have two binaries built:
    60  
    61  - `bin/helm` is the client
    62  - `bin/tiller` is the server
    63  
    64  From here, you can run `bin/helm` and use it to install a recent snapshot of
    65  Tiller. Helm will use your `kubectl` config to learn about your cluster.
    66  
    67  For development on Tiller, you can locally run Tiller, or you build a Docker
    68  image (`make docker-build`) and then deploy it (`helm init -i IMAGE_NAME`).
    69  
    70  The [documentation](docs) folder contains more information about the
    71  architecture and usage of Helm/Tiller.
    72  
    73  ## The History of the Project
    74  
    75  Kubernetes Helm is the merged result of [Helm
    76  Classic](https://github.com/helm/helm) and the Kubernetes port of GCS Deployment
    77  Manager. The project was jointly started by Google and Deis, though it
    78  is now part of the CNCF.
    79  
    80  Differences from Helm Classic:
    81  
    82  - Helm now has both a client (`helm`) and a server (`tiller`). The
    83    server runs inside of Kubernetes, and manages your resources.
    84  - Helm's chart format has changed for the better:
    85    - Dependencies are immutable and stored inside of a chart's `charts/`
    86      directory.
    87    - Charts are strongly versioned using [SemVer 2](http://semver.org/spec/v2.0.0.html)
    88    - Charts can be loaded from directories or from chart archive files
    89    - Helm supports Go templates without requiring you to run `generate`
    90      or `template` commands.
    91    - Helm makes it easy to configure your releases -- and share the
    92      configuration with the rest of your team.
    93  - Helm chart repositories now use plain HTTP instead of Git/GitHub.
    94    There is no longer any GitHub dependency.
    95    - A chart server is a simple HTTP server
    96    - Charts are referenced by version
    97    - The `helm serve` command will run a local chart server, though you
    98      can easily use object storage (S3, GCS) or a regular web server.
    99    - And you can still load charts from a local directory.
   100  - The Helm workspace is gone. You can now work anywhere on your
   101    filesystem that you want to work.