add en pages

This commit is contained in:
Karen Bradshaw
2020-05-30 15:10:23 -04:00
parent 1502e0281d
commit ecc27bbbe7
347 changed files with 2900 additions and 2537 deletions
@@ -1,10 +1,10 @@
---
title: Specifying a Disruption Budget for your Application
content_template: templates/task
content_type: task
weight: 110
---
{{% capture overview %}}
<!-- overview -->
{{< feature-state for_k8s_version="v1.5" state="beta" >}}
@@ -13,9 +13,10 @@ that your application experiences, allowing for higher availability
while permitting the cluster administrator to manage the clusters
nodes.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* You are the owner of an application running on a Kubernetes cluster that requires
high availability.
* You should know how to deploy [Replicated Stateless Applications](/docs/tasks/run-application/run-stateless-application-deployment/)
@@ -23,9 +24,9 @@ nodes.
* You should have read about [Pod Disruptions](/docs/concepts/workloads/pods/disruptions/).
* You should confirm with your cluster owner or service provider that they respect
Pod Disruption Budgets.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Protecting an Application with a PodDisruptionBudget
@@ -34,9 +35,9 @@ nodes.
1. Create a PDB definition as a YAML file.
1. Create the PDB object from the YAML file.
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## Identify an Application to Protect
@@ -238,6 +239,6 @@ You can use a selector which selects a subset or superset of the pods belonging
controller. However, when there are multiple PDBs in a namespace, you must be careful not
to create PDBs whose selectors overlap.
{{% /capture %}}
@@ -6,23 +6,24 @@ reviewers:
- janetkuo
- smarterclayton
title: Delete a StatefulSet
content_template: templates/task
content_type: task
weight: 60
---
{{% capture overview %}}
<!-- overview -->
This task shows you how to delete a {{< glossary_tooltip term_id="StatefulSet" >}}.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* This task assumes you have an application running on your cluster represented by a StatefulSet.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Deleting a StatefulSet
@@ -81,12 +82,13 @@ In the example above, the Pods have the label `app=myapp`; substitute your own l
If you find that some pods in your StatefulSet are stuck in the 'Terminating' or 'Unknown' states for an extended period of time, you may need to manually intervene to forcefully delete the pods from the apiserver. This is a potentially dangerous task. Refer to [Force Delete StatefulSet Pods](/docs/tasks/run-application/force-delete-stateful-set-pod/) for details.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
Learn more about [force deleting StatefulSet Pods](/docs/tasks/run-application/force-delete-stateful-set-pod/).
{{% /capture %}}
@@ -5,22 +5,23 @@ reviewers:
- foxish
- smarterclayton
title: Force Delete StatefulSet Pods
content_template: templates/task
content_type: task
weight: 70
---
{{% capture overview %}}
<!-- overview -->
This page shows how to delete Pods which are part of a {{< glossary_tooltip text="stateful set" term_id="StatefulSet" >}}, and explains the considerations to keep in mind when doing so.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* This is a fairly advanced task and has the potential to violate some of the properties inherent to StatefulSet.
* Before proceeding, make yourself familiar with the considerations enumerated below.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## StatefulSet considerations
@@ -74,10 +75,11 @@ kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'
Always perform force deletion of StatefulSet Pods carefully and with complete knowledge of the risks involved.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
Learn more about [debugging a StatefulSet](/docs/tasks/debug-application-cluster/debug-stateful-set/).
{{% /capture %}}
@@ -5,11 +5,11 @@ reviewers:
- justinsb
- directxman12
title: Horizontal Pod Autoscaler Walkthrough
content_template: templates/task
content_type: task
weight: 100
---
{{% capture overview %}}
<!-- overview -->
Horizontal Pod Autoscaler automatically scales the number of pods
in a replication controller, deployment, replica set or stateful set based on observed CPU utilization
@@ -17,11 +17,12 @@ in a replication controller, deployment, replica set or stateful set based on ob
This document walks you through an example of enabling Horizontal Pod Autoscaler for the php-apache server. For more information on how Horizontal Pod Autoscaler behaves, see the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/).
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
This example requires a running Kubernetes cluster and kubectl, version 1.2 or later.
[metrics-server](https://github.com/kubernetes-incubator/metrics-server/) monitoring needs to be deployed in the cluster
@@ -35,9 +36,9 @@ not related to any Kubernetes object you must have a Kubernetes cluster at versi
you must be able to communicate with the API server that provides the external metrics API.
See the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics) for more details.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Run & expose php-apache server
@@ -181,9 +182,9 @@ Here CPU utilization dropped to 0, and so HPA autoscaled the number of replicas
Autoscaling the replicas may take a few minutes.
{{< /note >}}
{{% /capture %}}
{{% capture discussion %}}
<!-- discussion -->
## Autoscaling on multiple metrics and custom metrics
@@ -483,4 +484,4 @@ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml
horizontalpodautoscaler.autoscaling/php-apache created
```
{{% /capture %}}
@@ -9,11 +9,11 @@ feature:
description: >
Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage.
content_template: templates/concept
content_type: concept
weight: 90
---
{{% capture overview %}}
<!-- overview -->
The Horizontal Pod Autoscaler automatically scales the number of pods
in a replication controller, deployment, replica set or stateful set based on observed CPU utilization (or, with
@@ -26,10 +26,10 @@ The resource determines the behavior of the controller.
The controller periodically adjusts the number of replicas in a replication controller or deployment
to match the observed average CPU utilization to the target specified by user.
{{% /capture %}}
{{% capture body %}}
<!-- body -->
## How does the Horizontal Pod Autoscaler work?
@@ -431,12 +431,13 @@ behavior:
selectPolicy: Disabled
```
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* Design documentation: [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md).
* kubectl autoscale command: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale).
* Usage example of [Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/).
{{% /capture %}}
@@ -7,11 +7,11 @@ reviewers:
- kow3ns
- smarterclayton
title: Run a Replicated Stateful Application
content_template: templates/tutorial
content_type: tutorial
weight: 30
---
{{% capture overview %}}
<!-- overview -->
This page shows how to run a replicated stateful application using a
[StatefulSet](/docs/concepts/workloads/controllers/statefulset/) controller.
@@ -23,9 +23,10 @@ asynchronous replication.
on general patterns for running stateful applications in Kubernetes.
{{< /note >}}
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* {{< include "default-storage-class-prereqs.md" >}}
@@ -38,18 +39,19 @@ on general patterns for running stateful applications in Kubernetes.
* Some familiarity with MySQL helps, but this tutorial aims to present
general patterns that should be useful for other systems.
{{% /capture %}}
{{% capture objectives %}}
## {{% heading "objectives" %}}
* Deploy a replicated MySQL topology with a StatefulSet controller.
* Send MySQL client traffic.
* Observe resistance to downtime.
* Scale the StatefulSet up and down.
{{% /capture %}}
{{% capture lessoncontent %}}
<!-- lessoncontent -->
## Deploy MySQL
@@ -479,9 +481,10 @@ kubectl delete pvc data-mysql-3
kubectl delete pvc data-mysql-4
```
{{% /capture %}}
{{% capture cleanup %}}
## {{% heading "cleanup" %}}
1. Cancel the `SELECT @@server_id` loop by pressing **Ctrl+C** in its terminal,
or running the following from another terminal:
@@ -522,9 +525,10 @@ kubectl delete pvc data-mysql-4
Some dynamic provisioners (such as those for EBS and PD) also release the
underlying resources upon deleting the PersistentVolumes.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* Learn more about [scaling a StatefulSet](/docs/tasks/run-application/scale-stateful-set/).
* Learn more about [debugging a StatefulSet](/docs/tasks/debug-application-cluster/debug-stateful-set/).
* Learn more about [deleting a StatefulSet](/docs/tasks/run-application/delete-stateful-set/).
@@ -532,7 +536,7 @@ kubectl delete pvc data-mysql-4
* Look in the [Helm Charts repository](https://github.com/kubernetes/charts)
for other stateful application examples.
{{% /capture %}}
@@ -1,37 +1,39 @@
---
title: Run a Single-Instance Stateful Application
content_template: templates/tutorial
content_type: tutorial
weight: 20
---
{{% capture overview %}}
<!-- overview -->
This page shows you how to run a single-instance stateful application
in Kubernetes using a PersistentVolume and a Deployment. The
application is MySQL.
{{% /capture %}}
{{% capture objectives %}}
## {{% heading "objectives" %}}
* Create a PersistentVolume referencing a disk in your environment.
* Create a MySQL Deployment.
* Expose MySQL to other pods in the cluster at a known DNS name.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
* {{< include "default-storage-class-prereqs.md" >}}
{{% /capture %}}
{{% capture lessoncontent %}}
<!-- lessoncontent -->
## Deploy MySQL
@@ -180,10 +182,11 @@ PersistentVolume when it sees that you deleted the PersistentVolumeClaim.
Some dynamic provisioners (such as those for EBS and PD) also release the
underlying resource upon deleting the PersistentVolume.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* Learn more about [Deployment objects](/docs/concepts/workloads/controllers/deployment/).
@@ -193,6 +196,6 @@ underlying resource upon deleting the PersistentVolume.
* [Volumes](/docs/concepts/storage/volumes/) and [Persistent Volumes](/docs/concepts/storage/persistent-volumes/)
{{% /capture %}}
@@ -1,34 +1,36 @@
---
title: Run a Stateless Application Using a Deployment
min-kubernetes-server-version: v1.9
content_template: templates/tutorial
content_type: tutorial
weight: 10
---
{{% capture overview %}}
<!-- overview -->
This page shows how to run an application using a Kubernetes Deployment object.
{{% /capture %}}
{{% capture objectives %}}
## {{% heading "objectives" %}}
* Create an nginx deployment.
* Use kubectl to list information about the deployment.
* Update the deployment.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture lessoncontent %}}
<!-- lessoncontent -->
## Creating and exploring an nginx deployment
@@ -146,13 +148,14 @@ which in turn uses a ReplicaSet. Before the Deployment and ReplicaSet were
added to Kubernetes, replicated applications were configured using a
[ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/).
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* Learn more about [Deployment objects](/docs/concepts/workloads/controllers/deployment/).
{{% /capture %}}
@@ -8,15 +8,16 @@ reviewers:
- kow3ns
- smarterclayton
title: Scale a StatefulSet
content_template: templates/task
content_type: task
weight: 50
---
{{% capture overview %}}
<!-- overview -->
This task shows how to scale a StatefulSet. Scaling a StatefulSet refers to increasing or decreasing the number of replicas.
{{% /capture %}}
{{% capture prerequisites %}}
## {{% heading "prerequisites" %}}
* StatefulSets are only available in Kubernetes version 1.5 or later.
To check your version of Kubernetes, run `kubectl version`.
@@ -26,9 +27,9 @@ This task shows how to scale a StatefulSet. Scaling a StatefulSet refers to incr
* You should perform scaling only when you are confident that your stateful application
cluster is completely healthy.
{{% /capture %}}
{{% capture steps %}}
<!-- steps -->
## Scaling StatefulSets
@@ -90,10 +91,11 @@ to reason about scaling operations at the application level in these cases, and
perform scaling only when you are sure that your stateful application cluster is
completely healthy.
{{% /capture %}}
{{% capture whatsnext %}}
## {{% heading "whatsnext" %}}
* Learn more about [deleting a StatefulSet](/docs/tasks/run-application/delete-stateful-set/).
{{% /capture %}}