README.md Website | Slack | Email | Twitter | Facebook See how we deployed Mattermost (and you can too!): Spread is under open, active development. New features will be added regularly over the next few months – explore our roadmap to see what will be built next and send us pull requests for any features you’d like to see added. See our philosophy for more on our mission and values. OS X Linux/Windows Make sure Go and Git are installed. This assumes you have kubectl configured to a running Kubernetes cluster, whether local or remote. For a more detailed walkthrough, see the full guide. Spread makes it easy to set up and iterate with localkube, a local Kubernetes cluster streamlined for rapid development. Requirements: Getting started: Suggested workflow: [1] For now, we recommend everyone use a VM when working with See more for our suggestions when developing code with See more of our roadmap here! How are clusters selected? Remote clusters are selected from the current kubectl context. Later, we will add functionality to explicitly state kubectl arguments. How should I set up my directory? Spread requires a specific project directory structure, as it builds from a hierarchy of entities: What is the *.ctr file? The .ctr file is the container struct usually found in the pod.yaml or rc.yaml. Containers can still be placed in pods or replication controllers, but we’re encouraging separate container files because it enables users to eventually reuse containers across an application. Can I deploy a project with just a Dockerfile and *.ctr? Yes. Spread implicitly infers the rest of the app hierarchy. We’d love to see your contributions – please see the CONTRIBUTING file for guidelines on how to contribute. If you haven’t already, it’s worth going through Elika Etemad’s guide for good bug reporting. In one sentence, good bug reports should be both reproducible and specific. Founders: founders@redspread.com Spread is under the Apache 2.0 license. See the LICENSE file for details.
spread
is a command line tool that builds and deploys a Docker project to a Kubernetes cluster in one command. The project’s goals are to:
Requirements
Installation
$ brew tap redspread/spread
$ brew install spread
go get rsprd.com/spread/cmd/spread
Quickstart
$ git clone http://github.com/redspread/kube-mattermost
$ spread build .
(local cluster) or $ spread deploy .
(remote cluster)Localkube
docker-machine
to bring up a VM. [1]
spread cluster start
to start localkubekubectl cluster-info
[2]
docker build
the image that you want to work with [2]spread build .
to deploy to cluster [3]spread build .
each time you want to deploy changeskubectl describe services/'SERVICE-NAME'
for the NodePort
, then put the IP:NodePort
in your browserspread cluster stop
to stop localkubelocalkube
[2] There will be a delay in returning info the first time you start localkube, as the Weave networking container needs to download. This pause will be fixed in future releases.
[3] spread
will soon integrate building (#59)
[4] Since localkube
shares a Docker daemon with your host, there is no need to push images 🙂localkube
.What’s been done so far
spread deploy [-s] PATH [kubectl context]
: Deploys a Docker project to a Kubernetes cluster. It completes the following order of operations:
What’s being worked on now
spread deploy
so it also builds any images indicated to be built and pushes those images to the indicated Docker registry.spread deploy -p
: Pushes all images to registry, even those not built by spread deploy
.spread logs
: Returns logs for any deployment, automatic trying until logs are accessible.spread build
: Builds Docker context and pushes to a local Kubernetes cluster.spread rewind
: Quickly rollback to a previous deployment.Future Goals
FAQ
Dockerfile
*.ctr
– optional container file, there can be any numberpod.yaml
– pod file, there can be only one per directoryrc.yaml
– replication controller file, there can be only one per directory/.k2e
– holds arbitrary Kubernetes objects, such as services and secretsContributing
Reporting bugs
Contact
Slack: slackin.redspread.com
Planning: Roadmap
Bugs: IssuesLicense
Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/cDhXhGjniGw/spread