From d9e19a55250c9ee6c03accb88c008bc3e6acede2 Mon Sep 17 00:00:00 2001 From: MikeJeffrey Date: Mon, 9 Jun 2014 14:14:43 -0700 Subject: [PATCH 1/3] Tiny typo fixes --- DESIGN.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DESIGN.md b/DESIGN.md index 94569bae085..52d2f6919dc 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1,6 +1,6 @@ # Kubernetes Design Overview -Kubernetes build on top of [Docker](http://www.docker.io) to construct a clustered container scheduling service. The goals of the project are to enable users to ask a Kubernetes cluster to run a set of containers. The system will automatically pick a worker node to run those containers on. +Kubernetes builds on top of [Docker](http://www.docker.io) to construct a clustered container scheduling service. The goals of the project are to enable users to ask a Kubernetes cluster to run a set of containers. The system will automatically pick a worker node to run those containers on. As container based applications and systems get larger, some tools are provided to facilitate sanity. This includes ways for containers to find and communicate with each other and ways to work with and manage sets of containers that do similar work. @@ -19,9 +19,9 @@ The Kubernetes node design is an extension of the [Container-optimized Google Co Each node runs Docker, of course. Docker takes care of the details of downloading images and running containers. ### Kubelet -The second component on the node called the `kubelet`. The Kubelet is the logical successor (and rewrite in go) of the [Container Agent](https://github.com/GoogleCloudPlatform/container-agent) that is part of the Compute Engine image. +The second component on the node is called the `kubelet`. The Kubelet is the logical successor (and rewrite in go) of the [Container Agent](https://github.com/GoogleCloudPlatform/container-agent) that is part of the Compute Engine image. -The Kubelet works in terms of a container manifest. A container manifest (defined [here](https://developers.google.com/compute/docs/containers#container_manifest)) is a YAML file that describes a `pod`. The Kubelet takes a set of manifests that are provided in various mechanisms and ensures that the containers described in those manifests are started and continue running. +The Kubelet works in terms of a container manifest. A container manifest (defined [here](https://developers.google.com/compute/docs/containers/container_vms#container_manifest)) is a YAML file that describes a `pod`. The Kubelet takes a set of manifests that are provided in various mechanisms and ensures that the containers described in those manifests are started and continue running. There are 4 ways that a container manifest can be provided to the Kubelet: @@ -81,7 +81,7 @@ Ports mapped in from the 'main IP' (and hence the internet if the right firewall ## Release Process -Right now "building" or "releasing" Kubernetes consists of some scripts (in `release/` to create a `tar` of the necessary data and then uploading it to Google Cloud Storage. In the future we will generate Docker images for the bulk of the above described components: [Issue #19](https://github.com/GoogleCloudPlatform/kubernetes/issues/19). +Right now "building" or "releasing" Kubernetes consists of some scripts (in `release/`) to create a `tar` of the necessary data and then uploading it to Google Cloud Storage. In the future we will generate Docker images for the bulk of the above described components: [Issue #19](https://github.com/GoogleCloudPlatform/kubernetes/issues/19). ## GCE Cluster Configuration From f388157ab5f05975bbec3c3b34caa5cec2c23b19 Mon Sep 17 00:00:00 2001 From: MikeJeffrey Date: Mon, 9 Jun 2014 15:39:11 -0700 Subject: [PATCH 2/3] Adding a TOC --- DESIGN.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/DESIGN.md b/DESIGN.md index 52d2f6919dc..97e92718419 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1,5 +1,33 @@ # Kubernetes Design Overview + + +## Overview + Kubernetes builds on top of [Docker](http://www.docker.io) to construct a clustered container scheduling service. The goals of the project are to enable users to ask a Kubernetes cluster to run a set of containers. The system will automatically pick a worker node to run those containers on. As container based applications and systems get larger, some tools are provided to facilitate sanity. This includes ways for containers to find and communicate with each other and ways to work with and manage sets of containers that do similar work. From a40b061a3ec8025c6d535e60deab4553d431d28b Mon Sep 17 00:00:00 2001 From: MikeJeffrey Date: Mon, 9 Jun 2014 16:13:44 -0700 Subject: [PATCH 3/3] TOC to markdown Thanks Joe :) --- DESIGN.md | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/DESIGN.md b/DESIGN.md index 97e92718419..430dd092f1e 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1,30 +1,19 @@ # Kubernetes Design Overview - +- [Overview](#overview) +- [Key Concept: Container Pod](#key-concept-container-pod) +- [The Kubernetes Node](#the-kubernetes-node) + - [Kubelet](#kubelet) + - [Kubernetes Proxy](#kubernetes-proxy) +- [The Kubernetes Master](#the-kubernetes-master) + - [etcd](#etcd) + - [Kubernetes API Server](#kubernetes-api-server) + - [Kubernetes Controller Manager Server](#kubernetes-controller-manager-server) + - [Key Concept: Labels](#key-concept-labels) +- [Network Model](#network-model) +- [Release Process](#release-process) +- [GCE Cluster Configuration](#gce-cluster-configuration) + - [Cluster Security](#cluster-security) ## Overview