diff --git a/README.md b/README.md
index ad6c85778b..2801eaead0 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,13 @@ Welcome! We are very pleased you want to contribute to the documentation and/or
You can click the "Fork" button in the upper-right area of the screen to create a copy of our site on your GitHub account called a "fork." Make any changes you want in your fork, and when you are ready to send those changes to us, go to the index page for your fork and click "New Pull Request" to let us know about it.
+For more information about contributing to the Kubernetes documentation, see:
+
+* [Creating a Documentation Pull Request](http://kubernetes.io/docs/contribute/create-pull-request/)
+* [Writing a New Topic](http://kubernetes.io/docs/contribute/write-new-topic/)
+* [Staging Your Documentation Changes](http://kubernetes.io/docs/contribute/stage-documentation-changes/)
+* [Using Page Templates](http://kubernetes.io/docs/contribute/page-templates/)
+
## Automatic Staging for Pull Requests
When you create a pull request (either against master or the upcoming release), your changes are staged in a custom subdomain on Netlify so that you can see your changes in rendered form before the PR is merged. You can use this to verify that everything is correct before the PR gets merged. To view your changes:
@@ -13,17 +20,17 @@ When you create a pull request (either against master or the upcoming release),
- Look for "deploy/netlify"; you'll see "Deploy Preview Ready!" if staging was successful
- Click "Details" to bring up the staged site and navigate to your changes
-## Release Branch Staging
+## Branch structure and staging
-The Kubernetes site maintains staged versions at a subdomain provided by Netlify. Every PR for the Kubernetes site, either against the master branch or the upcoming release branch, is staged automatically.
+The current version of the website is served out of the `master` branch. To make changes to the live docs, such as bug fixes, broken links, typos, etc, **target your pull request to the master branch**
-The staging site for the next upcoming Kubernetes release is here: [http://kubernetes-io-vnext-staging.netlify.com/](http://kubernetes-io-vnext-staging.netlify.com/)
+The `release-1.x` branch stores changes for **upcoming releases of Kubernetes**. For example, the `release-1.5` branch has changes for the 1.5 release. These changes target branches (and *not* master) to avoid publishing documentation updates prior to the release for which they're relevant. If you have a change for an upcoming release of Kubernetes, **target your pull request to the appropriate release branch**.
-The staging site reflects the current state of what's been merged in the release branch, or in other words, what the docs will look like for the next upcoming release. It's automatically updated as new PRs get merged.
+The staging site for the next upcoming Kubernetes release is here: [http://kubernetes-io-vnext-staging.netlify.com/](http://kubernetes-io-vnext-staging.netlify.com/). The staging site reflects the current state of what's been merged in the release branch, or in other words, what the docs will look like for the next upcoming release. It's automatically updated as new PRs get merged.
## Staging the site locally (using Docker)
-Don't like installing stuff? Download and run a local staging server with a single `docker run` command.
+Don't like installing stuff? Download and run a local staging server with a single `docker run` command.
git clone https://github.com/kubernetes/kubernetes.github.io.git
cd kubernetes.github.io
@@ -47,7 +54,7 @@ Install Ruby 2.2 or higher. If you're on Linux, run these commands:
apt-get install ruby2.2
apt-get install ruby2.2-dev
-* If you're on a Mac, follow [these instructions](https://gorails.com/setup/osx/).
+* If you're on a Mac, follow [these instructions](https://gorails.com/setup/osx/).
* If you're on a Windows machine you can use the [Ruby Installer](http://rubyinstaller.org/downloads/). During the installation make sure to check the option for *Add Ruby executables to your PATH*.
The remainder of the steps should work the same across operating systems.
@@ -140,16 +147,6 @@ That, of course, will send users to:
(Or whatever Kubernetes release that docs branch is associated with.)
-## Branch structure
-
-The current version of the website is served out of the `master` branch. To make changes to the live docs, such as bug fixes, broken links, typos, etc, **target your pull request to the master branch**.
-
-The `release-1.x` branches store changes for **upcoming releases of Kubernetes**. For example, the `release-1.5` branch has changes for the upcoming 1.5 release. These changes target branches (and *not* master) to avoid publishing documentation updates prior to the release for which they're relevant. If you have a change for an upcoming release of Kubernetes, **target your pull request to the appropriate release branch**.
-
-Changes in the "docsv2" branch (where we are testing a revamp of the docs) are automatically staged here:
-http://k8sdocs.github.io/docs/tutorials/
-
-
## Config yaml guidelines
Guidelines for config yamls that are included in the site docs. These
@@ -177,14 +174,7 @@ example. If creating an image for a doc, follow the
section on "Docker images" from the Kubernetes repository.
## Partners
-Kubernetes partners refers to the companies who contribute to the Kubernetes core codebase and/or extend their platform to support Kubernetes. Partners can get their logos added to the partner section of the [community page](http://k8s.io/community) by following the below steps and meeting the below logo specifications. Partners will also need to have a URL that is specific to integrating with Kubernetes ready; this URL will be the destination when the logo is clicked.
-
-* The partner product logo should be a transparent png image centered in a 215x125 px frame. (look at the existing logos for reference)
-* The logo must link to a URL that is specific to integrating with Kubernetes, hosted on the partner's site.
-* The logo should be named *product-name*_logo.png and placed in the `/images/community_logos` folder.
-* The image reference (including the link to the partner URL) should be added in `community.html` under `
...
`.
-* Please do not change the order of the existing partner images. Append your logo to the end of the list.
-* Once completed and tested the look and feel, submit the pull request.
+Kubernetes partners refers to the companies who contribute to the Kubernetes core codebase, extend their platform to support Kubernetes or provide managed services to users centered around the Kubernetes platform. Partners can get their services and offerings added to the [partner page](https://k8s.io/partners) by completing and submitting the [partner request form](https://goo.gl/qcSnZF). Once the information and assets are verified, the partner product/services will be listed in the partner page. This would typically take 7-10 days.
## Thank you!
diff --git a/_config.yml b/_config.yml
index 7ace374fca..5b7f442fd8 100644
--- a/_config.yml
+++ b/_config.yml
@@ -30,4 +30,3 @@ permalink: pretty
gems:
- jekyll-redirect-from
-
diff --git a/_data/concepts.yml b/_data/concepts.yml
index a69276201e..f9422daa98 100644
--- a/_data/concepts.yml
+++ b/_data/concepts.yml
@@ -1,4 +1,5 @@
bigheader: "Concepts"
+abstract: "Detailed explanations of Kubernetes system concepts and abstractions."
toc:
- title: Concepts
path: /docs/concepts/
diff --git a/_data/docs-home.yml b/_data/docs-home.yml
new file mode 100644
index 0000000000..1cb8c9b05a
--- /dev/null
+++ b/_data/docs-home.yml
@@ -0,0 +1,5 @@
+bigheader: "Kubernetes Documentation"
+abstract: "Documentation for using and learning about Kubernetes."
+toc:
+- title: Kubernetes Documentation
+ path: /docs/
diff --git a/_data/globals.yml b/_data/globals.yml
index 73978ea750..2994e8b519 100644
--- a/_data/globals.yml
+++ b/_data/globals.yml
@@ -1,4 +1,5 @@
tocs:
+- docs-home
- guides
- tutorials
- tasks
diff --git a/_data/guides.yml b/_data/guides.yml
index 40d47b08d6..f3ed275e9f 100644
--- a/_data/guides.yml
+++ b/_data/guides.yml
@@ -1,8 +1,8 @@
bigheader: "Guides"
-abstract: "How to get started, and achieve tasks, using Kubernetes"
+abstract: "How to get started, and accomplish tasks, using Kubernetes."
toc:
- title: Guides
- path: /docs/
+ path: /docs/user-guide/
- title: Getting Started
section:
@@ -10,8 +10,12 @@ toc:
path: /docs/whatisk8s/
- title: Installing Kubernetes on Linux with kubeadm
path: /docs/getting-started-guides/kubeadm/
+ - title: Installing Kubernetes on AWS with kops
+ path: /docs/getting-started-guides/kops/
- title: Hello World on Google Container Engine
path: /docs/hellonode/
+ - title: Installing kubectl
+ path: /docs/getting-started-guides/kubectl/
- title: Downloading or Building Kubernetes
path: /docs/getting-started-guides/binary_release/
- title: Online Training Course
@@ -68,6 +72,8 @@ toc:
path: /docs/getting-started-guides/network-policy/walkthrough/
- title: Using Calico for NetworkPolicy
path: /docs/getting-started-guides/network-policy/calico/
+ - title: Using Romana for NetworkPolicy
+ path: /docs/getting-started-guides/network-policy/romana/
- title: Batch Jobs
section:
diff --git a/_data/samples.yml b/_data/samples.yml
index 52ac8d572a..3a9f0bcf28 100644
--- a/_data/samples.yml
+++ b/_data/samples.yml
@@ -12,6 +12,8 @@ toc:
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/rbd/
- title: CephFS
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/cephfs/
+ - title: CockroachDB
+ path: https://github.com/kubernetes/kubernetes/tree/release-1.4/examples/cockroachdb/
- title: GlusterFS
path: https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/glusterfs/
- title: Hazelcast
diff --git a/_data/support.yml b/_data/support.yml
index d287f0ecaa..1b8e80699a 100644
--- a/_data/support.yml
+++ b/_data/support.yml
@@ -6,8 +6,16 @@ toc:
- title: Contributing to the Kubernetes Docs
section:
+ - title: Creating a Documentation Pull Request
+ path: /docs/contribute/create-pull-request/
+ - title: Writing a New Topic
+ path: /docs/contribute/write-new-topic/
+ - title: Staging Your Documentation Changes
+ path: /docs/contribute/stage-documentation-changes/
- title: Using Page Templates
path: /docs/contribute/page-templates/
+ - title: Documentation Style Guide
+ path: /docs/contribute/style-guide/
- title: Troubleshooting
section:
diff --git a/_data/tasks.yml b/_data/tasks.yml
index 86209a52aa..9898fae32f 100644
--- a/_data/tasks.yml
+++ b/_data/tasks.yml
@@ -1,11 +1,28 @@
bigheader: "Tasks"
+abstract: "Step-by-step instructions for performing operations with Kuberentes."
toc:
- title: Tasks
path: /docs/tasks/
+- title: Configuring Pods and Containers
+ section:
+ - title: Defining Environment Variables for a Container
+ path: /docs/tasks/configure-pod-container/define-environment-variable-container/
+ - title: Defining a Command and Arguments for a Container
+ path: /docs/tasks/configure-pod-container/define-command-argument-container/
+ - title: Assigning CPU and RAM Resources to a Container
+ path: /docs/tasks/configure-pod-container/assign-cpu-ram-container/
- title: Accessing Applications in a Cluster
section:
- title: Using Port Forwarding to Access Applications in a Cluster
path: /docs/tasks/access-application-cluster/port-forward-access-application-cluster/
+
+
+- title: Debugging Applications in a Cluster
+ section:
+ - title: Determining the Reason for Pod Failure
+ path: /docs/tasks/debug-application-cluster/determine-reason-pod-failure/
+
+
- title: Accessing the Kubernetes API
section:
- title: Using an HTTP Proxy to Access the Kubernetes API
diff --git a/_data/tools.yml b/_data/tools.yml
index 8993e091bb..cf2afca34c 100644
--- a/_data/tools.yml
+++ b/_data/tools.yml
@@ -1,4 +1,5 @@
bigheader: "Tools"
+abstract: "Tools to help you use and enhance Kubernetes."
toc:
- title: Tools
path: /docs/tools/
diff --git a/_data/tutorials.yml b/_data/tutorials.yml
index 01440b09d7..61555427d1 100644
--- a/_data/tutorials.yml
+++ b/_data/tutorials.yml
@@ -1,4 +1,5 @@
bigheader: "Tutorials"
+abstract: "Detailed walkthroughs of common Kubernetes operations and workflows."
toc:
- title: Tutorials
path: /docs/tutorials/
@@ -50,3 +51,7 @@ toc:
path: /docs/tutorials/stateless-application/expose-external-ip-address-service/
- title: Exposing an External IP Address to Access an Application in a Cluster
path: /docs/tutorials/stateless-application/expose-external-ip-address/
+- title: Stateful Applications
+ section:
+ - title: Running a Single-Instance Stateful Application
+ path: /docs/tutorials/stateful-application/run-stateful-application/
diff --git a/_includes/footer.html b/_includes/footer.html
index f98dde06b5..e7fa36d26a 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -4,6 +4,7 @@
Get Started
Documentation
Blog
+ Partners
Community
Case Studies
@@ -19,6 +20,8 @@
Events Calendar
© {{ 'now' | date: "%Y" }} Kubernetes
diff --git a/_includes/partner-script.js b/_includes/partner-script.js
new file mode 100644
index 0000000000..5763047efc
--- /dev/null
+++ b/_includes/partner-script.js
@@ -0,0 +1,299 @@
+;(function () {
+ var partners = [
+ {
+ type: 0,
+ name: 'CoreOS',
+ logo: 'core_os',
+ link: 'https://tectonic.com/',
+ blurb: 'Tectonic is the enterprise-ready Kubernetes product, by CoreOS. It adds key features to allow you to manage, update, and control clusters in production.'
+ },
+ {
+ type: 0,
+ name: 'Deis',
+ logo: 'deis',
+ link: 'https://deis.com',
+ blurb: 'Deis the creators of Helm, Workflow, and Steward, helps developers and operators build, deploy, manage and scale their applications on top of Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'Sysdig Cloud',
+ logo: 'sys_dig',
+ link: 'https://sysdig.com/blog/monitoring-kubernetes-with-sysdig-cloud/',
+ blurb: 'Container native monitoring with deep support for Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'Puppet',
+ logo: 'puppet',
+ link: 'https://puppet.com/blog/managing-kubernetes-configuration-puppet',
+ blurb: 'The Puppet module for Kubernetes makes it easy to manage Pods, Replication Controllers, Services and more in Kubernetes, and to build domain-specific interfaces to one\'s Kubernetes configuration.'
+ },
+ {
+ type: 0,
+ name: 'Citrix',
+ logo: 'citrix',
+ link: 'http://wercker.com/workflows/partners/kubernetes/',
+ blurb: 'Netscaler CPX gives app developers all the features they need to load balance their microservices and containerized apps with Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'Cockroach Labs',
+ logo: 'cockroach_labs',
+ link: 'https://www.cockroachlabs.com/blog/running-cockroachdb-on-kubernetes/',
+ blurb: 'CockroachDB is a distributed SQL database whose built-in replication and survivability model pair with Kubernetes to truly make data easy.'
+ },
+ {
+ type: 0,
+ name: 'Skippbox',
+ logo: 'skippbox',
+ link: 'http://www.skippbox.com/tag/products/',
+ blurb: 'Creator of Cabin the first mobile application for Kubernetes, and kompose. Skippbox’s solutions distill all the power of k8s in simple easy to use interfaces.'
+ },
+ {
+ type: 0,
+ name: 'Weave Works',
+ logo: 'weave_works',
+ link: ' https://weave.works/kubernetes',
+ blurb: 'Weaveworks enables Developers and Dev/Ops teams to easily connect, deploy, secure, manage, and troubleshoot microservices in Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'Wercker',
+ logo: 'wercker',
+ link: 'http://wercker.com/workflows/partners/kubernetes/',
+ blurb: 'Wercker automates your build, test and deploy pipelines for launching containers and triggering rolling updates on your Kubernetes cluster. '
+ },
+ {
+ type: 0,
+ name: 'Rancher',
+ logo: 'rancher',
+ link: 'http://rancher.com/kubernetes/',
+ blurb: 'Rancher is an open-source, production-ready container management platform that makes it easy to deploy and leverage Kubernetes in the enterprise.'
+ },
+ {
+ type: 0,
+ name: 'Red Hat',
+ logo: 'redhat',
+ link: 'https://www.openshift.com/',
+ blurb: 'Leverage an enterprise Kubernetes platform to orchestrate complex, multi-container apps.'
+ },
+ {
+ type: 0,
+ name: 'Intel',
+ logo: 'intel',
+ link: 'https://tectonic.com/press/intel-coreos-collaborate-on-openstack-with-kubernetes.html',
+ blurb: 'Powering the GIFEE (Google’s Infrastructure for Everyone Else), to run OpenStack deployments on Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'ElasticKube',
+ logo: 'elastickube',
+ link: 'https://www.ctl.io/elastickube-kubernetes/',
+ blurb: 'Self-service container management for Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'Platform9',
+ logo: 'platform9',
+ link: 'https://platform9.com/products/kubernetes/',
+ blurb: 'Platform9 is the open source-as-a-service company that takes all of the goodness of Kubernetes and delivers it as a managed service.'
+ },
+ {
+ type: 0,
+ name: 'Datadog',
+ logo: 'datadog',
+ link: 'http://docs.datadoghq.com/integrations/kubernetes/',
+ blurb: 'Full-stack observability for dynamic infrastructure & applications. Includes precision alerting, analytics and deep Kubernetes integrations. '
+ },
+ {
+ type: 0,
+ name: 'AppFormix',
+ logo: 'appformix',
+ link: 'http://www.appformix.com/solutions/appformix-for-kubernetes/',
+ blurb: 'AppFormix is a cloud infrastructure performance optimization service helping enterprise operators streamline their cloud operations on any Kubernetes cloud. '
+ },
+ {
+ type: 0,
+ name: 'Crunchy',
+ logo: 'crunchy',
+ link: 'http://info.crunchydata.com/blog/advanced-crunchy-containers-for-postgresql',
+ blurb: 'Crunchy PostgreSQL Container Suite is a set of containers for managing PostgreSQL with DBA microservices leveraging Kubernetes and Helm.'
+ },
+ {
+ type: 0,
+ name: 'Aqua',
+ logo: 'aqua',
+ link: 'http://blog.aquasec.com/security-best-practices-for-kubernetes-deployment',
+ blurb: 'Deep, automated security for your containers running on Kubernetes.'
+ },
+ {
+ type: 0,
+ name: 'Canonical',
+ logo: 'canonical',
+ link: 'https://jujucharms.com/canonical-kubernetes/',
+ blurb: 'The Canonical Distribution of Kubernetes enables you to operate Kubernetes clusters on demand on any major public cloud and private infrastructure.'
+ },
+ {
+ type: 0,
+ name: 'Distelli',
+ logo: 'distelli',
+ link: 'https://www.distelli.com/',
+ blurb: 'Pipelines from your source repositories to your Kubernetes Clusters on any cloud.'
+ },
+ {
+ type: 0,
+ name: 'Nuage networks',
+ logo: 'nuagenetworks',
+ link: 'https://github.com/nuagenetworks/nuage-kubernetes',
+ blurb: 'The Nuage SDN platform provides policy-based networking between Kubernetes Pods and non-Kubernetes environments with visibility and security monitoring.'
+ },
+ {
+ type: 0,
+ name: 'Sematext',
+ logo: 'sematext',
+ link: 'https://sematext.com/kubernetes/',
+ blurb: 'Logging & Monitoring: Automatic collection and processing of Metrics, Events and Logs for auto-discovered pods and Kubernetes nodes.'
+ },
+ {
+ type: 0,
+ name: 'Diamanti',
+ logo: 'diamanti',
+ link: 'https://www.diamanti.com/products/',
+ blurb: 'Diamanti deploys containers with guaranteed performance using Kubernetes in the first hyperconverged appliance purpose built for containerized applications.'
+ },
+ {
+ type: 0,
+ name: 'Apprenda',
+ logo: 'apprenda',
+ link: 'https://apprenda.com/kubernetes-support/',
+ blurb: 'Apprenda creates and supports modern, enterprise-ready application platforms for both cloud native and traditional application workloads.'
+ },
+ {
+ type: 0,
+ name: 'Aporeto',
+ logo: 'aporeto',
+ link: 'https://aporeto.com/trireme',
+ blurb: 'Aporeto makes cloud-native applications secure by default without impacting developer velocity and works at any scale, on any cloud.'
+ },
+ {
+ type: 0,
+ name: 'Giant Swarm',
+ logo: 'giant_swarm',
+ link: 'https://giantswarm.io',
+ blurb: 'Giant Swarm provides fully-managed Kubernetes Clusters in your location of choice, so you can focus on your product.'
+ },
+ {
+ type: 0,
+ name: 'Mirantis',
+ logo: 'mirantis',
+ link: 'https://content.mirantis.com/Containerizing-OpenStack-on-Kubernetes-Video-Landing-Page.html',
+ blurb: 'Mirantis builds and manages private clouds with open source software such as OpenStack, deployed as containers orchestrated by Kubernetes.'
+ },
+ {
+ type: 1,
+ name: 'Apprenda',
+ logo: 'apprenda',
+ link: 'https://apprenda.com/kubernetes-support/',
+ blurb: 'Apprenda offers flexible and wide range of support plans for pure play Kubernetes on your choice of infrastructure, cloud provider and operating system.'
+ },
+ {
+ type: 1,
+ name: 'Reactive Ops',
+ logo: 'reactive_ops',
+ link: 'https://www.reactiveops.com/kubernetes/',
+ blurb: 'ReactiveOps has written automation on best practices for infrastructure as code on GCP & AWS using Kubernetes, helping you build and maintain a world-class infrastructure at a fraction of the price of an internal hire.'
+ },
+ {
+ type: 1,
+ name: 'Livewyer',
+ logo: 'livewyer',
+ link: 'https://livewyer.io/services/kubernetes-experts/',
+ blurb: 'Kubernetes experts that on-board applications and empower IT teams to get the most out of containerised technology.'
+ },
+ {
+ type: 1,
+ name: 'Deis',
+ logo: 'deis',
+ link: 'https://deis.com/services/',
+ blurb: 'Deis provides professional services and 24x7 operational support for any Kubernetes cluster managed by our global cluster operations team.'
+ },
+ {
+ type: 1,
+ name: 'Samsung SDS',
+ logo: 'samsung_sds',
+ link: 'http://www.samsungsdsa.com/cloud-infrastructure_kubernetes',
+ blurb: 'Samsung SDS’s Cloud Native Computing Team offers expert consulting across the range of technical aspects involved in building services targeted at a Kubernetes cluster.'
+ },
+ {
+ type: 1,
+ name: 'Container Solutions',
+ logo: 'container_solutions',
+ link: 'http://container-solutions.com/resources/kubernetes/',
+ blurb: 'Container Solutions is a premium software consultancy that focuses on programmable infrastructure, offering our expertise in software development, strategy and operations to help you innovate at speed and scale.'
+ },
+ {
+ type: 1,
+ name: 'Jetstack',
+ logo: 'jetstack',
+ link: 'https://www.jetstack.io/',
+ blurb: 'Jetstack is an organisation focused entirely on Kubernetes. They will help you to get the most out of Kubernetes through expert professional services and open source tooling. Get in touch, and accelerate your project.'
+ },
+ {
+ type: 0,
+ name: 'Tigera',
+ logo: 'tigera',
+ link: 'http://docs.projectcalico.org/v1.5/getting-started/kubernetes/',
+ blurb: 'Tigera builds high performance, policy driven, cloud native networking solutions for Kubernetes.'
+ },
+ {
+ type: 1,
+ name: 'Skippbox',
+ logo: 'skippbox',
+ link: 'http://www.skippbox.com/services/',
+ blurb: 'Skippbox brings its Kubernetes expertise to help companies embrace Kubernetes on their way to digital transformation. Skippbox offers both professional services and expert training.'
+ },
+ {
+ type: 1,
+ name: 'Endocode',
+ logo: 'endocode',
+ link: 'https://endocode.com/kubernetes/',
+ blurb: 'Endocode practices and teaches the open source way. Kernel to cluster - Dev to Ops. We offer Kubernetes trainings, services and support.'
+ }
+ ]
+
+ var isvContainer = document.getElementById('isvContainer')
+ var servContainer = document.getElementById('servContainer')
+
+ var sorted = partners.sort(function (a, b) {
+ if (a.name > b.name) return 1
+ if (a.name < b.name) return -1
+ return 0
+ })
+
+ sorted.forEach(function (obj) {
+ var box = document.createElement('div')
+ box.className = 'partner-box'
+
+ var img = document.createElement('img')
+ img.src = '/images/square-logos/' + obj.logo + '.png'
+
+ var div = document.createElement('div')
+
+ var p = document.createElement('p')
+ p.textContent = obj.blurb
+
+ var link = document.createElement('a')
+ link.href = obj.link
+ link.target = '_blank'
+ link.textContent = 'Learn more'
+
+ div.appendChild(p)
+ div.appendChild(link)
+
+ box.appendChild(img)
+ box.appendChild(div)
+
+ var container = obj.type ? servContainer : isvContainer
+ container.appendChild(box)
+ })
+})();
diff --git a/_includes/partner-style.css b/_includes/partner-style.css
new file mode 100644
index 0000000000..a8cc125992
--- /dev/null
+++ b/_includes/partner-style.css
@@ -0,0 +1,94 @@
+h5 {
+ font-size: 18px;
+ line-height: 1.5em;
+ margin-bottom: 2em;
+}
+
+#usersGrid a {
+ display: inline-block;
+ background-color: #f9f9f9;
+}
+
+#isvContainer, #servContainer {
+ position: relative;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+}
+
+#isvContainer {
+ margin-bottom: 80px;
+}
+
+.partner-box {
+ position: relative;
+ width: 47%;
+ max-width: 48%;
+ min-width: 48%;
+ margin-bottom: 20px;
+ padding: 20px;
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+}
+
+.partner-box img {
+ background-color: #f9f9f9;
+}
+
+.partner-box > div {
+ margin-left: 30px;
+}
+
+.partner-box a {
+ color: #3576E3;
+}
+
+@media screen and (max-width: 1024px) {
+ .partner-box {
+ flex-direction: column;
+ justify-content: flex-start;
+ }
+
+ .partner-box > div {
+ margin: 20px 0 0;
+ }
+}
+
+@media screen and (max-width: 568px) {
+ #isvContainer, #servContainer {
+ justify-content: center;
+ }
+
+ .partner-box {
+ flex-direction: column;
+ justify-content: flex-start;
+ width: 100%;
+ max-width: 100%;
+ min-width: 100%;
+ }
+
+ .partner-box > div {
+ margin: 20px 0 0;
+ }
+}
+
+@media screen and (max-width: 568px) {
+ #isvContainer, #servContainer {
+ justify-content: center;
+ }
+
+ .partner-box {
+ flex-direction: column;
+ justify-content: flex-start;
+ width: 100%;
+ max-width: 100%;
+ min-width: 100%;
+ }
+
+ .partner-box > div {
+ margin: 20px 0 0;
+ }
+}
diff --git a/_includes/task-tutorial-prereqs.md b/_includes/task-tutorial-prereqs.md
new file mode 100644
index 0000000000..a9cf90d265
--- /dev/null
+++ b/_includes/task-tutorial-prereqs.md
@@ -0,0 +1,4 @@
+You need to have a Kubernetes cluster, and the kubectl command-line tool must
+be configured to communicate with your cluster. If you do not already have a
+cluster, you can create one by using
+[Minikube](/docs/getting-started-guides/minikube).
diff --git a/_includes/v1.4/extensions-v1beta1-definitions.html b/_includes/v1.4/extensions-v1beta1-definitions.html
index 59be34cd40..62b899b9fd 100755
--- a/_includes/v1.4/extensions-v1beta1-definitions.html
+++ b/_includes/v1.4/extensions-v1beta1-definitions.html
@@ -69,12 +69,6 @@
v1beta1.NetworkPolicyList
-
-v1beta1.StorageClass
-
-
-v1beta1.StorageClassList
-
@@ -1213,71 +1207,6 @@ Examples:
-
-
-
v1beta1.StorageClass
-
-
StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.
-
-
-
StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.
-
-
-
v1.ExecAction
@@ -1859,61 +1788,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.
-
-
-
v1beta1.StorageClassList
-
-
StorageClassList is a collection of storage classes.
-
-
-
v1.FlockerVolumeSource
@@ -6328,7 +6202,7 @@ Both these may change in the future. Incoming requests are matched against the h