From ec0c650e6a5c908f4024be9aae0d1d2369853846 Mon Sep 17 00:00:00 2001 From: cliffburdick <30670611+cliffburdick@users.noreply.github.com> Date: Wed, 2 Aug 2017 14:06:20 -0700 Subject: [PATCH 01/13] Fixed apostrophe --- docs/tasks/manage-gpus/scheduling-gpus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tasks/manage-gpus/scheduling-gpus.md b/docs/tasks/manage-gpus/scheduling-gpus.md index 76a5b3fe02..ee7af6b8ca 100644 --- a/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/docs/tasks/manage-gpus/scheduling-gpus.md @@ -143,7 +143,7 @@ spec: ## Future -- Support for hardware accelerators is in it's early stages in Kubernetes. +- Support for hardware accelerators is in its early stages in Kubernetes. - GPUs and other accelerators will soon be a native compute resource across the system. - Better APIs will be introduced to provision and consume accelerators in a scalable manner. - Kubernetes will automatically ensure that applications consuming GPUs gets the best possible performance. From 80ea815b28152769e3e37bb4662e8455b45a1ea4 Mon Sep 17 00:00:00 2001 From: lichuqiang Date: Thu, 3 Aug 2017 13:08:40 +0800 Subject: [PATCH 02/13] fix some spelling mistake --- docs/admin/authorization/rbac.md | 2 +- docs/admin/kube-apiserver.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/admin/authorization/rbac.md b/docs/admin/authorization/rbac.md index 9694f9e00f..12b7ce869f 100644 --- a/docs/admin/authorization/rbac.md +++ b/docs/admin/authorization/rbac.md @@ -754,7 +754,7 @@ Here are two approaches for managing this transition: Run both the RBAC and ABAC authorizers, and include the legacy ABAC policy: ``` ---authorization-mode=RBAC,ABAC --authorization-policy-file=mypolicy.jsonl +--authorization-mode=RBAC,ABAC --authorization-policy-file=mypolicy.json ``` The RBAC authorizer will attempt to authorize requests first. If it denies an API request, diff --git a/docs/admin/kube-apiserver.md b/docs/admin/kube-apiserver.md index fa3b3338c9..d77b83a22d 100644 --- a/docs/admin/kube-apiserver.md +++ b/docs/admin/kube-apiserver.md @@ -129,7 +129,7 @@ TaintBasedEvictions=true|false (ALPHA - default=false) --storage-media-type string The media type to use to store objects in storage. Some resources or storage backends may only support a specific media type and will ignore this setting. (default "application/vnd.kubernetes.protobuf") --storage-versions string The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable. (default "admission.k8s.io/v1alpha1,admissionregistration.k8s.io/v1alpha1,apps/v1beta1,authentication.k8s.io/v1,authorization.k8s.io/v1,autoscaling/v1,batch/v1,certificates.k8s.io/v1beta1,componentconfig/v1alpha1,extensions/v1beta1,federation/v1beta1,imagepolicy.k8s.io/v1alpha1,networking.k8s.io/v1,policy/v1beta1,rbac.authorization.k8s.io/v1beta1,settings.k8s.io/v1alpha1,storage.k8s.io/v1,v1") --target-ram-mb int Memory limit for apiserver in MB (used to configure sizes of caches, etc.) - --tls-ca-file string If set, this certificate authority will used for secure access from Admission Controllers. This must be a valid PEM-encoded CA bundle. Altneratively, the certificate authority can be appended to the certificate provided by --tls-cert-file. + --tls-ca-file string If set, this certificate authority will used for secure access from Admission Controllers. This must be a valid PEM-encoded CA bundle. Alternatively, the certificate authority can be appended to the certificate provided by --tls-cert-file. --tls-cert-file string File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to /var/run/kubernetes. --tls-private-key-file string File containing the default x509 private key matching --tls-cert-file. --tls-sni-cert-key namedCertKey A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com". (default []) From 212197fdcbfca3ea3ef3c89e7014f3286a702934 Mon Sep 17 00:00:00 2001 From: TalyaF Date: Thu, 3 Aug 2017 02:14:28 -0400 Subject: [PATCH 03/13] changed first sentence for parallel structure (#4304) * changed first sentence for parallel structure /@chenopis * Update what-is-kubernetes.md --- docs/concepts/overview/what-is-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/overview/what-is-kubernetes.md b/docs/concepts/overview/what-is-kubernetes.md index b2246d22ef..24fff49e9c 100644 --- a/docs/concepts/overview/what-is-kubernetes.md +++ b/docs/concepts/overview/what-is-kubernetes.md @@ -10,7 +10,7 @@ This page is an overview of Kubernetes. {% endcapture %} {% capture body %} -Kubernetes is an [open-source platform for automating deployment, scaling, and operations of application containers](http://www.slideshare.net/BrianGrant11/wso2con-us-2015-kubernetes-a-platform-for-automating-deployment-scaling-and-operations) across clusters of hosts, providing container-centric infrastructure. +Kubernetes is an [open-source platform designed to automate deploying, scaling, and operating application containers](http://www.slideshare.net/BrianGrant11/wso2con-us-2015-kubernetes-a-platform-for-automating-deployment-scaling-and-operations). With Kubernetes, you are able to quickly and efficiently respond to customer demand: From 99ad2bb168565ef244f5e30df6703b97b5fa80c8 Mon Sep 17 00:00:00 2001 From: Zachary Corleissen Date: Wed, 2 Aug 2017 23:31:41 -0700 Subject: [PATCH 04/13] Fixed broken link (#4578) * Fixed broken link * Fixed link text * Pointed link to releases.k8s.io * Used variable in link --- docs/concepts/services-networking/ingress.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/services-networking/ingress.md b/docs/concepts/services-networking/ingress.md index eddb9cc08d..dbeea67b61 100644 --- a/docs/concepts/services-networking/ingress.md +++ b/docs/concepts/services-networking/ingress.md @@ -79,7 +79,7 @@ __Lines 10-11__: Each http rule contains the following information: A host (e.g. __Lines 12-14__: A backend is a service:port combination as described in the [services doc](/docs/concepts/services-networking/service/). Ingress traffic is typically sent directly to the endpoints matching a backend. -__Global Parameters__: For the sake of simplicity the example Ingress has no global parameters, see the [api-reference](https://releases.k8s.io/{{page.githubbranch}}/pkg/apis/extensions/v1beta1/types.go) for a full definition of the resource. One can specify a global default backend in the absence of which requests that don't match a path in the spec are sent to the default backend of the Ingress controller. +__Global Parameters__: For the sake of simplicity the example Ingress has no global parameters, see the [API reference](https://releases.k8s.io/{{page.githubbranch}}/staging/src/k8s.io/api/extensions/v1beta1/types.go) for a full definition of the resource. One can specify a global default backend in the absence of which requests that don't match a path in the spec are sent to the default backend of the Ingress controller. ## Ingress controllers From 610b62d167408c5ea0ee1718b179e0810fb64ea6 Mon Sep 17 00:00:00 2001 From: Xing Zhou Date: Wed, 2 Aug 2017 11:01:48 +0800 Subject: [PATCH 05/13] Address some translation comments in PR #4359 Addressed some translation comments in PR #4359 --- .../coreos/bare_metal_offline.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cn/docs/getting-started-guides/coreos/bare_metal_offline.md b/cn/docs/getting-started-guides/coreos/bare_metal_offline.md index 389428c439..023fa35ce1 100644 --- a/cn/docs/getting-started-guides/coreos/bare_metal_offline.md +++ b/cn/docs/getting-started-guides/coreos/bare_metal_offline.md @@ -92,11 +92,11 @@ LABEL local LOCALBOOT 0 ``` -至此,您应当已经配置好一个可用的PXELINUX环境用来运行CoreOS节点了,您可以通过在本地运行VirtualBox或者物理裸机来验证这一点。 +至此,您应当已经配置好一个可用的PXELINUX环境用来运行CoreOS节点了。您可以使用VirtualBox或者在物理裸机上对PXELINUX环境所提供的服务进行验证。 ## 添加CoreOS至PXE -本节将介绍如何在一个现有的PXELINUX环境上设置CoreOS镜像。 +本节描述在已有PXELINUX环境的前提下,如何配置CoreOS镜像与之并存。 1. 查找或者创建TFTP根目录,后续所有步骤都将基于此目录。 * 本文中我们假设`/tftpboot`是根目录。 @@ -199,13 +199,13 @@ subnet 10.20.30.0 netmask 255.255.255.0 { 1. 第一种方式是将云配置文件模版化,然后通过编程的方式为不同的集群提供不同的配置。 2. 第二种方式是运行一个服务发现协议从而可以在云环境中做服务的自动发现。 -在本demo中,我们仅简单地创建一个静态的单一`etcd`服务器来运行Kubernetes并提供`etcd`的主要服务。 +在本示例中,我们将通过静态方式创建一个etcd服务器,用于运行Kubernetes主控组件,并用作etcd主节点。 -由于我们的集群处于一个离线的环境中,所以大部分的CoreOS和Kubernetes帮助进程是受限的。为了完成部署,我们需要下载Kubernetes的各种可执行文件到本地然后再启动运行。 +由于我们的集群处于一个离线的环境中,所以大部分的CoreOS和Kubernetes帮助进程是受限的。为了完成部署,我们需要下载Kubernetes的各个可执行文件到本地然后再启动运行。 -一种简单的方案是在DHCP/TFTP主机上搭建一个简易的web服务器,从而环境中的CoreOS PXE机器可以从其上下载各种可执行文件。 +一种简单的方案是在DHCP/TFTP主机上搭建一个简易的web服务器,从而环境中的CoreOS PXE机器可以从其上下载各个可执行文件。 -为了达到这一目标,我们将启动一个`apache`服务器并提供运行Kuberetes所需要的各种可执行文件。 +为了达到这一目标,我们将启动一个`apache`服务器并提供运行Kubernetes所需要的各个可执行文件。 以下脚本运行在上文中准备好的PXE服务器上: From fa665b5bb9cd8467e299bce61e548b9fb9f9dbea Mon Sep 17 00:00:00 2001 From: x00416946 fisherxu Date: Thu, 3 Aug 2017 17:15:14 +0800 Subject: [PATCH 06/13] Add . to the end of the entry --- docs/concepts/services-networking/service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/concepts/services-networking/service.md b/docs/concepts/services-networking/service.md index 24a91dd366..751c2f0770 100644 --- a/docs/concepts/services-networking/service.md +++ b/docs/concepts/services-networking/service.md @@ -338,9 +338,9 @@ For headless services that do not define selectors, the endpoints controller doe not create `Endpoints` records. However, the DNS system looks for and configures either: - * CNAME records for `ExternalName`-type services + * CNAME records for `ExternalName`-type services. * A records for any `Endpoints` that share a name with the service, for all - other types + other types. ## Publishing services - service types From 8e012468a4abc873605440b85da4e32607ff4117 Mon Sep 17 00:00:00 2001 From: Cody Clark Date: Thu, 3 Aug 2017 13:08:15 -0700 Subject: [PATCH 07/13] Removing extra spaces Per Issue [4602](https://github.com/kubernetes/kubernetes.github.io/issues/4602) --- .../configure-volume-storage.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/tasks/configure-pod-container/configure-volume-storage.md b/docs/tasks/configure-pod-container/configure-volume-storage.md index 7fad341494..d2f945097b 100644 --- a/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -35,50 +35,50 @@ restarts. Here is the configuration file for the Pod: 1. Create the Pod: - kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/pod-redis.yaml + kubectl create -f https://k8s.io/docs/tasks/configure-pod-container/pod-redis.yaml 1. Verify that the Pod's Container is running, and then watch for changes to the Pod: - kubectl get --watch pod redis + kubectl get --watch pod redis The output looks like this: - NAME READY STATUS RESTARTS AGE - redis 1/1 Running 0 13s + NAME READY STATUS RESTARTS AGE + redis 1/1 Running 0 13s 1. In another terminal, get a shell to the running Container: - kubectl exec -it redis -- /bin/bash + kubectl exec -it redis -- /bin/bash 1. In your shell, go to `/data/redis`, and create a file: - root@redis:/data/redis# echo Hello > test-file + root@redis:/data/redis# echo Hello > test-file 1. In your shell, list the running processes: - root@redis:/data/redis# ps aux + root@redis:/data/redis# ps aux The output is similar to this: - USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND - redis 1 0.1 0.1 33308 3828 ? Ssl 00:46 0:00 redis-server *:6379 - root 12 0.0 0.0 20228 3020 ? Ss 00:47 0:00 /bin/bash - root 15 0.0 0.0 17500 2072 ? R+ 00:48 0:00 ps aux + USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND + redis 1 0.1 0.1 33308 3828 ? Ssl 00:46 0:00 redis-server *:6379 + root 12 0.0 0.0 20228 3020 ? Ss 00:47 0:00 /bin/bash + root 15 0.0 0.0 17500 2072 ? R+ 00:48 0:00 ps aux 1. In your shell, kill the redis process: - root@redis:/data/redis# kill + root@redis:/data/redis# kill where `` is the redis process ID (PID). 1. In your original terminal, watch for changes to the redis Pod. Eventually, you will see something like this: - NAME READY STATUS RESTARTS AGE - redis 1/1 Running 0 13s - redis 0/1 Completed 0 6m - redis 1/1 Running 1 6m + NAME READY STATUS RESTARTS AGE + redis 1/1 Running 0 13s + redis 0/1 Completed 0 6m + redis 1/1 Running 1 6m At this point, the Container has terminated and restarted. This is because the redis Pod has a @@ -87,7 +87,7 @@ of `Always`. 1. Get a shell into the restarted Container: - kubectl exec -it redis -- /bin/bash + kubectl exec -it redis -- /bin/bash 1. In your shell, goto `/data/redis`, and verify that `test-file` is still there. From 3ee607a78e6b5884a6e01f0740ff381b17155419 Mon Sep 17 00:00:00 2001 From: Drinky Pool Date: Thu, 3 Aug 2017 16:12:31 +0800 Subject: [PATCH 08/13] fix typo fix typo --- docs/tutorials/stateful-application/basic-stateful-set.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/stateful-application/basic-stateful-set.md b/docs/tutorials/stateful-application/basic-stateful-set.md index a25e7d3fb1..09ab1028a3 100644 --- a/docs/tutorials/stateful-application/basic-stateful-set.md +++ b/docs/tutorials/stateful-application/basic-stateful-set.md @@ -1006,7 +1006,7 @@ above. ### Parallel Pod Management `Parallel` pod management tells the StatefulSet controller to launch or -terminate all Pods in parallel, and to not wait for Pods to becoming Running +terminate all Pods in parallel, and not to wait for Pods to become Running and Ready or completely terminated prior to launching or terminating another Pod. From 2c11c0de1fca3c33f1c364b6ba45878db2162dbf Mon Sep 17 00:00:00 2001 From: XsWack Date: Thu, 3 Aug 2017 21:09:12 +0800 Subject: [PATCH 09/13] Update access-cluster.md https://git.k8s.io/client-go/examples/examples/in-cluster/main.go is a bad url and it should be https://git.k8s.io/client-go/examples/examples/in-cluster-client-configuration/main.go --- docs/tasks/access-application-cluster/access-cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tasks/access-application-cluster/access-cluster.md b/docs/tasks/access-application-cluster/access-cluster.md index 5d7d0a7275..c664fd79fc 100644 --- a/docs/tasks/access-application-cluster/access-cluster.md +++ b/docs/tasks/access-application-cluster/access-cluster.md @@ -174,7 +174,7 @@ From within a pod the recommended ways to connect to API are: in any container of the pod can access it. See this [example of using kubectl proxy in a pod](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/kubectl-container/). - use the Go client library, and create a client using the `rest.InClusterConfig()` and `kubernetes.NewForConfig()` functions. - They handle locating and authenticating to the apiserver. [example](https://git.k8s.io/client-go/examples/in-cluster/main.go) + They handle locating and authenticating to the apiserver. [example](https://git.k8s.io/client-go/examples/in-cluster-client-configuration/main.go) In each case, the credentials of the pod are used to communicate securely with the apiserver. From f86258314ddec1391db3e3a65f9afe18b30c4c56 Mon Sep 17 00:00:00 2001 From: lichuqiang Date: Fri, 4 Aug 2017 00:25:26 +0800 Subject: [PATCH 10/13] fix typo --- docs/concepts/workloads/controllers/deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/workloads/controllers/deployment.md b/docs/concepts/workloads/controllers/deployment.md index c9961cd911..ac8c528200 100644 --- a/docs/concepts/workloads/controllers/deployment.md +++ b/docs/concepts/workloads/controllers/deployment.md @@ -510,7 +510,7 @@ nginx-deployment-618515232 11 11 11 7m ## Pausing and Resuming a Deployment You can pause a Deployment before triggering one or more updates and then resume it. This will allow you to -apply multiple fixes in between pausing and resuming without triggering unnecesarry rollouts. +apply multiple fixes in between pausing and resuming without triggering unnecessary rollouts. For example, with a Deployment that was just created: ```shell From 3fd1ff30360d9298c3053ae3461d335ca0e50f7e Mon Sep 17 00:00:00 2001 From: Rye Terrell Date: Thu, 3 Aug 2017 14:03:58 -0500 Subject: [PATCH 11/13] add instructions for installing kubefed with snap --- .../federation/set-up-cluster-federation-kubefed.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/tasks/federation/set-up-cluster-federation-kubefed.md b/docs/tasks/federation/set-up-cluster-federation-kubefed.md index 114d54b735..1c379b198a 100644 --- a/docs/tasks/federation/set-up-cluster-federation-kubefed.md +++ b/docs/tasks/federation/set-up-cluster-federation-kubefed.md @@ -61,6 +61,15 @@ sudo cp kubernetes/client/bin/kubectl /usr/local/bin sudo chmod +x /usr/local/bin/kubectl ``` +### Install with snap on Ubuntu + +kubefed is available as a [snap](https://snapcraft.io/) application. + +1. If you are on Ubuntu or one of other Linux distributions that support [snap](https://snapcraft.io/docs/core/install) package manager, you can install with: + + sudo snap install kubefed --classic + +2. Run `kubefed version` to verify that the verison you've installed is sufficiently up-to-date. ## Choosing a host cluster. From d1b24144b1fe11e0093098563bf34835b2501831 Mon Sep 17 00:00:00 2001 From: XsWack Date: Fri, 4 Aug 2017 20:53:32 +0800 Subject: [PATCH 12/13] Update volumes.md Fix typo and some syntax error --- docs/concepts/storage/volumes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/concepts/storage/volumes.md b/docs/concepts/storage/volumes.md index 153a22f5bf..295345f5c7 100644 --- a/docs/concepts/storage/volumes.md +++ b/docs/concepts/storage/volumes.md @@ -289,10 +289,10 @@ spec: ### nfs -An `nfs` volume allows an existing NFS (Network File System) share to be +A `nfs` volume allows an existing NFS (Network File System) share to be mounted into your pod. Unlike `emptyDir`, which is erased when a Pod is removed, the contents of an `nfs` volume are preserved and the volume is merely -unmounted. This means that an NFS volume can be pre-populated with data, and +unmounted. This means that a NFS volume can be pre-populated with data, and that data can be "handed off" between pods. NFS can be mounted by multiple writers simultaneously. @@ -322,7 +322,7 @@ See the [iSCSI example](https://github.com/kubernetes/kubernetes/tree/{{page.git ### fc (fibre channel) -An `fc` volume allows an existing fibre channel volume to be mounted into your pod. +A `fc` volume allows an existing fibre channel volume to be mounted into your pod. You can specify single or multiple target World Wide Names to the parameter targetWWNs in your volume configuration. If multiple WWNs are specified, targetWWNs expects that those WWNs form multipath connection. @@ -365,7 +365,7 @@ See the [GlusterFS example](https://github.com/kubernetes/kubernetes/tree/{{page ### rbd -An `rbd` volume allows a [Rados Block +A `rbd` volume allows a [Rados Block Device](http://ceph.com/docs/master/rbd/rbd/) volume to be mounted into your pod. Unlike `emptyDir`, which is erased when a Pod is removed, the contents of a `rbd` volume are preserved and the volume is merely unmounted. This From 63092de7bab411cf43c310d31f30330df5854be6 Mon Sep 17 00:00:00 2001 From: craigbox Date: Fri, 4 Aug 2017 15:22:14 +0100 Subject: [PATCH 13/13] Update node/pod limits Initial PR to reflect new scalability limits. I have assumed the new number of total containers from the previous relationship but would prefer Wojciech to confirm --- docs/admin/cluster-large.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/admin/cluster-large.md b/docs/admin/cluster-large.md index e8c1dbe2c6..630a9f4fb7 100644 --- a/docs/admin/cluster-large.md +++ b/docs/admin/cluster-large.md @@ -7,11 +7,11 @@ title: Building Large Clusters ## Support -At {{page.version}}, Kubernetes supports clusters with up to 1000 nodes. More specifically, we support configurations that meet *all* of the following criteria: +At {{page.version}}, Kubernetes supports clusters with up to 5000 nodes. More specifically, we support configurations that meet *all* of the following criteria: -* No more than 2000 nodes -* No more than 60000 total pods -* No more than 120000 total containers +* No more than 5000 nodes +* No more than 150000 total pods +* No more than 300000 total containers * No more than 100 pods per node