diff --git a/_includes/footer.html b/_includes/footer.html
index f98dde06b5..15dacb72e0 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -4,6 +4,7 @@
Get Started
Documentation
Blog
+ Partners
Community
Case Studies
diff --git a/_includes/partner-script.js b/_includes/partner-script.js
new file mode 100644
index 0000000000..79cbf6d513
--- /dev/null
+++ b/_includes/partner-script.js
@@ -0,0 +1,208 @@
+;(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: '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: 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.'
+ }
+ ]
+
+ 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)
+ })
+})();
\ No newline at end of file
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/_sass/_desktop.sass b/_sass/_desktop.sass
index 033e998ba0..9c02fbcf6c 100644
--- a/_sass/_desktop.sass
+++ b/_sass/_desktop.sass
@@ -164,10 +164,11 @@ $video-section-height: 550px
margin-bottom: 20px
a
- width: 20%
+ width: 16.65%
float: left
font-size: 24px
font-weight: 300
+ white-space: nowrap
.social
padding: 0 30px
diff --git a/_sass/_tablet.sass b/_sass/_tablet.sass
index ce9bcd941d..15d5b496f4 100644
--- a/_sass/_tablet.sass
+++ b/_sass/_tablet.sass
@@ -222,8 +222,7 @@ $feature-box-div-width: 45%
text-align: center
a
- font-size: 22px
- width: auto
+ width: 30%
padding: 0 20px
.social
diff --git a/community.html b/community.html
index f47bff33e7..9ef63c1b66 100644
--- a/community.html
+++ b/community.html
@@ -10,8 +10,6 @@ title: Community
Community
-
-
@@ -29,20 +27,6 @@ title: Community
from AWS and Openstack to Big Data and Scalability, there’s a place for you to contribute and instructions
for forming a new SIG if your special interest isn’t covered (yet).
-
Events
@@ -50,34 +34,6 @@ title: Community
frameborder="0" scrolling="no">
-
-
Partners
-
We are working with a broad group of partners who contribute to the kubernetes core codebase, making it stronger and richer, as well as help in growing the kubernetes ecosystem supporting
- a sprectrum of compelmenting platforms, from open source solutions to market-leading technologies.
-
-
![](/images/community_logos/core_os_logo.png)
-
![](/images/community_logos/deis_logo.png)
-
![](/images/community_logos/sysdig_cloud_logo.png)
-
![](/images/community_logos/puppet_logo.png)
-
![](/images/community_logos/citrix_logo.png)
-
![](/images/community_logos/wercker_logo.png)
-
![](/images/community_logos/rancher_logo.png)
-
![](/images/community_logos/red_hat_logo.png)
-
![](/images/community_logos/intel_logo.png)
-
![](/images/community_logos/elastickube_logo.png)
-
![](/images/community_logos/platform9_logo.png)
-
![](/images/community_logos/appformix_logo.png)
-
![](/images/community_logos/mesosphere_logo.png)
-
![](/images/community_logos/datadog_logo.png)
-
![](/images/community_logos/apprenda_logo.png)
-
![](/images/community_logos/ibm_logo.png)
-
![](/images/community_logos/crunchy_data_logo.png)
-
![](/images/community_logos/mirantis_logo.png)
-
![](/images/community_logos/aqua_logo.png)
-
![](/images/community_logos/ubuntu_cannonical_logo.png)
-
![](/images/community_logos/nuage_network_logo.png)
-
-
diff --git a/docs/user-guide/networkpolicies.md b/docs/user-guide/networkpolicies.md
index a45534ad96..d1fe76d7ba 100644
--- a/docs/user-guide/networkpolicies.md
+++ b/docs/user-guide/networkpolicies.md
@@ -44,9 +44,11 @@ metadata:
To configure the annotation via `kubectl`:
-```shell{% raw %}
+```shell
+{% raw %}
kubectl annotate ns "net.beta.kubernetes.io/network-policy={\"ingress\": {\"isolation\": \"DefaultDeny\"}}"
-{% endraw %}```
+{% endraw %}
+```
See the [NetworkPolicy getting started guide](/docs/getting-started-guides/network-policy/walkthrough) for an example.
diff --git a/docs/user-guide/production-pods.md b/docs/user-guide/production-pods.md
index c345ada200..440ac4619a 100644
--- a/docs/user-guide/production-pods.md
+++ b/docs/user-guide/production-pods.md
@@ -226,7 +226,8 @@ Here is a toy example:
The message is recorded along with the other state of the last (i.e., most recent) termination:
-```shell{% raw %}
+```shell
+{% raw %}
$ kubectl create -f ./pod-w-message.yaml
pod "pod-w-message" created
$ sleep 70
@@ -234,7 +235,8 @@ $ kubectl get pods/pod-w-message -o go-template="{{range .status.containerStatus
Sleep expired
$ kubectl get pods/pod-w-message -o go-template="{{range .status.containerStatuses}}{{.lastState.terminated.exitCode}}{{end}}"
0
-{% endraw %}```
+{% endraw %}
+```
## What's next?
diff --git a/docs/user-guide/walkthrough/index.md b/docs/user-guide/walkthrough/index.md
index 4cc23cb71e..4c095e1c05 100644
--- a/docs/user-guide/walkthrough/index.md
+++ b/docs/user-guide/walkthrough/index.md
@@ -59,12 +59,14 @@ On most providers, the pod IPs are not externally accessible. The easiest way to
Provided the pod IP is accessible, you should be able to access its http endpoint with wget on port 80:
-```shell{% raw %}
+```shell
+{% raw %}
$ kubectl run busybox --image=busybox --restart=Never --tty -i --generator=run-pod/v1 --env "POD_IP=$(kubectl get pod nginx -o go-template='{{.status.podIP}}')"
u@busybox$ wget -qO- http://$POD_IP # Run in the busybox container
u@busybox$ exit # Exit the busybox container
$ kubectl delete pod busybox # Clean up the pod we created with "kubectl run"
-{% endraw %}```
+{% endraw %}
+```
Delete the pod by name:
diff --git a/docs/user-guide/walkthrough/k8s201.md b/docs/user-guide/walkthrough/k8s201.md
index 2f1f62ad1f..782bfbe418 100644
--- a/docs/user-guide/walkthrough/k8s201.md
+++ b/docs/user-guide/walkthrough/k8s201.md
@@ -136,7 +136,8 @@ On most providers, the service IPs are not externally accessible. The easiest wa
Provided the service IP is accessible, you should be able to access its http endpoint with wget on the exposed port:
-```shell{% raw %}
+```shell
+{% raw %}
$ export SERVICE_IP=$(kubectl get service nginx-service -o go-template='{{.spec.clusterIP}}')
$ export SERVICE_PORT=$(kubectl get service nginx-service -o go-template='{{(index .spec.ports 0).port}}')
$ echo "$SERVICE_IP:$SERVICE_PORT"
@@ -144,7 +145,8 @@ $ kubectl run busybox --generator=run-pod/v1 --image=busybox --restart=Never --
u@busybox$ wget -qO- http://$SERVICE_IP:$SERVICE_PORT # Run in the busybox container
u@busybox$ exit # Exit the busybox container
$ kubectl delete pod busybox # Clean up the pod we created with "kubectl run"
-{% endraw %}```
+{% endraw %}
+```
To delete the service by name:
diff --git a/images/community_logos/distelli_logo.png b/images/community_logos/distelli_logo.png
new file mode 100644
index 0000000000..d31e1d4226
Binary files /dev/null and b/images/community_logos/distelli_logo.png differ
diff --git a/images/square-logos/appformix.png b/images/square-logos/appformix.png
new file mode 100644
index 0000000000..47ad7e9722
Binary files /dev/null and b/images/square-logos/appformix.png differ
diff --git a/images/square-logos/apprenda.png b/images/square-logos/apprenda.png
new file mode 100644
index 0000000000..f2e52068b1
Binary files /dev/null and b/images/square-logos/apprenda.png differ
diff --git a/images/square-logos/aqua.png b/images/square-logos/aqua.png
new file mode 100644
index 0000000000..ae480d582a
Binary files /dev/null and b/images/square-logos/aqua.png differ
diff --git a/images/square-logos/canonical.png b/images/square-logos/canonical.png
new file mode 100644
index 0000000000..680b80cde8
Binary files /dev/null and b/images/square-logos/canonical.png differ
diff --git a/images/square-logos/citrix.png b/images/square-logos/citrix.png
new file mode 100644
index 0000000000..76a5682209
Binary files /dev/null and b/images/square-logos/citrix.png differ
diff --git a/images/square-logos/container_solutions.png b/images/square-logos/container_solutions.png
new file mode 100644
index 0000000000..a386cf9ab2
Binary files /dev/null and b/images/square-logos/container_solutions.png differ
diff --git a/images/square-logos/core_os.png b/images/square-logos/core_os.png
new file mode 100644
index 0000000000..395c14ac2d
Binary files /dev/null and b/images/square-logos/core_os.png differ
diff --git a/images/square-logos/crunchy.png b/images/square-logos/crunchy.png
new file mode 100644
index 0000000000..5f1e631c00
Binary files /dev/null and b/images/square-logos/crunchy.png differ
diff --git a/images/square-logos/datadog.png b/images/square-logos/datadog.png
new file mode 100644
index 0000000000..82d6d11aaf
Binary files /dev/null and b/images/square-logos/datadog.png differ
diff --git a/images/square-logos/deis.png b/images/square-logos/deis.png
new file mode 100644
index 0000000000..278b8a44e0
Binary files /dev/null and b/images/square-logos/deis.png differ
diff --git a/images/square-logos/distelli.png b/images/square-logos/distelli.png
new file mode 100644
index 0000000000..d31e1d4226
Binary files /dev/null and b/images/square-logos/distelli.png differ
diff --git a/images/square-logos/elastickube.png b/images/square-logos/elastickube.png
new file mode 100644
index 0000000000..957c55a8e6
Binary files /dev/null and b/images/square-logos/elastickube.png differ
diff --git a/images/square-logos/intel.png b/images/square-logos/intel.png
new file mode 100644
index 0000000000..0100964f55
Binary files /dev/null and b/images/square-logos/intel.png differ
diff --git a/images/square-logos/livewyer.png b/images/square-logos/livewyer.png
new file mode 100644
index 0000000000..e49b2d55c9
Binary files /dev/null and b/images/square-logos/livewyer.png differ
diff --git a/images/square-logos/nuagenetworks.png b/images/square-logos/nuagenetworks.png
new file mode 100644
index 0000000000..c84a1414a7
Binary files /dev/null and b/images/square-logos/nuagenetworks.png differ
diff --git a/images/square-logos/platform9.png b/images/square-logos/platform9.png
new file mode 100644
index 0000000000..8a3bc5a634
Binary files /dev/null and b/images/square-logos/platform9.png differ
diff --git a/images/square-logos/puppet.png b/images/square-logos/puppet.png
new file mode 100644
index 0000000000..b07f038315
Binary files /dev/null and b/images/square-logos/puppet.png differ
diff --git a/images/square-logos/rancher.png b/images/square-logos/rancher.png
new file mode 100644
index 0000000000..585c0aadf6
Binary files /dev/null and b/images/square-logos/rancher.png differ
diff --git a/images/square-logos/reactive_ops.png b/images/square-logos/reactive_ops.png
new file mode 100644
index 0000000000..5d699e0194
Binary files /dev/null and b/images/square-logos/reactive_ops.png differ
diff --git a/images/square-logos/redhat.png b/images/square-logos/redhat.png
new file mode 100644
index 0000000000..776563d7c4
Binary files /dev/null and b/images/square-logos/redhat.png differ
diff --git a/images/square-logos/samsung_sds.png b/images/square-logos/samsung_sds.png
new file mode 100644
index 0000000000..2afbc1b5a0
Binary files /dev/null and b/images/square-logos/samsung_sds.png differ
diff --git a/images/square-logos/sys_dig.png b/images/square-logos/sys_dig.png
new file mode 100644
index 0000000000..c49f58a670
Binary files /dev/null and b/images/square-logos/sys_dig.png differ
diff --git a/images/square-logos/wercker.png b/images/square-logos/wercker.png
new file mode 100644
index 0000000000..d8434fed90
Binary files /dev/null and b/images/square-logos/wercker.png differ
diff --git a/partners/index.html b/partners/index.html
index c47f0998a7..40dd076b30 100644
--- a/partners/index.html
+++ b/partners/index.html
@@ -14,47 +14,24 @@ title: Partners
- We are working with a broad group of partners who contribute to the Kubernetes core codebase, making it stronger and richer, creating a vibrant Kubernetes ecosystem supporting a spectrum of complementing platforms, from open source solutions to market-leading technologies.
+ We are working with a broad group of partners who contribute to the Kubernetes core codebase, making it stronger and richer. There partners create a vibrant Kubernetes ecosystem supporting a spectrum of complementing platforms, from open source solutions to market-leading technologies.
ISV Partners
-
-
![](/images/community_logos/core_os_logo.png)
-
![](/images/community_logos/deis_logo.png)
-
![](/images/community_logos/sysdig_cloud_logo.png)
-
![](/images/community_logos/puppet_logo.png)
-
![](/images/community_logos/citrix_logo.png)
-
![](/images/community_logos/wercker_logo.png)
-
![](/images/community_logos/rancher_logo.png)
-
![](/images/community_logos/red_hat_logo.png)
-
![](/images/community_logos/intel_logo.png)
-
![](/images/community_logos/elastickube_logo.png)
-
![](/images/community_logos/platform9_logo.png)
-
![](/images/community_logos/appformix_logo.png)
-
![](/images/community_logos/mesosphere_logo.png)
-
![](/images/community_logos/datadog_logo.png)
-
![](/images/community_logos/apprenda_logo.png)
-
![](/images/community_logos/ibm_logo.png)
-
![](/images/community_logos/crunchy_data_logo.png)
-
![](/images/community_logos/mirantis_logo.png)
-
![](/images/community_logos/aqua_logo.png)
-
![](/images/community_logos/ubuntu_cannonical_logo.png)
-
+
+ Services Partners
+
-
{% include footer.html %}
{% include case-study-styles.html %}
+
+
+
+