Skip to content

Commit 7c999e3

Browse files
committed
* 'master' of https://github.com/kubernetes/kubernetes.github.io: (23 commits) concepts/configuration/manage-compute-resources-container.md: fix a conversion (kubernetes#4952) Update authentication.md (kubernetes#5281) Update static-pod.md for consistency Space needed before list in kramdown. Update downward-api-volume-expose-pod-information.md fix the command output fix the command output fix the command output fix the command output fix the command output Fix CRD page typo fix 404 page Update binary_release.md Update disruptions.md fix the command output fix typo fix the command output Fix curl does not work in zsh use the term 'node' for consistency fix typo ...
2 parents fc7c06c + 6e584be commit 7c999e3

File tree

23 files changed

+142
-44
lines changed

23 files changed

+142
-44
lines changed

_data/concepts.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ toc:
8181
- title: Cluster Administration
8282
section:
8383
- docs/concepts/cluster-administration/cluster-administration-overview.md
84+
- docs/concepts/cluster-administration/cloud-providers.md
8485
- docs/concepts/cluster-administration/manage-deployment.md
8586
- docs/concepts/cluster-administration/networking.md
8687
- docs/concepts/cluster-administration/network-plugins.md

docs/admin/authentication.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ $ kubectl get secret jenkins-token-1yvwg -o yaml
228228
apiVersion: v1
229229
data:
230230
ca.crt: (APISERVER'S CA BASE64 ENCODED)
231+
namespace: ZGVmYXVsdA==
231232
token: (BEARER TOKEN BASE64 ENCODED)
232233
kind: Secret
233234
metadata:
@@ -290,7 +291,7 @@ To enable the plugin, configure the following flags on the API server:
290291

291292
| Parameter | Description | Example | Required |
292293
| --------- | ----------- | ------- | ------- |
293-
| `--oidc-issuer-url` | URL of the provider which allows the API server to discover public signing keys. Only URLs which use the `https://` scheme are accepted. This is typically the provider's discovery URL without a path, for example "https://accounts.google.com" or "https://login.salesforce.com". This URL should point to the level below .well-known/openid-configuration | If the discovery URL is https://accounts.google.com/.well-known/openid-configuration the value should be https://accounts.google.com | Yes |
294+
| `--oidc-issuer-url` | URL of the provider which allows the API server to discover public signing keys. Only URLs which use the `https://` scheme are accepted. This is typically the provider's discovery URL without a path, for example "https://accounts.google.com" or "https://login.salesforce.com". This URL should point to the level below .well-known/openid-configuration | If the discovery URL is `https://accounts.google.com/.well-known/openid-configuration`, the value should be `https://accounts.google.com` | Yes |
294295
| `--oidc-client-id` | A client id that all tokens must be issued for. | kubernetes | Yes |
295296
| `--oidc-username-claim` | JWT claim to use as the user name. By default `sub`, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as `email` or `name`, depending on their provider. However, claims other than `email` will be prefixed with the issuer URL to prevent naming clashes with other plugins. | sub | No |
296297
| `--oidc-groups-claim` | JWT claim to use as the user's group. If the claim is present it must be an array of strings. | groups | No |
@@ -323,7 +324,8 @@ For an identity provider to work with Kubernetes it must:
323324
2. Run in TLS with non-obsolete ciphers
324325
3. Have a CA signed certificate (even if the CA is not a commercial CA or is self signed)
325326

326-
A note about requirement #3 above, requiring a CA signed certificate. If you deploy your own identity provider (as opposed to one of the cloud providers like Google or Microsoft) you MUST have your identity provider's web server certificate signed by a certificate with the `CA` flag set to `TRUE`, even if it is self signed. This is due to GoLang's TLS client implementation being very strict to the standards around certificate validation. If you don't have a CA handy, you can use this script from the CoreOS team to create a simple CA and a signed certificate and key pair - https://github.com/coreos/dex/blob/1ee5920c54f5926d6468d2607c728b71cfe98092/examples/k8s/gencert.sh or this script based on it that will generate SHA256 certs with a longer life and larger key size https://raw.githubusercontent.com/TremoloSecurity/openunison-qs-kubernetes/master/makecerts.sh.
327+
A note about requirement #3 above, requiring a CA signed certificate. If you deploy your own identity provider (as opposed to one of the cloud providers like Google or Microsoft) you MUST have your identity provider's web server certificate signed by a certificate with the `CA` flag set to `TRUE`, even if it is self signed. This is due to GoLang's TLS client implementation being very strict to the standards around certificate validation. If you don't have a CA handy, you can use [this script](https://github.com/coreos/dex/blob/1ee5920c54f5926d6468d2607c728b71cfe98092/examples/k8s/gencert.sh) from the CoreOS team to create a simple CA and a signed certificate and key pair.
328+
Or you can use [this similar script](https://raw.githubusercontent.com/TremoloSecurity/openunison-qs-kubernetes/master/makecerts.sh) that generates SHA256 certs with a longer life and larger key size.
327329

328330
Setup instructions for specific systems:
329331

docs/admin/authorization/rbac.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,7 @@ In order from most secure to least secure, the approaches are:
683683
NOTE: Permissions given to the "default" service account are available to any pod in the namespace that does not specify a `serviceAccountName`.
684684

685685
For example, grant read-only permission within "my-namespace" to the "default" service account:
686+
686687
```shell
687688
kubectl create rolebinding default-view \
688689
--clusterrole=view \

docs/concepts/architecture/master-node-communication.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ or service through the apiserver's proxy functionality.
6565
### apiserver -> kubelet
6666

6767
The connections from the apiserver to the kubelet are used for:
68+
6869
* Fetching logs for pods.
6970
* Attaching (through kubectl) to running pods.
7071
* Providing the kubelet's port-forwarding functionality.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: Cloud Providers
3+
---
4+
5+
{% capture overview %}
6+
This page explains how to manage Kubernetes running on a specific
7+
cloud provider.
8+
{% endcapture %}
9+
10+
{% capture body %}
11+
# AWS
12+
This section describes all the possible configurations which can
13+
be used when running Kubernetes on Amazon Web Services.
14+
15+
## Load Balancers
16+
You can setup [external load balancers](/docs/tasks/access-application-cluster/create-external-load-balancer)
17+
to use specific features in AWS by configuring the annotations as shown below.
18+
19+
```yaml
20+
apiVersion: v1
21+
kind: Service
22+
metadata:
23+
name: example
24+
namespace: kube-system
25+
labels:
26+
run: example
27+
annotations:
28+
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:xx-xxxx-x:xxxxxxxxx:xxxxxxx/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx #replace this value
29+
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
30+
spec:
31+
type: LoadBalancer
32+
ports:
33+
- port: 443
34+
targetPort: 5556
35+
protocol: TCP
36+
selector:
37+
app: example
38+
```
39+
Different settings can be applied to a load balancer service in AWS using _annotations_. The following describes the annotations supported on AWS ELBs:
40+
41+
* `service.beta.kubernetes.io/aws-load-balancer-access-log-emit-interval`: Used to specify access log emit interval.
42+
* `service.beta.kubernetes.io/aws-load-balancer-access-log-enabled`: Used on the service to enable or disable access logs.
43+
* `service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-name`: Used to specify access log s3 bucket name.
44+
* `service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-prefix`: Used to specify access log s3 bucket prefix.
45+
* `service.beta.kubernetes.io/aws-load-balancer-additional-resource-tags`: Used on the service to specify a comma-separated list of key-value pairs which will be recorded as additional tags in the ELB. For example: `"Key1=Val1,Key2=Val2,KeyNoVal1=,KeyNoVal2"`.
46+
* `service.beta.kubernetes.io/aws-load-balancer-backend-protocol`: Used on the service to specify the protocol spoken by the backend (pod) behind a listener. If `http` (default) or `https`, an HTTPS listener that terminates the connection and parses headers is created. If set to `ssl` or `tcp`, a "raw" SSL listener is used. If set to `http` and `aws-load-balancer-ssl-cert` is not used then a HTTP listener is used.
47+
* `service.beta.kubernetes.io/aws-load-balancer-ssl-cert`: Used on the service to request a secure listener. Value is a valid certificate ARN. For more, see http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html CertARN is an IAM or CM certificate ARN, e.g. `arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012`.
48+
* `service.beta.kubernetes.io/aws-load-balancer-connection-draining-enabled`: Used on the service to enable or disable connection draining.
49+
* `service.beta.kubernetes.io/aws-load-balancer-connection-draining-timeout`: Used on the service to specify a connection draining timeout.
50+
* `service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout`: Used on the service to specify the idle connection timeout.
51+
* `service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled`: Used on the service to enable or disable cross-zone load balancing.
52+
* `service.beta.kubernetes.io/aws-load-balancer-extra-security-groups`: Used one the service to specify additional security groups to be added to ELB created
53+
* `service.beta.kubernetes.io/aws-load-balancer-internal`: Used on the service to indicate that we want an internal ELB.
54+
* `service.beta.kubernetes.io/aws-load-balancer-proxy-protocol`: Used on the service to enable the proxy protocol on an ELB. Right now we only accept the value `*` which means enable the proxy protocol on all ELB backends. In the future we could adjust this to allow setting the proxy protocol only on certain backends.
55+
* `service.beta.kubernetes.io/aws-load-balancer-ssl-ports`: Used on the service to specify a comma-separated list of ports that will use SSL/HTTPS listeners. Defaults to `*` (all)
56+
57+
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)
58+
59+
{% endcapture %}
60+
61+
{% include templates/concept.md %}

docs/concepts/cluster-administration/logging.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ so that logs don't consume all available storage on the node. Kubernetes
6060
currently is not responsible for rotating logs, but rather a deployment tool
6161
should set up a solution to address that.
6262
For example, in Kubernetes clusters, deployed by the `kube-up.sh` script,
63-
there is a [`logrotate`](http://www.linuxcommand.org/man_pages/logrotate8.html)
63+
there is a [`logrotate`](https://linux.die.net/man/8/logrotate)
6464
tool configured to run each hour. You can also set up a container runtime to
6565
rotate application's logs automatically, e.g. by using Docker's `log-opt`.
6666
In the `kube-up.sh` script, the latter approach is used for COS image on GCP,

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

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,12 @@ When using Docker:
135135
[`--cpu-shares`](https://docs.docker.com/engine/reference/run/#/cpu-share-constraint)
136136
flag in the `docker run` command.
137137

138-
- The `spec.containers[].resources.limits.cpu` is converted to its millicore value,
139-
multiplied by 100000, and then divided by 1000. This number is used as the value
140-
of the [`--cpu-quota`](https://docs.docker.com/engine/reference/run/#/cpu-quota-constraint)
141-
flag in the `docker run` command. The [`--cpu-period`] flag is set to 100000,
142-
which represents the default 100ms period for measuring quota usage. The
143-
kubelet enforces cpu limits if it is started with the
144-
[`--cpu-cfs-quota`] flag set to true. As of Kubernetes version 1.2, this flag
145-
defaults to true.
138+
- The `spec.containers[].resources.limits.cpu` is converted to its millicore value and
139+
multiplied by 100. The resulting value is the total amount of CPU time that a container can use
140+
every 100ms. A container cannot use more than its share of CPU time during this interval.
141+
142+
**Note**: The default quota period is 100ms. The minimum resolution of CPU quota is 1ms.
143+
{: .note}
146144

147145
- The `spec.containers[].resources.limits.memory` is converted to an integer, and
148146
used as the value of the
@@ -434,4 +432,3 @@ consistency across providers and platforms.
434432
{% endcapture %}
435433

436434
{% include templates/concept.md %}
437-

docs/concepts/services-networking/connect-applications-service.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,14 @@ $ kubectl describe svc my-nginx
8080
Name: my-nginx
8181
Namespace: default
8282
Labels: run=my-nginx
83+
Annotations: <none>
8384
Selector: run=my-nginx
8485
Type: ClusterIP
8586
IP: 10.0.162.149
8687
Port: <unset> 80/TCP
8788
Endpoints: 10.244.2.5:80,10.244.3.4:80
8889
Session Affinity: None
89-
No events.
90+
Events: <none>
9091

9192
$ kubectl get ep my-nginx
9293
NAME ENDPOINTS AGE

docs/concepts/storage/volumes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ Some uses for an `emptyDir` are:
112112
container serves the data
113113

114114
By default, `emptyDir` volumes are stored on whatever medium is backing the
115-
machine - that might be disk or SSD or network storage, depending on your
115+
node - that might be disk or SSD or network storage, depending on your
116116
environment. However, you can set the `emptyDir.medium` field to `"Memory"`
117117
to tell Kubernetes to mount a tmpfs (RAM-backed filesystem) for you instead.
118118
While tmpfs is very fast, be aware that unlike disks, tmpfs is cleared on
119-
machine reboot and any files you write will count against your container's
119+
node reboot and any files you write will count against your container's
120120
memory limit.
121121

122122
#### Example pod

docs/concepts/workloads/controllers/jobs-run-to-completion.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,29 @@ Check on the status of the job using this command:
4141
$ kubectl describe jobs/pi
4242
Name: pi
4343
Namespace: default
44-
Image(s): perl
4544
Selector: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
45+
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
46+
job-name=pi
47+
Annotations: <none>
4648
Parallelism: 1
4749
Completions: 1
4850
Start Time: Tue, 07 Jun 2016 10:56:16 +0200
49-
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495,job-name=pi
5051
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
51-
No volumes.
52+
Pod Template:
53+
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
54+
job-name=pi
55+
Containers:
56+
pi:
57+
Image: perl
58+
Port:
59+
Command:
60+
perl
61+
-Mbignum=bpi
62+
-wle
63+
print bpi(2000)
64+
Environment: <none>
65+
Mounts: <none>
66+
Volumes: <none>
5267
Events:
5368
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
5469
--------- -------- ----- ---- ------------- -------- ------ -------

0 commit comments

Comments
 (0)