draft-classic/README.md

68 строки
2.2 KiB
Markdown
Исходник Обычный вид История

2016-11-18 01:18:34 +03:00
# Prow: Streamlined Kubernetes Development
_NOTE: Prow is experimental and does not have a stable release yet._
2016-11-18 01:18:34 +03:00
2017-02-10 01:27:59 +03:00
Prow is a tool for developers to create and deploy cloud-native applications on [Kubernetes][]. It
can be used to
2016-11-18 01:18:34 +03:00
2017-02-10 01:27:59 +03:00
- Install any application onto Kubernetes; Prow is language-agnostic and customizable.
- Work with any Kubernetes cluster that supports [Helm][]
- Intelligently manage and upgrade Helm releases
- Create Helm Charts that can be packaged for delivery to your ops team
2017-02-10 01:27:59 +03:00
## Prow, the Elevator Pitch
2017-02-10 01:27:59 +03:00
Prow is a tool to install applications onto a Kubernetes cluster.
2017-02-10 01:27:59 +03:00
Prow has two parts: a client (prow) and a server (prowd). Prowd runs inside of your Kubernetes
cluster alongside [Tiller][helm] and packages a Docker image, uploads it to a Docker Registry and
installs a chart using that image. Prow runs on your laptop, CI/CD, or wherever you want it to run
and uploads your application to Prowd via `prow up`.
2017-02-10 01:27:59 +03:00
## Usage
2016-11-18 01:18:34 +03:00
2017-02-10 01:27:59 +03:00
Because Prow is currently experimental, there is no stable release out yet and users are expected
to build the project from source until we get some automation up in here. Please see
[this doc][hacking] to get started hacking on Prow.
Now that's all done, start from a source code repository and let Prow create the Kubernetes
packaging:
2016-11-18 01:18:34 +03:00
```
$ cd my-app
$ ls
app.py
2017-01-27 22:01:11 +03:00
$ prow create --pack=python
2017-02-10 01:27:59 +03:00
--> Created chart/
--> Created Dockerfile
2016-11-18 01:18:34 +03:00
--> Ready to sail
```
Now start it up!
```
$ prow up
--> Building Dockerfile
2017-02-10 01:27:59 +03:00
--> Pushing 127.0.0.1:5000/my-app:08db751fccc4fc01c8b2ee96111525ea43f064f2
2016-11-18 01:18:34 +03:00
--> Deploying to Kubernetes
2017-02-10 01:27:59 +03:00
Release "my-app" does not exist. Installing it now.
2017-01-27 22:01:11 +03:00
--> code:DEPLOYED
2016-11-18 01:18:34 +03:00
```
That's it! You're now running your Python app in a [Kubernetes][] cluster.
2016-11-18 01:18:34 +03:00
Behind the scenes, Prow handles the heavy lifting:
2016-11-18 01:18:34 +03:00
- Builds a container image from application source code
- Pushes the image to a registry
2017-02-10 01:27:59 +03:00
- Packages a [Helm][] chart from application source code
- Installs the chart to Kubernetes, deploying the application
2016-11-18 01:18:34 +03:00
After deploying, you can run `prow up` again to create new releases when
2017-02-10 01:27:59 +03:00
application source code has changed.
2016-11-18 01:18:34 +03:00
2017-02-10 01:27:59 +03:00
[hacking]: docs/hacking.md
[Kubernetes]: https://kubernetes.io/
[Helm]: https://github.com/kubernetes/helm