From cb49ff1005274afecb8087cd2d5aafbf7430c450 Mon Sep 17 00:00:00 2001
From: Rael Garcia
Date: Tue, 16 Apr 2019 13:13:05 +0200
Subject: [PATCH 01/12] Add es/docs index tree (#13809)
* Add es/docs/concepts index tree
* Add es/docs/contribute index tree
* Add es/docs/setup index tree
* Add es/docs/tutorials index tree
* Add es/docs/reference index tree
* Add es/docs/tasks index tree
* Add es/docs/reference landing page
* Add es/docs/home landing page
* Add es/docs/tutoriales landing page
* Add es/docs/getting-started-guides index tree
* Add es/docs/concepts landing page
* Add es/docs/contribute landing page
* Add es/docs/setup landing page
* Apply review requests and fixes
---
content/es/docs/concepts/_index.md | 77 +++++++++++++
.../es/docs/concepts/architecture/_index.md | 4 +
.../concepts/cluster-administration/_index.md | 4 +
.../es/docs/concepts/configuration/_index.md | 4 +
content/es/docs/concepts/containers/_index.md | 4 +
.../docs/concepts/extend-kubernetes/_index.md | 4 +
.../extend-kubernetes/api-extension/_index.md | 4 +
.../compute-storage-net/_index.md | 4 +
content/es/docs/concepts/overview/_index.md | 4 +
.../object-management-kubectl/_index.md | 4 +
.../overview/working-with-objects/_index.md | 4 +
content/es/docs/concepts/policy/_index.md | 4 +
.../concepts/services-networking/_index.md | 4 +
content/es/docs/concepts/storage/_index.md | 4 +
content/es/docs/concepts/workloads/_index.md | 4 +
.../concepts/workloads/controllers/_index.md | 4 +
.../es/docs/concepts/workloads/pods/_index.md | 4 +
content/es/docs/contribute/_index.md | 85 +++++++++++++++
.../contribute/generate-ref-docs/_index.md | 10 ++
content/es/docs/contribute/style/_index.md | 12 +++
.../es/docs/getting-started-guides/_index.md | 4 +
.../getting-started-guides/fedora/_index.md | 4 +
content/es/docs/home/_index.md | 57 ++++++++++
content/es/docs/reference/_index.md | 64 +++++++++++
.../reference/access-authn-authz/_index.md | 5 +
.../command-line-tools-reference/_index.md | 5 +
.../es/docs/reference/federation/_index.md | 4 +
content/es/docs/reference/glossary/index.md | 11 ++
.../docs/reference/issues-security/_index.md | 5 +
content/es/docs/reference/kubectl/_index.md | 4 +
.../docs/reference/kubernetes-api/_index.md | 4 +
.../es/docs/reference/kubernetes-api/index.md | 5 +
.../es/docs/reference/setup-tools/_index.md | 5 +
.../reference/setup-tools/kubeadm/_index.md | 5 +
.../setup-tools/kubeadm/generated/_index.md | 5 +
.../reference/setup-tools/kubefed/_index.md | 5 +
content/es/docs/reference/using-api/_index.md | 5 +
content/es/docs/setup/_index.md | 102 ++++++++++++++++++
content/es/docs/setup/custom-cloud/_index.md | 4 +
content/es/docs/setup/independent/_index.md | 4 +
.../es/docs/setup/on-premises-vm/_index.md | 4 +
content/es/docs/setup/release/_index.md | 4 +
content/es/docs/setup/turnkey/_index.md | 4 +
content/es/docs/setup/windows/_index.md | 4 +
.../access-application-cluster/_index.md | 4 +
.../tasks/access-kubernetes-api/_index.md | 4 +
.../custom-resources/_index.md | 4 +
.../docs/tasks/administer-cluster/_index.md | 4 +
.../administer-cluster/kubeadm/_index.md | 5 +
.../manage-resources/_index.md | 4 +
.../network-policy-provider/_index.md | 4 +
.../tasks/configure-pod-container/_index.md | 4 +
.../tasks/debug-application-cluster/_index.md | 5 +-
content/es/docs/tasks/federation/_index.md | 4 +
.../administer-federation/_index.md | 4 +
.../tasks/inject-data-application/_index.md | 4 +
content/es/docs/tasks/job/_index.md | 4 +
content/es/docs/tasks/manage-daemon/_index.md | 4 +
.../es/docs/tasks/run-application/_index.md | 4 +
.../es/docs/tasks/service-catalog/_index.md | 4 +
content/es/docs/tasks/tls/_index.md | 4 +
content/es/docs/tasks/tools/_index.md | 2 +-
content/es/docs/tutorials/_index.md | 76 +++++++++++++
content/es/docs/tutorials/clusters/_index.md | 4 +
.../es/docs/tutorials/configuration/_index.md | 4 +
.../tutorials/kubernetes-basics/_index.md | 4 +
.../create-cluster/_index.md | 4 +
.../kubernetes-basics/deploy-app/_index.md | 4 +
.../kubernetes-basics/explore/_index.md | 4 +
.../kubernetes-basics/expose/_index.md | 4 +
.../kubernetes-basics/scale/_index.md | 4 +
.../kubernetes-basics/update/_index.md | 4 +
.../docs/tutorials/online-training/_index.md | 4 +
content/es/docs/tutorials/services/_index.md | 4 +
.../tutorials/stateful-application/_index.md | 4 +
.../tutorials/stateless-application/_index.md | 4 +
76 files changed, 767 insertions(+), 4 deletions(-)
create mode 100644 content/es/docs/concepts/_index.md
create mode 100755 content/es/docs/concepts/architecture/_index.md
create mode 100755 content/es/docs/concepts/cluster-administration/_index.md
create mode 100755 content/es/docs/concepts/configuration/_index.md
create mode 100755 content/es/docs/concepts/containers/_index.md
create mode 100644 content/es/docs/concepts/extend-kubernetes/_index.md
create mode 100644 content/es/docs/concepts/extend-kubernetes/api-extension/_index.md
create mode 100644 content/es/docs/concepts/extend-kubernetes/compute-storage-net/_index.md
create mode 100755 content/es/docs/concepts/overview/_index.md
create mode 100755 content/es/docs/concepts/overview/object-management-kubectl/_index.md
create mode 100755 content/es/docs/concepts/overview/working-with-objects/_index.md
create mode 100755 content/es/docs/concepts/policy/_index.md
create mode 100755 content/es/docs/concepts/services-networking/_index.md
create mode 100755 content/es/docs/concepts/storage/_index.md
create mode 100644 content/es/docs/concepts/workloads/_index.md
create mode 100755 content/es/docs/concepts/workloads/controllers/_index.md
create mode 100755 content/es/docs/concepts/workloads/pods/_index.md
create mode 100644 content/es/docs/contribute/_index.md
create mode 100644 content/es/docs/contribute/generate-ref-docs/_index.md
create mode 100644 content/es/docs/contribute/style/_index.md
create mode 100755 content/es/docs/getting-started-guides/_index.md
create mode 100755 content/es/docs/getting-started-guides/fedora/_index.md
create mode 100644 content/es/docs/home/_index.md
create mode 100644 content/es/docs/reference/_index.md
create mode 100644 content/es/docs/reference/access-authn-authz/_index.md
create mode 100644 content/es/docs/reference/command-line-tools-reference/_index.md
create mode 100644 content/es/docs/reference/federation/_index.md
create mode 100755 content/es/docs/reference/glossary/index.md
create mode 100644 content/es/docs/reference/issues-security/_index.md
create mode 100755 content/es/docs/reference/kubectl/_index.md
create mode 100644 content/es/docs/reference/kubernetes-api/_index.md
create mode 100644 content/es/docs/reference/kubernetes-api/index.md
create mode 100644 content/es/docs/reference/setup-tools/_index.md
create mode 100755 content/es/docs/reference/setup-tools/kubeadm/_index.md
create mode 100644 content/es/docs/reference/setup-tools/kubeadm/generated/_index.md
create mode 100644 content/es/docs/reference/setup-tools/kubefed/_index.md
create mode 100644 content/es/docs/reference/using-api/_index.md
create mode 100644 content/es/docs/setup/_index.md
create mode 100644 content/es/docs/setup/custom-cloud/_index.md
create mode 100755 content/es/docs/setup/independent/_index.md
create mode 100644 content/es/docs/setup/on-premises-vm/_index.md
create mode 100755 content/es/docs/setup/release/_index.md
create mode 100644 content/es/docs/setup/turnkey/_index.md
create mode 100644 content/es/docs/setup/windows/_index.md
create mode 100755 content/es/docs/tasks/access-application-cluster/_index.md
create mode 100755 content/es/docs/tasks/access-kubernetes-api/_index.md
create mode 100755 content/es/docs/tasks/access-kubernetes-api/custom-resources/_index.md
create mode 100755 content/es/docs/tasks/administer-cluster/_index.md
create mode 100755 content/es/docs/tasks/administer-cluster/kubeadm/_index.md
create mode 100644 content/es/docs/tasks/administer-cluster/manage-resources/_index.md
create mode 100644 content/es/docs/tasks/administer-cluster/network-policy-provider/_index.md
create mode 100755 content/es/docs/tasks/configure-pod-container/_index.md
create mode 100755 content/es/docs/tasks/federation/_index.md
create mode 100755 content/es/docs/tasks/federation/administer-federation/_index.md
create mode 100755 content/es/docs/tasks/inject-data-application/_index.md
create mode 100644 content/es/docs/tasks/job/_index.md
create mode 100755 content/es/docs/tasks/manage-daemon/_index.md
create mode 100755 content/es/docs/tasks/run-application/_index.md
create mode 100755 content/es/docs/tasks/service-catalog/_index.md
create mode 100755 content/es/docs/tasks/tls/_index.md
create mode 100644 content/es/docs/tutorials/_index.md
create mode 100755 content/es/docs/tutorials/clusters/_index.md
create mode 100755 content/es/docs/tutorials/configuration/_index.md
create mode 100755 content/es/docs/tutorials/kubernetes-basics/_index.md
create mode 100644 content/es/docs/tutorials/kubernetes-basics/create-cluster/_index.md
create mode 100644 content/es/docs/tutorials/kubernetes-basics/deploy-app/_index.md
create mode 100644 content/es/docs/tutorials/kubernetes-basics/explore/_index.md
create mode 100644 content/es/docs/tutorials/kubernetes-basics/expose/_index.md
create mode 100644 content/es/docs/tutorials/kubernetes-basics/scale/_index.md
create mode 100644 content/es/docs/tutorials/kubernetes-basics/update/_index.md
create mode 100755 content/es/docs/tutorials/online-training/_index.md
create mode 100755 content/es/docs/tutorials/services/_index.md
create mode 100755 content/es/docs/tutorials/stateful-application/_index.md
create mode 100755 content/es/docs/tutorials/stateless-application/_index.md
diff --git a/content/es/docs/concepts/_index.md b/content/es/docs/concepts/_index.md
new file mode 100644
index 0000000000..0f3ba008fc
--- /dev/null
+++ b/content/es/docs/concepts/_index.md
@@ -0,0 +1,77 @@
+---
+title: Conceptos
+main_menu: true
+content_template: templates/concept
+weight: 40
+---
+
+{{% capture overview %}}
+
+La sección de conceptos te ayudará a conocer los componentes de Kubernetes así como las abstracciones que utiliza para representar tu cluster. Además, te ayudará a obtener un conocimiento más profundo sobre cómo funciona Kubernetes.
+
+{{% /capture %}}
+
+{{% capture body %}}
+
+## Introducción
+
+En Kubernetes se utilizan objetos *objetos de la API de Kubernetes* para describir el *estado deseado* del clúster: qué aplicaciones u otras cargas de trabajo se quieren ejecutar, qué imagenes de contendores usan, el número de replicas, qué red y qué recursos de almacenamiento quieres que tengan disponibles, etc. Se especifica el estado deseado del clúster mediante la creación de objetos usando la API de Kubernetes, típicamente mediante la interfaz de línea de comandos, `kubectl`. También se puede usar la API de Kubernetes directamente para interactuar con el clúster y especificar o modificar tu estado deseado.
+
+Una vez que se especifica el estado deseado, el *Plano de Control de Kubernetes* realizará las acciones necesarias para que el estado actual del clúster coincida con el estado deseado. Para ello, Kubernetes realiza diferentes tareas de forma automática, como pueden ser: parar o arrancar contenedores, escalar el número de réplicas de una aplicación dada, etc. El Plano de Control de Kubernetes consiste en un grupo de procesos que corren en tu clúster:
+
+* El **Master de Kubernetes** es un conjunto de tres procesos que se ejecutan en un único nodo del clúster, que se denomina nodo master. Estos procesos son: [kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) y [kube-scheduler](/docs/admin/kube-scheduler/).
+
+* Los restantes nodos no master contenidos en tu clúster, ejecutan los siguientes dos procesos:
+ * **[kubelet](/docs/admin/kubelet/)**, el cual se comunica con el Master de Kubernetes.
+ * **[kube-proxy](/docs/admin/kube-proxy/)**, un proxy de red que implementa los servicios de red de Kubernetes en cada nodo.
+
+## Objetos de Kubernetes
+
+Kubernetes tiene diferentes abstracciones que representan el estado de tu sistema: aplicaciones contenerizadas desplegadas y cargas de trabajo, sus recursos de red y almacenamiento asociados e información adicional acerca de lo que el clúster está haciendo en un momento dado. Estas abstracciones están representadas por objetos de la API de Kubernetes. Puedes revisar [Entendiendo los Objetos de Kubernetes] (/docs/concepts/overview/working-with-objects/kubernetes-objects/) para obtener más detalles.
+
+Los objetos básicos de Kubernetes incluyen:
+
+* [Pod](/docs/concepts/workloads/pods/pod-overview/)
+* [Service](/docs/concepts/services-networking/service/)
+* [Volume](/docs/concepts/storage/volumes/)
+* [Namespace](/docs/concepts/overview/working-with-objects/namespaces/)
+
+Además, Kubernetes contiene abstracciónes de nivel superior llamadas Controladores. Los Controladores se basan en los objetos básicos y proporcionan funcionalidades adicionales sobre ellos. Incluyen:
+
+* [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)
+* [Deployment](/docs/concepts/workloads/controllers/deployment/)
+* [StatefulSet](/docs/concepts/workloads/controllers/statefulset/)
+* [DaemonSet](/docs/concepts/workloads/controllers/daemonset/)
+* [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)
+
+
+## Plano de Control de Kubernetes
+
+Los distintos componentes del Plano de Control de Kubernetes, tales como el Master de Kubernetes y el proceso kubelet, gobiernan cómo Kubernetes se comunica con el clúster. El Plano de Control mantiene un registro de todos los Objetos de Kubernetes presentes en el sistema y ejecuta continuos bucles de control para gestionar el estado de los mismos. En un momento dado, los bucles del Plano de Control responderán a los cambios que se realicen en el clúster y ejecutarán las acciones necesarias para hacer que el estado actual de todos los objetos del sistema converjan hacia el estado deseado que has proporcionado.
+
+Por ejemplo, cuando usas la API de Kubernetes para crear un Deployment, estás proporcionando un nuevo estado deseado para el sistema. El Plano de Control de Kubernetes registra la creación del objeto y lleva a cabo tus instrucciones ejecutando las aplicaciones requeridas en los nodos del clúster, haciendo de esta manera que el estado actual coincida con el estado deseado.
+
+### El Master de Kubernetes
+
+El Master de Kubernetes es el responsable de mantener el estado deseado de tu clúster. Cuando interactuas con Kubernetes, como por ejemplo cuando utilizas la interfaz de línea de comandos `kubectl`, te estás comunicando con el master de tu clúster de Kubernetes.
+
+> Por "master" entendemos la colección de procesos que gestionan el estado del clúster. Típicamente, estos procesos se ejecutan todos en un único nodo del clúster, y este nodo recibe por tanto la denominación de master. El master puede estar replicado por motivos de disponibilidad y redundancia.
+
+### Kubernetes Nodes
+
+En un clúster de Kubernetes, los nodos son las máquinas (máquinas virtuales, servidores físicos, etc) que ejecutan tus aplicaciones y flujos de trabajo en la nube. El master de Kubernetes controla cada nodo, por lo que en raras ocasiones interactuarás con los nodos directamente.
+
+#### Metadatos de los Objectos
+
+
+* [Annotations](/docs/concepts/overview/working-with-objects/annotations/)
+
+{{% /capture %}}
+
+{{% capture whatsnext %}}
+
+Si estás interesado en escribir una página sobre conceptos,
+revisa [Usando Templates de Páginas](/docs/home/contribute/page-templates/)
+para obtener información sobre el tipo de página conceptos y la plantilla conceptos.
+
+{{% /capture %}}
diff --git a/content/es/docs/concepts/architecture/_index.md b/content/es/docs/concepts/architecture/_index.md
new file mode 100755
index 0000000000..19abc5cc6a
--- /dev/null
+++ b/content/es/docs/concepts/architecture/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Arquitectura de Kubernetes"
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/cluster-administration/_index.md b/content/es/docs/concepts/cluster-administration/_index.md
new file mode 100755
index 0000000000..481d4b2351
--- /dev/null
+++ b/content/es/docs/concepts/cluster-administration/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Administración del Clúster"
+weight: 100
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/configuration/_index.md b/content/es/docs/concepts/configuration/_index.md
new file mode 100755
index 0000000000..5904a7954f
--- /dev/null
+++ b/content/es/docs/concepts/configuration/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Configuración"
+weight: 80
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/containers/_index.md b/content/es/docs/concepts/containers/_index.md
new file mode 100755
index 0000000000..bf9014d4d3
--- /dev/null
+++ b/content/es/docs/concepts/containers/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Contenedores"
+weight: 40
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/extend-kubernetes/_index.md b/content/es/docs/concepts/extend-kubernetes/_index.md
new file mode 100644
index 0000000000..044906f270
--- /dev/null
+++ b/content/es/docs/concepts/extend-kubernetes/_index.md
@@ -0,0 +1,4 @@
+---
+title: Extendiendo Kubernetes
+weight: 110
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/extend-kubernetes/api-extension/_index.md b/content/es/docs/concepts/extend-kubernetes/api-extension/_index.md
new file mode 100644
index 0000000000..4048752553
--- /dev/null
+++ b/content/es/docs/concepts/extend-kubernetes/api-extension/_index.md
@@ -0,0 +1,4 @@
+---
+title: Extendiendo la API de Kubernetes
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/extend-kubernetes/compute-storage-net/_index.md b/content/es/docs/concepts/extend-kubernetes/compute-storage-net/_index.md
new file mode 100644
index 0000000000..56ea1be43e
--- /dev/null
+++ b/content/es/docs/concepts/extend-kubernetes/compute-storage-net/_index.md
@@ -0,0 +1,4 @@
+---
+title: Extensiones de computación, almacenamiento y redes
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/overview/_index.md b/content/es/docs/concepts/overview/_index.md
new file mode 100755
index 0000000000..d5796bb228
--- /dev/null
+++ b/content/es/docs/concepts/overview/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Introducción"
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/overview/object-management-kubectl/_index.md b/content/es/docs/concepts/overview/object-management-kubectl/_index.md
new file mode 100755
index 0000000000..c0940f2533
--- /dev/null
+++ b/content/es/docs/concepts/overview/object-management-kubectl/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Gestión de objetos usando kubectl"
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/overview/working-with-objects/_index.md b/content/es/docs/concepts/overview/working-with-objects/_index.md
new file mode 100755
index 0000000000..4839632a12
--- /dev/null
+++ b/content/es/docs/concepts/overview/working-with-objects/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Objetos de Kubernetes"
+weight: 40
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/policy/_index.md b/content/es/docs/concepts/policy/_index.md
new file mode 100755
index 0000000000..3182c94f7d
--- /dev/null
+++ b/content/es/docs/concepts/policy/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Políticas"
+weight: 90
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/services-networking/_index.md b/content/es/docs/concepts/services-networking/_index.md
new file mode 100755
index 0000000000..c56bd9984b
--- /dev/null
+++ b/content/es/docs/concepts/services-networking/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Servicios, balanceo de carga y redes"
+weight: 60
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/storage/_index.md b/content/es/docs/concepts/storage/_index.md
new file mode 100755
index 0000000000..bc813b397b
--- /dev/null
+++ b/content/es/docs/concepts/storage/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Almacenamiento"
+weight: 70
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/workloads/_index.md b/content/es/docs/concepts/workloads/_index.md
new file mode 100644
index 0000000000..14aa8f653f
--- /dev/null
+++ b/content/es/docs/concepts/workloads/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Cargas de trabajo"
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/workloads/controllers/_index.md b/content/es/docs/concepts/workloads/controllers/_index.md
new file mode 100755
index 0000000000..8393a22418
--- /dev/null
+++ b/content/es/docs/concepts/workloads/controllers/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Controladores"
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/concepts/workloads/pods/_index.md b/content/es/docs/concepts/workloads/pods/_index.md
new file mode 100755
index 0000000000..b5db982c71
--- /dev/null
+++ b/content/es/docs/concepts/workloads/pods/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Pods"
+weight: 10
+---
\ No newline at end of file
diff --git a/content/es/docs/contribute/_index.md b/content/es/docs/contribute/_index.md
new file mode 100644
index 0000000000..dc9de6efaa
--- /dev/null
+++ b/content/es/docs/contribute/_index.md
@@ -0,0 +1,85 @@
+---
+content_template: templates/concept
+title: Contribuir a la documentación de Kubernetes
+linktitle: Contribuir
+main_menu: true
+weight: 80
+---
+
+{{% capture overview %}}
+
+Kubernetes es posible gracias a la participación de la comunidad y la
+documentación es vital para facilitar el acceso al proyecto.
+
+Cualquiera puede contribuir en el proyecto de Kubernetes, tanto si acabas de
+descubrir la plataforma como si lleves años involucrado. Tampoco importa si
+eres desarrollador, usuario final o alguien que simplemente no soporta ver
+errores tipográficos. **¡Cualquier contribución será bien recibida!**
+
+Para conocer más formas de involucrarse en la comunidad de Kubernetes o de
+aprender sobre nosotros, visite la sección [comunidad de Kubernetes](/community/).
+
+Para obtener información cómo escribir documentación de Kubernetes,
+consulte la [guía de estilo](/docs/contribute/style/style-guide/).
+
+{{% capture body %}}
+
+## Tipos de contribuidores
+
+- _**Kubernetes Member**_, un miembro de la organziación de Kubernetes que ha
+ [firmado el CLA](/docs/contribute/start#sign-the-cla) y contribuido al projecto.
+ Puedes consultar más información en el documento sobre los requisitos para ser
+ miembro de Kubernetes en el documento _[Community membership](https://github.com/kubernetes/community/blob/master/community-membership.md)_.
+
+- _**SIG Docs reviewer**_, un revisor del grupo de interés de documentación es
+ un miembro de la organización Kubernetes que tiene interés en revisar las
+ _pull requests_ relacionadas con el site y la documentación. Para poder ser
+ revisor, un aprobador de SIG Docs debe añadirlo al grupo adecuado de GitHub y
+ al fichero `OWNERS` del contenido que está interesado en revisar.
+
+- _**SIG Docs approver**_, un aprobador del grupo de interés de documentación
+ es un miembro de la organización de Kubernetes con buena reputación y que ha
+ mostrado una compromiso continuado con el proyecto.
+ Un aprobador se responsabiliza de mergear las _pull requests_ y publicar
+ contenido en nombre de la organización Kubernetes. Los aprobadores también
+ pueden representar a SIG Docs en la comunidad de Kubernetes en general.
+ Algunas de las responsabilidades de un aprobador de SIG Docs, como por ejemplo
+ coordinar una _release_, requieren un compromiso de tiempo significativo.
+
+## Cómo contribuir
+
+La siguiente lista está organizada por el nivel de implicación con la comunidad,
+desde las contribuciones que cualquiera puede hacer hasta las que requieren un
+compromiso con el equipo de documentación y estar familiarizado con los procesos
+de SIG Docs. Contribuir consistentemente a lo largo del tiempo puede ayudarte a
+comprender algunas de las herramientas y decisiones organizativas que se han ido
+tomando a lo largo del proyecto.
+
+La lista no contiene todas las formas de contribución posibles, está pensada
+para proporcionar un punto de partida.
+
+- [Todo el mundo](/docs/contribute/start/)
+ - Abrir issues accionables para que el equipo pueda trabajar en ello
+- [Miembro](/docs/contribute/start/)
+ - Mejorar la documetanción existente
+ - Proponer ideas de mejora en [Slack](http://slack.k8s.io/) o en [SIG docs mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
+ - Mejorar la accesibilidad de la documentación
+ - Proporcionar comentarios no vinculantes sobre PRs
+ - Escribir una entrada para el blog o un caso de estudio
+- [Revisor](/docs/contribute/intermediate/)
+ - Documentar nuevas funcionalidades
+ - Selección y clasificacion de nuevos Issues
+ - Revisar PRs
+ - Crear diagramas, material gráfico y screencasts / videos
+ - Localización del contenido
+ - Contribuye a otros repos como representante del equipo de documentación
+ - Edit user-facing strings in code
+ - Mejorar los comentarios de código, Godoc
+- [Aprobador](/docs/contribute/advanced/)
+ - Publicar el contenido de colaboradores aprobando y mergeando las PRs
+ - Participar en el equipo de Release de Kubernetes como representeante del equipo de Docs
+ - Proponer mejoras a la guía de estilo
+ - Proponer mejoras a los tests de la documentación
+ - Proponer mejoras al sitio web de Kubernetes y otras herramientas
+
+{{% /capture %}}
diff --git a/content/es/docs/contribute/generate-ref-docs/_index.md b/content/es/docs/contribute/generate-ref-docs/_index.md
new file mode 100644
index 0000000000..cc6138d331
--- /dev/null
+++ b/content/es/docs/contribute/generate-ref-docs/_index.md
@@ -0,0 +1,10 @@
+---
+title: Documentación de referencia
+main_menu: true
+weight: 80
+---
+
+Gran parte de la documentación de referencia de **Kubernetes** se genera a
+partir del propio **código fuente de Kubernetes** utilizando scripts.
+
+Los temas de esta sección documentan cómo generar este tipo de contenido.
\ No newline at end of file
diff --git a/content/es/docs/contribute/style/_index.md b/content/es/docs/contribute/style/_index.md
new file mode 100644
index 0000000000..c9ba1deff1
--- /dev/null
+++ b/content/es/docs/contribute/style/_index.md
@@ -0,0 +1,12 @@
+---
+title: Cómo escribir documentación
+main_menu: true
+weight: 80
+---
+
+Los temas de esta sección proporcionan información sobre como **escribir**,
+**formatear** y **organizar** el contenido de la documentación de Kubernetes.
+
+También se explican las funciones, templates, variables y otras configuraciones
+de **[Hugo](https://gohugo.io/)** utilizadas para generar y dar formato a
+[kubernetes.io](https://kubernetes.io).
\ No newline at end of file
diff --git a/content/es/docs/getting-started-guides/_index.md b/content/es/docs/getting-started-guides/_index.md
new file mode 100755
index 0000000000..47a9f311dd
--- /dev/null
+++ b/content/es/docs/getting-started-guides/_index.md
@@ -0,0 +1,4 @@
+---
+title: Guías de iniciación
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/getting-started-guides/fedora/_index.md b/content/es/docs/getting-started-guides/fedora/_index.md
new file mode 100755
index 0000000000..68049c590c
--- /dev/null
+++ b/content/es/docs/getting-started-guides/fedora/_index.md
@@ -0,0 +1,4 @@
+---
+title: Fedora
+weight: 60
+---
\ No newline at end of file
diff --git a/content/es/docs/home/_index.md b/content/es/docs/home/_index.md
new file mode 100644
index 0000000000..0728e74ba7
--- /dev/null
+++ b/content/es/docs/home/_index.md
@@ -0,0 +1,57 @@
+---
+title: Documentación de Kubernetes
+noedit: true
+cid: docsHome
+layout: docsportal_home
+class: gridPage
+linkTitle: "Home"
+main_menu: true
+weight: 10
+hide_feedback: true
+menu:
+ main:
+ title: "Documentación"
+ weight: 20
+ post: >
+
Aprenda cómo usar Kubernetes con la documentación, los tutoriales y revisando la información de referencia. También puedes contribuir con la documentación!
+overview: >
+ Kubernetes es una plataforma de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores.
+ El proyecto está amparado por la Cloud Native Computing Foundation (CNCF).
+cards:
+- name: concepts
+ title: Entiende los conceptos básicos
+ description: Aprender sobre Kubernetes y sus conceptos fundamentales.
+ button: Aprender conceptos
+ button_path: "/docs/concepts"
+- name: tutorials
+ title: Prueba Kubernetes
+ description: Sigue los tutoriales para aprender a implementar aplicaciones en Kubernetes.
+ button: Ver tutoriales
+ button_path: "/docs/tutorials"
+- name: setup
+ title: Configura un clúster
+ description: Configura un clúster de Kubernetes en función de sus recursos y necesidades.
+ button: Configurar Kubernetes
+ button_path: "/docs/setup"
+- name: tasks
+ title: Aprenda a usar Kubernetes
+ description: Busca tareas comunes y aprende cómo llevarlas a cabo siguiendo un procedimiento.
+ button: Ver tareas
+ button_path: "/docs/tasks"
+- name: reference
+ title: Busque información de referencia
+ description: Examine la terminología, la sintaxis de la línea de comandos, los tipos de recursos API y la documentación de las herramientas de configuración.
+ button: Ver información de referencia
+ button_path: /docs/reference
+- name: contribute
+ title: Contribuye a la documentación
+ description: Cualquiera puede contribuir, ya sea nuevo en el proyecto o si lleva tiempo participando.
+ button: Contribuir
+ button_path: /docs/contribute
+- name: download
+ title: Descargar Kubernetes
+ description: Si está instalando Kubernetes o está actualizando a la versión más reciente, consulte las notas de la versión actual.
+- name: about
+ title: Sobre la documentacion
+ description: Este sitio web contiene documentación para las 4 versiones actuales y anteriores de Kubernetes. La documentación en castellano está en progreso y, por ese motivo, muchas de las páginas llevan a la versión inglesa.
+---
diff --git a/content/es/docs/reference/_index.md b/content/es/docs/reference/_index.md
new file mode 100644
index 0000000000..ae49836e5f
--- /dev/null
+++ b/content/es/docs/reference/_index.md
@@ -0,0 +1,64 @@
+---
+title: Referencia
+approvers:
+- raelga
+linkTitle: "Referencia"
+main_menu: true
+weight: 70
+content_template: templates/concept
+---
+
+{{% capture overview %}}
+
+Esta sección de la documentación de Kubernetes contiene información de referencia.
+
+{{% /capture %}}
+
+{{% capture body %}}
+
+## Información de referencia sobre la API
+
+* [Descripción general de la API de Kubernetes](/docs/reference/using-api/api-overview/)
+* Documentación de referencia de las últimas versiones de la API de Kubernetes:
+ * [1.14](/docs/reference/generated/kubernetes-api/v1.14/)
+ * [1.13](/docs/reference/generated/kubernetes-api/v1.13/)
+ * [1.12](/docs/reference/generated/kubernetes-api/v1.12/)
+ * [1.11](/docs/reference/generated/kubernetes-api/v1.11/)
+ * [1.10](/docs/reference/generated/kubernetes-api/v1.10/)
+
+## Librerías de cliente para la API
+
+Para llamar a la API de Kubernetes desde un lenguaje de programación, puedes usar
+[librerías de cliente](/docs/reference/using-api/client-libraries/).
+
+En estos momento, las librerías con soporte oficial son:
+
+- [Kubernetes Go client library](https://github.com/kubernetes/client-go/)
+- [Kubernetes Python client library](https://github.com/kubernetes-client/python)
+- [Kubernetes Java client library](https://github.com/kubernetes-client/java)
+- [Kubernetes JavaScript client library](https://github.com/kubernetes-client/javascript)
+
+## Información de referencia sobre la CLI
+
+* [kubectl](/docs/user-guide/kubectl-overview) - Utilidad CLI para ejecutar comandos y administrar clústeres de Kubernetes.
+ * [JSONPath](/docs/user-guide/jsonpath/) - Guía de sintaxis para el uso de [expresiones JSONPath](http://goessner.net/articles/JsonPath/) con kubectl.
+* [kubeadm](/docs/admin/kubeadm/) - Utilidad CLI para aprovisionar fácilmente un clústeres Kubernetes seguro.
+* [kubefed](/docs/admin/kubefed/) - Utilidad CLI para ayudarte a administrar tus clústeres federados.
+
+## Información de referencia sobre la configuración
+
+* [kubelet](/docs/admin/kubelet/) - El principal *agente* que se ejecuta en cada nodo. El kubelet toma un conjunto de PodSpecs y asegura que los contenedores descritos estén funcionando y en buen estado.
+* [kube-apiserver](/docs/admin/kube-apiserver/) - API REST que valida y configura datos para objetos API como pods, servicios, controladores de replicación, ...
+* [kube-controller-manager](/docs/admin/kube-controller-manager/) - Demonio que integra los bucles de control enviados con Kubernetes.
+* [kube-proxy](/docs/admin/kube-proxy/) - Puede hacer fowarding simple o con round-robin de TCP/UDP a través de un conjunto de back-ends.
+* [kube-scheduler](/docs/admin/kube-scheduler/) - Planificador que gestiona la disponibilidad, el rendimiento y la capacidad.
+* [federation-apiserver](/docs/admin/federation-apiserver/) - Servidor API para clusters federados.
+* [federation-controller-manager](/docs/admin/federation-controller-manager/) - Demonio que integra los bucles de control enviados con la federación Kubernetes.
+
+## Documentos de diseño
+
+Un archivo de los documentos de diseño para la funcionalidad de Kubernetes.
+
+Puedes empezar por [Arquitectura de Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) y [Vista general del diseño de Kubernetes](https://git.k8s.io/community/contributors/design-proposals).
+
+{{% /capture %}}
diff --git a/content/es/docs/reference/access-authn-authz/_index.md b/content/es/docs/reference/access-authn-authz/_index.md
new file mode 100644
index 0000000000..6c7b80df9c
--- /dev/null
+++ b/content/es/docs/reference/access-authn-authz/_index.md
@@ -0,0 +1,5 @@
+---
+title: Accediendo a la API de Kubernetes
+weight: 25
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/command-line-tools-reference/_index.md b/content/es/docs/reference/command-line-tools-reference/_index.md
new file mode 100644
index 0000000000..85be6fef07
--- /dev/null
+++ b/content/es/docs/reference/command-line-tools-reference/_index.md
@@ -0,0 +1,5 @@
+---
+title: Herramientas de línea de comandos
+weight: 60
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/federation/_index.md b/content/es/docs/reference/federation/_index.md
new file mode 100644
index 0000000000..f7b6d41eda
--- /dev/null
+++ b/content/es/docs/reference/federation/_index.md
@@ -0,0 +1,4 @@
+---
+title: Federation API
+weight: 70
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/glossary/index.md b/content/es/docs/reference/glossary/index.md
new file mode 100755
index 0000000000..e87fed1b50
--- /dev/null
+++ b/content/es/docs/reference/glossary/index.md
@@ -0,0 +1,11 @@
+---
+title: Glosario de términos
+layout: glossary
+noedit: true
+default_active_tag: fundamental
+weight: 5
+card:
+ name: reference
+ weight: 10
+ title: Glosario
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/issues-security/_index.md b/content/es/docs/reference/issues-security/_index.md
new file mode 100644
index 0000000000..3d88675ffc
--- /dev/null
+++ b/content/es/docs/reference/issues-security/_index.md
@@ -0,0 +1,5 @@
+---
+title: Reportando problemas en Kubernetes
+weight: 35
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/kubectl/_index.md b/content/es/docs/reference/kubectl/_index.md
new file mode 100755
index 0000000000..61e291af25
--- /dev/null
+++ b/content/es/docs/reference/kubectl/_index.md
@@ -0,0 +1,4 @@
+---
+title: "kubectl CLI"
+weight: 10
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/kubernetes-api/_index.md b/content/es/docs/reference/kubernetes-api/_index.md
new file mode 100644
index 0000000000..0aa61fa506
--- /dev/null
+++ b/content/es/docs/reference/kubernetes-api/_index.md
@@ -0,0 +1,4 @@
+---
+title: Kubernetes API
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/kubernetes-api/index.md b/content/es/docs/reference/kubernetes-api/index.md
new file mode 100644
index 0000000000..6dd76f70f9
--- /dev/null
+++ b/content/es/docs/reference/kubernetes-api/index.md
@@ -0,0 +1,5 @@
+---
+title: v1.14
+---
+
+[Kubernetes API v1.14](/docs/reference/generated/kubernetes-api/v1.14/)
\ No newline at end of file
diff --git a/content/es/docs/reference/setup-tools/_index.md b/content/es/docs/reference/setup-tools/_index.md
new file mode 100644
index 0000000000..22448e554f
--- /dev/null
+++ b/content/es/docs/reference/setup-tools/_index.md
@@ -0,0 +1,5 @@
+---
+title: Herramientas de configuración
+weight: 50
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/setup-tools/kubeadm/_index.md b/content/es/docs/reference/setup-tools/kubeadm/_index.md
new file mode 100755
index 0000000000..ab7a20c772
--- /dev/null
+++ b/content/es/docs/reference/setup-tools/kubeadm/_index.md
@@ -0,0 +1,5 @@
+---
+title: "kubeadm"
+weight: 10
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/setup-tools/kubeadm/generated/_index.md b/content/es/docs/reference/setup-tools/kubeadm/generated/_index.md
new file mode 100644
index 0000000000..a7c0a18112
--- /dev/null
+++ b/content/es/docs/reference/setup-tools/kubeadm/generated/_index.md
@@ -0,0 +1,5 @@
+---
+title: "kubeadm (auto-generado)"
+weight: 10
+toc_hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/setup-tools/kubefed/_index.md b/content/es/docs/reference/setup-tools/kubefed/_index.md
new file mode 100644
index 0000000000..03e6a8b0c7
--- /dev/null
+++ b/content/es/docs/reference/setup-tools/kubefed/_index.md
@@ -0,0 +1,5 @@
+---
+title: kubefed
+weight: 20
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/reference/using-api/_index.md b/content/es/docs/reference/using-api/_index.md
new file mode 100644
index 0000000000..9b0f1f1192
--- /dev/null
+++ b/content/es/docs/reference/using-api/_index.md
@@ -0,0 +1,5 @@
+---
+title: Utilizando la API de Kubernetes
+weight: 20
+toc-hide: true
+---
\ No newline at end of file
diff --git a/content/es/docs/setup/_index.md b/content/es/docs/setup/_index.md
new file mode 100644
index 0000000000..22aba982c8
--- /dev/null
+++ b/content/es/docs/setup/_index.md
@@ -0,0 +1,102 @@
+---
+no_issue: true
+title: Setup
+main_menu: true
+weight: 30
+content_template: templates/concept
+---
+
+{{% capture overview %}}
+
+En esta sección encontrarás toda la información necesaria para poder identificar
+**la solución que mejor se adapta a tus necesidades**.
+
+Decidir dónde ejecutar Kubernetes depende principalmente de los recursos que
+tengas disponibles, de las características del clúster y de cuánta flexibilidad
+necesites.
+
+Puedes ejecutar Kubernetes casi en cualquier lugar, desde su ordenador portátil
+a máquinas virtuales en la nube o en un rack de servidores físicos on-premises.
+
+Puedes configurar un clúster totalmente gestionado ejecutando un solo comando,
+desplegar una solución parcialmente automatizada que te ofrezca un poco más de
+control o directamente crear tu propio clúster de forma completamente manual
+personalizando y controlando cada componente.
+
+{{% /capture %}}
+
+{{% capture body %}}
+
+## Soluciones para la máquina en local
+
+Una solución para la máquina en local es la forma más sencilla de empezar a
+utilizar Kubernetes. Puedes crear y probar clústeres de Kubernetes sin tener
+que preocuparte por consumir recursos en el cloud ni disponer de conectividad.
+
+Deberías elegir una solución de este tipo si buscas:
+
+* Probar o empezar a aprender sobre Kubernetes.
+* Desarrollar y testear clústeres localmente.
+
+Elige una [solución de máquina local](/docs/setup/pick-right-solution/#local-machine-solutions).
+
+## Soluciones gestionadas
+
+Una solución gestionada es la forma más conveniente de crear y gestionar un
+clúster de Kubernetes. El proveedor gestiona y opera los clústeres completamente
+por lo que tú no has de preocuparte de nada.
+
+Deberías elegir una solución de este tipo si:
+
+* Quieres una solución totalmente gestionada.
+* Quieres centrarte en desarrollar tus aplicaciones o servicios.
+* No tienes un equipo dedicado de operaciones pero quieres alta disponibilidad.
+* No tienes recursos para alojar y monitorizar sus clústeres.
+
+Elige una [solución gestionada](/docs/setup/pick-right-solution/#hosted-solutions).
+
+## Soluciones sobre IaaS en la nube
+
+Un solución sobre IaaS en la nube permite crear clústeres Kubernetes con solo
+unos pocos comandos, se encuentran en desarrollo activo, tienen el apoyo de la
+comunidad y algunas de ellas forman parte del proyecto Kubernetes.
+Se pueden desplegar en la infaestructura como servicio (IaaS) proporcionada por
+los proveedores en la nube y ofrecen más flexibilidad que las soluciones
+gestionadas, pero requieren más conocimientos para ponerlos en marcha y más
+esfuerzo para operarlos.
+
+Deberías elegir una solución de este tipo si:
+
+* Necesitas más control que el permitido en las soluciones gestionadas.
+* Quieres responsabilizarte de la operativa de los clústeres.
+
+Elige una [solución sobre IaaS en la nube](/docs/setup/pick-right-solution/#turnkey-cloud-solutions)
+
+## Soluciones sobre virtualización On-Premises
+
+Una solución sobre virtualización sobre on-premises permite crear clústeres y
+operarlos de forma segura en tú nube privada con solo unos pocos comandos.
+
+Deberías elegir una solución de este tipo si:
+
+* Quieres desplegar clústeres en su nube privada dentro de tú red.
+* Tienes un equipo de operaciones para desplegar y operar el clúster.
+* Tienes los recursos necesarios para ejecutar y monitorizar el clúster.
+
+Elige una [solución sobre virtualización On-Premises](/docs/setup/pick-right-solution/#on-premises-turnkey-cloud-solutions).
+
+## Soluciones personalizadas
+
+Una solución personalizadas proporciona total libertad sobre los clústeres
+pero requiere mucho más conocimiento y experiencia. Este tipo de soluciones se
+pueden desplegar tanto en servidores físicos (_bare-metal_) como en instancias
+virtualizadas con diferentes sistemas operativos, en on-premises o en el cloud.
+
+Selecciona una [solución personalizada](/docs/setup/pick-right-solution/#custom-solutions).
+
+{{% /capture %}}
+
+{{% capture whatsnext %}}
+Para una lista completa de soluciones, consulta la sección
+[Escoge la solución correcta](/docs/setup/pick-right-solution/).
+{{% /capture %}}
\ No newline at end of file
diff --git a/content/es/docs/setup/custom-cloud/_index.md b/content/es/docs/setup/custom-cloud/_index.md
new file mode 100644
index 0000000000..1cad3c7d45
--- /dev/null
+++ b/content/es/docs/setup/custom-cloud/_index.md
@@ -0,0 +1,4 @@
+---
+title: Soluciones personalizadas
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/setup/independent/_index.md b/content/es/docs/setup/independent/_index.md
new file mode 100755
index 0000000000..e1d8876ba9
--- /dev/null
+++ b/content/es/docs/setup/independent/_index.md
@@ -0,0 +1,4 @@
+---
+title: Desplegando un clúster con kubeadm
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/setup/on-premises-vm/_index.md b/content/es/docs/setup/on-premises-vm/_index.md
new file mode 100644
index 0000000000..89fb644522
--- /dev/null
+++ b/content/es/docs/setup/on-premises-vm/_index.md
@@ -0,0 +1,4 @@
+---
+title: Soluciones sobre virtualización On-Premises
+weight: 45
+---
\ No newline at end of file
diff --git a/content/es/docs/setup/release/_index.md b/content/es/docs/setup/release/_index.md
new file mode 100755
index 0000000000..7f6167dc7a
--- /dev/null
+++ b/content/es/docs/setup/release/_index.md
@@ -0,0 +1,4 @@
+---
+title: Descargando Kubernetes
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/setup/turnkey/_index.md b/content/es/docs/setup/turnkey/_index.md
new file mode 100644
index 0000000000..94fcb8c5fc
--- /dev/null
+++ b/content/es/docs/setup/turnkey/_index.md
@@ -0,0 +1,4 @@
+---
+title: Soluciones sobre IaaS en la nube
+weight: 40
+---
\ No newline at end of file
diff --git a/content/es/docs/setup/windows/_index.md b/content/es/docs/setup/windows/_index.md
new file mode 100644
index 0000000000..2d974ebe79
--- /dev/null
+++ b/content/es/docs/setup/windows/_index.md
@@ -0,0 +1,4 @@
+---
+title: Kubernetes sobre Windows
+weight: 65
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/access-application-cluster/_index.md b/content/es/docs/tasks/access-application-cluster/_index.md
new file mode 100755
index 0000000000..152ed70812
--- /dev/null
+++ b/content/es/docs/tasks/access-application-cluster/_index.md
@@ -0,0 +1,4 @@
+---
+title: Acceder al clúster y las aplicaciones
+weight: 60
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/access-kubernetes-api/_index.md b/content/es/docs/tasks/access-kubernetes-api/_index.md
new file mode 100755
index 0000000000..27620e0d3b
--- /dev/null
+++ b/content/es/docs/tasks/access-kubernetes-api/_index.md
@@ -0,0 +1,4 @@
+---
+title: Extender la API de Kubernetes
+weight: 90
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/access-kubernetes-api/custom-resources/_index.md b/content/es/docs/tasks/access-kubernetes-api/custom-resources/_index.md
new file mode 100755
index 0000000000..4c9196f8f3
--- /dev/null
+++ b/content/es/docs/tasks/access-kubernetes-api/custom-resources/_index.md
@@ -0,0 +1,4 @@
+---
+title: Usar recursos personalizados
+weight: 10
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/administer-cluster/_index.md b/content/es/docs/tasks/administer-cluster/_index.md
new file mode 100755
index 0000000000..936767310f
--- /dev/null
+++ b/content/es/docs/tasks/administer-cluster/_index.md
@@ -0,0 +1,4 @@
+---
+title: Administrar un clúster
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/administer-cluster/kubeadm/_index.md b/content/es/docs/tasks/administer-cluster/kubeadm/_index.md
new file mode 100755
index 0000000000..dc75587034
--- /dev/null
+++ b/content/es/docs/tasks/administer-cluster/kubeadm/_index.md
@@ -0,0 +1,5 @@
+---
+title: Administrar un clúster con kubeadm
+weight: 10
+---
+
diff --git a/content/es/docs/tasks/administer-cluster/manage-resources/_index.md b/content/es/docs/tasks/administer-cluster/manage-resources/_index.md
new file mode 100644
index 0000000000..3966468083
--- /dev/null
+++ b/content/es/docs/tasks/administer-cluster/manage-resources/_index.md
@@ -0,0 +1,4 @@
+---
+title: Administrar recursos de memoria, CPU y API
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/administer-cluster/network-policy-provider/_index.md b/content/es/docs/tasks/administer-cluster/network-policy-provider/_index.md
new file mode 100644
index 0000000000..f38756b12c
--- /dev/null
+++ b/content/es/docs/tasks/administer-cluster/network-policy-provider/_index.md
@@ -0,0 +1,4 @@
+---
+title: Instalar un proveedor de políticas de red
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/configure-pod-container/_index.md b/content/es/docs/tasks/configure-pod-container/_index.md
new file mode 100755
index 0000000000..8772ca1738
--- /dev/null
+++ b/content/es/docs/tasks/configure-pod-container/_index.md
@@ -0,0 +1,4 @@
+---
+title: Configurar pods y contenedores
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/debug-application-cluster/_index.md b/content/es/docs/tasks/debug-application-cluster/_index.md
index edce58d23a..12bb04c317 100644
--- a/content/es/docs/tasks/debug-application-cluster/_index.md
+++ b/content/es/docs/tasks/debug-application-cluster/_index.md
@@ -1,5 +1,4 @@
---
-title: "Monitoring, Logging, and Debugging"
+title: "Monitorización, Logs y Debugging"
weight: 80
----
-
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/federation/_index.md b/content/es/docs/tasks/federation/_index.md
new file mode 100755
index 0000000000..20e516e48a
--- /dev/null
+++ b/content/es/docs/tasks/federation/_index.md
@@ -0,0 +1,4 @@
+---
+title: Federación
+weight: 120
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/federation/administer-federation/_index.md b/content/es/docs/tasks/federation/administer-federation/_index.md
new file mode 100755
index 0000000000..97e02b146e
--- /dev/null
+++ b/content/es/docs/tasks/federation/administer-federation/_index.md
@@ -0,0 +1,4 @@
+---
+title: Administrar la federación de clústeres
+weight: 160
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/inject-data-application/_index.md b/content/es/docs/tasks/inject-data-application/_index.md
new file mode 100755
index 0000000000..0a6bc32ae1
--- /dev/null
+++ b/content/es/docs/tasks/inject-data-application/_index.md
@@ -0,0 +1,4 @@
+---
+title: Inyectar datos en las aplicaciones
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/job/_index.md b/content/es/docs/tasks/job/_index.md
new file mode 100644
index 0000000000..1b3ffd955e
--- /dev/null
+++ b/content/es/docs/tasks/job/_index.md
@@ -0,0 +1,4 @@
+---
+title: Gestionar y ejecutar trabajos
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/manage-daemon/_index.md b/content/es/docs/tasks/manage-daemon/_index.md
new file mode 100755
index 0000000000..000b87a214
--- /dev/null
+++ b/content/es/docs/tasks/manage-daemon/_index.md
@@ -0,0 +1,4 @@
+---
+title: Gestionar y ejecutar demonios
+weight: 45
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/run-application/_index.md b/content/es/docs/tasks/run-application/_index.md
new file mode 100755
index 0000000000..1623b7de3b
--- /dev/null
+++ b/content/es/docs/tasks/run-application/_index.md
@@ -0,0 +1,4 @@
+---
+title: Gestionar y ejecutar aplicaciones
+weight: 40
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/service-catalog/_index.md b/content/es/docs/tasks/service-catalog/_index.md
new file mode 100755
index 0000000000..e6f68ae3b5
--- /dev/null
+++ b/content/es/docs/tasks/service-catalog/_index.md
@@ -0,0 +1,4 @@
+---
+title: Catálogo de servicios
+weight: 150
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/tls/_index.md b/content/es/docs/tasks/tls/_index.md
new file mode 100755
index 0000000000..401c0149ab
--- /dev/null
+++ b/content/es/docs/tasks/tls/_index.md
@@ -0,0 +1,4 @@
+---
+title: Gestionar certificados TLS
+weight: 100
+---
\ No newline at end of file
diff --git a/content/es/docs/tasks/tools/_index.md b/content/es/docs/tasks/tools/_index.md
index 54e1aae00d..02f8add154 100644
--- a/content/es/docs/tasks/tools/_index.md
+++ b/content/es/docs/tasks/tools/_index.md
@@ -1,4 +1,4 @@
---
title: "Instalar herramientas"
weight: 10
----
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/_index.md b/content/es/docs/tutorials/_index.md
new file mode 100644
index 0000000000..e7638f1344
--- /dev/null
+++ b/content/es/docs/tutorials/_index.md
@@ -0,0 +1,76 @@
+---
+title: Tutoriales
+main_menu: true
+weight: 60
+content_template: templates/concept
+---
+
+{{% capture overview %}}
+
+Esta sección de la documentación de Kubernetes contiene tutoriales.
+
+Un tutorial muestra cómo lograr una meta que es más grande que una sola
+[tarea](/docs/tasks/). Típicamente un tutorial tiene varias secciones y cada
+una de ellas contiene un procedimiento.
+Antes de recorrer cada tutorial, recomendamos añadir un marcador a
+[Glosario de términos](/docs/reference/glossary/) para poder consultarlo fácilmente.
+
+{{% /capture %}}
+
+{{% capture body %}}
+
+## Esenciales
+
+* [Kubernetes Basics](/docs/tutorials/kubernetes-basics/) se trata de un tutorial interactivo en profundidad para entender Kubernetes y probar algunas funciones básicas.
+
+* [Scalable Microservices with Kubernetes (Udacity)](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615)
+
+* [Introduction to Kubernetes (edX)](https://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x#)
+
+* [Hello Minikube](/docs/tutorials/hello-minikube/)
+
+## Configuración
+
+* [Configuring Redis Using a ConfigMap](/docs/tutorials/configuration/configure-redis-using-configmap/)
+
+## Aplicaciones Stateless
+
+* [Exposing an External IP Address to Access an Application in a Cluster](/docs/tutorials/stateless-application/expose-external-ip-address/)
+
+* [Example: Deploying PHP Guestbook application with Redis](/docs/tutorials/stateless-application/guestbook/)
+
+## Aplicaciones Stateful
+
+* [StatefulSet Basics](/docs/tutorials/stateful-application/basic-stateful-set/)
+
+* [Example: WordPress and MySQL with Persistent Volumes](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)
+
+* [Example: Deploying Cassandra with Stateful Sets](/docs/tutorials/stateful-application/cassandra/)
+
+* [Running ZooKeeper, A CP Distributed System](/docs/tutorials/stateful-application/zookeeper/)
+
+## Pipelines de CI/CD
+
+* [Set Up a CI/CD Pipeline with Kubernetes Part 1: Overview](https://www.linux.com/blog/learn/chapter/Intro-to-Kubernetes/2017/5/set-cicd-pipeline-kubernetes-part-1-overview)
+
+* [Set Up a CI/CD Pipeline with a Jenkins Pod in Kubernetes (Part 2)](https://www.linux.com/blog/learn/chapter/Intro-to-Kubernetes/2017/6/set-cicd-pipeline-jenkins-pod-kubernetes-part-2)
+
+* [Run and Scale a Distributed Crossword Puzzle App with CI/CD on Kubernetes (Part 3)](https://www.linux.com/blog/learn/chapter/intro-to-kubernetes/2017/6/run-and-scale-distributed-crossword-puzzle-app-cicd-kubernetes-part-3)
+
+* [Set Up CI/CD for a Distributed Crossword Puzzle App on Kubernetes (Part 4)](https://www.linux.com/blog/learn/chapter/intro-to-kubernetes/2017/6/set-cicd-distributed-crossword-puzzle-app-kubernetes-part-4)
+
+## Clústers
+
+* [AppArmor](/docs/tutorials/clusters/apparmor/)
+
+## Servicios
+
+* [Using Source IP](/docs/tutorials/services/source-ip/)
+
+{{% /capture %}}
+
+{{% capture whatsnext %}}
+
+Si quieres escribir un tutorial, revisa [utilizando templates](/docs/home/contribute/page-templates/) para obtener información sobre el tipo de página y la plantilla de los tutotriales.
+
+{{% /capture %}}
diff --git a/content/es/docs/tutorials/clusters/_index.md b/content/es/docs/tutorials/clusters/_index.md
new file mode 100755
index 0000000000..1f133cef98
--- /dev/null
+++ b/content/es/docs/tutorials/clusters/_index.md
@@ -0,0 +1,4 @@
+---
+title: Clústeres
+weight: 60
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/configuration/_index.md b/content/es/docs/tutorials/configuration/_index.md
new file mode 100755
index 0000000000..6cb926e8ea
--- /dev/null
+++ b/content/es/docs/tutorials/configuration/_index.md
@@ -0,0 +1,4 @@
+---
+title: Configuración
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/kubernetes-basics/_index.md b/content/es/docs/tutorials/kubernetes-basics/_index.md
new file mode 100755
index 0000000000..29bb421520
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/_index.md
@@ -0,0 +1,4 @@
+---
+title: Introducción
+weight: 10
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/kubernetes-basics/create-cluster/_index.md b/content/es/docs/tutorials/kubernetes-basics/create-cluster/_index.md
new file mode 100644
index 0000000000..5ae72b1e91
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/create-cluster/_index.md
@@ -0,0 +1,4 @@
+---
+title: Crear un clúster
+weight: 10
+---
diff --git a/content/es/docs/tutorials/kubernetes-basics/deploy-app/_index.md b/content/es/docs/tutorials/kubernetes-basics/deploy-app/_index.md
new file mode 100644
index 0000000000..65cfab6db0
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/deploy-app/_index.md
@@ -0,0 +1,4 @@
+---
+title: Desplegar una aplicación
+weight: 20
+---
diff --git a/content/es/docs/tutorials/kubernetes-basics/explore/_index.md b/content/es/docs/tutorials/kubernetes-basics/explore/_index.md
new file mode 100644
index 0000000000..681ddc8260
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/explore/_index.md
@@ -0,0 +1,4 @@
+---
+title: Consultar el estado de una aplicación
+weight: 30
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/kubernetes-basics/expose/_index.md b/content/es/docs/tutorials/kubernetes-basics/expose/_index.md
new file mode 100644
index 0000000000..4f75206354
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/expose/_index.md
@@ -0,0 +1,4 @@
+---
+title: Exponer una aplicación
+weight: 40
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/kubernetes-basics/scale/_index.md b/content/es/docs/tutorials/kubernetes-basics/scale/_index.md
new file mode 100644
index 0000000000..d1b957a463
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/scale/_index.md
@@ -0,0 +1,4 @@
+---
+title: Escalar una aplicación
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/kubernetes-basics/update/_index.md b/content/es/docs/tutorials/kubernetes-basics/update/_index.md
new file mode 100644
index 0000000000..cba6886003
--- /dev/null
+++ b/content/es/docs/tutorials/kubernetes-basics/update/_index.md
@@ -0,0 +1,4 @@
+---
+title: Actualizar una aplicación
+weight: 60
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/online-training/_index.md b/content/es/docs/tutorials/online-training/_index.md
new file mode 100755
index 0000000000..77a0262281
--- /dev/null
+++ b/content/es/docs/tutorials/online-training/_index.md
@@ -0,0 +1,4 @@
+---
+title: "Formación en línea"
+weight: 20
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/services/_index.md b/content/es/docs/tutorials/services/_index.md
new file mode 100755
index 0000000000..dda13f4b56
--- /dev/null
+++ b/content/es/docs/tutorials/services/_index.md
@@ -0,0 +1,4 @@
+---
+title: Servicios
+weight: 70
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/stateful-application/_index.md b/content/es/docs/tutorials/stateful-application/_index.md
new file mode 100755
index 0000000000..bdb6d7c097
--- /dev/null
+++ b/content/es/docs/tutorials/stateful-application/_index.md
@@ -0,0 +1,4 @@
+---
+title: Aplicaciones Stateful
+weight: 50
+---
\ No newline at end of file
diff --git a/content/es/docs/tutorials/stateless-application/_index.md b/content/es/docs/tutorials/stateless-application/_index.md
new file mode 100755
index 0000000000..a261441281
--- /dev/null
+++ b/content/es/docs/tutorials/stateless-application/_index.md
@@ -0,0 +1,4 @@
+---
+title: Aplicaciones Stateless
+weight: 40
+---
\ No newline at end of file
From d57bbc259c8b8ac925430815c5cfd1b241bc9694 Mon Sep 17 00:00:00 2001
From: Benedikt Rollik
Date: Tue, 16 Apr 2019 18:59:15 +0200
Subject: [PATCH 02/12] Blog index (#13844)
---
content/de/blog/_index.md | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 content/de/blog/_index.md
diff --git a/content/de/blog/_index.md b/content/de/blog/_index.md
new file mode 100644
index 0000000000..0a2e18c7ad
--- /dev/null
+++ b/content/de/blog/_index.md
@@ -0,0 +1,10 @@
+---
+title: Kubernetes Blog
+linkTitle: Blog
+menu:
+ main:
+ title: "Blog"
+ weight: 40
+ post: >
+
Lesen Sie die neuesten Nachrichten über Kubernetes und das Containeruniversum im Allgemeinen. Erhalten Sie druckfrisch die neuesten Tutorials und technische Anleitungen.
+---
From f1750f1d952c838fcc798871b25c0d800523d814 Mon Sep 17 00:00:00 2001
From: Felipe
Date: Tue, 16 Apr 2019 20:13:08 +0100
Subject: [PATCH 03/12] Fixing conflict (#13773)
---
OWNERS_ALIASES | 6 +
README-pt.md | 82 +++++++++++
config.toml | 12 ++
content/pt/OWNERS | 11 ++
content/pt/_common-resources/index.md | 3 +
content/pt/_index.html | 62 ++++++++
content/pt/blog/_index.md | 10 ++
content/pt/case-studies/_index.md | 9 ++
content/pt/community/_index.html | 71 +++++++++
content/pt/community/code-of-conduct.md | 27 ++++
content/pt/community/static/README.md | 2 +
.../community/static/cncf-code-of-conduct.md | 44 ++++++
content/pt/includes/index.md | 3 +
content/pt/partners/_index.html | 93 ++++++++++++
i18n/pt.toml | 139 ++++++++++++++++++
15 files changed, 574 insertions(+)
create mode 100644 README-pt.md
create mode 100644 content/pt/OWNERS
create mode 100644 content/pt/_common-resources/index.md
create mode 100644 content/pt/_index.html
create mode 100644 content/pt/blog/_index.md
create mode 100644 content/pt/case-studies/_index.md
create mode 100644 content/pt/community/_index.html
create mode 100644 content/pt/community/code-of-conduct.md
create mode 100644 content/pt/community/static/README.md
create mode 100644 content/pt/community/static/cncf-code-of-conduct.md
create mode 100644 content/pt/includes/index.md
create mode 100644 content/pt/partners/_index.html
create mode 100644 i18n/pt.toml
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 542195ea7d..6a4e183a8d 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -150,3 +150,9 @@ aliases:
- xichengliudui
- zhangxiaoyu-zidif
- pigletfly
+ sig-docs-pt-owners: # Admins for Portuguese content
+ - femrtnz
+ - jcjesus
+ sig-docs-pt-reviews: # PR reviews for Portugese content
+ - femrtnz
+ - jcjesus
diff --git a/README-pt.md b/README-pt.md
new file mode 100644
index 0000000000..205c4b55b7
--- /dev/null
+++ b/README-pt.md
@@ -0,0 +1,82 @@
+# A documentação do Kubernetes
+
+[! [Build Status] (https://api.travis-ci.org/kubernetes/website.svg?branch=master)] (https://travis-ci.org/kubernetes/website)
+[! [GitHub Release] (https://img.shields.io/github/release/kubernetes/website.svg)] (https://github.com/kubernetes/website/releases/latest)
+
+Bem vindos! Este repositório abriga todos os recursos necessários para criar o [site e documentação do Kubernetes] (https://kubernetes.io/). Estamos muito satisfeitos por você querer contribuir!
+
+## Contribuindo com os documentos
+
+Você pode clicar no botão ** Fork ** na área superior direita da tela para criar uma cópia desse repositório na sua conta do GitHub. Esta cópia é chamada de * fork *. Faça as alterações desejadas no seu fork e, quando estiver pronto para enviar as alterações para nós, vá até o fork e crie uma nova solicitação de pull para nos informar sobre isso.
+
+Depois que seu **pull request** for criada, um revisor do Kubernetes assumirá a responsabilidade de fornecer um feedback claro e objetivo. Como proprietário do **pull request**, ** é sua responsabilidade modificar seu **pull request** para abordar o feedback que foi fornecido a você pelo revisor do Kubernetes. ** Observe também que você pode acabar tendo mais de um revisor do Kubernetes para fornecer seu feedback ou você pode acabar obtendo feedback de um revisor do Kubernetes que é diferente daquele originalmente designado para lhe fornecer feedback. Além disso, em alguns casos, um de seus revisores pode solicitar uma revisão técnica de um [revisor de tecnologia Kubernetes] (https://github.com/kubernetes/website/wiki/Tech-reviewers) quando necessário. Os revisores farão o melhor para fornecer feedback em tempo hábil, mas o tempo de resposta pode variar de acordo com as circunstâncias.
+
+Para mais informações sobre como contribuir com a documentação do Kubernetes, consulte:
+
+* [Comece a contribuir] (https://kubernetes.io/docs/contribute/start/)
+* [Preparando suas alterações na documentação] (http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
+* [Usando Modelos de Página] (http://kubernetes.io/docs/contribute/style/page-templates/)
+* [Guia de Estilo da Documentação] (http://kubernetes.io/docs/contribute/style/style-guide/)
+* [Localizando documentação do Kubernetes] (https://kubernetes.io/docs/contribute/localization/)
+
+Documentação do Kubernetes Localizando o ## `README.md`
+
+### coreano
+
+Veja a tradução de `README.md` e mais orientações sobre detalhes para contribuidores coreanos na página [README coreano] (README-ko.md).
+
+Você pode alcançar os mantenedores da localização coreana em:
+
+* June Yi ([GitHub - @gochist] (https://github.com/gochist))
+* [Slack channel] (https://kubernetes.slack.com/messages/kubernetes-docs-ko)
+
+## Executando o site localmente usando o Docker
+
+A maneira recomendada de executar o site do Kubernetes localmente é executar uma imagem especializada do [Docker] (https://docker.com) que inclui o gerador de site estático [Hugo] (https://gohugo.io).
+
+> Se você está rodando no Windows, você precisará de mais algumas ferramentas que você pode instalar com o [Chocolatey] (https://chocolatey.org). `choco install make`
+
+> Se você preferir executar o site localmente sem o Docker, consulte [Executando o site localmente usando o Hugo] (# executando-o-site-localmente usando o hugo) abaixo.
+
+Se você tiver o Docker [em funcionamento] (https://www.docker.com/get-started), crie a imagem do Docker do `kubernetes-hugo` localmente:
+
+```bash
+make docker-image
+```
+
+Depois que a imagem foi criada, você pode executar o site localmente:
+
+```bash
+make docker-serve
+```
+
+Abra seu navegador para http://localhost:1313 para visualizar o site. Conforme você faz alterações nos arquivos de origem, Hugo atualiza o site e força a atualização do navegador.
+
+## Rodando o site localmente usando Hugo
+
+Veja a [documentação oficial do Hugo] (https://gohugo.io/getting-started/installing/) para instruções de instalação do Hugo. Certifique-se de instalar a versão do Hugo especificada pela variável de ambiente `HUGO_VERSION` no arquivo [` netlify.toml`] (netlify.toml#L9).
+
+Para executar o site localmente quando você tiver o Hugo instalado:
+
+```bash
+make serve
+```
+
+Isso iniciará o servidor Hugo local na porta 1313. Abra o navegador para http://localhost:1313 para visualizar o site. Conforme você faz alterações nos arquivos de origem, Hugo atualiza o site e força a atualização do navegador.
+
+## Comunidade, discussão, contribuição e apoio
+
+Aprenda a se envolver com a comunidade do Kubernetes na [página da comunidade] (http://kubernetes.io/community/).
+
+Você pode alcançar os mantenedores deste projeto em:
+
+- [Slack] (https://kubernetes.slack.com/messages/sig-docs)
+- [Mailing List] (https://groups.google.com/forum/#!forum/kubernetes-sig-docs)
+
+### Código de conduta
+
+A participação na comunidade Kubernetes é regida pelo [Código de Conduta da Kubernetes] (code-of-conduct.md).
+
+## Obrigado!
+
+A Kubernetes prospera com a participação da comunidade e nós realmente apreciamos suas contribuições para o nosso site e nossa documentação!
\ No newline at end of file
diff --git a/config.toml b/config.toml
index de583e1e33..d4ced343c0 100644
--- a/config.toml
+++ b/config.toml
@@ -225,6 +225,18 @@ time_format_blog = "02.01.2006"
# A list of language codes to look for untranslated content, ordered from left to right.
language_alternatives = ["en"]
+[languages.pt]
+title = "Kubernetes"
+description = "Orquestração de contêineres em nível de produção"
+languageName ="Português"
+weight = 9
+contentDir = "content/pt"
+
+[languages.pt.params]
+time_format_blog = "02.01.2006"
+# A list of language codes to look for untranslated content, ordered from left to right.
+language_alternatives = ["en"]
+
[languages.id]
title = "Kubernetes"
description = "Production-Grade Container Orchestration"
diff --git a/content/pt/OWNERS b/content/pt/OWNERS
new file mode 100644
index 0000000000..db8529e343
--- /dev/null
+++ b/content/pt/OWNERS
@@ -0,0 +1,11 @@
+# This is the localization project for Portuguese.
+# Teams and members are visible at https://github.com/orgs/kubernetes/teams.
+
+reviewers:
+- sig-docs-pt-reviews
+
+approvers:
+- sig-docs-pt-owners
+
+labels:
+- language/pt
diff --git a/content/pt/_common-resources/index.md b/content/pt/_common-resources/index.md
new file mode 100644
index 0000000000..3d65eaa0ff
--- /dev/null
+++ b/content/pt/_common-resources/index.md
@@ -0,0 +1,3 @@
+---
+headless: true
+---
\ No newline at end of file
diff --git a/content/pt/_index.html b/content/pt/_index.html
new file mode 100644
index 0000000000..82385406c3
--- /dev/null
+++ b/content/pt/_index.html
@@ -0,0 +1,62 @@
+---
+title: "Orquestração de contêiner de nível de produção"
+abstract: "Implantação, dimensionamento e gerenciamento de contêiner automatizado"
+cid: home
+---
+
+{{< deprecationwarning >}}
+
+{{< blocks/section id="oceanNodes" >}}
+{{% blocks/feature image="flower" %}}
+### Kubernetes (K8s) é uma Sistema de origem para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêiner.
+
+Ele agrupa contêineres que compõem um aplicativo em unidades lógicas para facilitar o gerenciamento e a descoberta. O Kubernetes se baseia em [15 anos de experiência na execução de containers em produção no Google](http://queue.acm.org/detail.cfm?id=2898444), combinado com as melhores ideias e práticas da comunidade.
+{{% /blocks/feature %}}
+
+{{% blocks/feature image="scalable" %}}
+#### Scalonando Planetas
+
+Concebido com base nos mesmos princípios que permitem ao Google executar milhares de contêineres por semana, o Kubernetes pode ser dimensionado sem aumentando sua equipe de operações.
+
+{{% /blocks/feature %}}
+
+{{% blocks/feature image="blocks" %}}
+#### Nunca superar
+
+Seja testando localmente ou executando uma empresa global, a flexibilidade do Kubernetes cresce com você para fornecer seus aplicativos de maneira consistente e fácil, independentemente de quão complexa seja sua necessidade.
+
+{{% /blocks/feature %}}
+
+{{% blocks/feature image="suitcase" %}}
+#### Rode em qualquer lugar
+
+O Kubernetes é um código aberto que oferece a liberdade de aproveitar a infraestrutura de nuvem local, híbrida ou pública, permitindo que você mova sem esforço cargas de trabalho para onde você é importante.
+
+{{% /blocks/feature %}}
+
+{{< /blocks/section >}}
+
+{{< blocks/section id="video" background-image="kub_video_banner_homepage" >}}
+
+
Os desafios da migração de mais de 150 microsserviços para o Kubernetes
+
Sarah Wells, Diretora Técnica de Operações e Confiabilidade do Financial Times
Leia as últimas novidades sobre Kubernetes e contêineres em geral, e obtenha detalhes técnicos atualizados
+---
diff --git a/content/pt/case-studies/_index.md b/content/pt/case-studies/_index.md
new file mode 100644
index 0000000000..f76dcd2320
--- /dev/null
+++ b/content/pt/case-studies/_index.md
@@ -0,0 +1,9 @@
+---
+title: Casos de estudo
+linkTitle: Case Studies
+bigheader: Kubernetes User Case Studies
+abstract: Alguns usuários que estão executando o Kubernetes em produção.
+layout: basic
+class: gridPage
+cid: caseStudies
+---
\ No newline at end of file
diff --git a/content/pt/community/_index.html b/content/pt/community/_index.html
new file mode 100644
index 0000000000..068e9a0662
--- /dev/null
+++ b/content/pt/community/_index.html
@@ -0,0 +1,71 @@
+---
+title: Community
+layout: basic
+cid: community
+---
+
+
+
+
+
Garantir que o Kubernetes funcione bem em todos os lugares e para todos.
+
Conecte-se à comunidade do Kubernetes no nosso canal canal do Slack, no fórum de discussão, ou participe do grupo Kubernetes-dev Google group.
+ Uma reunião semanal da comunidade é realizada por meio de videoconferência para discutir o estado das coisas. Veja essas
+ instruções para obter informações sobre como participar.
Tem um interesse especial em saber como o Kubernetes trabalha com outra tecnologia?
+ Veja nossas listas
+ cada vez maiores de SIGs,de AWS e Openstack ate Big Data e Escalabilidade, há um lugar para você contribuir e instruções para formar um novo SIG se o seu interesse especial não estiver coberto (ainda).
+
+
+
+ Como membro da comunidade Kubernetes, você está convidado a participar de qualquer uma das reuniões do SIG em que estiver interessado. Nenhum registro é necessário.
+
+
+
+
+
Código de conduta
+
+ A comunidade Kubernetes valoriza o respeito e a inclusão e aplica um
+ Código de Conduta
+ em todas as interações. Se você notar uma violação do Código de Conduta em um evento ou reunião,
+ no Slack ou em outro mecanismo de comunicação, entre em contato com o
+ Comitê de Código de Conduta da Kubernetes
+ conduct@kubernetes.io
+ Seu anonimato será protegido.
+
+
+
+
+
+
+
+
Fale Conosco
+
Gostaríamos muito de ouvir de você, como você está usando o Kubernetes
+ e o que podemos fazer para torná-lo melhor.
+
+{{< include "/static/cncf-code-of-conduct.md" >}}
+
+
diff --git a/content/pt/community/static/README.md b/content/pt/community/static/README.md
new file mode 100644
index 0000000000..e621b78f5d
--- /dev/null
+++ b/content/pt/community/static/README.md
@@ -0,0 +1,2 @@
+Os arquivos nesse diretório foram importados de outras fontes. Não
+editá-los diretamente, exceto substituindo-os por novas versões.
\ No newline at end of file
diff --git a/content/pt/community/static/cncf-code-of-conduct.md b/content/pt/community/static/cncf-code-of-conduct.md
new file mode 100644
index 0000000000..a3db1daad2
--- /dev/null
+++ b/content/pt/community/static/cncf-code-of-conduct.md
@@ -0,0 +1,44 @@
+Código de Conduta para a Comunidade CNCF v1.0
+----------------------------------------------------
+
+### Código de Conduta para os Colaboradores
+
+Como contribuidores e mantenedores desse projeto, e no interesse de fomentar
+uma comunidade aberta e acolhedora, nos comprometemos a respeitar todas as pessoas que contribuem
+através de relatos de erros, postando solicitações de funcionalidades, atualizando a documentação,
+submetendo pull requests ou patches, e outras atividades.
+
+Estamos comprometidos em tornar a participação neste projeto uma experiência livre de assédio para
+todos, independentemente do nível de experiência, gênero, identidade e expressão de gênero,
+orientação sexual, deficiência, aparência pessoal, tamanho do corpo, raça, etnia, idade,
+religião ou nacionalidade.
+
+Exemplos de comportamento inaceitável pelos participantes incluem:
+
+* O uso de linguagem ou imagens sexualizadas
+* Ataques pessoais
+* Trolling ou insultar / comentários depreciativos
+* Assédio público ou privado
+* Publicação de informações privadas de outras pessoas, como endereços físicos ou eletrônicos,
+ sem permissão explícita
+* Outra conduta antiética ou não profissional.
+
+Os mantenedores do projeto têm o direito e a responsabilidade de remover, editar ou rejeitar
+comentários, commits, códigos, edições do wiki, questões e outras contribuições que não são
+alinhado com este Código de Conduta. Ao adotar este Código de Conduta, os mantenedores do projeto
+comprometer-se a aplicar de maneira justa e consistente esses princípios em todos os aspectos
+de gerenciar este projeto. Os mantenedores do projeto que não seguem ou aplicam o Código de
+A conduta pode ser removida permanentemente da equipe do projeto.
+
+Este código de conduta aplica-se tanto nos espaços do projeto como nos espaços públicos
+quando um indivíduo está representando o projeto ou sua comunidade.
+
+Casos de comportamento abusivo, de assédio ou inaceitável no Kubernetes podem ser relatados entrando em contato com o [Comitê de Código de Conduta da Kubernetes] (https://git.k8s.io/community/committee-code-of-conduct) via . Para outros projetos, entre em contato com um mantenedor do projeto CNCF ou com nosso mediador, Mishi Choudhary .
+
+Este Código de Conduta é adaptado do Pacto do Colaborador
+(http://contributor-covenant.org), versão 1.2.0, disponível em
+http://contributor-covenant.org/version/1/2/0/
+
+### Código de Conduta para a Comunidade CNCF
+
+Os eventos CNCF são regidos pelo Linux Foundation [Código de Conduta] (https://events.linuxfoundation.org/code-of-conduct/) disponível na página do evento. Isso foi projetado para ser compatível com a política acima e também inclui mais detalhes sobre como responder a incidentes.
\ No newline at end of file
diff --git a/content/pt/includes/index.md b/content/pt/includes/index.md
new file mode 100644
index 0000000000..3d65eaa0ff
--- /dev/null
+++ b/content/pt/includes/index.md
@@ -0,0 +1,3 @@
+---
+headless: true
+---
\ No newline at end of file
diff --git a/content/pt/partners/_index.html b/content/pt/partners/_index.html
new file mode 100644
index 0000000000..a8e90dabfd
--- /dev/null
+++ b/content/pt/partners/_index.html
@@ -0,0 +1,93 @@
+---
+title: Parceiros
+bigheader: Parceiro Kubernetes
+abstract: Crescendo o ecossistema do Kubernetes.
+class: gridPage
+cid: parceiros
+---
+
+
+
+
O Kubernetes trabalha com parceiros para criar uma base de código forte e vibrante que suporte um espectro de plataformas complementares.
+
+
+
+
+
+ Provedores de serviços certificados em Kubernetes
+
+ Provedores de serviços certificados, com profunda experiência em ajudar empresas a adotar Kubernetes com sucesso.
+
+
+
+
+
+
+
+
diff --git a/i18n/pt.toml b/i18n/pt.toml
new file mode 100644
index 0000000000..d5bb0f0c12
--- /dev/null
+++ b/i18n/pt.toml
@@ -0,0 +1,139 @@
+# i18n strings for the Portuguese (main) site.
+
+[deprecation_warning]
+other = " a documentação não é mais mantida ativamente. A versão que você está visualizando no momento é uma captura instantânea estática. Para obter documentação atualizada, consulte "
+
+[deprecation_file_warning]
+other = "Descontinuado"
+
+[objectives_heading]
+other = "Objetivos"
+
+[cleanup_heading]
+other = "Limpando"
+
+[prerequisites_heading]
+other = "Antes de você começar"
+
+[whatsnext_heading]
+other = "Qual é o próximo"
+
+[feedback_heading]
+other = "Comentários"
+
+[feedback_question]
+other = "Esta página foi útil?"
+
+[feedback_yes]
+other = "Sim"
+
+[feedback_no]
+other = "Não"
+
+[latest_version]
+other = "última versão."
+
+[version_check_mustbe]
+other = "Seu servidor Kubernetes deve ser versão"
+
+[version_check_mustbeorlater]
+other = "O seu servidor Kubernetes deve estar em ou depois da versão "
+
+[version_check_tocheck]
+other = "Para verificar a versão, digite "
+
+[caution]
+other = "Cuidado:"
+
+[note]
+other = "Nota:"
+
+[warning]
+other = "Aviso:"
+
+[main_read_about]
+other = "Ler sobre"
+
+[main_read_more]
+other = "Consulte Mais informação"
+
+[main_github_invite]
+other = "Interessado em mergulhar na base de código do Kubernetes?"
+
+[main_github_view_on]
+other = "Veja no Github"
+
+[main_github_create_an_issue]
+other = "Abra um bug"
+
+[main_community_explore]
+other = "Explore a comunidade"
+
+[main_kubernetes_features]
+other = "Recursos do Kubernetes"
+
+[main_cncf_project]
+other = """Nós somos uma CNCF projeto graduado
"""
+
+[main_kubeweekly_baseline]
+other = "Interessado em receber as últimas novidades sobre Kubernetes? Inscreva-se no KubeWeekly."
+
+[main_kubernetes_past_link]
+other = "Veja boletins passados"
+
+[main_kubeweekly_signup]
+other = "Se inscrever"
+
+[main_contribute]
+other = "Contribuir"
+
+[main_edit_this_page]
+other = "Edite essa página"
+
+[main_page_history]
+other ="História da página"
+
+[main_page_last_modified_on]
+other = "Última modificação da página em"
+
+[main_by]
+other = "por"
+
+[main_documentation_license]
+other = """Os autores do Kubernetes | Documentação Distribuída sob CC BY 4.0"""
+
+[main_copyright_notice]
+other = """A Fundação Linux ®. Todos os direitos reservados. A Linux Foundation tem marcas registradas e usa marcas registradas. Para uma lista de marcas registradas da The Linux Foundation, por favor, veja nossa Página de uso de marca registrada"""
+
+# Labels for the docs portal home page.
+[docs_label_browse]
+other = "Procurar documentos"
+
+[docs_label_contributors]
+other = "Colaboradores"
+
+[docs_label_users]
+other = "Usuários"
+
+[docs_label_i_am]
+other = "Eu sou..."
+
+
+
+# Community links
+[community_twitter_name]
+other = "Twitter"
+[community_github_name]
+other = "GitHub"
+[community_slack_name]
+other = "Slack"
+[community_stack_overflow_name]
+other = "Stack Overflow"
+[community_forum_name]
+other = "Fórum"
+[community_events_calendar]
+other = "Calendário de Eventos"
+
+# UI elements
+[ui_search_placeholder]
+other = "Procurar"
From 798c6c748c1c0c46802323794acf68645ba4c90d Mon Sep 17 00:00:00 2001
From: Vageesha17 <47109150+Vageesha17@users.noreply.github.com>
Date: Wed, 17 Apr 2019 05:12:02 +0530
Subject: [PATCH 04/12] fixed the broken link (#13839)
* fixed the broken link
Fixed the broken link for CDK official documentation.
Resolving the issue #13820
* fixed broken link
made few changes required for the issue #13820
---
content/en/docs/getting-started-guides/ubuntu.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/en/docs/getting-started-guides/ubuntu.md b/content/en/docs/getting-started-guides/ubuntu.md
index ed77113f12..733e8d1d1f 100644
--- a/content/en/docs/getting-started-guides/ubuntu.md
+++ b/content/en/docs/getting-started-guides/ubuntu.md
@@ -19,7 +19,7 @@ which makes it fast and easy to deploy. It supports various public
and private clouds including AWS, GCE, Azure, Joyent, OpenStack, VMware, Bare Metal
and localhost deployments.
-See the [Official documentation](https://www.ubuntu.com/cloud/kubernetes/docs) for
+See the [Official documentation](https://www.ubuntu.com/kubernetes/docs) for
more information.
## MicroK8s
From 20842e037a9d97ffd7a7c64a271586f8791aa651 Mon Sep 17 00:00:00 2001
From: Rael Garcia
Date: Wed, 17 Apr 2019 02:36:01 +0200
Subject: [PATCH 05/12] Add localization support for layouts (#13832)
Add layouts/docs/glossary en i18n strings
Add layouts/docs/glossary es i18n strings
Use i18n strings in layouts/docs/glossary
Add layouts/blog/pager en i18n strings
Add layouts/blog/pager es i18n strings
Use i18n strings in layouts/blog/pager
Add layouts/blog/list en i18n strings
Add layouts/blog/list es i18n strings
Use i18n strings in layouts/case-studies/list
Add layouts/docs/search en i18n strings
Add layouts/docs/search es i18n strings
Use i18n strings in layouts/docs/search
Add layouts/partials/feedback en i18n strings
Add layouts/partials/feedback es i18n strings
Use i18n strings in layouts/partials/feedback
Set html lang using "{{ .Language }}"
---
i18n/en.toml | 56 +++++++++++++++++++++++++
i18n/es.toml | 56 +++++++++++++++++++++++++
layouts/_default/baseof.html | 2 +-
layouts/blog/baseof.html | 2 +-
layouts/blog/pager.html | 4 +-
layouts/case-studies/list.html | 2 +-
layouts/case-studies/single-baseof.html | 2 +-
layouts/docs/baseof.html | 2 +-
layouts/docs/glossary.html | 12 +++---
layouts/docs/search.html | 2 +-
layouts/partials/feedback.html | 17 +++++---
11 files changed, 137 insertions(+), 20 deletions(-)
diff --git a/i18n/en.toml b/i18n/en.toml
index e841e1952b..2467ca4d24 100644
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -118,7 +118,63 @@ other = "Users"
[docs_label_i_am]
other = "I AM..."
+# layouts > blog > pager
+[layouts_blog_pager_prev]
+other = "<< Prev"
+
+[layouts_blog_pager_next]
+other = "Next >>"
+
+# layouts > blog > list
+
+[layouts_case_studies_list_tell]
+other = "Tell your story"
+
+# layouts > docs > glossary
+
+[layouts_docs_glossary_description]
+other = "This glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to K8s, as well as more general terms that provide useful context."
+
+[layouts_docs_glossary_filter]
+other = "Filter terms according to their tags"
+
+[layouts_docs_glossary_select_all]
+other = "Select all"
+
+[layouts_docs_glossary_deselect_all]
+other = "Deselect all"
+
+[layouts_docs_glossary_aka]
+other = "Also known as"
+
+[layouts_docs_glossary_click_details_before]
+other = "Click on the"
+
+[layouts_docs_glossary_click_details_after]
+other = "indicators below to get a longer explanation for any particular term."
+
+# layouts > docs > search
+
+[layouts_docs_search_fetching]
+other = "Fetching results.."
+
+# layouts > partial > feedback
+
+[layouts_docs_partials_feedback_thanks]
+other = "Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on"
+
+[layouts_docs_partials_feedback_issue]
+other = "Open an issue in the GitHub repo if you want to "
+
+[layouts_docs_partials_feedback_problem]
+other = "report a problem"
+
+[layouts_docs_partials_feedback_or]
+other = "or"
+
+[layouts_docs_partials_feedback_improvement]
+other = "suggest an improvement"
# Community links
[community_twitter_name]
diff --git a/i18n/es.toml b/i18n/es.toml
index c64d309d2a..446579e506 100644
--- a/i18n/es.toml
+++ b/i18n/es.toml
@@ -118,7 +118,63 @@ other = "Usuarios"
[docs_label_i_am]
other = "Yo soy..."
+# layouts > blog > pager
+[layouts_blog_pager_prev]
+other = "<< Anterior"
+
+[layouts_blog_pager_next]
+other = "Siguiente >>"
+
+# layouts > blog > list
+
+[layouts_case_studies_list_tell]
+other = "Cuéntanos tu historia"
+
+# layouts > docs > glossary
+
+[layouts_docs_glossary_description]
+other = "Este glosario tiene la intención de ser una lista completa y estandarizada de la terminología de Kubernetes. Incluye términos técnicos que son específicos de k8s, así como términos más generales que proporcionan un contexto."
+
+[layouts_docs_glossary_filter]
+other = "Filtrar terminos por categoría:"
+
+[layouts_docs_glossary_select_all]
+other = "Seleccionar todos"
+
+[layouts_docs_glossary_deselect_all]
+other = "Elmininar selección"
+
+[layouts_docs_glossary_aka]
+other = "Also known as"
+
+[layouts_docs_glossary_click_details_before]
+other = "Haz click en el símbolo"
+
+[layouts_docs_glossary_click_details_after]
+other = "para obtener información detallada sobre el término."
+
+# layouts > docs > search
+
+[layouts_docs_search_fetching]
+other = "Obteniendo resultados.."
+
+# layouts > partial > feedback
+
+[layouts_docs_partials_feedback_thanks]
+other = "Muchas gracias por el feedback. Si tienes alguna pregunta específica sobre como usar Kubernetes, puedes preguntar en"
+
+[layouts_docs_partials_feedback_issue]
+other = "Abre un issue en el repositorio de GitHub si quieres"
+
+[layouts_docs_partials_feedback_problem]
+other = "reportar un problema"
+
+[layouts_docs_partials_feedback_or]
+other = "o"
+
+[layouts_docs_partials_feedback_improvement]
+other = "sugerir alguna mejora"
# Community links
[community_twitter_name]
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index d1cb857069..440655af41 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -1,5 +1,5 @@
-
+
{{ partial "head.html" . }}
diff --git a/layouts/blog/baseof.html b/layouts/blog/baseof.html
index 1fa2523a52..229a95f47f 100644
--- a/layouts/blog/baseof.html
+++ b/layouts/blog/baseof.html
@@ -1,5 +1,5 @@
-
+
{{ partial "head.html" . }}
diff --git a/layouts/blog/pager.html b/layouts/blog/pager.html
index d9b7350923..1d2dd68a61 100644
--- a/layouts/blog/pager.html
+++ b/layouts/blog/pager.html
@@ -1,12 +1,12 @@
\ No newline at end of file
diff --git a/layouts/case-studies/list.html b/layouts/case-studies/list.html
index 6d554f8a09..e0f4565a95 100644
--- a/layouts/case-studies/list.html
+++ b/layouts/case-studies/list.html
@@ -51,7 +51,7 @@
{{ errorf "Case Studies: Missing logo for %s. Put a PNG with the word 'logo' in the filename into %q" $p.LinkTitle $p.File.Dir }}
{{ end }}
{{ end }}
-
+
diff --git a/layouts/case-studies/single-baseof.html b/layouts/case-studies/single-baseof.html
index 7d6d6a92d9..3ac298c247 100644
--- a/layouts/case-studies/single-baseof.html
+++ b/layouts/case-studies/single-baseof.html
@@ -1,5 +1,5 @@
-
+
{{ partial "head.html" . }}
diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html
index f8a9f189dd..39fc908057 100644
--- a/layouts/docs/baseof.html
+++ b/layouts/docs/baseof.html
@@ -1,5 +1,5 @@
-
+
{{ partial "head.html" . }}
diff --git a/layouts/docs/glossary.html b/layouts/docs/glossary.html
index 67fae194b2..1412442152 100644
--- a/layouts/docs/glossary.html
+++ b/layouts/docs/glossary.html
@@ -6,9 +6,9 @@
{{ .Title }}
-
This glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to K8s, as well as more general terms that provide useful context.
- Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes,
- ask it on Stack Overflow. Open
- an issue in the GitHub repo if you want to report a problem or
+ {{ T "layouts_docs_partials_feedback_thanks" }}
+
+ Stack Overflow.
+ {{ T "layouts_docs_partials_feedback_issue" }}
suggest an improvement.
+ href="https://github.com/kubernetes/website/issues/new?title=Issue%20with%20k8s.io">
+ {{ T "layouts_docs_partials_feedback_problem" }}
+ {{ T "layouts_docs_partials_feedback_or" }}
+
+ {{ T "layouts_docs_partials_feedback_improvement" }}.
+
+
+
+
+
+
+
+
+
+
+
+
+
From 3f010d61c87893e6d36dbc21de26d8905a41ed4d Mon Sep 17 00:00:00 2001
From: Andrew Sy Kim
Date: Wed, 17 Apr 2019 15:02:03 -0400
Subject: [PATCH 09/12] Kubernets blog: 'The Future of Cloud Providers in
Kubernetes' (#13737)
* Kubernets blog: 'The Future of Cloud Providers in Kubernetes'
Signed-off-by: Andrew Sy Kim
* Update future-of-cloud-providers.md
---
.../blog/_posts/future-of-cloud-providers.md | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 content/en/blog/_posts/future-of-cloud-providers.md
diff --git a/content/en/blog/_posts/future-of-cloud-providers.md b/content/en/blog/_posts/future-of-cloud-providers.md
new file mode 100644
index 0000000000..e5cd1b79ce
--- /dev/null
+++ b/content/en/blog/_posts/future-of-cloud-providers.md
@@ -0,0 +1,36 @@
+---
+title: 'The Future of Cloud Providers in Kubernetes'
+date: 2019-04-17
+---
+
+**Authors:** Andrew Sy Kim (VMware), Mike Crute (AWS), Walter Fender (Google)
+
+Approximately 9 months ago, the Kubernetes community agreed to form the Cloud Provider Special Interest Group (SIG). The justification was to have a single governing SIG to own and shape the integration points between Kubernetes and the many cloud providers it supported. A lot has been in motion since then and we’re here to share with you what has been accomplished so far and what we hope to see in the future.
+
+## The Mission
+
+First and foremost, I want to share what the mission of the SIG is, because we use it to guide our present & future work. Taken straight from our [charter](https://github.com/kubernetes/community/blob/master/sig-cloud-provider/CHARTER.md), the mission of the SIG is to simplify, develop and maintain cloud provider integrations as extensions, or add-ons, to Kubernetes clusters. The motivation behind this is two-fold: to ensure Kubernetes remains extensible and cloud agnostic.
+
+## The Current State of Cloud Providers
+
+In order to gain a forward looking perspective to our work, I think it’s important to take a step back to look at the current state of cloud providers. Today, each core Kubernetes component (except the scheduler and kube-proxy) has a --cloud-provider flag you can configure to enable a set of functionalities that integrate with the underlying infrastructure provider, a.k.a the cloud provider. Enabling this integration unlocks a wide set of features for your clusters such as: node address & zone discovery, cloud load balancers for Services with Type=LoadBalancer, IP address management, and cluster networking via VPC routing tables. Today, the cloud provider integrations can be done either in-tree or out-of-tree.
+
+## In-Tree & Out-of-Tree Providers
+
+In-tree cloud providers are the providers we develop & release in the [main Kubernetes repository](https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider/providers). This results in embedding the knowledge and context of each cloud provider into most of the Kubernetes components. This enables more native integrations such as the kubelet requesting information about itself via a metadata service from the cloud provider.
+
+
{{}}
+
+Out-of-tree cloud providers are providers that can be developed, built, and released independent of Kubernetes core. This requires deploying a new component called the cloud-controller-manager which is responsible for running all the cloud specific controllers that were previously run in the kube-controller-manager.
+
+
{{}}
+
+
+When cloud provider integrations were initially developed, they were developed natively (in-tree). We integrated each provider close to the core of Kubernetes and within the monolithic repository that is k8s.io/kubernetes today. As Kubernetes became more ubiquitous and more infrastructure providers wanted to support Kubernetes natively, we realized that this model was not going to scale. Each provider brings along a large set of dependencies which increases potential vulnerabilities in our code base and significantly increases the binary size of each component. In addition to this, more of the Kubernetes release notes started to focus on provider specific changes rather than core changes that impacted all Kubernetes users.
+
+In late 2017, we developed a way for cloud providers to build integrations without adding them to the main Kubernetes tree (out-of-tree). This became the de-facto way for new infrastructure providers in the ecosystem to integrate with Kubernetes. Since then, we’ve been actively working towards migrating all cloud providers to use the out-of-tree architecture as most clusters today are still using the in-tree cloud providers.
+
+## Looking Ahead
+
+Looking ahead, the goal of the SIG is to remove all existing in-tree cloud providers in favor of their out-of-tree equivalents with minimal impact to users. In addition to the core cloud provider integration mentioned above, there are more extension points for cloud integrations like CSI and the image credential provider that are actively being worked on for v1.15. Getting to this point would mean that Kubernetes is truly cloud-agnostic with no native integrations for any cloud provider. By doing this work we empower each cloud provider to develop and release new versions at their own cadence independent of Kubernetes. We’ve learned by now that this is a large feat with a unique set of challenges. Migrating workloads is never easy, especially when it’s an essential part of the control plane. Providing a safe and easy migration path between in-tree and out-of-tree cloud providers is of the highest priority for our SIG in the upcoming releases. If any of this sounds interesting to you, I encourage you to check out of some of our [KEPs](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cloud-provider) and get in touch with our SIG by joining the [mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider) or our slack channel (#sig-cloud-provider in Kubernetes slack).
+
From 13269b31652c715603b9ab597bb4131815562e99 Mon Sep 17 00:00:00 2001
From: Alexander Brand
Date: Wed, 17 Apr 2019 15:34:03 -0400
Subject: [PATCH 10/12] docs/es: add first couple of pages under the
run-application section (#13743)
Signed-off-by: Alexander Brand
---
.../tasks/run-application/configure-pdb.md | 230 ++++++++++++++++++
.../run-stateless-application-deployment.md | 151 ++++++++++++
.../application/deployment-scale.yaml | 19 ++
.../application/deployment-update.yaml | 19 ++
.../es/examples/application/deployment.yaml | 19 ++
content/es/includes/task-tutorial-prereqs.md | 5 +
6 files changed, 443 insertions(+)
create mode 100644 content/es/docs/tasks/run-application/configure-pdb.md
create mode 100644 content/es/docs/tasks/run-application/run-stateless-application-deployment.md
create mode 100644 content/es/examples/application/deployment-scale.yaml
create mode 100644 content/es/examples/application/deployment-update.yaml
create mode 100644 content/es/examples/application/deployment.yaml
create mode 100644 content/es/includes/task-tutorial-prereqs.md
diff --git a/content/es/docs/tasks/run-application/configure-pdb.md b/content/es/docs/tasks/run-application/configure-pdb.md
new file mode 100644
index 0000000000..6d89f71082
--- /dev/null
+++ b/content/es/docs/tasks/run-application/configure-pdb.md
@@ -0,0 +1,230 @@
+---
+title: Especificando un presupuesto de disrupción para tu aplicación
+content_template: templates/task
+weight: 110
+---
+
+{{% capture overview %}}
+
+Ésta pagina enseña como limitar el numero de disrupciones concurrentes que afectan a tu aplicación definiendo presupuestos de disrupción de pods, Pod Disruption Budgets (PDB) en inglés. Estos presupuestos definen el mínimo número de pods que deben estar ejecutándose en todo momento para asegurar la disponibilidad de la aplicación durante operaciones de mantenimiento efectuadas sobre los nodos por los administradores del cluster.
+
+{{% /capture %}}
+
+{{% capture prerequisites %}}
+* Tener permisos de administrador sobre la aplicación que esta corriendo en Kubernetes y requiere alta disponibilidad
+* Deberías saber como desplegar [Múltiples réplicas de aplicaciones stateless](/docs/tasks/run-application/run-stateless-application-deployment/)
+ y/o [Múltiples réplicas de aplicaciones stateful](/docs/tasks/run-application/run-replicated-stateful-application/).
+* Deberías haber leido acerca de [Disrupciones de un Pod](/docs/concepts/workloads/pods/disruptions/).
+* Deberías confirmar con el propietario del cluster o proveedor de servicio que respetan Presupuestos de Disrupción para Pods.
+{{% /capture %}}
+
+{{% capture steps %}}
+
+## Protegiendo una aplicación con un PodDisruptionBudget
+
+1. Identifica la aplicación que quieres proteger con un PodDisruptionBudget (PDB).
+2. Revisa como afectan las disrupciones a tú aplicación.
+3. Crea un PDB usando un archivo YAML.
+4. Crea el objecto PDB desde el archivo YAML.
+
+{{% /capture %}}
+
+{{% capture discussion %}}
+
+## Identifica la applicación que quieres proteger
+
+El caso más común es proteger aplicaciones que usan uno de los controladores incorporados
+en Kubernetes:
+
+- Deployment
+- Replicationcontrolador
+- ReplicaSet
+- StatefulSet
+
+En este caso, toma nota del `.spec.selector` que utiliza el controlador; el mismo se utilizará en el `spec.selector` del PDB.
+
+También puedes utilizar PDBs para proteger pods que no estan gestionados por uno de los controladores listados arriba, o agrupaciones arbitrarias de pods, con algunas restricciones descritas en [Controladores Arbitrarios y Selectors](#arbitrary-controladores-and-selectors).
+
+
+## Revisa como afectan las disrupciones a tú aplicación
+
+Decide cuántas instancias de tu aplicación pueden estar fuera de servicio al mismo
+tiempo debido a disrupciones voluntarias de corto plazo.
+
+- Frontend stateless:
+ - Objetivo: evitar reducir capacidad para servir por mas de 10%.
+ - Solución: usar un PDB que especifica minAvailable 90%.
+- Aplicación Stateful con una sola instancia:
+ - Objetivo: no terminar esta aplicación sin primero confirmar conmigo.
+ - Posible Solución 1: No usar un PDB y tolerar inactividad ocasional.
+ - Posible Solución 2: Crea un PDB con maxUnavailable=0. Entiende que el operador del cluster debe consultar contigo antes de terminar tu aplicación. Cuando el operador te contacte, prepara tu aplicación para downtime y elimina el PDB para indicar que estas preparado para la disrupción. Crea el PDB de nuevo al terminar la disrupción.
+- Aplicación Stateful con múltiples instancias como Consul, ZooKeeper, etcd, Redis o MySQL:
+ - Objetivo: no reducir el numero de instancias por debajo del quorum, de lo contrario, las escrituras fallarían.
+ - Posible Solución 1: fijar maxUnavailable a 1 (funciona con diferentes escalas de aplicación).
+ - Posible Solución 2: fijar minAvailable al tamaño del quorum (e.g. 3 cuando hay un total de 5 instancias). (Permite mas disrupciones a la vez.).
+- Trabajos por lote reiniciables:
+ - Objetivo: El trabajo debe completarse en caso de una interrupción voluntaria.
+ - Posible solución: No cree un PDB. El controlador de Jobs creará un pod de reemplazo.
+
+## Especificando un PodDisruptionBudget
+
+Un `PodDisruptionBudget` tiene tres atributos:
+
+* Un label selector `.spec.selector` para especificar el grupo de
+pods donde aplicar el presupuesto. Este campo es requerido.
+* `.spec.minAvailable` que es una descripción del número de pods del grupo que deben estar disponibles después del desalojo, incluso en ausencia del pod desalojado. `minAvailable` puede ser un número absoluto o un porcentaje.
+* `.spec.maxUnavailable` (disponible en Kubernetes 1.7 y superior) que es una descripción
+del numero de pods del grupo que pueden estar indisponibles despues del desalojo. Puede ser un número absoluto o un porcentaje.
+
+{{< note >}}
+Para las versiones 1.8 y anteriores: al crear un `PodDisruptionBudget`
+utilizando la herramienta de línea de comandos `kubectl`, el campo `minAvailable` es 1 por defecto si no se especifica `minAvailable` ni `maxUnavailable`.
+{{< /note >}}
+
+Puedes especificar únicamente un valor para `maxUnavailable` y `minAvailable` por `PodDisruptionBudget`.
+`maxUnavailable` solo se puede usar para controlar el desalojo de pods
+que tienen un controlador asociado manejándolos. En los ejemplos a continuación, "réplicas deseadas"
+hace referencia al valor 'scale' del controlador que gestiona el grupo de pods seleccionados por el
+`PodDisruptionBudget`.
+
+Ejemplo 1: Con un `minAvailable` de 5, se permiten los desalojos siempre que dejen
+5 o más pods disponibles entre las seleccionadas por el `selector` del PodDisruptionBudget.
+
+Ejemplo 2: Con un `minAvailable` del 30%, se permiten los desalojos mientras que al menos 30% de la cantidad de réplicas se mantengan disponibles.
+
+Ejemplo 3: Con un `maxUnavailable` de 5, se permiten desalojos siempre que haya como máximo 5
+réplicas indisponibles entre el número total de réplicas deseadas.
+
+Ejemplo 4: Con un `maxUnavailable` de 30%, se permiten los desalojos siempre y cuando no más del 30%
+de las réplicas esten indisponibles.
+
+En el uso típico, se usaría un solo presupuesto para una colección de pods administrados por
+un controlador, por ejemplo, los pods en un solo ReplicaSet o StatefulSet.
+
+{{< note >}}
+Un presupuesto de disrupción no garantiza que el número/porcentaje de pods especificado
+siempre estarán disponibles. Por ejemplo, un nodo que alberga un
+pod del grupo puede fallar cuando el grupo está en el tamaño mínimo
+especificados en el presupuesto, lo que hace que el número de pods disponibles este por debajo del tamaño especificado. El presupuesto solo puede proteger contra
+desalojos voluntarios, pero no todas las causas de indisponibilidad.
+{{< /note >}}
+
+Un `maxUnavailable` de 0% (o 0) o un `minAvailable` de 100% (o igual al
+número de réplicas) puede prevenir que los nodos sean purgados completamente.
+Esto está permitido según la semántica de `PodDisruptionBudget`.
+
+Puedes encontrar ejemplos de presupuestos de disrupción de pods definidas a continuación. Los ejemplos aplican al grupo de pods que tienen la etiqueta `app: zookeeper`.
+
+Ejemplo de PDB usando minAvailable:
+
+```yaml
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+ name: zk-pdb
+spec:
+ minAvailable: 2
+ selector:
+ matchLabels:
+ app: zookeeper
+```
+
+Ejemplo de PDB usando maxUnavailable (Kubernetes 1.7 o superior):
+
+```yaml
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+ name: zk-pdb
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app: zookeeper
+```
+
+Por ejemplo, si el objeto anterior `zk-pdb` selecciona los pods de un StatefulSet de tamaño 3, ambas
+especificaciones tienen el mismo significado exacto. Se recomienda el uso de `maxUnavailable` ya que
+responde automáticamente a los cambios en el número de réplicas del controlador correspondiente.
+
+## Crea el objeto PDB
+
+Puedes crear el objeto PDB con el comando `kubectl apply -f mypdb.yaml`.
+
+No puedes actualizar objetos PDB. Deben ser eliminados y recreados.
+
+## Comprueba el estado del PDB
+
+Utiliza kubectl para comprobar que se ha creado tu PDB.
+
+Suponiendo que en realidad no tengas pods que coincidan con `app: zookeeper` en su namespace,
+entonces verás algo como esto:
+
+```shell
+kubectl get poddisruptionbudgets
+```
+```
+NAME MIN-AVAILABLE ALLOWED-DISRUPTIONS AGE
+zk-pdb 2 0 7s
+```
+
+Si hay pods que coinciden (por ejemplo, 3), entonces debes ver algo similar a esto:
+
+```shell
+kubectl get poddisruptionbudgets
+```
+```
+NAME MIN-AVAILABLE ALLOWED-DISRUPTIONS AGE
+zk-pdb 2 1 7s
+```
+
+El valor distinto a cero de `ALLOWED-DISRUPTIONS` significa que el controlador de disrupción ha visto los pods, contó los pods coincidentes, y actualizó el estado del PDB.
+
+Puedes obtener más información sobre el estado de un PDB con este comando:
+
+```shell
+kubectl get poddisruptionbudgets zk-pdb -o yaml
+```
+```yaml
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+ creationTimestamp: 2017-08-28T02:38:26Z
+ generation: 1
+ name: zk-pdb
+...
+status:
+ currentHealthy: 3
+ desiredHealthy: 3
+ disruptedPods: null
+ disruptionsAllowed: 1
+ expectedPods: 3
+ observedGeneration: 1
+```
+
+Por último, los PodDisruptionBudgets también se pueden consultar con kubectl utilizando el nombre corto pdb:
+
+```shell
+kubectl get pdb
+```
+
+```shell
+NAME MIN-AVAILABLE ALLOWED-DISRUPTIONS AGE
+zk-pdb 2 0 7s
+```
+
+## Controladores y selectors arbitrarios
+
+Puedes omitir esta sección si solo utilizas PDBs con los controladores integrados de aplicaciones (Deployment, Replicationcontrolador, ReplicaSet y StatefulSet), con el selector de PDB coincidiendo con el selector del controlador.
+
+Puedes utilizar un PDB con pods controlados por otro tipo de controlador, por un
+"Operator", o pods individuales, pero con las siguientes restricciones:
+
+- solo puedes usar `.spec.minAvailable`, no `.spec.maxUnavailable`.
+- solo puedes usar un número entero en `.spec.minAvailable`, no un porcentaje.
+
+Puedes usar un selector que selecciona un subconjunto o superconjunto de los pods que pertenecen a un controlador incorporado. Sin embargo, cuando hay varios PDB en un namespace, debes tener cuidado de no
+crear PDBs cuyos selectores se superponen.
+{{% /capture %}}
+
+
diff --git a/content/es/docs/tasks/run-application/run-stateless-application-deployment.md b/content/es/docs/tasks/run-application/run-stateless-application-deployment.md
new file mode 100644
index 0000000000..6696a0186b
--- /dev/null
+++ b/content/es/docs/tasks/run-application/run-stateless-application-deployment.md
@@ -0,0 +1,151 @@
+---
+title: Corre una aplicación stateless usando un Deployment
+min-kubernetes-server-version: v1.9
+content_template: templates/tutorial
+weight: 10
+---
+
+{{% capture overview %}}
+
+Ésta página enseña como correr una aplicación stateless usando un `deployment` de Kubernetes.
+
+{{% /capture %}}
+
+
+{{% capture objectives %}}
+
+* Crear un `deployment` de nginx.
+* Usar kubectl para obtener información acerca del `deployment`.
+* Actualizar el `deployment`.
+
+{{% /capture %}}
+
+
+{{% capture prerequisites %}}
+
+{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
+
+{{% /capture %}}
+
+
+{{% capture lessoncontent %}}
+
+## Creando y explorando un nginx deployment
+
+Puedes correr una aplicación creando un `deployment` de Kubernetes, y puedes describir el `deployment` en un fichero YAML. Por ejemplo, el siguiente fichero YAML describe un `deployment` que corre la imágen Docker nginx:1.7.9:
+
+{{< codenew file="application/deployment.yaml" >}}
+
+
+1. Crea un `deployment` basado en el fichero YAML:
+
+ kubectl apply -f https://k8s.io/examples/application/deployment.yaml
+
+2. Obtén información acerca del `deployment`:
+
+ kubectl describe deployment nginx-deployment
+
+ El resultado es similar a esto:
+
+ user@computer:~/website$ kubectl describe deployment nginx-deployment
+ Name: nginx-deployment
+ Namespace: default
+ CreationTimestamp: Tue, 30 Aug 2016 18:11:37 -0700
+ Labels: app=nginx
+ Annotations: deployment.kubernetes.io/revision=1
+ Selector: app=nginx
+ Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
+ StrategyType: RollingUpdate
+ MinReadySeconds: 0
+ RollingUpdateStrategy: 1 max unavailable, 1 max surge
+ Pod Template:
+ Labels: app=nginx
+ Containers:
+ nginx:
+ Image: nginx:1.7.9
+ Port: 80/TCP
+ Environment:
+ Mounts:
+ Volumes:
+ Conditions:
+ Type Status Reason
+ ---- ------ ------
+ Available True MinimumReplicasAvailable
+ Progressing True NewReplicaSetAvailable
+ OldReplicaSets:
+ NewReplicaSet: nginx-deployment-1771418926 (2/2 replicas created)
+ No events.
+
+3. Lista los pods creados por el `deployment`:
+
+ kubectl get pods -l app=nginx
+
+ El resultado es similar a esto:
+
+ NAME READY STATUS RESTARTS AGE
+ nginx-deployment-1771418926-7o5ns 1/1 Running 0 16h
+ nginx-deployment-1771418926-r18az 1/1 Running 0 16h
+
+4. Muestra información acerca del pod:
+
+ kubectl describe pod
+
+ donde `` es el nombre de uno de los pods.
+
+## Actualizando el deployment
+
+Puedes actualizar el `deployment` aplicando un nuevo fichero YAML. El siguiente fichero YAML
+especifica que el `deployment` debería ser actualizado para usar nginx 1.8.
+
+{{< codenew file="application/deployment-update.yaml" >}}
+
+1. Aplica el nuevo fichero YAML:
+
+ kubectl apply -f https://k8s.io/examples/application/deployment-update.yaml
+
+2. Comprueba como el `deployment` crea nuevos pods con la nueva imagen mientras va eliminando los pods con la especificación antigua:
+
+ kubectl get pods -l app=nginx
+
+## Escalando la aplicación aumentado el número de replicas
+
+Puedes aumentar el número de pods en tu `deployment` aplicando un nuevo fichero YAML.
+El siguiente fichero YAML especifica un total de 4 `replicas`, lo que significa que el `deployment` debería tener cuatro pods:
+
+{{< codenew file="application/deployment-scale.yaml" >}}
+
+1. Aplica el nuevo fichero YAML:
+
+ kubectl apply -f https://k8s.io/examples/application/deployment-scale.yaml
+
+2. Verifica que el `deployment` tiene cuatro pods:
+
+ kubectl get pods -l app=nginx
+
+ El resultado es similar a esto:
+
+ NAME READY STATUS RESTARTS AGE
+ nginx-deployment-148880595-4zdqq 1/1 Running 0 25s
+ nginx-deployment-148880595-6zgi1 1/1 Running 0 25s
+ nginx-deployment-148880595-fxcez 1/1 Running 0 2m
+ nginx-deployment-148880595-rwovn 1/1 Running 0 2m
+
+## Eliminando un deployment
+
+Elimina el `deployment` por el nombre:
+
+ kubectl delete deployment nginx-deployment
+
+## ReplicationControllers
+
+La manera preferida de crear una aplicación con múltiples instancias es usando un Deployment, el cual usa un ReplicaSet. Antes de que Deployment y ReplicaSet fueran introducidos en Kubernetes, aplicaciones con múltiples instancias eran configuradas usando un
+[ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/).
+
+{{% /capture %}}
+
+
+{{% capture whatsnext %}}
+
+* Aprende más acerca de [Deployments](/docs/concepts/workloads/controllers/deployment/).
+
+{{% /capture %}}
diff --git a/content/es/examples/application/deployment-scale.yaml b/content/es/examples/application/deployment-scale.yaml
new file mode 100644
index 0000000000..9d3fe60e16
--- /dev/null
+++ b/content/es/examples/application/deployment-scale.yaml
@@ -0,0 +1,19 @@
+apiVersion: apps/v1 # Usa apps/v1beta2 para versiones anteriores a 1.9.0
+kind: Deployment
+metadata:
+ name: nginx-deployment
+spec:
+ selector:
+ matchLabels:
+ app: nginx
+ replicas: 4 # Actualiza el número de réplicas de 2 a 4
+ template:
+ metadata:
+ labels:
+ app: nginx
+ spec:
+ containers:
+ - name: nginx
+ image: nginx:1.8
+ ports:
+ - containerPort: 80
diff --git a/content/es/examples/application/deployment-update.yaml b/content/es/examples/application/deployment-update.yaml
new file mode 100644
index 0000000000..a88893f2bc
--- /dev/null
+++ b/content/es/examples/application/deployment-update.yaml
@@ -0,0 +1,19 @@
+apiVersion: apps/v1 # Usa apps/v1beta2 para versiones anteriores a 1.9.0
+kind: Deployment
+metadata:
+ name: nginx-deployment
+spec:
+ selector:
+ matchLabels:
+ app: nginx
+ replicas: 2
+ template:
+ metadata:
+ labels:
+ app: nginx
+ spec:
+ containers:
+ - name: nginx
+ image: nginx:1.8 # Actualiza la versión de nginx de 1.7.9 a 1.8
+ ports:
+ - containerPort: 80
diff --git a/content/es/examples/application/deployment.yaml b/content/es/examples/application/deployment.yaml
new file mode 100644
index 0000000000..1e2826ff8b
--- /dev/null
+++ b/content/es/examples/application/deployment.yaml
@@ -0,0 +1,19 @@
+apiVersion: apps/v1 # Usa apps/v1beta2 para versiones anteriores a 1.9.0
+kind: Deployment
+metadata:
+ name: nginx-deployment
+spec:
+ selector:
+ matchLabels:
+ app: nginx
+ replicas: 2 # indica al controlador que ejecute 2 pods
+ template:
+ metadata:
+ labels:
+ app: nginx
+ spec:
+ containers:
+ - name: nginx
+ image: nginx:1.7.9
+ ports:
+ - containerPort: 80
diff --git a/content/es/includes/task-tutorial-prereqs.md b/content/es/includes/task-tutorial-prereqs.md
new file mode 100644
index 0000000000..7c47e436f3
--- /dev/null
+++ b/content/es/includes/task-tutorial-prereqs.md
@@ -0,0 +1,5 @@
+Debes tener un cluster Kubernetes a tu dispocición, y la herramienta de línea de comandos `kubectl` debe estar configurada. Si no tienes un cluster, puedes crear uno utilizando [Minikube](/docs/setup/minikube),
+o puedes utilizar una de las siguientes herramientas en línea:
+
+* [Katacoda](https://www.katacoda.com/courses/kubernetes/playground)
+* [Play with Kubernetes](http://labs.play-with-k8s.com/)
From 8df073905a6f499d9a721dcfe63b70ffe518ea8a Mon Sep 17 00:00:00 2001
From: Kaitlyn Barnard
Date: Wed, 17 Apr 2019 12:50:05 -0700
Subject: [PATCH 11/12] Blog post on pod priority and preemption (#13829)
---
...d-priority-and-preemption-in-kubernetes.md | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 content/en/blog/_posts/2019-04-16-pod-priority-and-preemption-in-kubernetes.md
diff --git a/content/en/blog/_posts/2019-04-16-pod-priority-and-preemption-in-kubernetes.md b/content/en/blog/_posts/2019-04-16-pod-priority-and-preemption-in-kubernetes.md
new file mode 100644
index 0000000000..d7989ed65b
--- /dev/null
+++ b/content/en/blog/_posts/2019-04-16-pod-priority-and-preemption-in-kubernetes.md
@@ -0,0 +1,35 @@
+---
+layout: blog
+title: 'Pod Priority and Preemption in Kubernetes'
+date: 2019-04-16
+---
+
+**Author**: Bobby Salamat
+
+Kubernetes is well-known for running scalable workloads. It scales your workloads based on their resource usage. When a workload is scaled up, more instances of the application get created. When the application is critical for your product, you want to make sure that these new instances are scheduled even when your cluster is under resource pressure. One obvious solution to this problem is to over-provision your cluster resources to have some amount of slack resources available for scale-up situations. This approach often works, but costs more as you would have to pay for the resources that are idle most of the time.
+
+[Pod priority and preemption](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/) is a scheduler feature made generally available in Kubernetes 1.14 that allows you to achieve high levels of scheduling confidence for your critical workloads without overprovisioning your clusters. It also provides a way to improve resource utilization in your clusters without sacrificing the reliability of your essential workloads.
+
+## Guaranteed scheduling with controlled cost
+
+[Kubernetes Cluster Autoscaler](https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#cluster-autoscaling) is an excellent tool in the ecosystem which adds more nodes to your cluster when your applications need them. However, cluster autoscaler has some limitations and may not work for all users:
+
+- It does not work in physical clusters.
+- Adding more nodes to the cluster costs more.
+- Adding nodes is not instantaneous and could take minutes before those nodes become available for scheduling.
+
+An alternative is Pod Priority and Preemption. In this approach, you combine multiple workloads in a single cluster. For example, you may run your CI/CD pipeline, ML workloads, and your critical service in the same cluster. When multiple workloads run in the same cluster, the size of your cluster is larger than a cluster that you would use to run only your critical service. If you give your critical service the highest priority and your CI/CD and ML workloads lower priority, when your service needs more computing resources, the scheduler preempts (evicts) enough pods of your lower priority workloads, e.g., ML workload, to allow all your higher priority pods to schedule.
+
+With pod priority and preemption you can set a maximum size for your cluster in the Autoscaler configuration to ensure your costs get controlled without sacrificing availability of your service. Moreover, preemption is much faster than adding new nodes to the cluster. Within seconds your high priority pods are scheduled, which is critical for latency sensitive services.
+
+## Improve cluster resource utilization
+
+Cluster operators who run critical services learn over time a rough estimate of the number of nodes that they need in their clusters to achieve high service availability. The estimate is usually conservative. Such estimates take bursts of traffic into account to find the number of required nodes. Cluster autoscaler can be configured never to reduce the size of the cluster below this level. The only problem is that such estimates are often conservative and cluster resources may remain underutilized most of the time. Pod priority and preemption allows you to improve resource utilization significantly by running a non-critical workload in the cluster.
+
+The non-critical workload may have many more pods that can fit in the cluster. If you give a negative priority to your non-critical workload, Cluster Autoscaler does not add more nodes to your cluster when the non-critical pods are pending. Therefore, you won’t incur higher expenses. When your critical workload requires more computing resources, the scheduler preempts non-critical pods and schedules critical ones.
+
+The non-critical pods fill the “holes” in your cluster resources which improves resource utilization without raising your costs.
+
+## Get Involved
+
+If you have feedback for this feature or are interested in getting involved with the design and development, join the [Scheduling Special Interest Group](https://github.com/kubernetes/community/tree/master/sig-scheduling).
From 62501702fc7a647b7f87834a7b9140cda0a7e409 Mon Sep 17 00:00:00 2001
From: Jared
Date: Wed, 17 Apr 2019 15:30:01 -0700
Subject: [PATCH 12/12] Adding New Contributor Ambassador role to K8s (#13863)
Adding new contrib ambassador role to k8s with details of the role and responsibilities.
---
content/en/docs/contribute/advanced.md | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/content/en/docs/contribute/advanced.md b/content/en/docs/contribute/advanced.md
index 619d022f6d..cd4c0aa6c4 100644
--- a/content/en/docs/contribute/advanced.md
+++ b/content/en/docs/contribute/advanced.md
@@ -110,6 +110,25 @@ The SIG Docs representative for a given release coordinates the following tasks:
Coordinating a release is typically a 3-4 month commitment, and the duty is
rotated among SIG Docs approvers.
+## Serve as a New Contributor Ambassador
+
+SIG Docs [approvers](/docs/contribute/participating/#approvers) can serve as
+New Contributor Ambassadors.
+
+New Contributor Ambassadors work together to welcome new contributors to SIG-Docs,
+suggest PRs to new contributors, and mentor new contributors through their first
+few PR submissions.
+
+Responsibilities for New Contributor Ambassadors include:
+
+- Being available on the [Kubernetes #sig-docs channel](https://kubernetes.slack.com) to answer questions from new contributors.
+- Working with PR wranglers to identify good first issues for new contributors.
+- Mentoring new contributors through their first few PRs to the docs repo.
+- Helping new contributors create the more complex PRs they need to become Kubernetes members.
+- [Sponsoring contributors](/docs/contribute/advanced/#sponsor-a-new-contributor) on their path to becoming Kubernetes members.
+
+Current New Contributor Ambassadors are announced at each SIG-Docs meeting, and in the [Kubernetes #sig-docs channel](https://kubernetes.slack.com).
+
## Sponsor a new contributor
SIG Docs [reviewers](/docs/contribute/participating/#reviewers) can sponsor