diff --git a/OWNERS b/OWNERS
index e60b884265..f98d699709 100644
--- a/OWNERS
+++ b/OWNERS
@@ -18,5 +18,6 @@ approvers:
- ryanmcginnis
- steveperry-53
- tengqm
+- tfogo
- zacharysarah
- zparnold
diff --git a/assets/sass/_base.sass b/assets/sass/_base.sass
index f162ef5266..c0516925ee 100644
--- a/assets/sass/_base.sass
+++ b/assets/sass/_base.sass
@@ -1126,7 +1126,6 @@ $feature-box-div-margin-bottom: 40px
#video
width: 100%
position: relative
- background-image: url(/images/kub_video_banner_homepage.jpg)
background-position: center center
background-size: cover
@@ -1721,35 +1720,25 @@ $feature-box-div-margin-bottom: 40px
text-align: center
margin-bottom: 30px
+ img
+ padding-bottom: 1rem;
+
div
position: relative
display: inline-block
vertical-align: top
width: 100%
min-height: 230px
- padding: 125px 10px 15px
- margin-bottom: 30px
+ margin-bottom: 60px
+ padding-right: 1rem;
background-position: top center
- background-repeat: no-repeat
-
- div:nth-child(1)
- background-image: url(/images/community_logos/pearson_logo.png)
-
- div:nth-child(2)
- background-image: url(/images/community_logos/box_logo.png)
-
- div:nth-child(3)
- background-image: url(/images/community_logos/ebay_logo.png)
-
- div:nth-child(4)
- background-image: url(/images/community_logos/wikimedia_foundation_logo.png)
-
+
p
font-size: 20px
a
position: absolute
- bottom: 0
+ bottom: -30px;
left: 50%
transform: translateX(-50%)
color: $blue
diff --git a/assets/sass/_desktop.sass b/assets/sass/_desktop.sass
index 1377bd46e4..b40d91b571 100644
--- a/assets/sass/_desktop.sass
+++ b/assets/sass/_desktop.sass
@@ -138,7 +138,6 @@ $video-section-height: 550px
#video
height: $video-section-height
position: relative
- background-image: url(../images/kub_video_banner_homepage.jpg)
background-position: center center
background-size: cover
diff --git a/config.toml b/config.toml
index ee60a4fc69..0ed78aaf65 100644
--- a/config.toml
+++ b/config.toml
@@ -22,6 +22,9 @@ pygmentsStyle = "emacs"
# Enable Git variables like commit, lastmod
enableGitInfo = true
+# This is currently used for testing.
+disableLanguages = ["no"]
+
[blackfriday]
hrefTargetBlank = true
fractions = false
@@ -133,4 +136,12 @@ description = "Production-Grade Container Orchestration"
languageName = "Chinese"
weight = 2
contentDir = "content/cn"
+[languages.no]
+title = "Kubernetes"
+description = "Production-Grade Container Orchestration"
+languageName ="Norsk"
+weight = 3
+contentDir = "content/no"
+# A list of language codes to look for untranslated content, ordered from left to right.
+language_alternatives = ["en"]
diff --git a/static/images/blocks.png b/content/en/_common-resources/images/blocks.png
similarity index 100%
rename from static/images/blocks.png
rename to content/en/_common-resources/images/blocks.png
diff --git a/static/images/flower.png b/content/en/_common-resources/images/flower.png
similarity index 100%
rename from static/images/flower.png
rename to content/en/_common-resources/images/flower.png
diff --git a/static/images/kub_video_banner_homepage.jpg b/content/en/_common-resources/images/kub_video_banner_homepage.jpg
similarity index 100%
rename from static/images/kub_video_banner_homepage.jpg
rename to content/en/_common-resources/images/kub_video_banner_homepage.jpg
diff --git a/static/images/scalable.png b/content/en/_common-resources/images/scalable.png
similarity index 100%
rename from static/images/scalable.png
rename to content/en/_common-resources/images/scalable.png
diff --git a/static/images/suitcase.png b/content/en/_common-resources/images/suitcase.png
similarity index 100%
rename from static/images/suitcase.png
rename to content/en/_common-resources/images/suitcase.png
diff --git a/content/en/_common-resources/index.md b/content/en/_common-resources/index.md
new file mode 100644
index 0000000000..ca03031f1e
--- /dev/null
+++ b/content/en/_common-resources/index.md
@@ -0,0 +1,3 @@
+---
+headless: true
+---
diff --git a/content/en/_index.html b/content/en/_index.html
index 9920fae9d8..2cb16d2ccb 100644
--- a/content/en/_index.html
+++ b/content/en/_index.html
@@ -6,178 +6,57 @@ cid: home
{{< deprecationwarning >}}
-
-
-
-
-
-
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
-
It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds
- upon 15 years of experience of running production workloads at Google,
- combined with best-of-breed ideas and practices from the community.
-
-
-
-
-
-
Planet Scale
-
Designed on the same principles that allows Google to run billions of containers a week, Kubernetes can scale without increasing your ops team.
-
-
-
-
-
-
Never Outgrow
-
Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications consistently and easily no matter how complex your need is.
-
-
-
-
-
-
Run Anywhere
-
Kubernetes is open source giving you the freedom to take advantage of on-premises, hybrid, or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you.
-
-
-
+{{< blocks/section id="oceanNodes" >}}
+{{% blocks/feature image="flower" %}}
+### [Kubernetes]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}) is an open-source system for automating deployment, scaling, and management of containerized applications.
-
-
-
The Challenges of Migrating 150+ Microservices to Kubernetes
+It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon [15 years of experience of running production workloads at Google](http://queue.acm.org/detail.cfm?id=2898444), combined with best-of-breed ideas and practices from the community.
+{{% /blocks/feature %}}
+
+{{% blocks/feature image="scalable" %}}
+#### Planet Scale
+
+Designed on the same principles that allows Google to run billions of containers a week, Kubernetes can scale without increasing your ops team.
+
+{{% /blocks/feature %}}
+
+{{% blocks/feature image="blocks" %}}
+#### Never Outgrow
+
+Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications consistently and easily no matter how complex your need is.
+
+{{% /blocks/feature %}}
+
+{{% blocks/feature image="suitcase" %}}
+#### Run Anywhere
+
+Kubernetes is open source giving you the freedom to take advantage of on-premises, hybrid, or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you.
+
+{{% /blocks/feature %}}
+
+{{< /blocks/section >}}
+
+{{< blocks/section id="video" background-image="kub_video_banner_homepage" >}}
+
+
The Challenges of Migrating 150+ Microservices to Kubernetes
By Sarah Wells, Technical Director for Operations and Reliability, Financial Times
Automatically places containers based on their resource requirements and other constraints, while not
- sacrificing availability. Mix critical and best-effort workloads in order to drive up utilization and save even more resources.
Restarts containers that fail, replaces and reschedules containers when nodes die, kills containers
- that don't respond to your user-defined health check, and doesn't advertise them to clients until they are ready to serve.
No need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives
- containers their own IP addresses and a single DNS name for a set of containers, and can load-balance across them.
Kubernetes progressively rolls out changes to your application or its configuration, while monitoring
- application health to ensure it doesn't kill all your instances at the same time. If something goes
- wrong, Kubernetes will rollback the change for you. Take advantage of a growing ecosystem of deployment solutions.
Automatically mount the storage system of your choice, whether from local storage, a public cloud provider
- such as GCP or AWS, or a network storage system such as NFS, iSCSI,
- Gluster, Ceph, Cinder, or Flocker.
Read the latest news for Kubernetes and the containers space in general, and get technical how-tos hot off the presses.
---
diff --git a/content/en/case-studies/_index.html b/content/en/case-studies/_index.html
index 2047697592..28bdab44af 100644
--- a/content/en/case-studies/_index.html
+++ b/content/en/case-studies/_index.html
@@ -1,5 +1,6 @@
---
title: Case Studies
+linkTitle: Case Studies
bigheader: Kubernetes User Case Studies
abstract: A collection of users running Kubernetes in production.
layout: basic
diff --git a/content/en/docs/community/_index.md b/content/en/docs/community/_index.md
index f3bad1fbe4..c5031a0a48 100644
--- a/content/en/docs/community/_index.md
+++ b/content/en/docs/community/_index.md
@@ -1,6 +1,12 @@
---
title: "Community"
weight: 80
+menu:
+ main:
+ title: "Community"
+ weight: 30
+ post: >
+
If you need help, you can connect with other Kubernetes users and the Kubernetes authors, attend community events, and watch video presentations from around the web.
---
This section of the Kubernetes documentation surfaces key topics imported from the [kubernetes/community](https://github.com/kubernetes/community) repo. It is the starting point for becoming a contributor -- improving docs, improving code, giving talks etc.
diff --git a/content/en/docs/concepts/configuration/manage-compute-resources-container.md b/content/en/docs/concepts/configuration/manage-compute-resources-container.md
index fb091fa208..6478279d19 100644
--- a/content/en/docs/concepts/configuration/manage-compute-resources-container.md
+++ b/content/en/docs/concepts/configuration/manage-compute-resources-container.md
@@ -2,6 +2,10 @@
title: Managing Compute Resources for Containers
content_template: templates/concept
weight: 20
+feature:
+ title: Automatic binpacking
+ description: >
+ Automatically places containers based on their resource requirements and other constraints, while not sacrificing availability. Mix critical and best-effort workloads in order to drive up utilization and save even more resources.
---
{{% capture overview %}}
diff --git a/content/en/docs/concepts/configuration/secret.md b/content/en/docs/concepts/configuration/secret.md
index a97cf2c560..13a319fc71 100644
--- a/content/en/docs/concepts/configuration/secret.md
+++ b/content/en/docs/concepts/configuration/secret.md
@@ -3,6 +3,10 @@ reviewers:
- mikedanese
title: Secrets
content_template: templates/concept
+feature:
+ title: Secret and configuration management
+ description: >
+ Deploy and update secrets and application configuration without rebuilding your image and without exposing secrets in your stack configuration.
weight: 50
---
diff --git a/content/en/docs/concepts/services-networking/service.md b/content/en/docs/concepts/services-networking/service.md
index 67201bf120..a361ccbac9 100644
--- a/content/en/docs/concepts/services-networking/service.md
+++ b/content/en/docs/concepts/services-networking/service.md
@@ -2,6 +2,11 @@
reviewers:
- bprashanth
title: Services
+feature:
+ title: Service discovery and load balancing
+ description: >
+ No need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives containers their own IP addresses and a single DNS name for a set of containers, and can load-balance across them.
+
content_template: templates/concept
weight: 10
---
diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md
index 347004dd86..29885aa05d 100644
--- a/content/en/docs/concepts/storage/persistent-volumes.md
+++ b/content/en/docs/concepts/storage/persistent-volumes.md
@@ -5,6 +5,11 @@ reviewers:
- thockin
- msau42
title: Persistent Volumes
+feature:
+ title: Storage orchestration
+ description: >
+ Automatically mount the storage system of your choice, whether from local storage, a public cloud provider such as GCP or AWS, or a network storage system such as NFS, iSCSI, Gluster, Ceph, Cinder, or Flocker.
+
content_template: templates/concept
weight: 20
---
diff --git a/content/en/docs/concepts/workloads/controllers/deployment.md b/content/en/docs/concepts/workloads/controllers/deployment.md
index b670d45e06..eefe7895ef 100644
--- a/content/en/docs/concepts/workloads/controllers/deployment.md
+++ b/content/en/docs/concepts/workloads/controllers/deployment.md
@@ -3,6 +3,11 @@ reviewers:
- bgrant0607
- janetkuo
title: Deployments
+feature:
+ title: Automated rollouts and rollbacks
+ description: >
+ Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn't kill all your instances at the same time. If something goes wrong, Kubernetes will rollback the change for you. Take advantage of a growing ecosystem of deployment solutions.
+
content_template: templates/concept
weight: 30
---
diff --git a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md
index 39324b6b28..9e6ec9f9c9 100644
--- a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md
+++ b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md
@@ -4,6 +4,10 @@ reviewers:
- soltysh
title: Jobs - Run to Completion
content_template: templates/concept
+feature:
+ title: Batch execution
+ description: >
+ In addition to services, Kubernetes can manage your batch and CI workloads, replacing containers that fail, if desired.
weight: 70
---
diff --git a/content/en/docs/concepts/workloads/controllers/replicationcontroller.md b/content/en/docs/concepts/workloads/controllers/replicationcontroller.md
index 5789b6c3a6..d6dcb84249 100644
--- a/content/en/docs/concepts/workloads/controllers/replicationcontroller.md
+++ b/content/en/docs/concepts/workloads/controllers/replicationcontroller.md
@@ -3,6 +3,12 @@ reviewers:
- bprashanth
- janetkuo
title: ReplicationController
+feature:
+ title: Self-healing
+ anchor: How a ReplicationController Works
+ description: >
+ Restarts containers that fail, replaces and reschedules containers when nodes die, kills containers that don't respond to your user-defined health check, and doesn't advertise them to clients until they are ready to serve.
+
content_template: templates/concept
weight: 20
---
diff --git a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md
index deb29511ca..2b559bd6a2 100644
--- a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md
+++ b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md
@@ -181,7 +181,7 @@ status:
lastTransitionTime: 2018-01-01T00:00:00Z
- type: "www.example.com/feature-1" # an extra PodCondition
status: "False"
- lastProbeTIme: null
+ lastProbeTime: null
lastTransitionTime: 2018-01-01T00:00:00Z
containerStatuses:
- containerID: docker://abcd...
diff --git a/content/en/docs/contribute/style/style-guide.md b/content/en/docs/contribute/style/style-guide.md
index cd228c0748..f577ca2a6c 100644
--- a/content/en/docs/contribute/style/style-guide.md
+++ b/content/en/docs/contribute/style/style-guide.md
@@ -263,6 +263,29 @@ The output is:
**Warning:** Beware.
{{< /warning >}}
+### Katacoda Embedded Live Environment
+
+This button lets users run Minikube in their browser using the [Katacoda Terminal](https://www.katacoda.com/embed/panel).
+It lowers the barier of entry by allowing users to use Minikube with one click instead of going through the complete
+Minikube and Kubectl installation process locally.
+
+The Embedded Live Environment is configured to run `minikube start` and lets users complete tutorials in the same window
+as the documentation.
+
+{{< caution >}}
+**Caution:** The session is limited to 15 minutes.
+{{< /caution >}}
+
+For example:
+
+```
+{{* kat-button */>}}
+```
+
+The output is:
+
+{{< kat-button >}}
+
## Common Shortcode Issues
### Ordered Lists
diff --git a/content/en/docs/home/_index.md b/content/en/docs/home/_index.md
index 504b687f2c..2a7477baf4 100644
--- a/content/en/docs/home/_index.md
+++ b/content/en/docs/home/_index.md
@@ -8,7 +8,13 @@ cid: userJourneys
css: /css/style_user_journeys.css
js: /js/user-journeys/home.js, https://use.fontawesome.com/4bcc658a89.js
display_browse_numbers: true
-linkTitle: "Home"
+linkTitle: Documentation
main_menu: true
weight: 10
+menu:
+ main:
+ title: "Documentation"
+ weight: 20
+ post: >
+
Learn how to use Kubernetes with the use of walkthroughs, samples, and reference documentation. You can even help contribute to the docs!
---
diff --git a/content/en/docs/setup/independent/setup-ha-etcd-with-kubeadm.md b/content/en/docs/setup/independent/setup-ha-etcd-with-kubeadm.md
index 576e497da7..59bd3fd74e 100644
--- a/content/en/docs/setup/independent/setup-ha-etcd-with-kubeadm.md
+++ b/content/en/docs/setup/independent/setup-ha-etcd-with-kubeadm.md
@@ -9,7 +9,7 @@ weight: 60
{{% capture overview %}}
Kubeadm defaults to running a single member etcd cluster in a static pod managed
-by the kubelet on the control plane node. This is not a high availability setup
+by the kubelet on the control plane node. This is not a high availability setup
as the etcd cluster contains only one member and cannot sustain any members
becoming unavailable. This task walks through the process of creating a high
availability etcd cluster of three members that can be used as an external etcd
@@ -107,8 +107,8 @@ this example.
If you already have a CA then the only action that is copying the CA's `crt` and
`key` file to `/etc/kubernetes/pki/etcd/ca.crt` and
- `/etc/kubernetes/pki/etcd/ca.key`. After those files have been copied, please
- proceed to "Create certificates for each member".
+ `/etc/kubernetes/pki/etcd/ca.key`. After those files have been copied,
+ proceed to the next step, "Create certificates for each member".
If you do not already have a CA then run this command on `$HOST0` (where you
generated the configuration files for kubeadm).
diff --git a/content/en/docs/setup/multiple-zones.md b/content/en/docs/setup/multiple-zones.md
index d334d30de5..d98604c25e 100644
--- a/content/en/docs/setup/multiple-zones.md
+++ b/content/en/docs/setup/multiple-zones.md
@@ -210,8 +210,8 @@ Now lets validate that Kubernetes automatically labeled the zone & region the PV
```shell
> kubectl get pv --show-labels
-NAME CAPACITY ACCESSMODES STATUS CLAIM REASON AGE LABELS
-pv-gce-mj4gm 5Gi RWO Bound default/claim1 46s failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a
+NAME CAPACITY ACCESSMODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE LABELS
+pv-gce-mj4gm 5Gi RWO Retain Bound default/claim1 manual 46s failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a
```
So now we will create a pod that uses the persistent volume claim.
diff --git a/content/en/docs/setup/scratch.md b/content/en/docs/setup/scratch.md
index 579642ff28..dce95c7b2f 100644
--- a/content/en/docs/setup/scratch.md
+++ b/content/en/docs/setup/scratch.md
@@ -198,7 +198,7 @@ We recommend that you use the etcd version which is provided in the Kubernetes b
were tested extensively with this version of etcd and not with any other version.
The recommended version number can also be found as the value of `TAG` in `kubernetes/cluster/images/etcd/Makefile`.
-For the miniumum recommended version of etcd, please refer to
+For the miniumum recommended version of etcd, refer to
[Configuring and Updating etcd](/docs/tasks/administer-cluster/configure-upgrade-etcd/)
The remainder of the document assumes that the image identifiers have been chosen and stored in corresponding env vars. Examples (replace with latest tags and appropriate registry):
@@ -419,7 +419,7 @@ Note that on some Linux platforms, you may need to manually install the
`conntrack` package which is a dependency of kube-proxy, or else kube-proxy
cannot be started successfully.
-For more details on debugging kube-proxy problems, please refer to
+For more details about debugging kube-proxy problems, refer to
[Debug Services](/docs/tasks/debug-application-cluster/debug-service/)
### Networking
@@ -864,7 +864,7 @@ pinging or SSH-ing from one node to another.
### Getting Help
-If you run into trouble, please see the section on [troubleshooting](/docs/setup/turnkey/gce/#troubleshooting), post to the
+If you run into trouble, see the section on [troubleshooting](/docs/setup/turnkey/gce/#troubleshooting), post to the
[kubernetes-users group](https://groups.google.com/forum/#!forum/kubernetes-users), or come ask questions on [Slack](/docs/troubleshooting#slack).
## Support Level
diff --git a/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md b/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md
index 94dcf020e9..2781881e1b 100644
--- a/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md
+++ b/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md
@@ -31,7 +31,7 @@ Configuring the [aggregation layer](/docs/concepts/api-extension/apiserver-aggre
Enable the aggregation layer via the following kube-apiserver flags. They may have already been taken care of by your provider.
--requestheader-client-ca-file=
- --requestheader-allowed-names=aggregator
+ --requestheader-allowed-names=front-proxy-client
--requestheader-extra-headers-prefix=X-Remote-Extra-
--requestheader-group-headers=X-Remote-Group
--requestheader-username-headers=X-Remote-User
diff --git a/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md b/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md
index f99149c608..8101cff681 100644
--- a/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md
+++ b/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md
@@ -390,7 +390,9 @@ TARGET_VERSION=2.2.1
STORAGE_MEDIA_TYPE=application/json
```
-** Note: this upgrade procedure is for getting from 2.x to 3.x. Version `3.0.17` is not recommended for running in production (see [prerequisites](#prereqisites) for minimum recommended etcd versions.
+{{< note >}}
+**Note:** This procedure upgrades from 2.x to 3.x. Version `3.0.17` is not recommended for running in production (see [prerequisites](#prerequisites) for minimum recommended etcd versions).
+{{< /note >}}
## Notes for etcd Version 2.2.1
diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md
index 4a5b88edf0..078d2c537f 100644
--- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md
+++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md
@@ -4,6 +4,11 @@ reviewers:
- jszczepkowski
- directxman12
title: Horizontal Pod Autoscaler
+feature:
+ title: Horizontal scaling
+ description: >
+ Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage.
+
content_template: templates/concept
weight: 90
---
diff --git a/content/en/docs/test.md b/content/en/docs/test.md
index 6492426441..3866154477 100644
--- a/content/en/docs/test.md
+++ b/content/en/docs/test.md
@@ -346,3 +346,7 @@ To add shortcodes to includes.
{{< note >}}
{{< include "federation-current-state.md" >}}
{{< /note >}}
+
+## Katacoda Embedded Live Environment
+
+{{< kat-button >}}
diff --git a/content/en/docs/tutorials/hello-minikube.md b/content/en/docs/tutorials/hello-minikube.md
index 745df7e09e..70ce0584e8 100644
--- a/content/en/docs/tutorials/hello-minikube.md
+++ b/content/en/docs/tutorials/hello-minikube.md
@@ -2,6 +2,12 @@
title: Hello Minikube
content_template: templates/tutorial
weight: 5
+menu:
+ main:
+ title: "Get Started"
+ weight: 10
+ post: >
+
Ready to get your hands dirty? Build a simple Kubernetes cluster that runs "Hello World" for Node.js.