--------------------------------------------------------------------------------
/docs/user-guide/jobs/work-queue-2/worker.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | import time
4 | import rediswq
5 |
6 | host="redis"
7 | # Uncomment next two lines if you do not have Kube-DNS working.
8 | # import os
9 | # host = os.getenv("REDIS_SERVICE_HOST")
10 |
11 | q = rediswq.RedisWQ(name="job2", host="redis")
12 | print("Worker with sessionID: " + q.sessionID())
13 | print("Initial queue state: empty=" + str(q.empty()))
14 | while not q.empty():
15 | item = q.lease(lease_secs=10, block=True, timeout=2)
16 | if item is not None:
17 | itemstr = item.decode("utf=8")
18 | print("Working on " + itemstr)
19 | time.sleep(10) # Put your actual work here instead of sleep.
20 | q.complete(item)
21 | else:
22 | print("Waiting for work")
23 | print("Queue empty, exiting")
24 |
--------------------------------------------------------------------------------
/docs/tutorials/kubernetes-basics/public/images/like.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/user-guide/update-demo/images/kitten/Dockerfile:
--------------------------------------------------------------------------------
1 | # Copyright 2016 The Kubernetes Authors All rights reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | FROM kubernetes/test-webserver
16 | COPY html/kitten.jpg kitten.jpg
17 | COPY html/data.json data.json
18 |
--------------------------------------------------------------------------------
/docs/user-guide/environment-guide/backend-rc.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | apiVersion: v1
3 | kind: ReplicationController
4 | metadata:
5 | name: backend-rc
6 | labels:
7 | type: backend-type
8 | spec:
9 | replicas: 3
10 | template:
11 | metadata:
12 | labels:
13 | type: backend-type
14 | spec:
15 | containers:
16 | - name: backend-container
17 | image: gcr.io/google-samples/env-backend:1.1
18 | imagePullPolicy: Always
19 | ports:
20 | - containerPort: 5000
21 | protocol: TCP
22 | env:
23 | - name: POD_NAME
24 | valueFrom:
25 | fieldRef:
26 | fieldPath: metadata.name
27 | - name: POD_NAMESPACE
28 | valueFrom:
29 | fieldRef:
30 | fieldPath: metadata.namespace
31 |
--------------------------------------------------------------------------------
/docs/user-guide/horizontal-pod-autoscaling/image/Dockerfile:
--------------------------------------------------------------------------------
1 | # Copyright 2016 The Kubernetes Authors All rights reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | FROM php:5-apache
16 |
17 | ADD index.php /var/www/html/index.php
18 |
19 | RUN chmod a+rx index.php
20 |
--------------------------------------------------------------------------------
/docs/user-guide/update-demo/images/nautilus/Dockerfile:
--------------------------------------------------------------------------------
1 | # Copyright 2016 The Kubernetes Authors All rights reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | FROM kubernetes/test-webserver
16 | COPY html/nautilus.jpg nautilus.jpg
17 | COPY html/data.json data.json
18 |
--------------------------------------------------------------------------------
/_includes/tree.html:
--------------------------------------------------------------------------------
1 | {% for item in include.tree %}
2 | {% if item.section %}
3 |
20 | To interact with the Terminal, please use the desktop/tablet version
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/_data/overrides.yml:
--------------------------------------------------------------------------------
1 | overrides:
2 | - path: docs/api-reference
3 | - path: docs/user-guide/kubectl
4 | - path: docs/admin/federation-apiserver.md
5 | - path: docs/admin/federation-controller-manager.md
6 | - path: docs/admin/kube-apiserver.md
7 | - path: docs/admin/kube-controller-manager.md
8 | - path: docs/admin/kube-proxy.md
9 | - path: docs/admin/kube-scheduler.md
10 | - path: docs/admin/kubelet.md
11 | - changedpath: docs/api-reference/extensions/v1beta1/definitions.html _includes/v1.5/extensions-v1beta1-definitions.html
12 | - changedpath: docs/api-reference/extensions/v1beta1/operations.html _includes/v1.5/extensions-v1beta1-operations.html
13 | - changedpath: docs/api-reference/v1/definitions.html _includes/v1.5/v1-definitions.html
14 | - changedpath: docs/api-reference/v1/operations.html _includes/v1.5/v1-operations.html
15 | - copypath: k8s/federation/docs/api-reference/ docs/federation/
16 | - copypath: k8s/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml docs/getting-started-guides/fluentd-gcp.yaml
17 |
18 |
--------------------------------------------------------------------------------
/docs/user-guide/liveness/image/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright 2016 The Kubernetes Authors All rights reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | all: push
16 |
17 | server: server.go
18 | CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-w' ./server.go
19 |
20 | container: server
21 | docker build -t gcr.io/google_containers/liveness .
22 |
23 | push: container
24 | gcloud docker push gcr.io/google_containers/liveness
25 |
26 | clean:
27 | rm -f server
28 |
--------------------------------------------------------------------------------
/docs/user-guide/downward-api/dapi-container-resources.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: dapi-test-pod
5 | spec:
6 | containers:
7 | - name: test-container
8 | image: gcr.io/google_containers/busybox:1.24
9 | command: [ "/bin/sh", "-c", "env" ]
10 | resources:
11 | requests:
12 | memory: "32Mi"
13 | cpu: "125m"
14 | limits:
15 | memory: "64Mi"
16 | cpu: "250m"
17 | env:
18 | - name: MY_CPU_REQUEST
19 | valueFrom:
20 | resourceFieldRef:
21 | resource: requests.cpu
22 | - name: MY_CPU_LIMIT
23 | valueFrom:
24 | resourceFieldRef:
25 | resource: limits.cpu
26 | - name: MY_MEM_REQUEST
27 | valueFrom:
28 | resourceFieldRef:
29 | resource: requests.memory
30 | - name: MY_MEM_LIMIT
31 | valueFrom:
32 | resourceFieldRef:
33 | resource: limits.memory
34 | restartPolicy: Never
35 |
--------------------------------------------------------------------------------
/docs/user-guide/logging-demo/README.md:
--------------------------------------------------------------------------------
1 | This directory contains two [pod](https://kubernetes.io/docs/user-guide/pods) specifications which can be used as synthetic
2 | logging sources. The pod specification in [synthetic_0_25lps.yaml](synthetic_0_25lps.yaml)
3 | describes a pod that just emits a log message once every 4 seconds. The pod specification in
4 | [synthetic_10lps.yaml](synthetic_10lps.yaml)
5 | describes a pod that just emits 10 log lines per second.
6 |
7 | See [logging document](https://kubernetes.io/docs/user-guide/logging/) for more details about logging. To observe the ingested log lines when using Google Cloud Logging please see the getting
8 | started instructions
9 | at [Cluster Level Logging to Google Cloud Logging](https://kubernetes.io/docs/getting-started-guides/logging).
10 | To observe the ingested log lines when using Elasticsearch and Kibana please see the getting
11 | started instructions
12 | at [Cluster Level Logging with Elasticsearch and Kibana](https://kubernetes.io/docs/getting-started-guides/logging-elasticsearch).
13 |
--------------------------------------------------------------------------------
/_includes/templates/task.md:
--------------------------------------------------------------------------------
1 | {% if overview %}
2 |
3 | {{ overview }}
4 |
5 | {% else %}
6 |
7 | {% include templates/_errorthrower.md missing_block='overview' purpose='states, in one or two sentences, the purpose of this document' %}
8 |
9 | {% endif %}
10 |
11 |
12 | * TOC
13 | {: toc}
14 |
15 |
16 | {% if prerequisites %}
17 |
18 | ### Before you begin
19 |
20 | {{ prerequisites }}
21 |
22 | {% else %}
23 |
24 | {% include templates/_errorthrower.md missing_block='prerequisites' heading='Before you begin' purpose='lists action prerequisites and knowledge prerequisites' %}
25 |
26 | {% endif %}
27 |
28 |
29 | {% if steps %}
30 |
31 | {{ steps }}
32 |
33 | {% else %}
34 |
35 | {% include templates/_errorthrower.md missing_block='steps' purpose='lists a sequence of numbered steps that accomplish the task.' %}
36 |
37 | {% endif %}
38 |
39 |
40 | {% if discussion %}
41 |
42 | {{ discussion }}
43 |
44 | {% else %}
45 |
46 | {% endif %}
47 |
48 |
49 | {% if whatsnext %}
50 |
51 | ### What's next
52 |
53 | {{ whatsnext }}
54 |
55 | {% endif %}
56 |
--------------------------------------------------------------------------------
/docs/tutorials/stateful-application/web.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | apiVersion: v1
3 | kind: Service
4 | metadata:
5 | name: nginx
6 | labels:
7 | app: nginx
8 | spec:
9 | ports:
10 | - port: 80
11 | name: web
12 | clusterIP: None
13 | selector:
14 | app: nginx
15 | ---
16 | apiVersion: apps/v1beta1
17 | kind: StatefulSet
18 | metadata:
19 | name: web
20 | spec:
21 | serviceName: "nginx"
22 | replicas: 2
23 | template:
24 | metadata:
25 | labels:
26 | app: nginx
27 | spec:
28 | containers:
29 | - name: nginx
30 | image: gcr.io/google_containers/nginx-slim:0.8
31 | ports:
32 | - containerPort: 80
33 | name: web
34 | volumeMounts:
35 | - name: www
36 | mountPath: /usr/share/nginx/html
37 | volumeClaimTemplates:
38 | - metadata:
39 | name: www
40 | annotations:
41 | volume.alpha.kubernetes.io/storage-class: anything
42 | spec:
43 | accessModes: [ "ReadWriteOnce" ]
44 | resources:
45 | requests:
46 | storage: 1Gi
47 |
48 |
--------------------------------------------------------------------------------
/docs/user-guide/logging-demo/synthetic_0_25lps.yaml:
--------------------------------------------------------------------------------
1 | # This pod specification creates an instance of a synthetic logger. The logger
2 | # is simply a program that writes out the hostname of the pod, a count which increments
3 | # by one on each iteration (to help notice missing log enteries) and the date using
4 | # a long format (RFC-3339) to nano-second precision. This program logs at a frequency
5 | # of 0.25 lines per second. The shellscript program is given directly to bash as -c argument
6 | # and could have been written out as:
7 | # i="0"
8 | # while true
9 | # do
10 | # echo -n "`hostname`: $i: "
11 | # date --rfc-3339 ns
12 | # sleep 4
13 | # i=$[$i+1]
14 | # done
15 | apiVersion: v1
16 | kind: Pod
17 | metadata:
18 | labels:
19 | name: synth-logging-source
20 | name: synthetic-logger-0.25lps-pod
21 | spec:
22 | containers:
23 | - name: synth-lgr
24 | image: ubuntu:14.04
25 | args:
26 | - bash
27 | - -c
28 | - 'i="0"; while true; do echo -n "`hostname`: $i: "; date --rfc-3339 ns; sleep
29 | 4; i=$[$i+1]; done'
30 |
31 |
--------------------------------------------------------------------------------
/docs/user-guide/logging-demo/synthetic_10lps.yaml:
--------------------------------------------------------------------------------
1 | # This pod specification creates an instance of a synthetic logger. The logger
2 | # is simply a program that writes out the hostname of the pod, a count which increments
3 | # by one on each iteration (to help notice missing log enteries) and the date using
4 | # a long format (RFC-3339) to nano-second precision. This program logs at a frequency
5 | # of 0.25 lines per second. The shellscript program is given directly to bash as -c argument
6 | # and could have been written out as:
7 | # i="0"
8 | # while true
9 | # do
10 | # echo -n "`hostname`: $i: "
11 | # date --rfc-3339 ns
12 | # sleep 4
13 | # i=$[$i+1]
14 | # done
15 | apiVersion: v1
16 | kind: Pod
17 | metadata:
18 | labels:
19 | name: synth-logging-source
20 | name: synthetic-logger-10lps-pod
21 | spec:
22 | containers:
23 | - name: synth-lgr
24 | image: ubuntu:14.04
25 | args:
26 | - bash
27 | - -c
28 | - 'i="0"; while true; do echo -n "`hostname`: $i: "; date --rfc-3339 ns; sleep
29 | 0.1; i=$[$i+1]; done'
30 |
31 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | name: Kubernetes
2 | title: Kubernetes
3 | description: Production-Grade Container Orchestration
4 | markdown: kramdown
5 | kramdown:
6 | input: GFM
7 | html_to_native: true
8 | hard_wrap: false
9 | syntax_highlighter: rouge
10 | incremental: true
11 |
12 | safe: false
13 | lsi: false
14 |
15 | defaults:
16 | -
17 | scope:
18 | path: ""
19 | values:
20 | version: "v1.5.1"
21 | githubbranch: "master"
22 | docsbranch: "master"
23 | -
24 | scope:
25 | path: "docs"
26 | values:
27 | layout: docwithnav
28 | showedit: true
29 |
30 | permalink: pretty
31 |
32 | gems:
33 | - jekyll-redirect-from
34 | - jekyll-feed
35 | - jekyll-sitemap
36 | - jekyll-seo-tag
37 | - jekyll-include-cache
38 |
39 | # SEO
40 | logo: /images/favicon.png
41 | twitter:
42 | username: kubernetesio
43 |
44 | # Tables of contents, stored in the _data folder, that control the sidebar nav
45 | tocs:
46 | - docs-home
47 | - guides
48 | - tutorials
49 | - tasks
50 | - concepts
51 | - reference
52 | - tools
53 | - samples
54 | - support
55 |
--------------------------------------------------------------------------------
/_sass/_reset.sass:
--------------------------------------------------------------------------------
1 | html, body
2 | margin: 0
3 | padding: 0
4 |
5 |
6 | input, button
7 | outline: none
8 |
9 | button
10 | cursor: pointer
11 |
12 | ul, li
13 | list-style: none
14 |
15 | ul
16 | margin: 0
17 | padding: 0
18 |
19 | a
20 | text-decoration: none
21 |
22 | // CONVENIENCE
23 | .clear
24 | display: block
25 | clear: both
26 |
27 | .light-text
28 | color: white
29 |
30 | .right
31 | float: right
32 |
33 | .left
34 | float: left
35 |
36 | .center
37 | text-align: center
38 |
39 |
40 | //mixins
41 | @mixin fullScreen
42 | position: fixed
43 | top: 0
44 | left: 0
45 | width: 100vw
46 | height: 100vh
47 |
48 |
49 | @mixin pureCenter($left: 50%, $top: 50%)
50 | position: absolute
51 | top: $top
52 | left: $left
53 | transform: translate(-50%, -50%)
54 |
55 |
56 | @mixin maintain-aspect-ratio ($width-factor: 16, $height-factor: 9, $target-width: 80vw, $target-height: 80vh)
57 | width: $target-width
58 | height: $target-width * ($height-factor / $width-factor)
59 | max-width: $target-height * ($width-factor / $height-factor)
60 | max-height: $target-height
61 |
62 |
--------------------------------------------------------------------------------
/docs/user-guide/multi-pod.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | apiVersion: v1
3 | kind: Pod
4 | metadata:
5 | labels:
6 | name: redis
7 | redis-sentinel: "true"
8 | role: master
9 | name: redis-master
10 | spec:
11 | containers:
12 | - name: master
13 | image: kubernetes/redis:v1
14 | env:
15 | - name: MASTER
16 | value: "true"
17 | ports:
18 | - containerPort: 6379
19 | resources:
20 | limits:
21 | cpu: "0.5"
22 | volumeMounts:
23 | - mountPath: /redis-master-data
24 | name: data
25 | - name: sentinel
26 | image: kubernetes/redis:v1
27 | env:
28 | - name: SENTINEL
29 | value: "true"
30 | ports:
31 | - containerPort: 26379
32 | volumes:
33 | - name: data
34 | emptyDir: {}
35 | ---
36 | apiVersion: v1
37 | kind: Pod
38 | metadata:
39 | labels:
40 | name: redis-proxy
41 | role: proxy
42 | name: redis-proxy
43 | spec:
44 | containers:
45 | - name: proxy
46 | image: kubernetes/redis-proxy:v1
47 | ports:
48 | - containerPort: 6379
49 | name: api
50 |
--------------------------------------------------------------------------------
/docs/api-reference/README.md:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 | # API Reference
4 |
5 | Use the following reference docs to understand the Kubernetes REST API for various API group versions:
6 |
7 | * v1: [operations](/docs/api-reference/v1/operations.html), [model definitions](/docs/api-reference/v1/definitions.html)
8 | * extensions/v1beta1: [operations](/docs/api-reference/extensions/v1beta1/operations.html), [model definitions](/docs/api-reference/extensions/v1beta1/definitions.html)
9 | * batch/v1: [operations](/docs/api-reference/batch/v1/operations.html), [model definitions](/docs/api-reference/batch/v1/definitions.html)
10 | * autoscaling/v1: [operations](/docs/api-reference/autoscaling/v1/operations.html), [model definitions](/docs/api-reference/autoscaling/v1/definitions.html)
11 | * apps/v1beta1: [operations](/docs/api-reference/apps/v1beta1/operations.html), [model definitions](/docs/api-reference/apps/v1beta1/definitions.html)
12 |
13 |
14 |
15 | []()
16 |
17 |
--------------------------------------------------------------------------------
/docs/user-guide/update-demo/build-images.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Copyright 2014 The Kubernetes Authors All rights reserved.
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | # This script will build and push the images necessary for the demo.
18 |
19 | set -o errexit
20 | set -o nounset
21 | set -o pipefail
22 |
23 | DOCKER_HUB_USER=${DOCKER_HUB_USER:-kubernetes}
24 |
25 | set -x
26 |
27 | docker build -t "${DOCKER_HUB_USER}/update-demo:kitten" images/kitten
28 | docker build -t "${DOCKER_HUB_USER}/update-demo:nautilus" images/nautilus
29 |
30 | docker push "${DOCKER_HUB_USER}/update-demo"
31 |
--------------------------------------------------------------------------------
/docs/tasks/administer-cluster/dns-horizontal-autoscaler.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: extensions/v1beta1
2 | kind: Deployment
3 | metadata:
4 | name: kube-dns-autoscaler
5 | namespace: kube-system
6 | labels:
7 | k8s-app: kube-dns-autoscaler
8 | spec:
9 | template:
10 | metadata:
11 | labels:
12 | k8s-app: kube-dns-autoscaler
13 | spec:
14 | containers:
15 | - name: autoscaler
16 | image: gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.0.0
17 | resources:
18 | requests:
19 | cpu: "20m"
20 | memory: "10Mi"
21 | command:
22 | - /cluster-proportional-autoscaler
23 | - --namespace=kube-system
24 | - --configmap=kube-dns-autoscaler
25 | - --mode=linear
26 | - --target=
27 | # When cluster is using large nodes(with more cores), "coresPerReplica" should dominate.
28 | # If using small nodes, "nodesPerReplica" should dominate.
29 | - --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"min":1}}
30 | - --logtostderr=true
31 | - --v=2
32 |
--------------------------------------------------------------------------------
/docs/admin/multiple-schedulers/my-scheduler.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: extensions/v1beta1
2 | kind: Deployment
3 | metadata:
4 | labels:
5 | component: scheduler
6 | tier: control-plane
7 | name: my-scheduler
8 | namespace: kube-system
9 | spec:
10 | replicas: 1
11 | template:
12 | metadata:
13 | labels:
14 | component: scheduler
15 | tier: control-plane
16 | version: second
17 | spec:
18 | containers:
19 | - command: [/usr/local/bin/kube-scheduler, --address=0.0.0.0,
20 | --scheduler-name=my-scheduler]
21 | image: gcr.io/my-gcp-project/my-kube-scheduler:1.0
22 | livenessProbe:
23 | httpGet:
24 | path: /healthz
25 | port: 10251
26 | initialDelaySeconds: 15
27 | name: kube-second-scheduler
28 | readinessProbe:
29 | httpGet:
30 | path: /healthz
31 | port: 10251
32 | resources:
33 | requests:
34 | cpu: '0.1'
35 | securityContext:
36 | privileged: false
37 | volumeMounts: []
38 | hostNetwork: false
39 | hostPID: false
40 | volumes: []
--------------------------------------------------------------------------------
/docs/admin/ovs-networking.md:
--------------------------------------------------------------------------------
1 | ---
2 | assignees:
3 | - lavalamp
4 | - thockin
5 | title: Kubernetes OpenVSwitch GRE/VxLAN networking
6 | ---
7 |
8 | This document describes how OpenVSwitch is used to setup networking between pods across nodes.
9 | The tunnel type could be GRE or VxLAN. VxLAN is preferable when large scale isolation needs to be performed within the network.
10 |
11 | 
12 |
13 | The vagrant setup in Kubernetes does the following:
14 |
15 | The docker bridge is replaced with a brctl generated linux bridge (kbr0) with a 256 address space subnet. Basically, a node gets 10.244.x.0/24 subnet and docker is configured to use that bridge instead of the default docker0 bridge.
16 |
17 | Also, an OVS bridge is created(obr0) and added as a port to the kbr0 bridge. All OVS bridges across all nodes are linked with GRE tunnels. So, each node has an outgoing GRE tunnel to all other nodes. It does not need to be a complete mesh really, just meshier the better. STP (spanning tree) mode is enabled in the bridges to prevent loops.
18 |
19 | Routing rules enable any 10.244.0.0/16 target to become reachable via the OVS bridge connected with the tunnels.
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/tutorials/stateful-application/mysql-deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: mysql
5 | spec:
6 | ports:
7 | - port: 3306
8 | selector:
9 | app: mysql
10 | clusterIP: None
11 | ---
12 | apiVersion: v1
13 | kind: PersistentVolumeClaim
14 | metadata:
15 | name: mysql-pv-claim
16 | spec:
17 | accessModes:
18 | - ReadWriteOnce
19 | resources:
20 | requests:
21 | storage: 20Gi
22 | ---
23 | apiVersion: extensions/v1beta1
24 | kind: Deployment
25 | metadata:
26 | name: mysql
27 | spec:
28 | strategy:
29 | type: Recreate
30 | template:
31 | metadata:
32 | labels:
33 | app: mysql
34 | spec:
35 | containers:
36 | - image: mysql:5.6
37 | name: mysql
38 | env:
39 | # Use secret in real usage
40 | - name: MYSQL_ROOT_PASSWORD
41 | value: password
42 | ports:
43 | - containerPort: 3306
44 | name: mysql
45 | volumeMounts:
46 | - name: mysql-persistent-storage
47 | mountPath: /var/lib/mysql
48 | volumes:
49 | - name: mysql-persistent-storage
50 | persistentVolumeClaim:
51 | claimName: mysql-pv-claim
52 |
--------------------------------------------------------------------------------
/docs/user-guide/update-demo/local/LICENSE.angular:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2010-2014 Google, Inc. http://angularjs.org
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/partners/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | title: Partners
3 | ---
4 |
5 |
6 |
7 | {% include head-header.html %}
8 |
9 |
10 |
Kubernetes Partners
11 |
Growing the Kubernetes ecosystem.
12 |
13 |
14 |
15 |
16 |
17 |
We are working with a broad group of partners who contribute to the Kubernetes core codebase, making it stronger and richer. These partners create a vibrant Kubernetes ecosystem supporting a spectrum of complementing platforms, from open source solutions to market-leading technologies. Partners can get their services and offerings added to this page by completing and submitting the partner request form.