From ae62b9864d9dddbfa51d46a5ad5d252390e1f969 Mon Sep 17 00:00:00 2001 From: Andrew Watson Date: Wed, 14 Dec 2016 15:12:34 -0500 Subject: [PATCH 1/9] Header displayed twice It was displaying the header twice --- docs/user-guide/node-selection/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/user-guide/node-selection/index.md b/docs/user-guide/node-selection/index.md index 725848b544..3152cb4e37 100644 --- a/docs/user-guide/node-selection/index.md +++ b/docs/user-guide/node-selection/index.md @@ -5,8 +5,6 @@ assignees: --- -# Constraining pods to run on particular nodes - You can constrain a [pod](/docs/user-guide/pods/) to only be able to run on particular [nodes](/docs/admin/node/) or to prefer to run on particular nodes. There are several ways to do this, and they all use [label selectors](/docs/user-guide/labels/) to make the selection. From 4b748573109071bf50e89244279e7ec78e0072fa Mon Sep 17 00:00:00 2001 From: "xialong.lee" Date: Fri, 16 Dec 2016 14:38:24 +0800 Subject: [PATCH 2/9] make the docs content escaped from liquid template brace tag --- docs/user-guide/kubectl/kubectl_get.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user-guide/kubectl/kubectl_get.md b/docs/user-guide/kubectl/kubectl_get.md index a0d5bd83de..a3915eccb5 100644 --- a/docs/user-guide/kubectl/kubectl_get.md +++ b/docs/user-guide/kubectl/kubectl_get.md @@ -50,7 +50,7 @@ kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file ### Examples -``` +```{% raw %} # List all pods in ps output format. kubectl get pods @@ -74,7 +74,7 @@ kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file # List one or more resources by their type and names. kubectl get rc/web service/frontend pods/web-pod-13je7 -``` +{% endraw %}``` ### Options From e25374f3c8e63502dff7e8c0cf8c297e3dfc92d3 Mon Sep 17 00:00:00 2001 From: joshrosso Date: Fri, 16 Dec 2016 12:52:14 -0800 Subject: [PATCH 3/9] statefulsets.md: Fix typos and make some statements more concise --- .../abstractions/controllers/statefulsets.md | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/concepts/abstractions/controllers/statefulsets.md b/docs/concepts/abstractions/controllers/statefulsets.md index 01825fc257..c7acc4be02 100644 --- a/docs/concepts/abstractions/controllers/statefulsets.md +++ b/docs/concepts/abstractions/controllers/statefulsets.md @@ -31,12 +31,12 @@ following. * Ordered, graceful deployment and scaling. * Ordered, graceful deletion and termination. -In the above, stable is synonymous with persistent across Pod (re) schedulings. +In the above, stable is synonymous with persistence across Pod (re)schedulings. If an application doesn't require any stable identifiers or ordered deployment, deletion, or scaling, you should deploy your application with a controller that -provides a set of stateless replicas. Such controllers, such as +provides a set of stateless replicas. Controllers such as [Deployment](/docs/user-guide/deployments/) or -[ReplicaSet](/docs/user-guide/replicasets/) may be better suited to your needs. +[ReplicaSet](/docs/user-guide/replicasets/) may be better suited to your stateless needs. ### Limitations * StatefulSet is a beta resource, not available in any Kubernetes release prior to 1.5. @@ -51,7 +51,7 @@ The example below demonstrates the components of a StatefulSet. * A Headless Service, named nginx, is used to control the network domain. * The StatefulSet, named web, has a Spec that indicates that 3 replicas of the nginx container will be launched in unique Pods. -* The volumeClaimTemplates, will provide stable storage using [PersistentVolumes](/docs/user-guide/volumes/) provisioned by a +* The volumeClaimTemplates will provide stable storage using [PersistentVolumes](/docs/user-guide/volumes/) provisioned by a PersistentVolume Provisioner. ```yaml @@ -105,7 +105,7 @@ spec: ### Pod Identity StatefulSet Pods have a unique identity that is comprised of an ordinal, a stable network identity, and stable storage. The identity sticks to the Pod, -regardless of which node it's (re) scheduled on. +regardless of which node it's (re)scheduled on. __Ordinal Index__ @@ -140,13 +140,12 @@ Note that Cluster Domain will be set to `cluster.local` unless __Stable Storage__ -Kubernetes creates one [PersistentVolumes](/docs/user-guide/volumes/) for each -VolumeClaimTemplate, as specified in the StatefulSet's volumeClaimTemplates field -In the example above, each Pod will receive a single PersistentVolume with a storage -class of `anything` and 1 Gib of provisioned storage. When a Pod is (re) scheduled onto -a node, its `volumeMounts` mount the PersistentVolumes associated with its +Kubernetes creates one [PersistentVolume](/docs/user-guide/volumes/) for each +VolumeClaimTemplate. In the nginx example above, each Pod will receive a single PersistentVolume +with a storage class of `anything` and 1 Gib of provisioned storage. When a Pod is (re)scheduled +onto a node, its `volumeMounts` mount the PersistentVolumes associated with its PersistentVolume Claims. Note that, the PersistentVolumes associated with the -Pods' PersistentVolume Claims are not deleted when the Pods, or StatefulSet are deleted. +Pods' PersistentVolume Claims are not deleted when the Pods, or StatefulSet are deleted. This must be done manually. ### Deployment and Scaling Guarantee @@ -156,9 +155,9 @@ This must be done manually. * Before a scaling operation is applied to a Pod, all of its predecessors must be Running and Ready. * Before a Pod is terminated, all of its successors must be completely shutdown. -The StatefulSet should not specify a `pod.Spec.TerminationGracePeriodSeconds` of 0. The practice of setting a `pod.Spec.TerminationGracePeriodSeconds` of 0 seconds is unsafe and strongly discouraged. For further explanation, please refer to [force deleting StatefulSet Pods](/docs/tasks/manage-stateful-set/delete-pods/#deleting-pods). +The StatefulSet should not specify a `pod.Spec.TerminationGracePeriodSeconds` of 0. This practice is unsafe and strongly discouraged. For further explanation, please refer to [force deleting StatefulSet Pods](/docs/tasks/manage-stateful-set/delete-pods/#deleting-pods). -When the web example above is created, three Pods will be deployed in the order +When the nginx example above is created, three Pods will be deployed in the order web-0, web-1, web-2. web-1 will not be deployed before web-0 is [Running and Ready](/docs/user-guide/pod-states), and web-2 will not be deployed until web-1 is Running and Ready. If web-0 should fail, after web-1 is Running and Ready, but before From cbd92ba562e12fd5f436d7530f19911bf710590d Mon Sep 17 00:00:00 2001 From: joshrosso Date: Fri, 16 Dec 2016 14:39:12 -0800 Subject: [PATCH 4/9] services: Clearer definition of types; typo fixes This commit attempts to make more clear the differences between service types by ensuring definitions are consistent and concise. It also aims to fix a few typos and grammatical issues. --- docs/user-guide/services/index.md | 56 +++++++++++++++---------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/docs/user-guide/services/index.md b/docs/user-guide/services/index.md index cad2b22328..6293627eaa 100644 --- a/docs/user-guide/services/index.md +++ b/docs/user-guide/services/index.md @@ -4,7 +4,7 @@ assignees: --- -Kubernetes [`Pods`](/docs/user-guide/pods) are mortal. They are born and they die, and they +Kubernetes [`Pods`](/docs/user-guide/pods) are mortal. They are born and when they die, they are not resurrected. [`ReplicationControllers`](/docs/user-guide/replication-controller) in particular create and destroy `Pods` dynamically (e.g. when scaling up or down or when doing [rolling updates](/docs/user-guide/kubectl/kubectl_rolling-update)). While each `Pod` gets its own IP address, even @@ -353,59 +353,57 @@ Sometimes you don't need or want load-balancing and a single service IP. In this case, you can create "headless" services by specifying `"None"` for the cluster IP (`spec.clusterIP`). -This option allows developers to reduce coupling to the Kubernetes system, if -they desire, but leaves them freedom to do discovery in their own way. -Applications can still use a self-registration pattern and adapters for other -discovery systems could easily be built upon this API. +This option allows developers to reduce coupling to the Kubernetes system by +allowing them freedom to do discovery their own way. Applications can still use +a self-registration pattern and adapters for other discovery systems could easily +be built upon this API. -For such `Services` a cluster IP is not allocated, the kube proxy does not handle +For such `Services`, a cluster IP is not allocated, kube-proxy does not handle these services, and there is no load balancing or proxying done by the platform -for them. How DNS is automatically configured depends on if the service has -selectors or not. +for them. How DNS is automatically configured depends on whether the service has +selectors defined. ### With selectors For headless services that define selectors, the endpoints controller creates `Endpoints` records in the API, and modifies the DNS configuration to return A -records (addresses) which point directly to the `Pods` backing the `Service`. +records (addresses) that point directly to the `Pods` backing the `Service`. ### Without selectors For headless services that do not define selectors, the endpoints controller does not create `Endpoints` records. However, the DNS system looks for and configures either: - - CNAME records for `ExternalName`-type services - - A records for any `Endpoints` that share a name with the service, for all + + * CNAME records for `ExternalName`-type services + * A records for any `Endpoints` that share a name with the service, for all other types ## Publishing services - service types For some parts of your application (e.g. frontends) you may want to expose a -Service onto an external (outside of your cluster, maybe public internet) IP -address, other services should be visible only from inside of the cluster. +Service onto an external (outside of your cluster) IP address. Kubernetes `ServiceTypes` allow you to specify what kind of service you want. -The default and base type is `ClusterIP`, which exposes a service to connection -from inside the cluster. `NodePort` and `LoadBalancer` are two types that expose -services to external traffic. +The default is `ClusterIP`. -Valid values for the `ServiceType` field are: +`ServiceType` values and their behaviors are: - * `ExternalName`: map the service to the contents of the `externalName` field + * `ClusterIP`: Exposes the service on a cluster-internal IP. Choosing this value + makes the service only reachable from within the cluster. This is the + default `ServiceType`. + * `NodePort`: Exposes the service on each Node's IP at a static port (the `NodePort`). + A `ClusterIP` service, to which the NodePort service will route, is automatically + created. You'll be able to contact the `NodePort` service, from outside the cluster, + by requesting `:`. + * `LoadBalancer`: Exposes the service externally using a cloud provider's load balancer. + `NodePort` and `ClusterIP` services, to which the external load balancer will route, + are automatically created. + * `ExternalName`: Maps the service to the contents of the `externalName` field (e.g. `foo.bar.example.com`), by returning a `CNAME` record with its value. No proxying of any kind is set up. This requires version 1.7 or higher of `kube-dns`. - * `ClusterIP`: use a cluster-internal IP only - this is the default and is - discussed above. Choosing this value means that you want this service to be - reachable only from inside of the cluster. - * `NodePort`: on top of having a cluster-internal IP, expose the service on a - port on each node of the cluster (the same port on each node). You'll be able - to contact the service on any `:NodePort` address. - * `LoadBalancer`: on top of having a cluster-internal IP and exposing service - on a NodePort also, ask the cloud provider for a load balancer - which forwards to the `Service` exposed as a `:NodePort` - for each Node. ### Type NodePort @@ -420,7 +418,7 @@ will fail (i.e. you need to take care about possible port collisions yourself). The value you specify must be in the configured range for node ports. This gives developers the freedom to set up their own load balancers, to -configure cloud environments that are not fully supported by Kubernetes, or +configure environments that are not fully supported by Kubernetes, or even to just expose one or more nodes' IPs directly. Note that this Service will be visible as both `:spec.ports[*].nodePort` From f562d64d1f4534c0ecbd8277b393bf6d5684241b Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Mon, 19 Dec 2016 16:15:04 -0800 Subject: [PATCH 5/9] getting-started-guides: remove conformance column This column is sort of pointless as the only data points are two year old gists. --- docs/getting-started-guides/index.md | 82 ++++++++++++++-------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/docs/getting-started-guides/index.md b/docs/getting-started-guides/index.md index 6bac4acde8..8319aea4d0 100644 --- a/docs/getting-started-guides/index.md +++ b/docs/getting-started-guides/index.md @@ -123,47 +123,47 @@ These solutions provide integration with 3rd party schedulers, resource managers Here are all the solutions mentioned above in table form. -IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level --------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ---------------------------- -GKE | | | GCE | [docs](https://cloud.google.com/container-engine) | ['œ“][3] | Commercial -Stackpoint.io | | multi-support | multi-support | [docs](http://www.stackpointcloud.com) | | Commercial -AppsCode.com | Saltstack | Debian | multi-support | [docs](https://appscode.com/products/cloud-deployment/) | | Commercial -KCluster.io | | multi-support | multi-support | [docs](https://kcluster.io) | | Commercial -Platform9 | | multi-support | multi-support | [docs](https://platform9.com/products/kubernetes/) | | Commercial -GCE | Saltstack | Debian | GCE | [docs](/docs/getting-started-guides/gce) | ['œ“][1] | Project -Azure Container Service | | Ubuntu | Azure | [docs](https://azure.microsoft.com/en-us/services/container-service/) | | Commercial -Azure (IaaS) | | Ubuntu | Azure | [docs](/docs/getting-started-guides/azure) | | [Community (Microsoft)](https://github.com/Azure/acs-engine) -Docker Single Node | custom | N/A | local | [docs](/docs/getting-started-guides/docker) | | Project ([@brendandburns](https://github.com/brendandburns)) -Docker Multi Node | custom | N/A | flannel | [docs](/docs/getting-started-guides/docker-multinode) | | Project ([@brendandburns](https://github.com/brendandburns)) -Bare-metal | Ansible | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/fedora_ansible_config) | | Project -Bare-metal | custom | Fedora | _none_ | [docs](/docs/getting-started-guides/fedora/fedora_manual_config) | | Project -Bare-metal | custom | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) | | Community ([@aveshagarwal](https://github.com/aveshagarwal)) -libvirt | custom | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) | | Community ([@aveshagarwal](https://github.com/aveshagarwal)) -KVM | custom | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) | | Community ([@aveshagarwal](https://github.com/aveshagarwal)) -Mesos/Docker | custom | Ubuntu | Docker | [docs](/docs/getting-started-guides/mesos-docker) | | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md)) -Mesos/GCE | | | | [docs](/docs/getting-started-guides/mesos) | | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md)) -DCOS | Marathon | CoreOS/Alpine | custom | [docs](/docs/getting-started-guides/dcos) | | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md)) -AWS | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/aws) | | Community -GCE | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos) | | Community ([@pires](https://github.com/pires)) -Vagrant | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos) | | Community ([@pires](https://github.com/pires), [@AntonioMeireles](https://github.com/AntonioMeireles)) -Bare-metal (Offline) | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos/bare_metal_offline) | | Community ([@jeffbean](https://github.com/jeffbean)) -CloudStack | Ansible | CoreOS | flannel | [docs](/docs/getting-started-guides/cloudstack) | | Community ([@runseb](https://github.com/runseb)) -Vmware vSphere | Saltstack | Debian | OVS | [docs](/docs/getting-started-guides/vsphere) | | Community ([@imkin](https://github.com/imkin)) -Vmware Photon | Saltstack | Debian | OVS | [docs](/docs/getting-started-guides/photon-controller) | | Community ([@alainroy](https://github.com/alainroy)) -Bare-metal | custom | CentOS | _none_ | [docs](/docs/getting-started-guides/centos/centos_manual_config) | | Community ([@coolsvap](https://github.com/coolsvap)) -AWS | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) -GCE | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) -Bare Metal | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) -Rackspace | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) -Vmware vSphere | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) -AWS | Saltstack | Debian | AWS | [docs](/docs/getting-started-guides/aws) | | Community ([@justinsb](https://github.com/justinsb)) -AWS | kops | Debian | AWS | [docs](https://github.com/kubernetes/kops) | | Community ([@justinsb](https://github.com/justinsb)) -Bare-metal | custom | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu) | | Community ([@resouer](https://github.com/resouer), [@WIZARD-CXY](https://github.com/WIZARD-CXY)) -libvirt/KVM | CoreOS | CoreOS | libvirt/KVM | [docs](/docs/getting-started-guides/libvirt-coreos) | | Community ([@lhuard1A](https://github.com/lhuard1A)) -oVirt | | | | [docs](/docs/getting-started-guides/ovirt) | | Community ([@simon3z](https://github.com/simon3z)) -OpenStack Heat | Saltstack | CentOS | Neutron + flannel hostgw | [docs](/docs/getting-started-guides/openstack-heat) | | Community ([@FujitsuEnablingSoftwareTechnologyGmbH](https://github.com/FujitsuEnablingSoftwareTechnologyGmbH)) -Rackspace | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/rackspace) | | Community ([@doublerr](https://github.com/doublerr)) -any | any | any | any | [docs](/docs/getting-started-guides/scratch) | | Community ([@erictune](https://github.com/erictune)) +IaaS Provider | Config. Mgmt | OS | Networking | Docs | Support Level +-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------------------------- +GKE | | | GCE | [docs](https://cloud.google.com/container-engine) | Commercial +Stackpoint.io | | multi-support | multi-support | [docs](http://www.stackpointcloud.com) | Commercial +AppsCode.com | Saltstack | Debian | multi-support | [docs](https://appscode.com/products/cloud-deployment/) | Commercial +KCluster.io | | multi-support | multi-support | [docs](https://kcluster.io) | Commercial +Platform9 | | multi-support | multi-support | [docs](https://platform9.com/products/kubernetes/) | Commercial +GCE | Saltstack | Debian | GCE | [docs](/docs/getting-started-guides/gce) | Project +Azure Container Service | | Ubuntu | Azure | [docs](https://azure.microsoft.com/en-us/services/container-service/) | Commercial +Azure (IaaS) | | Ubuntu | Azure | [docs](/docs/getting-started-guides/azure) | [Community (Microsoft)](https://github.com/Azure/acs-engine) +Docker Single Node | custom | N/A | local | [docs](/docs/getting-started-guides/docker) | Project ([@brendandburns](https://github.com/brendandburns)) +Docker Multi Node | custom | N/A | flannel | [docs](/docs/getting-started-guides/docker-multinode) | Project ([@brendandburns](https://github.com/brendandburns)) +Bare-metal | Ansible | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/fedora_ansible_config) | Project +Bare-metal | custom | Fedora | _none_ | [docs](/docs/getting-started-guides/fedora/fedora_manual_config) | Project +Bare-metal | custom | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) | Community ([@aveshagarwal](https://github.com/aveshagarwal)) +libvirt | custom | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) | Community ([@aveshagarwal](https://github.com/aveshagarwal)) +KVM | custom | Fedora | flannel | [docs](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) | Community ([@aveshagarwal](https://github.com/aveshagarwal)) +Mesos/Docker | custom | Ubuntu | Docker | [docs](/docs/getting-started-guides/mesos-docker) | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md)) +Mesos/GCE | | | | [docs](/docs/getting-started-guides/mesos) | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md)) +DCOS | Marathon | CoreOS/Alpine | custom | [docs](/docs/getting-started-guides/dcos) | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md)) +AWS | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/aws) | Community +GCE | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos) | Community ([@pires](https://github.com/pires)) +Vagrant | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos) | Community ([@pires](https://github.com/pires), [@AntonioMeireles](https://github.com/AntonioMeireles)) +Bare-metal (Offline) | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos/bare_metal_offline) | Community ([@jeffbean](https://github.com/jeffbean)) +CloudStack | Ansible | CoreOS | flannel | [docs](/docs/getting-started-guides/cloudstack) | Community ([@runseb](https://github.com/runseb)) +Vmware vSphere | Saltstack | Debian | OVS | [docs](/docs/getting-started-guides/vsphere) | Community ([@imkin](https://github.com/imkin)) +Vmware Photon | Saltstack | Debian | OVS | [docs](/docs/getting-started-guides/photon-controller) | Community ([@alainroy](https://github.com/alainroy)) +Bare-metal | custom | CentOS | _none_ | [docs](/docs/getting-started-guides/centos/centos_manual_config) | Community ([@coolsvap](https://github.com/coolsvap)) +AWS | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) +GCE | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) +Bare Metal | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) +Rackspace | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) +Vmware vSphere | Juju | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/automated) | [Community](https://github.com/juju-solutions/bundle-canonical-kubernetes) ( [@matt](https://github.com/mbruzek), [@chuck]*(https://github.com/chuckbutler) ) +AWS | Saltstack | Debian | AWS | [docs](/docs/getting-started-guides/aws) | Community ([@justinsb](https://github.com/justinsb)) +AWS | kops | Debian | AWS | [docs](https://github.com/kubernetes/kops) | Community ([@justinsb](https://github.com/justinsb)) +Bare-metal | custom | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu) | Community ([@resouer](https://github.com/resouer), [@WIZARD-CXY](https://github.com/WIZARD-CXY)) +libvirt/KVM | CoreOS | CoreOS | libvirt/KVM | [docs](/docs/getting-started-guides/libvirt-coreos) | Community ([@lhuard1A](https://github.com/lhuard1A)) +oVirt | | | | [docs](/docs/getting-started-guides/ovirt) | Community ([@simon3z](https://github.com/simon3z)) +OpenStack Heat | Saltstack | CentOS | Neutron + flannel hostgw | [docs](/docs/getting-started-guides/openstack-heat) | Community ([@FujitsuEnablingSoftwareTechnologyGmbH](https://github.com/FujitsuEnablingSoftwareTechnologyGmbH)) +Rackspace | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/rackspace) | Community ([@doublerr](https://github.com/doublerr)) +any | any | any | any | [docs](/docs/getting-started-guides/scratch) | Community ([@erictune](https://github.com/erictune)) *Note*: The above table is ordered by version test/used in notes followed by support level. From 4153f2f8ad2154ab359b1fc719166efe7832fe56 Mon Sep 17 00:00:00 2001 From: Casper CY Chiang Date: Tue, 20 Dec 2016 09:33:57 +0800 Subject: [PATCH 6/9] Inconsistent commands in section (5/5) The original one is: "kops update cluster useast1.dev.awsdata.com --yes" However, the previous example used useast1.dev.example.com to create configuration file. So, the "awsdata" should be changed into example. --- docs/getting-started-guides/kops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started-guides/kops.md b/docs/getting-started-guides/kops.md index a02a829471..5308a22845 100644 --- a/docs/getting-started-guides/kops.md +++ b/docs/getting-started-guides/kops.md @@ -134,7 +134,7 @@ GPU and non-GPU instances. Run "kops update cluster" to create your cluster in AWS: -`kops update cluster useast1.dev.awsdata.com --yes` +`kops update cluster useast1.dev.example.com --yes` That takes a few seconds to run, but then your cluster will likely take a few minutes to actually be ready. `kops update cluster` will be the tool you'll use whenever you change the configuration of your cluster; it From 231b92460876c8f3b99319d2146dc98d5e561a34 Mon Sep 17 00:00:00 2001 From: "xialong.lee" Date: Tue, 20 Dec 2016 09:51:45 +0800 Subject: [PATCH 7/9] delete italic style --- docs/admin/daemons.md | 2 +- docs/user-guide/cron-jobs.md | 2 +- docs/user-guide/deployments.md | 2 +- docs/user-guide/jobs.md | 2 +- docs/user-guide/pod-security-policy/index.md | 2 +- docs/user-guide/pods/index.md | 2 +- docs/user-guide/replicasets.md | 2 +- docs/user-guide/replication-controller/index.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/admin/daemons.md b/docs/admin/daemons.md index bab12268ba..3a02274b3f 100644 --- a/docs/admin/daemons.md +++ b/docs/admin/daemons.md @@ -7,7 +7,7 @@ assignees: * TOC {:toc} -## What is a _Daemon Set_? +## What is a Daemon Set? A _Daemon Set_ ensures that all (or some) nodes run a copy of a pod. As nodes are added to the cluster, pods are added to them. As nodes are removed from the cluster, those pods are garbage diff --git a/docs/user-guide/cron-jobs.md b/docs/user-guide/cron-jobs.md index 6d88997cb3..b62180b153 100644 --- a/docs/user-guide/cron-jobs.md +++ b/docs/user-guide/cron-jobs.md @@ -9,7 +9,7 @@ assignees: * TOC {:toc} -## What is a _Cron Job_? +## What is a Cron Job? A _Cron Job_ manages time based [Jobs](/docs/user-guide/jobs/), namely: diff --git a/docs/user-guide/deployments.md b/docs/user-guide/deployments.md index 8f138459d0..a2f69efe99 100644 --- a/docs/user-guide/deployments.md +++ b/docs/user-guide/deployments.md @@ -8,7 +8,7 @@ assignees: * TOC {:toc} -## What is a _Deployment_? +## What is a Deployment? A _Deployment_ provides declarative updates for [Pods](/docs/user-guide/pods/) and [Replica Sets](/docs/user-guide/replicasets/) (the next-generation Replication Controller). You only need to describe the desired state in a Deployment object, and the Deployment diff --git a/docs/user-guide/jobs.md b/docs/user-guide/jobs.md index 0d897cbbc9..3630e1b07c 100644 --- a/docs/user-guide/jobs.md +++ b/docs/user-guide/jobs.md @@ -8,7 +8,7 @@ assignees: * TOC {:toc} -## What is a _job_? +## What is a job? A _job_ creates one or more pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the _job_ tracks the successful completions. When a specified number diff --git a/docs/user-guide/pod-security-policy/index.md b/docs/user-guide/pod-security-policy/index.md index 6fb1d4cebf..e9fe0bdc1d 100644 --- a/docs/user-guide/pod-security-policy/index.md +++ b/docs/user-guide/pod-security-policy/index.md @@ -13,7 +13,7 @@ See [PodSecurityPolicy proposal](https://github.com/kubernetes/kubernetes/blob/{ * TOC {:toc} -## What is a _Pod Security Policy_? +## What is a Pod Security Policy? A _Pod Security Policy_ is a cluster-level resource that controls the actions that a pod can perform and what it has the ability to access. The diff --git a/docs/user-guide/pods/index.md b/docs/user-guide/pods/index.md index b8a5b65bcc..4f4fa7e6f2 100644 --- a/docs/user-guide/pods/index.md +++ b/docs/user-guide/pods/index.md @@ -10,7 +10,7 @@ assignees: _pods_ are the smallest deployable units of computing that can be created and managed in Kubernetes. -## What is a _pod_? +## What is a pod? A _pod_ (as in a pod of whales or pea pod) is a group of one or more containers (such as Docker containers), the shared storage for those containers, and diff --git a/docs/user-guide/replicasets.md b/docs/user-guide/replicasets.md index cd7f620b15..6b6554fce9 100644 --- a/docs/user-guide/replicasets.md +++ b/docs/user-guide/replicasets.md @@ -9,7 +9,7 @@ assignees: * TOC {:toc} -## What is a _Replica Set_? +## What is a Replica Set? Replica Set is the next-generation Replication Controller. The only difference between a _Replica Set_ and a diff --git a/docs/user-guide/replication-controller/index.md b/docs/user-guide/replication-controller/index.md index 61263d4994..ea10aeacf9 100644 --- a/docs/user-guide/replication-controller/index.md +++ b/docs/user-guide/replication-controller/index.md @@ -8,7 +8,7 @@ assignees: * TOC {:toc} -## What is a _replication controller_? +## What is a replication controller? A _replication controller_ ensures that a specified number of pod "replicas" are running at any one time. In other words, a replication controller makes sure that a pod or homogeneous set of pods are From 4f59dd333fb44e662fa77cec116ca7b206f55619 Mon Sep 17 00:00:00 2001 From: chentao Date: Tue, 20 Dec 2016 16:41:51 +0800 Subject: [PATCH 8/9] change to new config --- docs/admin/static-pods.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/admin/static-pods.md b/docs/admin/static-pods.md index 531494fb04..6f2cfec8a0 100644 --- a/docs/admin/static-pods.md +++ b/docs/admin/static-pods.md @@ -16,7 +16,7 @@ Static pod can be created in two ways: either by using configuration file(s) or ### Configuration files -The configuration files are just standard pod definition in json or yaml format in specific directory. Use `kubelet --config=` to start kubelet daemon, which periodically scans the directory and creates/deletes static pods as yaml/json files appear/disappear there. +The configuration files are just standard pod definition in json or yaml format in specific directory. Use `kubelet --pod-manifest-path=` to start kubelet daemon, which periodically scans the directory and creates/deletes static pods as yaml/json files appear/disappear there. For example, this is how to start a simple web server as a static pod: @@ -48,10 +48,10 @@ For example, this is how to start a simple web server as a static pod: EOF ``` -2. Configure your kubelet daemon on the node to use this directory by running it with `--config=/etc/kubelet.d/` argument. On Fedora edit `/etc/kubernetes/kubelet` to include this line: +2. Configure your kubelet daemon on the node to use this directory by running it with `--pod-manifest-path=/etc/kubelet.d/` argument. On Fedora edit `/etc/kubernetes/kubelet` to include this line: ```conf - KUBELET_ARGS="--cluster-dns=10.254.0.10 --cluster-domain=kube.local --config=/etc/kubelet.d/" + KUBELET_ARGS="--cluster-dns=10.254.0.10 --cluster-domain=kube.local --pod-manifest-path=/etc/kubelet.d/" ``` Instructions for other distributions or Kubernetes installations may vary. @@ -64,11 +64,11 @@ For example, this is how to start a simple web server as a static pod: ## Pods created via HTTP -Kubelet periodically downloads a file specified by `--manifest-url=` argument and interprets it as a json/yaml file with a pod definition. It works the same as `--config=`, i.e. it's reloaded every now and then and changes are applied to running static pods (see below). +Kubelet periodically downloads a file specified by `--manifest-url=` argument and interprets it as a json/yaml file with a pod definition. It works the same as `--pod-manifest-path=`, i.e. it's reloaded every now and then and changes are applied to running static pods (see below). ## Behavior of static pods -When kubelet starts, it automatically starts all pods defined in directory specified in `--config=` or `--manifest-url=` arguments, i.e. our static-web. (It may take some time to pull nginx image, be patient…): +When kubelet starts, it automatically starts all pods defined in directory specified in `--pod-manifest-path=` or `--manifest-url=` arguments, i.e. our static-web. (It may take some time to pull nginx image, be patient…): ```shell [joe@my-node1 ~] $ docker ps From 194bf7664840bf8044291d4584cc138af33c31e2 Mon Sep 17 00:00:00 2001 From: xilabao Date: Tue, 20 Dec 2016 16:52:21 +0800 Subject: [PATCH 9/9] add reference to rbac & psp --- docs/user-guide/pod-security-policy/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/user-guide/pod-security-policy/index.md b/docs/user-guide/pod-security-policy/index.md index 6fb1d4cebf..53cdd4bd9e 100644 --- a/docs/user-guide/pod-security-policy/index.md +++ b/docs/user-guide/pod-security-policy/index.md @@ -156,3 +156,8 @@ following 1. You have enabled the api type `extensions/v1beta1/podsecuritypolicy` 1. You have enabled the admission controller `PodSecurityPolicy` 1. You have defined your policies + +## Working With RBAC + +Use PodSecurityPolicy to control access to privileged containers based on role and groups. +(see [more details](https://github.com/kubernetes/kubernetes/blob/master/examples/podsecuritypolicy/rbac/README.md)).