Skip to content

Commit dff6a3a

Browse files
committed
Merge remote-tracking branch 'upstream/master' into kubeadm
2 parents 1113b45 + 8558241 commit dff6a3a

File tree

59 files changed

+621
-587
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+621
-587
lines changed

OWNERS_ALIASES

+1-6
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,10 @@ aliases:
6262
- soltysh
6363
- sttts
6464
sig-cluster-lifecycle: #GH: sig-cluster-lifecycle-pr-reviews
65-
- jbeda
6665
- timothysc
67-
- lukemarsden
68-
- pipejakob
69-
- dmmcquay
70-
- mattmoyer
7166
- luxas
7267
- roberthbailey
73-
- medinatiger
68+
- fabriziopandini
7469
sig-cluster-ops:
7570
- zehicle
7671
- jdumars

content/en/case-studies/pearson.html

+89-69
Large diffs are not rendered by default.

content/en/docs/concepts/cluster-administration/cloud-providers.md

+63-11
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,15 @@ cloud provider.
1010
{{% /capture %}}
1111

1212
{{% capture body %}}
13-
# AWS
13+
## AWS
1414
This section describes all the possible configurations which can
1515
be used when running Kubernetes on Amazon Web Services.
1616

17-
## Load Balancers
17+
### Node Name
18+
19+
The AWS cloud provider uses the private DNS name of the AWS instance as the name of the Kubernetes Node object.
20+
21+
### Load Balancers
1822
You can setup [external load balancers](/docs/tasks/access-application-cluster/create-external-load-balancer/)
1923
to use specific features in AWS by configuring the annotations as shown below.
2024

@@ -58,9 +62,39 @@ Different settings can be applied to a load balancer service in AWS using _annot
5862

5963
The information for the annotations for AWS is taken from the comments on [aws.go](https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/aws/aws.go)
6064

61-
# OpenStack
65+
## Azure
66+
67+
### Node Name
68+
69+
The Azure cloud provider uses the hostname of the node (as determined by the kubelet or overridden with `--hostname-override`) as the name of the Kubernetes Node object.
70+
Note that the Kubernetes Node name must match the Azure VM name.
71+
72+
## CloudStack
73+
74+
### Node Name
75+
76+
The CloudStack cloud provider uses the hostname of the node (as determined by the kubelet or overridden with `--hostname-override`) as the name of the Kubernetes Node object.
77+
Note that the Kubernetes Node name must match the CloudStack VM name.
78+
79+
## GCE
80+
81+
### Node Name
82+
83+
The GCE cloud provider uses the hostname of the node (as determined by the kubelet or overridden with `--hostname-override`) as the name of the Kubernetes Node object.
84+
Note that the first segment of the Kubernetes Node name must match the GCE instance name (e.g. a Node named `kubernetes-node-2.c.my-proj.internal` must correspond to an instance named `kubernetes-node-2`).
85+
86+
## OpenStack
6287
This section describes all the possible configurations which can
63-
be used when using OpenStack with Kubernetes. The OpenStack cloud provider
88+
be used when using OpenStack with Kubernetes.
89+
90+
### Node Name
91+
92+
The OpenStack cloud provider uses the instance name (as determined from OpenStack metadata) as the name of the Kubernetes Node object.
93+
Note that the instance name must be a valid Kubernetes Node name in order for the kubelet to successfully register its Node object.
94+
95+
### Services
96+
97+
The OpenStack cloud provider
6498
implementation for Kubernetes supports the use of these OpenStack services from
6599
the underlying cloud, where available:
66100

@@ -88,12 +122,12 @@ OpenStack services other than Keystone are not available and simply disclaim
88122
support for impacted features. Certain features are also enabled or disabled
89123
based on the list of extensions published by Neutron in the underlying cloud.
90124

91-
## cloud.conf
125+
### cloud.conf
92126
Kubernetes knows how to interact with OpenStack via the file cloud.conf. It is
93127
the file that will provide Kubernetes with credentials and location for the OpenStack auth endpoint.
94128
You can create a cloud.conf file by specifying the following details in it
95129

96-
### Typical configuration
130+
#### Typical configuration
97131
This is an example of a typical configuration that touches the values that most
98132
often need to be set. It points the provider at the OpenStack cloud's Keystone
99133
endpoint, provides details for how to authenticate with it, and configures the
@@ -111,7 +145,7 @@ domain-id=2a73b8f597c04551a0fdc8e95544be8a
111145
subnet-id=6937f8fa-858d-4bc9-a3a5-18d2c957166a
112146
```
113147

114-
#### Global
148+
##### Global
115149
These configuration options for the OpenStack provider pertain to its global
116150
configuration and should appear in the `[Global]` section of the `cloud.conf`
117151
file:
@@ -146,7 +180,7 @@ file:
146180
When using Keystone V3 - which changes tenant to project - the `tenant-id` value
147181
is automatically mapped to the project construct in the API.
148182

149-
#### Load Balancer
183+
##### Load Balancer
150184
These configuration options for the OpenStack provider pertain to the load
151185
balancer and should appear in the `[LoadBalancer]` section of the `cloud.conf`
152186
file:
@@ -190,7 +224,7 @@ file:
190224
`node-security-group` must also be supplied.
191225
* `node-security-group` (Optional): ID of the security group to manage.
192226

193-
#### Block Storage
227+
##### Block Storage
194228
These configuration options for the OpenStack provider pertain to block storage
195229
and should appear in the `[BlockStorage]` section of the `cloud.conf` file:
196230

@@ -228,7 +262,7 @@ provider configuration:
228262
bs-version=v2
229263
```
230264

231-
#### Metadata
265+
##### Metadata
232266
These configuration options for the OpenStack provider pertain to metadata and
233267
should appear in the `[Metadata]` section of the `cloud.conf` file:
234268

@@ -250,7 +284,7 @@ should appear in the `[Metadata]` section of the `cloud.conf` file:
250284
both configuration drive and metadata service though and only one or the other
251285
may be available which is why the default is to check both.
252286

253-
#### Router
287+
##### Router
254288

255289
These configuration options for the OpenStack provider pertain to the [kubenet]
256290
Kubernetes network plugin and should appear in the `[Router]` section of the
@@ -267,4 +301,22 @@ Kubernetes network plugin and should appear in the `[Router]` section of the
267301

268302
{{% /capture %}}
269303

304+
## OVirt
305+
306+
### Node Name
307+
308+
The OVirt cloud provider uses the hostname of the node (as determined by the kubelet or overridden with `--hostname-override`) as the name of the Kubernetes Node object.
309+
Note that the Kubernetes Node name must match the VM FQDN (reported by OVirt under `<vm><guest_info><fqdn>...</fqdn></guest_info></vm>`)
310+
311+
## Photon
312+
313+
### Node Name
314+
315+
The Photon cloud provider uses the hostname of the node (as determined by the kubelet or overridden with `--hostname-override`) as the name of the Kubernetes Node object.
316+
Note that the Kubernetes Node name must match the Photon VM name (or if `overrideIP` is set to true in the `--cloud-config`, the Kubernetes Node name must match the Photon VM IP address).
317+
318+
## VSphere
319+
320+
### Node Name
270321

322+
The VSphere cloud provider uses the hostname of the node (as determined by the kubelet or overridden with `--hostname-override`) as the name of the Kubernetes Node object.

content/en/docs/concepts/cluster-administration/networking.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ very niche operation. In this case a port will be allocated on the host `Node`
9494
and traffic will be forwarded to the `Pod`. The `Pod` itself is blind to the
9595
existence or non-existence of host ports.
9696

97-
## How to achieve this
97+
## How to implement the Kubernetes networking model
9898

9999
There are a number of ways that this network model can be implemented. This
100100
document is not an exhaustive study of the various methods, but hopefully serves
@@ -121,11 +121,11 @@ Details on how the AOS system works can be accessed here: http://www.apstra.com/
121121

122122
### Big Cloud Fabric from Big Switch Networks
123123

124-
[Big Cloud Fabric](https://www.bigswitch.com/container-network-automation) is a cloud native networking architecture, designed to run Kubernetes in private cloud/on-premise environments. Using unified physical & virtual SDN, Big Cloud Fabric tackles inherent container networking problems such as load balancing, visibility, troubleshooting, security policies & container traffic monitoring.
124+
[Big Cloud Fabric](https://www.bigswitch.com/container-network-automation) is a cloud native networking architecture, designed to run Kubernetes in private cloud/on-premises environments. Using unified physical & virtual SDN, Big Cloud Fabric tackles inherent container networking problems such as load balancing, visibility, troubleshooting, security policies & container traffic monitoring.
125125

126126
With the help of the Big Cloud Fabric's virtual pod multi-tenant architecture, container orchestration systems such as Kubernetes, RedHat Openshift, Mesosphere DC/OS & Docker Swarm will be natively integrated along side with VM orchestration systems such as VMware, OpenStack & Nutanix. Customers will be able to securely inter-connect any number of these clusters and enable inter-tenant communication between them if needed.
127127

128-
BCF was recognized by Gartner as a visionary in the latest [Magic Quadrant](http://go.bigswitch.com/17GatedDocuments-MagicQuadrantforDataCenterNetworking_Reg.html). One of the BCF Kubernetes on premise deployments (which includes Kubernetes, DC/OS & VMware running on multiple DCs across different geographic regions) is also referenced [here](https://portworx.com/architects-corner-kubernetes-satya-komala-nio/).
128+
BCF was recognized by Gartner as a visionary in the latest [Magic Quadrant](http://go.bigswitch.com/17GatedDocuments-MagicQuadrantforDataCenterNetworking_Reg.html). One of the BCF Kubernetes on-premises deployments (which includes Kubernetes, DC/OS & VMware running on multiple DCs across different geographic regions) is also referenced [here](https://portworx.com/architects-corner-kubernetes-satya-komala-nio/).
129129

130130
### Cilium
131131

content/en/docs/concepts/configuration/assign-pod-node.md

+14-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ reviewers:
44
- kevin-wangzefeng
55
- bsalamat
66
title: Assigning Pods to Nodes
7+
content_template: templates/concept
78
weight: 30
89
---
910

11+
{{< toc >}}
12+
13+
{{% capture overview %}}
14+
1015
You can constrain a [pod](/docs/concepts/workloads/pods/pod/) to only be able to run on particular [nodes](/docs/concepts/architecture/nodes/) or to prefer to
1116
run on particular nodes. There are several ways to do this, and they all use
1217
[label selectors](/docs/concepts/overview/working-with-objects/labels/) to make the selection.
@@ -19,7 +24,9 @@ services that communicate a lot into the same availability zone.
1924
You can find all the files for these examples [in our docs
2025
repo here](https://github.com/kubernetes/website/tree/{{< param "docsbranch" >}}/docs/concepts/configuration/).
2126

22-
{{< toc >}}
27+
{{% /capture %}}
28+
29+
{{% capture body %}}
2330

2431
## nodeSelector
2532

@@ -332,3 +339,9 @@ For more information on inter-pod affinity/anti-affinity, see the
332339
333340
You may want to check [Taints](/docs/concepts/configuration/taint-and-toleration/)
334341
as well, which allow a *node* to *repel* a set of pods.
342+
343+
{{% /capture %}}
344+
345+
{{% capture whatsnext %}}
346+
347+
{{% /capture %}}

content/en/docs/concepts/configuration/manage-compute-resources-container.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ Node-level extended resources are tied to nodes.
390390

391391
##### Device plugin managed resources
392392
See [Device
393-
Plugin](https://kubernetes.io/docs/concepts/cluster-administration/device-plugins/)
393+
Plugin](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)
394394
for how to advertise device plugin managed resources on each node.
395395

396396
##### Other resources

content/en/docs/concepts/configuration/secret.md

+23-5
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,22 @@
22
reviewers:
33
- mikedanese
44
title: Secrets
5+
content_template: templates/concept
56
weight: 50
67
---
78

9+
{{< toc >}}
10+
11+
{{% capture overview %}}
12+
813
Objects of type `secret` are intended to hold sensitive information, such as
914
passwords, OAuth tokens, and ssh keys. Putting this information in a `secret`
1015
is safer and more flexible than putting it verbatim in a `pod` definition or in
1116
a docker image. See [Secrets design document](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md) for more information.
1217

13-
{{< toc >}}
18+
{{% /capture %}}
19+
20+
{{% capture body %}}
1421

1522
## Overview of Secrets
1623

@@ -525,6 +532,14 @@ secret "prod-db-secret" created
525532
$ kubectl create secret generic test-db-secret --from-literal=username=testuser --from-literal=password=iluvtests
526533
secret "test-db-secret" created
527534
```
535+
{{< note >}}
536+
**Note:** Special characters such as `$`, `\*`, and `!` require escaping.
537+
If the password you are using has special characters, you need to escape them using the `\\` character. For example, if your actual password is `S!B\*d$zDsb`, you should execute the command this way:
538+
539+
kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password=S\\!B\\\*d\\$zDsb
540+
541+
You do not need to escape special characters in passwords from files (`--from-file`).
542+
{{< /note >}}
528543

529544
Now make the pods:
530545

@@ -638,11 +653,10 @@ The `secret-volume` will contain a single file, called `.secret-file`, and
638653
the `dotfile-test-container` will have this file present at the path
639654
`/etc/secret-volume/.secret-file`.
640655

641-
**NOTE**
642-
643-
Files beginning with dot characters are hidden from the output of `ls -l`;
656+
{{< note >}}
657+
**Note**: Files beginning with dot characters are hidden from the output of `ls -l`;
644658
you must use `ls -la` to see them when listing directory contents.
645-
659+
{{< /note >}}
646660

647661
### Use-case: Secret visible to one container in a pod
648662

@@ -751,3 +765,7 @@ Pod level](#use-case-secret-visible-to-one-container-in-a-pod).
751765
{{< note >}}
752766
**Note:** As of 1.7 [encryption of secret data at rest is supported](/docs/tasks/administer-cluster/encrypt-data/).
753767
{{< /note >}}
768+
769+
{{% capture whatsnext %}}
770+
771+
{{% /capture %}}

content/en/docs/concepts/configuration/taint-and-toleration.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@ reviewers:
44
- kevin-wangzefeng
55
- bsalamat
66
title: Taints and Tolerations
7+
content_template: templates/concept
78
weight: 40
89
---
910

11+
{{< toc >}}
12+
13+
{{% capture overview %}}
1014
Node affinity, described [here](/docs/concepts/configuration/assign-pod-node/#node-affinity-beta-feature),
1115
is a property of *pods* that *attracts* them to a set of nodes (either as a
1216
preference or a hard requirement). Taints are the opposite -- they allow a
@@ -18,7 +22,9 @@ marks that the node should not accept any pods that do not tolerate the taints.
1822
Tolerations are applied to pods, and allow (but do not require) the pods to schedule
1923
onto nodes with matching taints.
2024

21-
{{< toc >}}
25+
{{% /capture %}}
26+
27+
{{% capture body %}}
2228

2329
## Concepts
2430

@@ -279,3 +285,9 @@ To make sure that turning on this feature doesn't break DaemonSets, starting in
279285

280286
The above settings ensure backward compatibility, but we understand they may not fit all user's needs, which is why
281287
cluster admin may choose to add arbitrary tolerations to DaemonSets.
288+
289+
{{% /capture %}}
290+
291+
{{% capture whatsnext %}}
292+
293+
{{% /capture %}}

content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md

+15-1
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,26 @@ reviewers:
44
- freehan
55
- thockin
66
title: Network Plugins
7+
content_template: templates/concept
78
weight: 10
89
---
910

1011
{{< toc >}}
1112

12-
__Disclaimer__: Network plugins are in alpha. Its contents will change rapidly.
13+
{{% capture overview %}}
14+
15+
{{< feature-state state="alpha" >}}
16+
{{< warning >}}Alpha features change rapidly. {{< /warning >}}
1317

1418
Network plugins in Kubernetes come in a few flavors:
1519

1620
* CNI plugins: adhere to the appc/CNI specification, designed for interoperability.
1721
* Kubenet plugin: implements basic `cbr0` using the `bridge` and `host-local` CNI plugins
1822

23+
{{% /capture %}}
24+
25+
{{% capture body %}}
26+
1927
## Installation
2028

2129
The kubelet has a single default network plugin, and a default network common to the entire cluster. It probes for plugins when it starts up, remembers what it found, and executes the selected plugin at appropriate times in the pod lifecycle (this is only true for Docker, as rkt manages its own CNI plugins). There are two Kubelet command line parameters to keep in mind when using plugins:
@@ -71,3 +79,9 @@ This option is provided to the network-plugin; currently **only kubenet supports
7179
* `--network-plugin=cni` specifies that we use the `cni` network plugin with actual CNI plugin binaries located in `--cni-bin-dir` (default `/opt/cni/bin`) and CNI plugin configuration located in `--cni-conf-dir` (default `/etc/cni/net.d`).
7280
* `--network-plugin=kubenet` specifies that we use the `kubenet` network plugin with CNI `bridge` and `host-local` plugins placed in `/opt/cni/bin` or `cni-bin-dir`.
7381
* `--network-plugin-mtu=9001` specifies the MTU to use, currently only used by the `kubenet` network plugin.
82+
83+
{{% /capture %}}
84+
85+
{{% capture whatsnext %}}
86+
87+
{{% /capture %}}

content/en/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md

+11
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,19 @@ reviewers:
33
- rickypai
44
- thockin
55
title: Adding entries to Pod /etc/hosts with HostAliases
6+
content_template: templates/concept
67
weight: 60
78
---
89

910
{{< toc >}}
1011

12+
{{% capture overview %}}
1113
Adding entries to a Pod's /etc/hosts file provides Pod-level override of hostname resolution when DNS and other options are not applicable. In 1.7, users can add these custom entries with the HostAliases field in PodSpec.
1214

1315
Modification not using HostAliases is not suggested because the file is managed by Kubelet and can be overwritten on during Pod creation/restart.
16+
{{% /capture %}}
17+
18+
{{% capture body %}}
1419

1520
## Default Hosts File Content
1621

@@ -91,3 +96,9 @@ In 1.8, HostAlias is supported for all Pods regardless of network configuration.
9196
Kubelet [manages](https://github.com/kubernetes/kubernetes/issues/14633) the hosts file for each container of the Pod to prevent Docker from [modifying](https://github.com/moby/moby/issues/17190) the file after the containers have already been started.
9297

9398
Because of the managed-nature of the file, any user-written content will be overwritten whenever the hosts file is remounted by Kubelet in the event of a container restart or a Pod reschedule. Thus, it is not suggested to modify the contents of the file.
99+
100+
{{% /capture %}}
101+
102+
{{% capture whatsnext %}}
103+
104+
{{% /capture %}}

0 commit comments

Comments
 (0)