From 4634a4b7034deaf3e08f1e3be623a5874a5a6ca1 Mon Sep 17 00:00:00 2001 From: ankurshukla Date: Fri, 23 Sep 2016 12:50:42 -0700 Subject: [PATCH 01/17] added Nuage Network to partner section Signed-off-by: YuPengZTE --- docs/user-guide/jobs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user-guide/jobs.md b/docs/user-guide/jobs.md index 59e09e7bcd..a6baa6223f 100644 --- a/docs/user-guide/jobs.md +++ b/docs/user-guide/jobs.md @@ -238,11 +238,11 @@ considering one set of work items that the user wants to manage together — There are several different patterns for parallel computation, each with strengths and weaknesses. The tradeoffs are: -- One Job object for each work item, vs a single Job object for all work items. The latter is +- One Job object for each work item, vs. a single Job object for all work items. The latter is better for large numbers of work items. The former creates some overhead for the user and for the system to manage large numbers of Job objects. Also, with the latter, the resource usage of the job (number of concurrently running pods) can be easily adjusted using the `kubectl scale` command. -- Number of pods created equals number of work items, vs each pod can process multiple work items. +- Number of pods created equals number of work items, vs. each pod can process multiple work items. The former typically requires less modification to existing code and containers. The latter is better for large numbers of work items, for similar reasons to the previous bullet. - Several approaches use a work queue. This requires running a queue service, From 5e92903656e9ff6ec79de2b99e7846257905dd39 Mon Sep 17 00:00:00 2001 From: Tarun Chinmai Date: Tue, 27 Sep 2016 16:47:29 +0530 Subject: [PATCH 02/17] fixed wrong command there's no such command as kubectl display. changed to kubectl describe. --- .../run-stateless-application-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/stateless-application/run-stateless-application-deployment.md b/docs/tutorials/stateless-application/run-stateless-application-deployment.md index 4ab2fe50f2..70aeb925c2 100644 --- a/docs/tutorials/stateless-application/run-stateless-application-deployment.md +++ b/docs/tutorials/stateless-application/run-stateless-application-deployment.md @@ -75,7 +75,7 @@ a Deployment that runs the nginx:1.7.9 Docker image: 1. Display information about a pod: - kubectl display pod + kubectl describe pod where `` is the name of one of your pods. From 2a092c6395361fe3ec3aae1b1ac4caf2400aaeb1 Mon Sep 17 00:00:00 2001 From: Tarun Chinmai Date: Tue, 27 Sep 2016 16:48:39 +0530 Subject: [PATCH 03/17] Removed line 19. was junk --- docs/tutorials/stateless-application/deployment.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/tutorials/stateless-application/deployment.yaml b/docs/tutorials/stateless-application/deployment.yaml index a3dfd2f975..aaa6f65a83 100644 --- a/docs/tutorials/stateless-application/deployment.yaml +++ b/docs/tutorials/stateless-application/deployment.yaml @@ -16,4 +16,3 @@ spec: image: nginx:1.7.9 ports: - containerPort: 80 -Contact GitHub API Training Shop Blog About From 05e79bcec5b387235d31d1d7179b5c42d260229f Mon Sep 17 00:00:00 2001 From: Walter Dolce Date: Tue, 27 Sep 2016 21:58:48 +0100 Subject: [PATCH 04/17] Update documentation to match minikube's current behaviour Updating docs as per [minikube's #631](https://github.com/kubernetes/minikube/issues/631) --- docs/getting-started-guides/minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started-guides/minikube.md b/docs/getting-started-guides/minikube.md index f92910cb8b..020fc5e257 100644 --- a/docs/getting-started-guides/minikube.md +++ b/docs/getting-started-guides/minikube.md @@ -94,7 +94,7 @@ To start a cluster, run the command: ```shell minikube start Starting local Kubernetes cluster... -Kubernetes is available at https://192.168.99.100:443. +Kubectl is now configured to use the cluster. ``` This will build and start a lightweight local cluster, consisting of a master, etcd, Docker and a single node. From ee4af46a7bbe0776d252234d089f1b64cfceb965 Mon Sep 17 00:00:00 2001 From: Luke Marsden Date: Wed, 28 Sep 2016 09:37:35 +0100 Subject: [PATCH 05/17] Add instructions for overriding autodetected network interface. --- docs/getting-started-guides/kubeadm.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/docs/getting-started-guides/kubeadm.md b/docs/getting-started-guides/kubeadm.md index 5f3ff27765..6852438004 100644 --- a/docs/getting-started-guides/kubeadm.md +++ b/docs/getting-started-guides/kubeadm.md @@ -42,16 +42,6 @@ You will install the following packages on all the machines: For each host in turn: - - - * SSH into the machine and become `root` if you are not already (for example, run `sudo su -`). * If the machine is running Ubuntu 16.04, run: @@ -92,6 +82,9 @@ To initialize the master, pick one of the machines you previously installed `kub # kubeadm init +**Note:** this will autodetect the network interface to advertise the master on as the interface with the default gateway. +If you want to use a different interface, specify `--api-advertise-addresses=` argument to `kubeadm init`. + This will download and install the cluster database and "control plane" components. This may take several minutes. From 65878b15e25ffd1aeacf4692ffc4b09dac6072d0 Mon Sep 17 00:00:00 2001 From: deads2k Date: Wed, 28 Sep 2016 09:29:57 -0400 Subject: [PATCH 06/17] update docs to point to new incubator --- docs/getting-started-guides/mesos/index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/getting-started-guides/mesos/index.md b/docs/getting-started-guides/mesos/index.md index bec65b64fd..2d909145a3 100644 --- a/docs/getting-started-guides/mesos/index.md +++ b/docs/getting-started-guides/mesos/index.md @@ -47,9 +47,8 @@ ssh jclouds@${ip_address_of_master_node} Build Kubernetes-Mesos. ```shell -git clone https://github.com/kubernetes/kubernetes -cd kubernetes -export KUBERNETES_CONTRIB=mesos +git clone https://github.com/kubernetes-incubator/kube-mesos-framework +cd kube-mesos-framework make ``` From 8cdebc0d66707784a5031376f14366622d1ae4c0 Mon Sep 17 00:00:00 2001 From: steveperry-53 Date: Wed, 28 Sep 2016 16:02:30 -0700 Subject: [PATCH 07/17] Revise tutorial to use NodePort instead of externa IP address. --- _data/tutorials.yml | 2 +- .../expose-external-ip-address-service.md | 106 +++++++++--------- 2 files changed, 56 insertions(+), 52 deletions(-) diff --git a/_data/tutorials.yml b/_data/tutorials.yml index b49283a702..9e3b79c8a2 100644 --- a/_data/tutorials.yml +++ b/_data/tutorials.yml @@ -56,5 +56,5 @@ toc: section: - title: Running a Stateless Application Using a Deployment path: /docs/tutorials/stateless-application/run-stateless-application-deployment/ - - title: Exposing an External IP Address Using a Service + - title: Using a Service to Access an Application in a Cluster path: /docs/tutorials/stateless-application/expose-external-ip-address-service/ diff --git a/docs/tutorials/stateless-application/expose-external-ip-address-service.md b/docs/tutorials/stateless-application/expose-external-ip-address-service.md index 65e13dd904..71112c6666 100644 --- a/docs/tutorials/stateless-application/expose-external-ip-address-service.md +++ b/docs/tutorials/stateless-application/expose-external-ip-address-service.md @@ -4,9 +4,8 @@ {% capture overview %} This page shows how to create a Kubernetes Service object that external -clients can use to access an application running in a cluster. The -Service exposes a stable IP address and provides load balancing for -an application that has two running instances. +clients can use to access an application running in a cluster. The Service +provides load balancing for an application that has two running instances. {% endcapture %} @@ -28,7 +27,7 @@ an application that has two running instances. {% capture objectives %} * Run two instances of a Hello World application. -* Create a Service object that exposes an external IP address. +* Create a Service object that exposes a node port. * Use the Service object to access the running application. {% endcapture %} @@ -55,63 +54,68 @@ an application that has two running instances. kubectl get deployments hello-world kubectl describe deployments hello-world -1. Display information about the ReplicaSet: +1. Display information about your ReplicaSet objects: - kubectl get replicasets hello-world - kubectl describe replicasets hello-world - -1. List the pods that are running the Hello World application: - - kubectl get pods --selector="run=load-balancer-example" - - The output is similar to this: - - NAME READY STATUS RESTARTS AGE - hello-world-2189936611-8fyp0 1/1 Running 0 6m - hello-world-2189936611-9isq8 1/1 Running 0 6m + kubectl get replicasets + kubectl describe replicasets 1. Create a Service object that exposes the deployment: - kubectl expose deployment hello-world --type="LoadBalancer" --name="example-service" + kubectl expose deployment hello-world --type=NodePort --name=example-service -1. Display the IP addresses for your service: +1. Display information about the Service: - kubectl get services example-service - - The output shows the internal IP address and the external IP address of - your service. If the external IP address shows as ``, repeat the - command. - - Note: If you are using Minikube, you don't get an external IP address. The - external IP address remains in the pending state. - - NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE - example-service 10.0.0.160 8080/TCP 40s - -1. Use your service to access the Hello World application: - - curl :8080 - - where `` is the external IP address of your - service. - - The output is a hello message from the application: - - Hello Kubernetes! - - Note: If you are using Minikube, enter these commands: - - kubectl cluster-info kubectl describe services example-service - The output displays the IP address of your Minikube node and the NodePort - value for your service. Enter this command to access the Hello World - application: + The output is similar to this: - curl : + Name: example-service + Namespace: default + Labels: run=load-balancer-example + Selector: run=load-balancer-example + Type: NodePort + IP: 10.32.0.16 + Port: 8080/TCP + NodePort: 31496/TCP + Endpoints: 10.200.1.4:8080,10.200.2.5:8080 + Session Affinity: None + No events. - where `` us the IP address of your Minikube node, - and `` is the NodePort value for your service. + Make a note of the NodePort value for the service. For example, + in the preceding output, the NodePort value is 31496. + +1. List the pods that are running the Hello World application: + + kubectl get pods --selector="run=load-balancer-example" --output=wide + + The output is similar to this: + + NAME READY STATUS ... IP NODE + hello-world-2895499144-bsbk5 1/1 Running ... 10.200.1.4 worker1 + hello-world-2895499144-m1pwt 1/1 Running ... 10.200.2.5 worker2 + +1. Get the public IP address of one of your nodes that is running + a Hello World pod. How you get this address depends on how you set + up your cluster. For example, if you are using Minikube, you can + see the node address by running `kubectl cluster-info`. If you are + using Google Compute Engine instances, you can use the + `gcloud compute instances list` command to see the public addresses of your + nodes. + +1. On your chosen node, create a firewall rule that allows TCP traffic + on your node port. For example, if your Service has a NodePort value of + 31568, create a firewall rule that allows TCP traffic on port 31568. + +1. Use the node address and node port to access the Hello World application: + + curl http://: + + where `` us the public IP address of your node, + and `` is the NodePort value for your service. + + The response to a successful request is a hello message: + + Hello Kubernetes! ### Using a service configuration file From c38f1f63e499d7abd0d0ba6661f814c0b0f1f4ac Mon Sep 17 00:00:00 2001 From: Piyush Madan Date: Thu, 29 Sep 2016 01:23:06 -0400 Subject: [PATCH 08/17] minor edit - removed ` in one of the cmds --- docs/getting-started-guides/libvirt-coreos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started-guides/libvirt-coreos.md b/docs/getting-started-guides/libvirt-coreos.md index f752a13aee..86b0707092 100644 --- a/docs/getting-started-guides/libvirt-coreos.md +++ b/docs/getting-started-guides/libvirt-coreos.md @@ -134,7 +134,7 @@ export KUBERNETES_PROVIDER=libvirt-coreos; wget -q -O - https://get.k8s.io | bas Here is the curl version of this command: ```shell -export KUBERNETES_PROVIDER=libvirt-coreos; curl -sS https://get.k8s.io | bash` +export KUBERNETES_PROVIDER=libvirt-coreos; curl -sS https://get.k8s.io | bash ``` This script downloads and unpacks the tarball, then spawns a Kubernetes cluster on CoreOS instances with the following characteristics: From 55017a1f27cd40d0683e9b6d5c3a501a6c6e9a16 Mon Sep 17 00:00:00 2001 From: Michail Kargakis Date: Wed, 28 Sep 2016 23:32:39 +0200 Subject: [PATCH 09/17] Fix note for paused deployments --- docs/user-guide/deployments.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/user-guide/deployments.md b/docs/user-guide/deployments.md index 1fae4ddd7d..d160cce1e7 100644 --- a/docs/user-guide/deployments.md +++ b/docs/user-guide/deployments.md @@ -451,7 +451,8 @@ nginx-deployment-2035384211 0 0 1h nginx-deployment-3066724191 0 0 1h ``` -Note: A paused Deployment cannot be scaled at this moment, and we will add this feature in 1.3 release, see [issue #20853](https://github.com/kubernetes/kubernetes/issues/20853). You cannot rollback a paused Deployment either, and you should resume a Deployment first before doing a rollback. +Note: You cannot rollback a paused Deployment until you resume it. + ## Use Cases From 2b2d8dc0bc4d568ad1ad1be8e9834c2e73d7d1e6 Mon Sep 17 00:00:00 2001 From: Tobias Bradtke Date: Thu, 29 Sep 2016 12:23:37 +0200 Subject: [PATCH 10/17] Fix urls --- docs/user-guide/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md index 44dd71f41e..70bcb5be6d 100644 --- a/docs/user-guide/index.md +++ b/docs/user-guide/index.md @@ -89,5 +89,5 @@ Pods and containers * [Images and registries](/docs/user-guide/images/) * [Migrating from docker-cli to kubectl](/docs/user-guide/docker-cli-to-kubectl/) * [Configuration Best Practices and Tips](/docs/user-guide/config-best-practices/) - * [Assign pods to selected nodes](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/node-selection/) - * [Perform a rolling update on a running group of pods](https://github.com/kubernetes/kubernetes.github.io/tree/{{page.docsbranch}}/docs/user-guide/update-demo/) + * [Assign pods to selected nodes](/docs/user-guide/node-selection/) + * [Perform a rolling update on a running group of pods](/docs/user-guide/update-demo/) From 53933e173803c03ac5665aecea2fd044c1288b5f Mon Sep 17 00:00:00 2001 From: steveperry-53 Date: Thu, 29 Sep 2016 13:43:54 -0700 Subject: [PATCH 11/17] Create task page: Assigning Pods to Nodes. --- _data/tasks.yml | 4 + .../administer-cluster/assign-pods-nodes.md | 87 +++++++++++++++++++ docs/tasks/administer-cluster/pod.yaml | 13 +++ docs/tasks/index.md | 3 + docs/tutorials/index.md | 2 +- 5 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 docs/tasks/administer-cluster/assign-pods-nodes.md create mode 100644 docs/tasks/administer-cluster/pod.yaml diff --git a/_data/tasks.yml b/_data/tasks.yml index 1019671e66..86209a52aa 100644 --- a/_data/tasks.yml +++ b/_data/tasks.yml @@ -10,4 +10,8 @@ toc: section: - title: Using an HTTP Proxy to Access the Kubernetes API path: /docs/tasks/access-kubernetes-api/http-proxy-access-api/ +- title: Administering a Cluster + section: + - title: Assigning Pods to Nodes + path: /docs/tasks/administer-cluster/assign-pods-nodes/ diff --git a/docs/tasks/administer-cluster/assign-pods-nodes.md b/docs/tasks/administer-cluster/assign-pods-nodes.md new file mode 100644 index 0000000000..894aeddf7d --- /dev/null +++ b/docs/tasks/administer-cluster/assign-pods-nodes.md @@ -0,0 +1,87 @@ +--- +--- + +{% capture overview %} +This page shows how to use an HTTP proxy to access the Kubernetes API. +{% endcapture %} + +{% capture prerequisites %} + +* Install [kubectl](http://kubernetes.io/docs/user-guide/prereqs). + +* Create a Kubernetes cluster, including a running Kubernetes + API server. One way to create a new cluster is to use + [Minikube](/docs/getting-started-guides/minikube). + +* Configure `kubectl` to communicate with your Kubernetes API server. This + configuration is done automatically if you use Minikube. + +{% endcapture %} + +{% capture steps %} + +### Adding a label to a node + +1. List the nodes in your cluster: + + kubectl get nodes + + The output is similar to this: + + NAME STATUS AGE + worker0 Ready 1d + worker1 Ready 1d + worker2 Ready 1d + +1. Chose one of your nodes, and add a label to it: + + kubectl label nodes disktype=ssd + + where is the name of your chosen node. + +1. Verify that your chosen node has a `disktype=ssd` label: + + kubectl get nodes --showlabels + + + The output is similar to this: + + NAME STATUS AGE LABELS + worker0 Ready 1d ...,disktype=ssd,kubernetes.io/hostname=worker0 + worker1 Ready 1d ...,kubernetes.io/hostname=worker1 + worker2 Ready 1d ...,kubernetes.io/hostname=worker2 + + In the preceding output, you can see that the `worker0` node has a + `disktype=ssd` label. + +### Creating a pod that gets scheduled to your chosen node + +This pod configuration file describes a pod that has a node selector, +`disktype: ssd`. This means that the pod will get scheduled on a node that has +a `disktype=ssd` label. + +{% include code.html language="yaml" file="pod.yaml" ghlink="/docs/tasks/administer-cluster/pod.yaml" %} + +1. Use the configuration file to create a pod that will get scheduled on your + chosen node: + + export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master + kubectl create -f $REPO/docs/tasks/administer-cluster/pod.yaml + +1. Verify that the pod is running on your chosen node: + + kubectl get pods --output=wide + + The output is similar to this: + + NAME READY STATUS RESTARTS AGE IP NODE + nginx 1/1 Running 0 13s 10.200.0.4 worker0 + +{% endcapture %} + +{% capture whatsnext %} +Learn more about +[labels and selectors](/docs/user-guide/labels/). +{% endcapture %} + +{% include templates/task.md %} diff --git a/docs/tasks/administer-cluster/pod.yaml b/docs/tasks/administer-cluster/pod.yaml new file mode 100644 index 0000000000..134ddae2aa --- /dev/null +++ b/docs/tasks/administer-cluster/pod.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Pod +metadata: + name: nginx + labels: + env: test +spec: + containers: + - name: nginx + image: nginx + imagePullPolicy: IfNotPresent + nodeSelector: + disktype: ssd diff --git a/docs/tasks/index.md b/docs/tasks/index.md index b8fa301fa3..dcd9120e1b 100644 --- a/docs/tasks/index.md +++ b/docs/tasks/index.md @@ -11,6 +11,9 @@ The Tasks section of the Kubernetes documentation is a work in progress * [Using an HTTP Proxy to Access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api) +#### Administering a Cluster + +* [Assigning Pods to Nodes](/docs/tasks/administer-cluster/assign-pods-nodes/) ### What's next diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index db1b224364..23400521e7 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -7,7 +7,7 @@ The Tutorials section of the Kubernetes documentation is a work in progress. * [Running a Stateless Application Using a Deployment](/docs/tutorials/stateless-application/run-stateless-application-deployment/) -* [Exposing an External IP Address Using a Service](/docs/tutorials/stateless-application/expose-external-ip-address-service/) +* [Using a Service to Access an Application in a Cluster](/docs/tutorials/stateless-application/expose-external-ip-address-service/) ### What's next From 1a379cd812057d86cea674fedd163946fc934d5b Mon Sep 17 00:00:00 2001 From: steveperry-53 Date: Thu, 29 Sep 2016 13:52:05 -0700 Subject: [PATCH 12/17] Fix page title. --- docs/tasks/administer-cluster/assign-pods-nodes.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/tasks/administer-cluster/assign-pods-nodes.md b/docs/tasks/administer-cluster/assign-pods-nodes.md index 894aeddf7d..4ceb5b0c6b 100644 --- a/docs/tasks/administer-cluster/assign-pods-nodes.md +++ b/docs/tasks/administer-cluster/assign-pods-nodes.md @@ -2,7 +2,8 @@ --- {% capture overview %} -This page shows how to use an HTTP proxy to access the Kubernetes API. +This page shows how to assign a Kubernetes Pod to a particualr node in a +Kubernetes cluster. {% endcapture %} {% capture prerequisites %} From dbbe11e3d36b755e1a37b45792d30f27785f9385 Mon Sep 17 00:00:00 2001 From: steveperry-53 Date: Thu, 29 Sep 2016 15:02:35 -0700 Subject: [PATCH 13/17] Change --showlabels to --show-labels. --- docs/tasks/administer-cluster/assign-pods-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tasks/administer-cluster/assign-pods-nodes.md b/docs/tasks/administer-cluster/assign-pods-nodes.md index 4ceb5b0c6b..1d27c09107 100644 --- a/docs/tasks/administer-cluster/assign-pods-nodes.md +++ b/docs/tasks/administer-cluster/assign-pods-nodes.md @@ -42,7 +42,7 @@ Kubernetes cluster. 1. Verify that your chosen node has a `disktype=ssd` label: - kubectl get nodes --showlabels + kubectl get nodes --show-labels The output is similar to this: From 6377930f5ff3538ab5b1ca197fae8be5636ca74c Mon Sep 17 00:00:00 2001 From: steveperry-53 Date: Thu, 29 Sep 2016 15:10:49 -0700 Subject: [PATCH 14/17] Fix typo. --- docs/tasks/administer-cluster/assign-pods-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tasks/administer-cluster/assign-pods-nodes.md b/docs/tasks/administer-cluster/assign-pods-nodes.md index 1d27c09107..ddeca0b7f7 100644 --- a/docs/tasks/administer-cluster/assign-pods-nodes.md +++ b/docs/tasks/administer-cluster/assign-pods-nodes.md @@ -2,7 +2,7 @@ --- {% capture overview %} -This page shows how to assign a Kubernetes Pod to a particualr node in a +This page shows how to assign a Kubernetes Pod to a particular node in a Kubernetes cluster. {% endcapture %} From dfc9bd1e5fa504eeba2a06b9a13556bf69baace2 Mon Sep 17 00:00:00 2001 From: steveperry-53 Date: Thu, 29 Sep 2016 20:05:30 -0700 Subject: [PATCH 15/17] Put back ticks around placeholder. --- docs/tasks/administer-cluster/assign-pods-nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tasks/administer-cluster/assign-pods-nodes.md b/docs/tasks/administer-cluster/assign-pods-nodes.md index ddeca0b7f7..e966f23e28 100644 --- a/docs/tasks/administer-cluster/assign-pods-nodes.md +++ b/docs/tasks/administer-cluster/assign-pods-nodes.md @@ -38,7 +38,7 @@ Kubernetes cluster. kubectl label nodes disktype=ssd - where is the name of your chosen node. + where `` is the name of your chosen node. 1. Verify that your chosen node has a `disktype=ssd` label: From a6c95792335ba50de05e5d64264134d8cbc7da6f Mon Sep 17 00:00:00 2001 From: scotty Date: Fri, 30 Sep 2016 10:21:03 -0700 Subject: [PATCH 16/17] partners --- _includes/case-study-styles.html | 76 ++++++++++++++++---------------- _sass/_base.sass | 3 +- _sass/_desktop.sass | 2 +- case-studies/index.html | 2 +- case-studies/pearson.html | 2 +- case-studies/wikimedia.html | 2 +- js/script.js | 3 +- partners/index.html | 60 +++++++++++++++++++++++++ 8 files changed, 106 insertions(+), 44 deletions(-) create mode 100644 partners/index.html diff --git a/_includes/case-study-styles.html b/_includes/case-study-styles.html index 7914ef76ac..48058bd27b 100644 --- a/_includes/case-study-styles.html +++ b/_includes/case-study-styles.html @@ -3,40 +3,40 @@ margin-top: 1em !important; } - #caseStudies p { + .gridPage p { color: rgb(26,26,26) !important; margin-left: 0 !important; padding-left: 0 !important; font-weight: 300 !important; } - #caseStudies #mainContent { + .gridPage #mainContent { padding: 0; } - #caseStudies #mainContent .content { + .gridPage #mainContent .content { padding-top: 0; } - #caseStudies main { + .gridPage main { max-width: 1100px !important; } - #caseStudies .content { + .gridPage .content { position: relative; margin: 0 auto 50px; max-width: 90%; } - #caseStudies .content p { + .gridPage .content p { line-height: 24px !important; } - #caseStudies .content h3 { + .gridPage .content h3 { padding: 0 !important; } - #caseStudies #hero h5 { + .gridPage #hero h5 { padding-left: 20px; margin: 0; } @@ -67,7 +67,7 @@ left: 0; } - #caseStudies #mainContent .content .case-study p { + .gridPage #mainContent .content .case-study p { font-family: "Roboto", sans-serif; font-size: 16px; padding: 0; @@ -77,13 +77,13 @@ font-style: italic; } - #caseStudies #video { + .gridPage #video { background: #f9f9f9; height: auto; /*height: 340px;*/ } - #caseStudies #video main { + .gridPage #video main { position: relative; max-width: 900px !important; height: 100%; @@ -93,19 +93,19 @@ padding: 50px 20px; } - #caseStudies #video main > div { + .gridPage #video main > div { width: 50%; } - #caseStudies #video main #zulilyLogo { + .gridPage #video main #zulilyLogo { width: 100px; } - #caseStudies #video main img { + .gridPage #video main img { max-width: 100%; } - #caseStudies #video h3 { + .gridPage #video h3 { font-size: 32px; font-weight: 300; line-height: 38px; @@ -113,57 +113,57 @@ margin: 0 0 1em 0; } - #caseStudies #video p { + .gridPage #video p { margin: 0; } - #caseStudies #video p.attrib { + .gridPage #video p.attrib { margin-bottom: 20px; } - #caseStudies #video button > h6 { + .gridPage #video button > h6 { font-size: 18px; font-weight: 500; margin: 1em 0; color: #326de6; } - #caseStudies #users { + .gridPage #users { padding: 50px; } - #caseStudies #users main { + .gridPage #users main { max-width: 1150px !important; } - #caseStudies #users main h3 { + .gridPage #users main h3 { padding-left: 20px; margin-bottom: 20px; } - #caseStudies #usersGrid { + .gridPage #usersGrid { position: relative; display: flex; flex-wrap: wrap; justify-content: center; } - #caseStudies #usersGrid a { + .gridPage #usersGrid a { display: inline-block; margin: 5px; } - #caseStudies #usersGrid a img { + .gridPage #usersGrid a img { box-shadow: 1px 1px 2px transparent; transition: box-shadow 0.25s; } - #caseStudies #usersGrid a img:hover { + .gridPage #usersGrid a img:hover { box-shadow: 1px 1px 2px #cccccc; } - #caseStudies #usersGrid a:last-child img, - #caseStudies #usersGrid a:last-child img:hover { + .gridPage #usersGrid a:last-child img, + .gridPage #usersGrid a:last-child img:hover { box-shadow: 1px 1px 2px transparent; } @@ -173,12 +173,12 @@ box-shadow: 1px 2px 2px #dddddd; } - #caseStudies .feature { + .gridPage .feature { position: relative; padding: 20px 0 20px 242px; } - #caseStudies .feature img { + .gridPage .feature img { position: absolute; top: 20px; left: 0; @@ -225,7 +225,7 @@ margin-bottom: 0.5em; } - #caseStudies .feature p.quote { + .gridPage .feature p.quote { font-size: 20px; line-height: 28px !important; } @@ -250,20 +250,20 @@ } @media screen and (max-width: 900px){ - #caseStudies #video main { + .gridPage #video main { flex-direction: column; align-items: center; } - #caseStudies #video main > div { + .gridPage #video main > div { width: 400px; } - #caseStudies #video main > div + div { + .gridPage #video main > div + div { margin-top: 30px; } - #caseStudies #video h3 { + .gridPage #video h3 { max-width: 100%; } } @@ -282,12 +282,12 @@ transform: translateX(-50%); } - #caseStudies .feature { + .gridPage .feature { margin-top: 50px; padding: 180px 0 0; } - #caseStudies .feature img { + .gridPage .feature img { top: 0; left: 50%; transform: translateX(-50%); @@ -295,12 +295,12 @@ } @media screen and (max-width: 480px){ - #caseStudies #hero { + .gridPage #hero { padding-right: 20px; padding-left: 20px; } - #caseStudies #video main > div { + .gridPage #video main > div { width: 80%; min-width: 280px; } diff --git a/_sass/_base.sass b/_sass/_base.sass index 91d47a6b48..a8ac4b47c4 100644 --- a/_sass/_base.sass +++ b/_sass/_base.sass @@ -1131,7 +1131,7 @@ $feature-box-div-margin-bottom: 40px // Community -#community, #caseStudies +#community, .gridPage &.open-nav, &.flip-nav .logo background-image: url(/images/nav_logo2.svg) @@ -1340,3 +1340,4 @@ $feature-box-div-margin-bottom: 40px // // // +// \ No newline at end of file diff --git a/_sass/_desktop.sass b/_sass/_desktop.sass index 7faddf913c..033e998ba0 100644 --- a/_sass/_desktop.sass +++ b/_sass/_desktop.sass @@ -270,7 +270,7 @@ $video-section-height: 550px - #community, #caseStudies + #community, .gridPage #hero text-align: left diff --git a/case-studies/index.html b/case-studies/index.html index 8b0ffea42c..4b92adb805 100644 --- a/case-studies/index.html +++ b/case-studies/index.html @@ -3,7 +3,7 @@ title: Case Studies --- - + {% include head-header.html %}
diff --git a/case-studies/pearson.html b/case-studies/pearson.html index 8625707f11..bf871789b9 100644 --- a/case-studies/pearson.html +++ b/case-studies/pearson.html @@ -3,7 +3,7 @@ title: Pearson Case Study --- - + {% include head-header.html %}
diff --git a/case-studies/wikimedia.html b/case-studies/wikimedia.html index c725ca7683..00eb47e3e0 100644 --- a/case-studies/wikimedia.html +++ b/case-studies/wikimedia.html @@ -3,7 +3,7 @@ title: Wikimedia Case Study --- - + {% include head-header.html %}
diff --git a/js/script.js b/js/script.js index 99574e7f83..22eff0a1b4 100755 --- a/js/script.js +++ b/js/script.js @@ -135,8 +135,9 @@ var kub = (function () { // case 'caseStudies': bodyHeight = windowHeight; break; - + case 'caseStudies': + case 'partners': bodyHeight = windowHeight * 2; break; diff --git a/partners/index.html b/partners/index.html new file mode 100644 index 0000000000..c47f0998a7 --- /dev/null +++ b/partners/index.html @@ -0,0 +1,60 @@ +--- +title: Partners +--- + + + +{% include head-header.html %} + +
+

Kubernetes Partners

+
Growing the Kubernetes ecosystem.
+ +
+ +
+
+
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.
+

ISV Partners

+
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ + +{% include footer.html %} +{% include case-study-styles.html %} + + + From 5eff46b03577eb4f1d6fe6b2da1dc760acbb67e4 Mon Sep 17 00:00:00 2001 From: "Tim St. Clair" Date: Fri, 30 Sep 2016 11:13:07 -0700 Subject: [PATCH 17/17] Fix links to AppArmor policy references --- docs/admin/apparmor/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/admin/apparmor/index.md b/docs/admin/apparmor/index.md index 395aba1989..9730c07953 100644 --- a/docs/admin/apparmor/index.md +++ b/docs/admin/apparmor/index.md @@ -349,8 +349,8 @@ logs or through `journalctl`. More information is provided in Additional resources: -- http://wiki.apparmor.net/index.php/QuickProfileLanguage -- http://wiki.apparmor.net/index.php/ProfileLanguage +- [Quick guide to the AppArmor profile language](http://wiki.apparmor.net/index.php/QuickProfileLanguage) +- [AppArmor core policy reference](http://wiki.apparmor.net/index.php/ProfileLanguage) ## API Reference