Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to readme.md #2507

Merged
merged 1 commit into from
Dec 2, 2014
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
109 changes: 62 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,72 @@
# Kubernetes
Kubernetes is an open source implementation of [container cluster management](https://cloud.google.com/compute/docs/containers).

[Kubernetes Design Document](DESIGN.md) - [Kubernetes @ Google I/O 2014](http://youtu.be/tsk0pWf4ipw)
Kubernetes is an open source system for managing containerized applications across multiple hosts,
providing basic mechanisms for deployment, maintenance, and scaling of applications.

[![GoDoc](https://godoc.org/github.com/GoogleCloudPlatform/kubernetes?status.png)](https://godoc.org/github.com/GoogleCloudPlatform/kubernetes)
[![Travis](https://travis-ci.org/GoogleCloudPlatform/kubernetes.svg?branch=master)](https://travis-ci.org/GoogleCloudPlatform/kubernetes)
Kubernetes is:

* **lean**: lightweight, simple, accessible
* **portable**: public, private, hybrid, multi cloud
* **extensible**: modular, pluggable, hookable, composable
* **self-healing**: auto-placement, auto-restart, auto-replication

## Kubernetes can run anywhere!
However, initial development was done on [GCE](https://cloud.google.com/compute/) and so our instructions and scripts are built around that. If you make it work on other infrastructure please let us know and contribute instructions/code.
Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale, combined with best-of-breed ideas and practices from the community.

## Kubernetes is in pre-production beta!
<hr>

### Kubernetes can run anywhere!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this all covered elsewhere?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume you'll add a README.md to getting-started guides. Ditto for examples.

I assume the links to other misc. docs will be put in logical places once we have a more logical organization.

Community projects/pages (CircleCI, Digital Ocean, etc.) should be moved to https://github.com/GoogleCloudPlatform/kubernetes/wiki/Kubernetes-Community. Those are the main links I don't want to lose.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct - each subdirectory will have a readme.

Circle CI, OpenStack, and Digital Ocean moved to wiki.

However, initial development was done on GCE and so our instructions and scripts are built around that. If you make it work on other infrastructure please let us know and contribute instructions/code.

### Kubernetes is in pre-production beta!
While the concepts and architecture in Kubernetes represent years of experience designing and building large scale cluster manager at Google, the Kubernetes project is still under heavy development. Expect bugs, design and API changes as we bring it to a stable, production product over the coming year.

### Contents
* Getting Started Guides
* [Google Compute Engine](docs/getting-started-guides/gce.md)
* [Locally](docs/getting-started-guides/locally.md)
* [Vagrant](docs/getting-started-guides/vagrant.md)
* [AWS with CoreOS and Cloud Formation](docs/getting-started-guides/aws-coreos.md)
* [AWS](docs/getting-started-guides/aws.md)
* Fedora (w/ [Ansible](docs/getting-started-guides/fedora/fedora_ansible_config.md) or [manual](docs/getting-started-guides/fedora/fedora_manual_config.md))
* [Circle CI](https://circleci.com/docs/docker#google-compute-engine-and-kubernetes)
* [Digital Ocean](https://github.com/bketelsen/coreos-kubernetes-digitalocean)
* [CoreOS](docs/getting-started-guides/coreos.md)
* [OpenStack](https://developer.rackspace.com/blog/running-coreos-and-kubernetes/)
* [CloudStack](docs/getting-started-guides/cloudstack.md)
* [Rackspace](docs/getting-started-guides/rackspace.md)
* [vSphere](docs/getting-started-guides/vsphere.md)
* [Microsoft Azure](docs/getting-started-guides/azure.md)

* [Kubernetes 101](examples/walkthrough)
* [kubecfg command line tool](docs/cli.md)
* [Kubernetes API Documentation](http://cdn.rawgit.com/GoogleCloudPlatform/kubernetes/31a0daae3627c91bc96e1f02a6344cd76e294791/api/kubernetes.html)
* [Kubernetes Client Libraries](docs/client-libraries.md)
* [Discussion and Community Support](#community-discussion-and-support)
* [Hacking on Kubernetes](CONTRIBUTING.md)
* [Hacking on Kubernetes Salt configuration](docs/salt.md)
* [Kubernetes User Interface](docs/ux.md)

## Where to go next?

Check out examples of Kubernetes in action, and community projects in the larger ecosystem:

* [Kubernetes 101](examples/walkthrough/README.md)
* [Kubernetes 201](examples/walkthrough/k8s201.md)
* [Detailed example application](examples/guestbook/README.md)
* [Example of dynamic updates](examples/update-demo/README.md)
* [Cluster monitoring with heapster and cAdvisor](https://github.com/GoogleCloudPlatform/heapster)
* [Community projects](https://github.com/GoogleCloudPlatform/kubernetes/wiki/Kubernetes-Community)
* [Development guide](docs/devel/development.md)
* [User contributed recipes](contrib/recipes)

Or fork and start hacking!

## Concepts
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/glossary.md

It would help to have an outline of what we wanted.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair comment :) I'm trying to clean up the information so that it's more clear. We have a lot of good info that's spread out and hard to find - the docs/overview.md, for example, has good info that can be merged into some of the other overview style pages (or built out to be the overview of the project).

Initially I'd like to concentrate on two things:

1 - consolidating pages
2 - increasing discoverability and giving some indication of the order in which to read the docs
(okay that's three things :) )

Each folder should have a readme that describes its contents. The list of docs in the docs/readme.md is great; we also need to list out/describe the pages that are in that folder.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get the high-level goal. I was hoping for more of a sketch of where you're going with this, but I can wait for that..

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that an overview issue, #2633, has been filed.


Kubernetes works with the following concepts:

**Clusters** are the compute resources on top of which your containers are built. Kubernetes can run anywhere! See the [Getting Started Guides](docs/getting-started-guides) for instructions for a variety of services.

**Pods** are a colocated group of Docker containers with shared volumes. They're the smallest deployable units that can be created, scheduled, and managed with Kubernetes. Pods can be created individually, but it's recommended that you use a replication controller even if creating a single pod. [More about pods](docs/pods.md).

**Replication controllers** manage the lifecycle of pods. They ensure that a specified number of pods are running
at any given time, by creating or killing pods as required. [More about replication controllers](docs/replication-controller.md).

**Services** provide a single, stable name and address for a set of pods.
They act as basic load balancers. [More about services](docs/services.md).

**Labels** are used to organize and select groups of objects based on key:value pairs. [More about labels](docs/labels.md).

## Documentation

Kubernetes documentation is organized into several categories.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. Is there a way to inline https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/README.md? A quick search didn't reveal anything built-in.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There doesn't appear to be.


- **Getting Started Guides**
- for people who want to create a kubernetes cluster
- in [docs/getting-started-guides](docs/getting-started-guides)
- **User Documentation**
- in [docs](docs/overview.md)
- for people who want to run programs on kubernetes
- describes current features of the system (with brief mentions of planned features)
- **Developer Documentation**
- in [docs/devel](docs/devel)
- for people who want to contribute code to kubernetes
- covers development conventions
- explains current architecture and project plans
- **Design Documentation**
- in [docs/design](docs/design)
- for people who want to understand the design choices made
- describes tradeoffs, alternative designs
- descriptions of planned features that are too long for a github issue.
- **Walkthroughs and Examples**
- in [examples](/examples)
- Hands on introduction and example config files
- **API documentation**
- in [the API conventions doc](docs/api-conventions.md)
- and automatically generated API documentation served by the master
- **Wiki**
- in [wiki](https://github.com/GoogleCloudPlatform/kubernetes/wiki)
- includes a number of [Kubernetes community-contributed recipes](/contrib/recipes)

## Community, discussion and support

Expand All @@ -61,3 +75,4 @@ If you have questions or want to start contributing please reach out. We don't
The Kubernetes team is hanging out on IRC on the [#google-containers channel on freenode.net](http://webchat.freenode.net/?channels=google-containers). We also have the [google-containers Google Groups mailing list](https://groups.google.com/forum/#!forum/google-containers) for questions and discussion as well as the [kubernetes-announce mailing list](https://groups.google.com/forum/#!forum/kubernetes-announce) for important announcements (low-traffic, no chatter).

If you are a company and are looking for a more formal engagement with Google around Kubernetes and containers at Google as a whole, please fill out [this form](https://docs.google.com/a/google.com/forms/d/1_RfwC8LZU4CKe4vKq32x5xpEJI5QZ-j0ShGmZVv9cm4/viewform) and we'll be in touch.