From c5f188da73c00e602b2648ee1eb28c0b95b87c3f Mon Sep 17 00:00:00 2001 From: Javi Sabalete Date: Thu, 30 May 2019 22:08:04 +0200 Subject: [PATCH 001/533] Add content/es/docs/concepts/workloads/pods/pod.md --- .../es/docs/concepts/workloads/pods/pod.md | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 content/es/docs/concepts/workloads/pods/pod.md diff --git a/content/es/docs/concepts/workloads/pods/pod.md b/content/es/docs/concepts/workloads/pods/pod.md new file mode 100644 index 0000000000..b2bee12852 --- /dev/null +++ b/content/es/docs/concepts/workloads/pods/pod.md @@ -0,0 +1,154 @@ +--- +reviewers: +title: Pods +content_template: templates/concept +weight: 20 +--- + +{{% capture overview %}} + +Los _Pods_ son las unidades de computación desplegables más pequeñas que se pueden crear y gestionar en Kubernetes. + +{{% /capture %}} + + +{{% capture body %}} + +## ¿Qué és un Pod? + +Un _Pod_ (como en una vaina de ballenas o vaina de guisantes) es un grupo de uno o más contenedores (como contenedores Docker), con almacenamiento/red compartidos, y unas especificaciones de cómo ejecutar los contenedores. Los contenidos de un Pod son siempre coubicados, coprogramados y ejecutados en un contexto compartido. Un Pod modela un "host lógico" específico de la aplicación: contiene uno o más contenedores de aplicaciones relativamente entrelazados. Antes de la llegada de los contenedores, ejecutarse en la misma máquina física o virtual significaba ser ejecutado en el mismo host lógico. + +Mientras que Kubernetes soporta más {{}} a parte de Docker, este último es el más conocido y ayuda a describir Pods en términos de Docker. + +El contexto compartido de un Pod es un conjunto de namespaces de Linux, cgroups y, potencialmente, otras facetas de aislamiento, las mismas cosas que aíslan un contenedor Docker. Dentro del contexto de un Pod, las aplicaciones individuales pueden tener más subaislamientos aplicados. + +Los contenedores dentro de un Pod comparten dirección IP y puerto, y pueden encontrarse a través de `localhost`. También pueden comunicarse entre sí mediante comunicaciones estándar entre procesos, como semáforos de SystemV o la memoria compartida POSIX. Los contenedores en diferentes Pods tienen direcciones IP distintas y no pueden comunicarse por IPC sin [configuración especial](/es/docs /concepts/policy/pod-security-policy/). +Estos contenedores normalmente se comunican entre sí a través de las direcciones IP del Pod. + +Las aplicaciones dentro de un Pod también tienen acceso a {{}} compartidos, que se definen como parte de un Pod y están disponibles para ser montados en el sistema de archivos de cada aplicación. + +En términos de [Docker](https://www.docker.com/), un Pod se modela como un grupo de contenedores de Docker con namespaces y volúmenes de sistemas de archivos compartidos. + +Al igual que los contenedores de aplicaciones individuales, los Pods se consideran entidades relativamente efímeras (en lugar de duraderas). Como se explica en [ciclo de vida del pod](/es/docs/concepts/workloads/pods/pod-lifecycle/), los Pods se crean, se les asigna una ID única (UID) y se planifican en nodos donde permanecen hasta su finalización (según la política de reinicio) o supresión. Si un {{}} muere, los Pods programados para ese nodo se programan para su eliminación después de un período de tiempo de espera. Un Pod dado (defininido por su UID) no se "replanifica" a un nuevo nodo; en su lugar, puede reemplazarse por un Pod idéntico, con incluso el mismo nombre si lo desea, pero con un nuevo UID (consulte [controlador de replicación](/es/docs/concepts/workloads/controllers/replicationcontroller/) para obtener más detalles). + +Cuando se dice que algo tiene la misma vida útil que un Pod, como un volumen, significa que existe mientras exista ese Pod (con ese UID). Si ese Pod se elimina por cualquier motivo, incluso si se crea un reemplazo idéntico, la cosa relacionada (por ejemplo, el volumen) también se destruye y se crea de nuevo. +{{< figure src="/images/docs/pod.svg" title="diagrama de Pod" width="50%" >}} + +*Un Pod de múltiples contenedores que contiene un extractor de archivos y un servidor web que utiliza un volumen persistente para el almacenamiento compartido entre los contenedores.* + +## Motivación para los Pods + +### Gestión + +Los Pods son un modelo del patrón de múltiples procesos de cooperación que forman una unidad de servicio cohesiva. Simplifican la implementación y la administración de las aplicaciones proporcionando una abstracción de mayor nivel que el conjunto de las aplicaciones que lo constituyen. Los Pods sirven como unidad de despliegue, escalado horizontal y replicación. La colocación (coprogramación), el destino compartido (por ejemplo, la finalización), la replicación coordinada, el uso compartido de recursos y la gestión de dependencias se controlan automáticamente para los contenedores en un Pod. + +### Recursos compartidos y comunicación + +Los Pods permiten el intercambio de datos y la comunicación entre los contenedores que lo constituyen. + +Todas las aplicaciones en un Pod utilizan el mismo namespace de red (la misma IP y puerto) y, por lo tanto, pueden "encontrarse" entre sí y comunicarse utilizando `localhost`. +Debido a esto, las aplicaciones en un Pod deben coordinar su uso de puertos. Cada Pod tiene una dirección IP en un espacio de red compartido que tiene comunicación completa con otros servidores físicos y Pods a través de la red. + +Los contenedores dentro del Pod ven que el hostname del sistema es el mismo que el `nombre` configurado para el Pod. Hay más información sobre esto en la sección [networking](/es/docs/concepts/cluster-administration/networking/). + +Además de definir los contenedores de aplicaciones que se ejecutan en el Pod, el Pod especifica un conjunto de volúmenes de almacenamiento compartido. Los volúmenes permiten que los datos sobrevivan a reinicios de contenedores y se compartan entre las aplicaciones dentro del Pod. + +## Usos de Pods + +Los Pods pueden ser usados para alojar pilas de aplicaciones integradas (por ejemplo, LAMP), pero su objetivo principal es apoyar los programas de ayuda coubicados y coadministrados, como: + +* sistemas de gestión de contenido, loaders de datos y archivos, gestores de caché locales, etc. +* copia de seguridad de registro y punto de control, compresión, rotación, captura de imágenes, etc. +* observadores de cambio de datos, adaptadores de registro y monitoreo, publicadores de eventos, etc. +* proxies, bridges y adaptadores. +* controladores, configuradores y actualizadores. + +Los Pods individuales no están diseñados para ejecutar varias instancias de la misma aplicación, en general. + +Para una explicación más detallada, ver [El sistema distribuido ToolKit: Patrones para Contenedores multiaplicación](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns). + +## Alternativas + +_¿Por qué simplemente no ejecutar múltiples programas en un solo contenedor de Docker?_ + +1. Transparencia. Hacer visibles los contenedores dentro del Pod + a la infraestructura permite que esta brinde servicios, como gestión de procesos + y monitoreo de recursos, a los contenedores, facilitando una + serie de comodidades a los usuarios. +1. Desacople de dependencias de software. Los contenedores individuales pueden ser + versionados, reconstruidos y redistribuidos independientemente. Kubernetes podría incluso apoyar + actualizaciones en vivo de contenedores individuales en un futuro. +1. Facilidad de uso. Los usuarios no necesitan ejecutar sus propios administradores de procesos, + para propagación de señales, códigos de salida, etc. +1. Eficiencia. Debido a que la infraestructura asume más responsabilidad, + los contenedores pueden ser más livianos. + +_¿Por qué no admitir la planificación conjunta de contenedores por afinidad?_ + +Ese enfoque proporcionaría la ubicación conjunta, pero no la mayor parte de +beneficios de los Pods, como compartir recursos, IPC, compartir el destino garantizado y +gestión simplificada. + +## Durabilidad de pods (o su ausencia) + +Los Pods no están destinados a ser tratados como entidades duraderas. No sobrevivirán a errores de planificación, caídas de nodo u otros desalojos, ya sea por falta de recursos o en el caso de mantenimiento de nodos. + +En general, los usuarios no deberían necesitar crear Pods directamente, deberían +usar siempre controladores incluso para Pods individuales, como por ejemplo, los +[Deployments](/es/docs/concepts/workloads/controllers/deployment/). +Los controladores proporcionan autocuración con un alcance de clúster, así como replicación +y gestión de despliegue. +Otros controladores como los [StatefulSet](/es/docs/concepts/workloads/controllers/statefulset.md) +pueden tambien proporcionar soporte para Pods que necesiten persisitir el estado. + +El uso de API colectivas como la principal primitiva de cara al usuario es relativamente común entre los sistemas de planificación de clúster, incluyendo [Borg](https://research.google.com/pubs/pub43438.html), [Marathon](https://mesosphere.github.io/marathon/docs/rest-api.html), [Aurora](http://aurora.apache.org/documentation/latest/reference/configuration/#job-schema), y [Tupperware](http://www.slideshare.net/Docker/aravindnarayanan-facebook140613153626phpapp02-37588997). + +El Pod se expone como primitiva para facilitar: + +* planificación y capacidad de conexión del controlador +* soporte para operaciones a nivel de Pod sin la necesidad de "proxy" a través de las API del controlador +* desacople de la vida útil del Pod de la vida útil del controlador, como para el arranque +* desacople de controladores y servicios, el endpoint del controlador solo mira Pods +* composición limpia de funcionalidad a nivel de Kubelet con funcionalidad a nivel de clúster, Kubelet es efectivamente el "controlador de Pod" +* aplicaciones en alta disponibilidad, que esperan que los Pods sean reemplazados antes de su finalización y ciertamente antes de su eliminación, como en el caso de desalojos planificados o descarga previa de imágenes. + +## Finalización de Pods + +Debido a que los Pods representan procesos en ejecución en los nodos del clúster, es importante permitir que esos procesos finalicen de forma correcta cuando ya no se necesiten (en lugar de ser parados bruscamente con una señal de KILL). Los usuarios deben poder solicitar la eliminación y saber cuándo finalizan los procesos, pero también deben poder asegurarse de que las eliminaciones finalmente se completen. Cuando un usuario solicita la eliminación de un Pod, el sistema registra el período de gracia previsto antes de que el Pod pueda ser eliminado de forma forzada, y se envía una señal TERM al proceso principal en cada contenedor. Una vez que el período de gracia ha expirado, la señal KILL se envía a esos procesos y el Pod se elimina del servidor API. Si se reinicia Kubelet o el administrador de contenedores mientras se espera que finalicen los procesos, la terminación se volverá a intentar con el período de gracia completo. + +Un ejemplo del ciclo de terminación de un Pod: + +1. El usuario envía un comando para eliminar Pod, con un período de gracia predeterminado (30s) +1. El Pod en el servidor API se actualiza con el tiempo a partir del cual el Pod se considera "muerto" junto con el período de gracia. +1. El Pod aparece como "Terminando" cuando aparece en los comandos del cliente +1. (simultáneo con 3) Cuando el Kubelet ve que un Pod se ha marcado como terminado porque se ha configurado el tiempo en 2, comienza el proceso de apagado del Pod. + 1. Si uno de los contenedores del Pod ha definido un [preStop hook](/es/docs/concepts/containers/container-lifecycle-hooks/#hook-details), se invoca dentro del contenedor. Si el hook `preStop` todavía se está ejecutando después de que expire el período de gracia, el paso 2 se invoca con un pequeño período de gracia extendido (2s). + 1. El contenedor recibe la señal TERM. Tenga en cuenta que no todos los contenedores en el Pod recibirán la señal TERM al mismo tiempo y cada uno puede requerir un hook `preStop` si el orden en el que se cierra es importante. +1. (simultáneo con 3) Pod se elimina de la lista de endponts del servicio, y ya no se considera parte del conjunto de Pods en ejecución para controladores de replicación. Los Pods que se apagan lentamente no pueden continuar sirviendo el tráfico ya que los balanceadores de carga (como el proxy de servicio) los eliminan de sus rotaciones. +1. Cuando expira el período de gracia, todos los procesos que todavía se ejecutan en el Pod se eliminan con SIGKILL. +1. El Kubelet terminará de eliminar el Pod en el servidor API configurando el período de gracia 0 (eliminación inmediata). El Pod desaparece de la API y ya no es visible desde el cliente. + +Por defecto, todas las eliminaciones se realizan correctamente en 30 segundos. El comando `kubectl delete` admite la opción` --grace-period = `que permite al usuario anular el valor predeterminado y especificar su propio valor. El valor `0` [forzar eliminación](/es/docs/concepts/workloads/pods/pod/#force-deletion-of-pods) del Pod. +Debe especificar un indicador adicional `--force` junto con` --grace-period = 0` para realizar eliminaciones forzadas. + +### Forzar destrucción de Pods + +La eliminación forzada de un Pod se define como la eliminación de un Pod del estado del clúster y etcd inmediatamente. Cuando se realiza una eliminación forzada, el apiserver no espera la confirmación del kubelet de que el Pod ha finalizado en el nodo en el que se estaba ejecutando. Elimina el Pod en la API inmediatamente para que se pueda crear un nuevo Pod con el mismo nombre. En el nodo, los Pods que están configurados para terminar de inmediato recibirán un pequeño período de gracia antes de ser forzadas a matar. + +Estas eliminaciones pueden ser potencialmente peligrosas para algunos Pods y deben realizarse con precaución. En el caso de Pods de StatefulSets, consulte la documentación de la tarea para [eliminando Pods de un StatefulSet](/es/docs/tasks/run-application/force-delete-stateful-set-pod/). + +## Modo privilegiado para Pods + +Cualquier contenedor en un Pod puede habilitar el modo privilegiado, utilizando el indicador `privilegiado` en el [contexto de seguridad](/docs/tasks/configure-pod-container/security-context/) de la especificación del contenedor. Esto es útil para contenedores que desean usar capacidades de Linux como manipular la pila de red y acceder a dispositivos. Los procesos dentro del contenedor obtienen casi los mismos privilegios que están disponibles para los procesos fuera de un contenedor. Con el modo privilegiado, debería ser más fácil escribir complementos de red y volumen como Pods separados que no necesitan compilarse en el kubelet. + +{{< note >}} +El {{}} debe admitir el concepto de un contenedor privilegiado para que esta configuración sea relevante. +{{< /note >}} + +## API + +Pod es un recurso de nivel superior en la API REST de Kubernetes. +La definición de [objeto de API Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core) +describe el objeto en detalle. + +{{% /capture %}} From 638eaf6f27e3fd32526632f16fff4075e00352ee Mon Sep 17 00:00:00 2001 From: inductor Date: Fri, 27 Mar 2020 16:18:23 +0900 Subject: [PATCH 002/533] fix typo (#19878) --- .../cluster-administration/cluster-administration-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md index 935edba7a3..3aec349748 100644 --- a/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -20,7 +20,7 @@ Kubernetesクラスターの計画、セットアップ、設定の例を知る - **もしあなたが高可用性を求める場合**、 [複数ゾーンにまたがるクラスター](/docs/concepts/cluster-administration/federation/)の設定について学んでください。 - [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/)のような**ホストされているKubernetesクラスター**を使用するのか、それとも**自分自身でクラスターをホストするのでしょうか**? - 使用するクラスターは**オンプレミス**なのか、それとも**クラウド (IaaS)**でしょうか? Kubernetesはハイブリッドクラスターを直接サポートしていません。その代わりユーザーは複数のクラスターをセットアップできます。 - - Kubernetesを**"ベアメタル"なハードウェア** 上で稼働させるますか? それとも**仮想マシン (VMs)** 上で稼働させますか? + - Kubernetesを**"ベアメタル"なハードウェア** 上で稼働させますか? それとも**仮想マシン (VMs)** 上で稼働させますか? - **もしオンプレミスでKubernetesを構築する場合**、どの[ネットワークモデル](/ja/docs/concepts/cluster-administration/networking/)が最適か検討してください。 - **ただクラスターを稼働させたいだけ**でしょうか、それとも**Kubernetesプロジェクトのコードの開発**を行いたいでしょうか? もし後者の場合、開発が進行中のディストリビューションを選択してください。いくつかのディストリビューションはバイナリリリースのみ使用していますが、多くの選択肢があります。 - クラスターを稼働させるのに必要な[コンポーネント](/ja/docs/concepts/overview/components/)についてよく理解してください。 From 109e8c5fa248abaf202967c0fa4b75442fa68fb3 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 27 Mar 2020 23:22:23 +0900 Subject: [PATCH 003/533] replace http helm link with https (#19889) --- .../tasks/service-catalog/install-service-catalog-using-helm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md b/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md index cac6668f16..15fb801e88 100644 --- a/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md +++ b/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md @@ -18,7 +18,7 @@ content_template: templates/task * クラウド上のKubernetesクラスター、または{{< glossary_tooltip text="Minikube" term_id="minikube" >}}を使用している場合、クラスターDNSはすでに有効化されています。 * `hack/local-up-cluster.sh`を使用している場合は、環境変数`KUBE_ENABLE_CLUSTER_DNS`が設定されていることを確認し、インストールスクリプトを実行してください。 * [kubectlのインストールおよびセットアップ](/ja/docs/tasks/tools/install-kubectl/)を参考に、v1.7以降のkubectlをインストールし、設定を行ってください。 -* v2.7.0以降の[Helm](http://helm.sh/)をインストールしてください。 +* v2.7.0以降の[Helm](https://helm.sh/)をインストールしてください。 * [Helm install instructions](https://helm.sh/docs/intro/install/)を参考にしてください。 * 上記のバージョンのHelmをすでにインストールしている場合は、`helm init`を実行し、HelmのサーバーサイドコンポーネントであるTillerをインストールしてください。 From a315c38000773f8dccf25affffd64daa62492661 Mon Sep 17 00:00:00 2001 From: iaoiui Date: Wed, 1 Apr 2020 08:49:02 +0900 Subject: [PATCH 004/533] Fix typo kubectl exposed -> kubectl expose --- .../services-networking/connect-applications-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/services-networking/connect-applications-service.md b/content/ja/docs/concepts/services-networking/connect-applications-service.md index e1250bbdea..5948d51e88 100644 --- a/content/ja/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ja/docs/concepts/services-networking/connect-applications-service.md @@ -77,7 +77,7 @@ Kubernetes Serviceは、クラスター内のどこかで実行されるPodの このアドレスはServiceの有効期間に関連付けられており、Serviceが動作している間は変更されません。 Podは、Serviceと通信するように構成でき、Serviceへの通信は、ServiceのメンバーであるPodに自動的に負荷分散されることを認識できます。 -2つのnginxレプリカのサービスを`kubectl exposed`で作成できます: +2つのnginxレプリカのサービスを`kubectl expose`で作成できます: ```shell kubectl expose deployment/my-nginx From 13274fbdd415580de18973846bc9557eb68c3585 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 4 Apr 2020 15:59:34 +0900 Subject: [PATCH 005/533] update link to /ja/docs/concepts/services-networking/dns-pod-service/ --- content/ja/docs/concepts/overview/components.md | 2 +- .../docs/concepts/overview/working-with-objects/namespaces.md | 2 +- .../ja/docs/concepts/services-networking/dns-pod-service.md | 4 ++-- content/ja/docs/concepts/services-networking/service.md | 2 +- content/ja/docs/concepts/workloads/controllers/statefulset.md | 2 +- .../reference/command-line-tools-reference/feature-gates.md | 2 +- .../windows/user-guide-windows-containers.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/concepts/overview/components.md b/content/ja/docs/concepts/overview/components.md index 5a4f894c44..8cee84861a 100644 --- a/content/ja/docs/concepts/overview/components.md +++ b/content/ja/docs/concepts/overview/components.md @@ -93,7 +93,7 @@ cloud-controller-managerを使用すると、クラウドベンダーのコー ### DNS -クラスターDNS以外のアドオンは必須ではありませんが、すべてのKubernetesクラスターは[クラスターDNS](/docs/concepts/services-networking/dns-pod-service/)を持つべきです。多くの使用例がクラスターDNSを前提としています。 +クラスターDNS以外のアドオンは必須ではありませんが、すべてのKubernetesクラスターは[クラスターDNS](/ja/docs/concepts/services-networking/dns-pod-service/)を持つべきです。多くの使用例がクラスターDNSを前提としています。 クラスターDNSは、環境内の他のDNSサーバーに加えて、KubernetesサービスのDNSレコードを提供するDNSサーバーです。 diff --git a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md index 8e21224587..223fec9ce9 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md @@ -76,7 +76,7 @@ kubectl config view | grep namespace: ## NamespaceとDNS -ユーザーが[Service](/docs/user-guide/services)を作成するとき、Serviceは対応する[DNSエントリ](/docs/concepts/services-networking/dns-pod-service/)を作成します。 +ユーザーが[Service](/docs/user-guide/services)を作成するとき、Serviceは対応する[DNSエントリ](/ja/docs/concepts/services-networking/dns-pod-service/)を作成します。 このエントリは`..svc.cluster.local`という形式になり,これはもしあるコンテナがただ``を指定していた場合、Namespace内のローカルのServiceに対して名前解決されます。 これはデベロップメント、ステージング、プロダクションといって複数のNamespaceをまたいで同じ設定を使う時に効果的です。 もしユーザーがNamespaceをまたいでアクセスしたい時、 完全修飾ドメイン名(FQDN)を指定する必要があります。 diff --git a/content/ja/docs/concepts/services-networking/dns-pod-service.md b/content/ja/docs/concepts/services-networking/dns-pod-service.md index fa76965e8e..2700b92ea8 100644 --- a/content/ja/docs/concepts/services-networking/dns-pod-service.md +++ b/content/ja/docs/concepts/services-networking/dns-pod-service.md @@ -25,7 +25,7 @@ Kubernetesの`bar`というネームスペース内で`foo`という名前のSer うまく機能する他のレイアウト、名前、またはクエリーは、実装の詳細を考慮し、警告なしに変更されることがあります。 最新の仕様に関する詳細は、[KubernetesにおけるDNSベースのServiceディスカバリ](https://github.com/kubernetes/dns/blob/master/docs/specification.md)を参照ください。 -## Service +## Service {#services} ### Aレコード @@ -148,7 +148,7 @@ spec: dnsPolicy: ClusterFirstWithHostNet ``` -### PodのDNS設定 +### PodのDNS設定 {#pods-dns-config} PodのDNS設定は、ユーザーがPodに対してそのDNS設定上でさらに制御するための手段を提供します。 diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index c143b291c5..4bc127b439 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -306,7 +306,7 @@ CoreDNSなどのクラスター対応のDNSサーバーは新しいServiceや、 Kubernetesは名前付きのポートに対するDNS SRV(Service)レコードもサポートしています。もし`"my-service.my-ns"`というServiceが`"http"`という名前のTCPポートを持っていた場合、IPアドレスと同様に、`"http"`のポート番号を探すために`_http._tcp.my-service.my-ns`というDNS SRVクエリを実行できます。 KubernetesのDNSサーバーは`ExternalName` Serviceにアクセスする唯一の方法です。 -[DNS Pods と Service](/docs/concepts/services-networking/dns-pod-service/)にて`ExternalName`による名前解決に関するさらなる情報を確認できます。 +[DNS Pods と Service](/ja/docs/concepts/services-networking/dns-pod-service/)にて`ExternalName`による名前解決に関するさらなる情報を確認できます。 ## Headless Service {#headless-service} diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index e16488b5b8..3dd96553fe 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -131,7 +131,7 @@ Cluster Domain | Service (ns/name) | StatefulSet (ns/name) | StatefulSet Domain kube.local | foo/nginx | foo/web | nginx.foo.svc.kube.local | web-{0..N-1}.nginx.foo.svc.kube.local | web-{0..N-1} | {{< note >}} -クラスタードメインは[その他の設定](/docs/concepts/services-networking/dns-pod-service/#how-it-works)がされない限り、`cluster.local`にセットされます。 +クラスタードメインは[その他の設定](/ja/docs/concepts/services-networking/dns-pod-service/#how-it-works)がされない限り、`cluster.local`にセットされます。 {{< /note >}} ### 安定したストレージ diff --git a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md index 582d432e94..1bc72fe65e 100644 --- a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md @@ -322,7 +322,7 @@ GAになってからさらなる変更を加えることは現実的ではない - `CSIPersistentVolume`: [CSI(Container Storage Interface)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md)互換のボリュームプラグインを通してプロビジョニングされたボリュームの検出とマウントを有効にします。 詳細については[`csi`ボリュームタイプ](/docs/concepts/storage/volumes/#csi)ドキュメントを確認してください。 - `CustomCPUCFSQuotaPeriod`: ノードがCPUCFSQuotaPeriodを変更できるようにします。 -- `CustomPodDNS`: `dnsConfig`プロパティを使用したPodのDNS設定のカスタマイズを有効にします。詳細は[PodのDNS構成](/docs/concepts/services-networking/dns-pod-service/#pods-dns-config)で確認できます。 +- `CustomPodDNS`: `dnsConfig`プロパティを使用したPodのDNS設定のカスタマイズを有効にします。詳細は[PodのDNS構成](/ja/docs/concepts/services-networking/dns-pod-service/#pods-dns-config)で確認できます。 - `CustomResourceDefaulting`: OpenAPI v3バリデーションスキーマにおいて、デフォルト値のCRDサポートを有効にします。 - `CustomResourcePublishOpenAPI`: CRDのOpenAPI仕様での公開を有効にします。 - `CustomResourceSubresources`: [CustomResourceDefinition](/docs/concepts/api-extension/custom-resources/)から作成されたリソースの`/status`および`/scale`サブリソースを有効にします。 diff --git a/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md b/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md index 44d136f60b..2e6e7fb5d7 100644 --- a/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md +++ b/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md @@ -93,7 +93,7 @@ Port mapping is also supported, but for simplicity in this example the container * Node-to-pod communication across the network, `curl` port 80 of your pod IPs from the Linux master to check for a web server response * Pod-to-pod communication, ping between pods (and across hosts, if you have more than one Windows node) using docker exec or kubectl exec * Service-to-pod communication, `curl` the virtual service IP (seen under `kubectl get services`) from the Linux master and from individual pods - * Service discovery, `curl` the service name with the Kubernetes [default DNS suffix](/docs/concepts/services-networking/dns-pod-service/#services) + * Service discovery, `curl` the service name with the Kubernetes [default DNS suffix](/ja/docs/concepts/services-networking/dns-pod-service/#services) * Inbound connectivity, `curl` the NodePort from the Linux master or machines outside of the cluster * Outbound connectivity, `curl` external IPs from inside the pod using kubectl exec From 65b887f07023c5fda3d03c5848af6a6bd049bf10 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sun, 5 Apr 2020 17:28:07 +0900 Subject: [PATCH 006/533] update link to /ja/docs/concepts/workloads/pods/pod-lifecycle/ --- .../ja/docs/concepts/configuration/overview.md | 2 +- .../docs/concepts/containers/runtime-class.md | 2 +- .../working-with-objects/field-selectors.md | 2 +- .../concepts/services-networking/service.md | 2 +- .../workloads/controllers/daemonset.md | 2 +- .../workloads/controllers/deployment.md | 4 ++-- .../concepts/workloads/pods/pod-lifecycle.md | 18 +++++++++--------- content/ja/docs/concepts/workloads/pods/pod.md | 2 +- .../feature-gates.md | 4 ++-- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/content/ja/docs/concepts/configuration/overview.md b/content/ja/docs/concepts/configuration/overview.md index 8255db692a..f5939344cc 100644 --- a/content/ja/docs/concepts/configuration/overview.md +++ b/content/ja/docs/concepts/configuration/overview.md @@ -31,7 +31,7 @@ weight: 10 - 可能な限り、"真っ裸"のPod([ReplicaSet](/ja/docs/concepts/workloads/controllers/replicaset/)や[Deployment](/ja/docs/concepts/workloads/controllers/deployment/)にバインドされていないPod)は使わないでください。Nodeに障害が発生した場合、これらのPodは再スケジュールされません。 - 明示的に[`restartPolicy: Never`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)を使いたいシーンを除いて、DeploymentはPodを直接作成するよりもほとんど常に望ましい方法です。Deploymentには、希望する数のPodが常に使用可能であることを確認するためにReplicaSetを作成したり、Podを置き換えるための戦略(RollingUpdateなど)を指定したりできます。[Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)のほうが適切な場合もあるかもしれません。 + 明示的に[`restartPolicy: Never`](/ja/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)を使いたいシーンを除いて、DeploymentはPodを直接作成するよりもほとんど常に望ましい方法です。Deploymentには、希望する数のPodが常に使用可能であることを確認するためにReplicaSetを作成したり、Podを置き換えるための戦略(RollingUpdateなど)を指定したりできます。[Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)のほうが適切な場合もあるかもしれません。 ## Service diff --git a/content/ja/docs/concepts/containers/runtime-class.md b/content/ja/docs/concepts/containers/runtime-class.md index 1acbdcf219..e36d7f9572 100644 --- a/content/ja/docs/concepts/containers/runtime-class.md +++ b/content/ja/docs/concepts/containers/runtime-class.md @@ -81,7 +81,7 @@ spec: # ... ``` -これは、Kubeletに対してPodを稼働させるためのRuntimeClassを使うように指示します。もし設定されたRuntimeClassが存在しない場合や、CRIが対応するハンドラーを実行できない場合、そのPodは`Failed`という[フェーズ](/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)になります。 +これは、Kubeletに対してPodを稼働させるためのRuntimeClassを使うように指示します。もし設定されたRuntimeClassが存在しない場合や、CRIが対応するハンドラーを実行できない場合、そのPodは`Failed`という[フェーズ](/ja/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)になります。 エラーメッセージに関しては対応する[イベント](/docs/tasks/debug-application-cluster/debug-application-introspection/)を参照して下さい。 もし`runtimeClassName`が指定されていない場合、デフォルトのRuntimeHandlerが使用され、これはRuntimeClassの機能が無効であるときのふるまいと同じものとなります。 diff --git a/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md b/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md index 86bce27e07..3247f1b8da 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md +++ b/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md @@ -10,7 +10,7 @@ _フィールドセレクター(Field Selectors)_ は、1つかそれ以上の * `metadata.namespace!=default` * `status.phase=Pending` -下記の`kubectl`コマンドは、[`status.phase`](/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)フィールドの値が`Running`である全てのPodを選択します。 +下記の`kubectl`コマンドは、[`status.phase`](/ja/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)フィールドの値が`Running`である全てのPodを選択します。 ```shell kubectl get pods --field-selector status.phase=Running diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index c143b291c5..8bdf67997f 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -183,7 +183,7 @@ kube-proxyは、どのバックエンドPodを使うかを決める際にService kube-proxyがiptablesモードで稼働し、最初に選択されたPodが応答しない場合、そのコネクションは失敗します。 これはuser-spaceモードでの挙動と異なります: user-spaceモードにおいては、kube-proxyは最初のPodに対するコネクションが失敗したら、自動的に他のバックエンドPodに対して再接続を試みます。 -iptablesモードのkube-proxyが正常なバックエンドPodのみをリダイレクト対象とするために、Podの[ReadinessProbe](/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)を使用してバックエンドPodが正常に動作しているか確認できます。これは、ユーザーがkube-proxyを介して、コネクションに失敗したPodに対してトラフィックをリダイレクトするのを除外することを意味します。 +iptablesモードのkube-proxyが正常なバックエンドPodのみをリダイレクト対象とするために、Podの[ReadinessProbe](/ja/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)を使用してバックエンドPodが正常に動作しているか確認できます。これは、ユーザーがkube-proxyを介して、コネクションに失敗したPodに対してトラフィックをリダイレクトするのを除外することを意味します。 ![iptablesプロキシーのService概要ダイアグラム](/images/docs/services-iptables-overview.svg) diff --git a/content/ja/docs/concepts/workloads/controllers/daemonset.md b/content/ja/docs/concepts/workloads/controllers/daemonset.md index 1edf7636ce..ddd5089c02 100644 --- a/content/ja/docs/concepts/workloads/controllers/daemonset.md +++ b/content/ja/docs/concepts/workloads/controllers/daemonset.md @@ -52,7 +52,7 @@ kubectl apply -f https://k8s.io/examples/controllers/daemonset.yaml Podに対する必須のフィールドに加えて、DaemonSet内のPodテンプレートは適切なラベルを指定しなくてはなりません([Podセレクター](#pod-selector)の項目を参照ください)。 -DaemonSet内のPodテンプレートでは、[`RestartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)フィールドを指定せずにデフォルトの`Always`を使用するか、明示的に`Always`を設定するかのどちらかである必要があります。 +DaemonSet内のPodテンプレートでは、[`RestartPolicy`](/ja/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)フィールドを指定せずにデフォルトの`Always`を使用するか、明示的に`Always`を設定するかのどちらかである必要があります。 ### Podセレクター diff --git a/content/ja/docs/concepts/workloads/controllers/deployment.md b/content/ja/docs/concepts/workloads/controllers/deployment.md index 3146606573..172fe0f25d 100644 --- a/content/ja/docs/concepts/workloads/controllers/deployment.md +++ b/content/ja/docs/concepts/workloads/controllers/deployment.md @@ -919,7 +919,7 @@ Deploymentは[`.spec`セクション](https://git.k8s.io/community/contributors/ Podの必須フィールドに加えて、Deployment内のPodテンプレートでは適切なラベルと再起動ポリシーを設定しなくてはなりません。ラベルは他のコントローラーと重複しないようにしてください。ラベルについては、[セレクター](#selector)を参照してください。 -[`.spec.template.spec.restartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)が`Always`に等しいときのみ許可されます。これはテンプレートで指定されていない場合のデフォルト値です。 +[`.spec.template.spec.restartPolicy`](/ja/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)が`Always`に等しいときのみ許可されます。これはテンプレートで指定されていない場合のデフォルト値です。 ### レプリカ数 @@ -973,7 +973,7 @@ Deploymentのテンプレートが`.spec.template`と異なる場合や、`.spec ### minReadySeconds {#min-ready-seconds} -`.spec.minReadySeconds`はオプションのフィールドで、新しく作成されたPodが利用可能となるために、最低どれくらいの秒数コンテナーがクラッシュすることなく稼働し続ければよいかを指定するものです。デフォルトでは0です(Podは作成されるとすぐに利用可能と判断されます)。Podが利用可能と判断された場合についてさらに学ぶために[Container Probes](/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)を参照してください。 +`.spec.minReadySeconds`はオプションのフィールドで、新しく作成されたPodが利用可能となるために、最低どれくらいの秒数コンテナーがクラッシュすることなく稼働し続ければよいかを指定するものです。デフォルトでは0です(Podは作成されるとすぐに利用可能と判断されます)。Podが利用可能と判断された場合についてさらに学ぶために[Container Probes](/ja/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)を参照してください。 ### rollbackTo diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index 07437b9847..82fdcc31ff 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -13,7 +13,7 @@ weight: 30 {{% capture body %}} -## PodのPhase +## PodのPhase {#pod-phase} Podの`status`項目は[PodStatus](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podstatus-v1-core)オブジェクトで、それは`phase`のフィールドがあります。 @@ -33,7 +33,7 @@ Podの各フェーズの値と意味は厳重に守られています。 `Failed` | Pod内のすべてのコンテナが終了し、少なくとも1つのコンテナが異常終了しました。つまり、コンテナはゼロ以外のステータスで終了したか、システムによって終了されました。 `Unknown` | 何らかの理由により、通常はPodのホストとの通信にエラーが発生したために、Podの状態を取得できませんでした。 -## Podのconditions +## Podのconditions {#pod-conditions} PodにはPodStatusがあります。それはPodが成功したかどうかの情報を持つ[PodConditions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podcondition-v1-core)の配列です。 PodCondition配列の各要素には、次の6つのフィールドがあります。 @@ -57,7 +57,7 @@ PodCondition配列の各要素には、次の6つのフィールドがありま * `ContainersReady`: Pod内のすべてのコンテナが準備できた状態です。 -## コンテナのProbe +## コンテナのProbe {#container-probes} [Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) は [kubelet](/docs/admin/kubelet/) により定期的に実行されるコンテナの診断です。 診断を行うために、kubeletはコンテナに実装された [ハンドラー](https://godoc.org/k8s.io/kubernetes/pkg/api/v1#Handler)を呼びます。 @@ -91,7 +91,7 @@ Kubeletは2種類のProbeを実行中のコンテナで行い、また反応す initial delay前のデフォルトのreadinessProbeの初期値は`Failure`です。 コンテナにreadinessProbeが設定されていない場合、デフォルトの状態は`Success`です。 -### livenessProbeとreadinessProbeをいつ使うべきか? +### livenessProbeとreadinessProbeをいつ使うべきか? {#when-should-you-use-a-liveness-probe} コンテナ自体に問題が発生した場合や状態が悪くなった際にクラッシュすることができれば livenessProbeは不要です。この場合kubeletが自動でPodの`restartPolicy`に基づいたアクションを実行します。 @@ -114,13 +114,13 @@ Pod内のコンテナが停止するのを待つ間Podはunhealthyのままで livenessProbeまたはreadinessProbeを設定する方法の詳細については、 [Configure Liveness and Readiness Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)を参照してください -## Podとコンテナのステータス +## Podとコンテナのステータス {#pod-and-container-status} PodとContainerのステータスについての詳細の情報は、それぞれ[PodStatus](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podstatus-v1-core)と [ContainerStatus](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#containerstatus-v1-core)を参照してください。 Podのステータスとして報告される情報は、現在の[ContainerState](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#containerstatus-v1-core)に依存しています。 -## コンテナのステータス +## コンテナのステータス {#container-states} PodがスケジューラによってNodeに割り当てられると、 kubeletはコンテナのランタイムを使用してコンテナの作成を開始します。 @@ -158,7 +158,7 @@ Pod内のコンテナごとにStateの項目として表示されます。 ... ``` -## PodReadinessGate +## PodReadinessGate {#pod-readiness-gate} {{< feature-state for_k8s_version="v1.14" state="stable" >}} @@ -205,14 +205,14 @@ K8s 1.1ではAlpha機能のため"Pod Ready++" 機能は`PodReadinessGates` [fea K8s 1.12ではこの機能はデフォルトで有効になっています。 -## RestartPolicy +## RestartPolicy {#restart-policy} PodSpecには、Always、OnFailure、またはNeverのいずれかの値を持つ`restartPolicy`フィールドがあります。 デフォルト値はAlwaysです。`restartPolicy`は、Pod内のすべてのコンテナに適用されます。 `restartPolicy`は、同じNode上のkubeletによるコンテナの再起動のみを参照します。 kubeletによって再起動される終了したコンテナは、5分後にキャップされた指数バックオフ遅延(10秒、20秒、40秒...)で再起動され、10分間の実行後にリセットされます。[Pods document](/docs/user-guide/pods/#durability-of-pods-or-lack-thereof)に書かれているように、一度NodeにバインドされるとPodは別のポートにバインドされ直すことはありません。 -## Podのライフタイム +## Podのライフタイム {#pod-lifetime} 一般にPodは人間またはコントローラーが明示的に削除するまで存在します。 コントロールプレーンは終了状態のPod(SucceededまたはFailedの`phase`を持つ)の数が設定された閾値(kube-controller-manager内の`terminated-pod-gc-threshold`によって定義される)を超えたとき、それらのPodを削除します。 diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index 48be657bc8..aa6e6f7199 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -34,7 +34,7 @@ Pod内のアプリケーションからアクセスできる共有ボリュー [Docker](https://www.docker.com/)の用語でいえば、Podは共有namespaceと共有[ボリューム](/docs/concepts/storage/volumes/)を持つDockerコンテナのグループとしてモデル化されています。 個々のアプリケーションコンテナと同様に、Podは(永続的ではなく)比較的短期間の存在と捉えられます。 -[Podのライフサイクル](/docs/concepts/workloads/pods/pod-lifecycle/)で説明しているように、Podが作成されると、一意のID(UID)が割り当てられ、(再起動ポリシーに従って)終了または削除されるまでNodeで実行されるようにスケジュールされます。 +[Podのライフサイクル](/ja/docs/concepts/workloads/pods/pod-lifecycle/)で説明しているように、Podが作成されると、一意のID(UID)が割り当てられ、(再起動ポリシーに従って)終了または削除されるまでNodeで実行されるようにスケジュールされます。 Nodeが停止した場合、そのNodeにスケジュールされたPodは、タイムアウト時間の経過後に削除されます。 特定のPod(UIDで定義)は新しいNodeに「再スケジュール」されません。 代わりに、必要に応じて同じ名前で、新しいUIDを持つ同一のPodに置き換えることができます(詳細については[ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/)を参照してください)。 diff --git a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md index 582d432e94..1d1e7b7df2 100644 --- a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md @@ -361,7 +361,7 @@ GAになってからさらなる変更を加えることは現実的ではない - `PersistentLocalVolumes`: Podで`local`ボリュームタイプの使用を有効にします。`local`ボリュームを要求する場合、podアフィニティを指定する必要があります。 - `PodOverhead`: [PodOverhead](/docs/concepts/configuration/pod-overhead/)機能を有効にして、Podのオーバーヘッドを考慮するようにします。 - `PodPriority`: [優先度](/docs/concepts/configuration/pod-priority-preemption/)に基づいてPodの再スケジューリングとプリエンプションを有効にします。 -- `PodReadinessGates`: Podのreadinessの評価を拡張するために`PodReadinessGate`フィールドの設定を有効にします。詳細は[Pod readiness gate](/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate)で確認できます。 +- `PodReadinessGates`: Podのreadinessの評価を拡張するために`PodReadinessGate`フィールドの設定を有効にします。詳細は[Pod readiness gate](/ja/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate)で確認できます。 - `PodShareProcessNamespace`: Podで実行されているコンテナ間で単一のプロセス名前空間を共有するには、Podで`shareProcessNamespace`の設定を有効にします。 詳細については、[Pod内のコンテナ間でプロセス名前空間を共有する](/docs/tasks/configure-pod-container/share-process-namespace/)をご覧ください。 - `ProcMountType`: コンテナのProcMountTypeの制御を有効にします。 - `PVCProtection`: 永続ボリューム要求(PVC)がPodでまだ使用されているときに削除されないようにします。詳細は[ここ](/docs/tasks/administer-cluster/storage-object-in-use-protection/)で確認できます。 @@ -377,7 +377,7 @@ GAになってからさらなる変更を加えることは現実的ではない - `ServerSideApply`: APIサーバーで[サーバーサイドApply(SSA)](/docs/reference/using-api/api-concepts/#server-side-apply)のパスを有効にします。 - `ServiceLoadBalancerFinalizer`: サービスロードバランサーのファイナライザー保護を有効にします。 - `ServiceNodeExclusion`: クラウドプロバイダーによって作成されたロードバランサーからのノードの除外を有効にします。"`alpha.service-controller.kubernetes.io/exclude-balancer`"キーまたは`node.kubernetes.io/exclude-from-external-load-balancers`でラベル付けされている場合ノードは除外の対象となります。 -- `StartupProbe`: kubeletで[startup](/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe)プローブを有効にします。 +- `StartupProbe`: kubeletで[startup](/ja/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe)プローブを有効にします。 - `StorageObjectInUseProtection`: PersistentVolumeまたはPersistentVolumeClaimオブジェクトがまだ使用されている場合、それらの削除を延期します。 - `StorageVersionHash`: apiserversがディスカバリーでストレージのバージョンハッシュを公開できるようにします。 - `StreamingProxyRedirects`: ストリーミングリクエストのバックエンド(kubelet)からのリダイレクトをインターセプト(およびフォロー)するようAPIサーバーに指示します。ストリーミングリクエストの例には`exec`、`attach`、`port-forward`リクエストが含まれます。 From 0d8f82180d7ae72abc10eb7a7e8141cb71c151b7 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 6 Apr 2020 18:29:06 +0900 Subject: [PATCH 007/533] update link to /ja/docs/concepts/overview/working-with-objects/labels/ --- content/ja/docs/concepts/configuration/assign-pod-node.md | 2 +- content/ja/docs/concepts/configuration/overview.md | 4 ++-- content/ja/docs/concepts/overview/what-is-kubernetes.md | 2 +- .../concepts/overview/working-with-objects/annotations.md | 2 +- .../ja/docs/concepts/overview/working-with-objects/labels.md | 4 ++-- content/ja/docs/concepts/storage/persistent-volumes.md | 2 +- content/ja/docs/concepts/workloads/controllers/deployment.md | 2 +- content/ja/docs/concepts/workloads/controllers/replicaset.md | 4 ++-- content/ja/docs/concepts/workloads/pods/pod-lifecycle.md | 2 +- content/ja/docs/concepts/workloads/pods/podpreset.md | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/content/ja/docs/concepts/configuration/assign-pod-node.md b/content/ja/docs/concepts/configuration/assign-pod-node.md index 0dbde41861..572d54f4f7 100644 --- a/content/ja/docs/concepts/configuration/assign-pod-node.md +++ b/content/ja/docs/concepts/configuration/assign-pod-node.md @@ -8,7 +8,7 @@ weight: 30 {{% capture overview %}} [Pod](/ja/docs/concepts/workloads/pods/pod/)が稼働する[Node](/ja/docs/concepts/architecture/nodes/)を特定のものに指定したり、優先条件を指定して制限することができます。 -これを実現するためにはいくつかの方法がありますが、推奨されている方法は[ラベルでの選択](/docs/concepts/overview/working-with-objects/labels/)です。 +これを実現するためにはいくつかの方法がありますが、推奨されている方法は[ラベルでの選択](/ja/docs/concepts/overview/working-with-objects/labels/)です。 スケジューラーが最適な配置を選択するため、一般的にはこのような制限は不要です(例えば、複数のPodを別々のNodeへデプロイしたり、Podを配置する際にリソースが不十分なNodeにはデプロイされないことが挙げられます)が、 SSDが搭載されているNodeにPodをデプロイしたり、同じアベイラビリティーゾーン内で通信する異なるサービスのPodを同じNodeにデプロイする等、柔軟な制御が必要なこともあります。 diff --git a/content/ja/docs/concepts/configuration/overview.md b/content/ja/docs/concepts/configuration/overview.md index 8255db692a..2259b6cb6e 100644 --- a/content/ja/docs/concepts/configuration/overview.md +++ b/content/ja/docs/concepts/configuration/overview.md @@ -58,7 +58,7 @@ weight: 10 ## ラベルの使用 -- `{ app: myapp, tier: frontend, phase: test, deployment: v3 }`のように、アプリケーションまたはデプロイメントの__セマンティック属性__を識別する[ラベル](/docs/concepts/overview/working-with-objects/labels/)を定義して使いましょう。これらのラベルを使用して、他のリソースに適切なポッドを選択できます。例えば、すべての`tier:frontend`を持つPodを選択するServiceや、`app:myapp`に属するすべての`phase:test`コンポーネント、などです。このアプローチの例を知るには、[ゲストブック](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/)アプリも合わせてご覧ください。 +- `{ app: myapp, tier: frontend, phase: test, deployment: v3 }`のように、アプリケーションまたはデプロイメントの__セマンティック属性__を識別する[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)を定義して使いましょう。これらのラベルを使用して、他のリソースに適切なポッドを選択できます。例えば、すべての`tier:frontend`を持つPodを選択するServiceや、`app:myapp`に属するすべての`phase:test`コンポーネント、などです。このアプローチの例を知るには、[ゲストブック](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/)アプリも合わせてご覧ください。 セレクターからリリース固有のラベルを省略することで、Serviceを複数のDeploymentにまたがるように作成できます。 [Deployment](/ja/docs/concepts/workloads/controllers/deployment/)により、ダウンタイムなしで実行中のサービスを簡単に更新できます。 @@ -96,7 +96,7 @@ weight: 10 - `kubectl apply -f `を使いましょう。これを使うと、ディレクトリ内のすべての`.yaml`、`.yml`、および`.json`ファイルが`apply`に渡されます。 -- `get`や`delete`を行う際は、特定のオブジェクト名を指定するのではなくラベルセレクターを使いましょう。[ラベルセレクター](/docs/concepts/overview/working-with-objects/labels/#label-selectors)と[ラベルの効果的な使い方](/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively)のセクションを参照してください。 +- `get`や`delete`を行う際は、特定のオブジェクト名を指定するのではなくラベルセレクターを使いましょう。[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/#label-selectors)と[ラベルの効果的な使い方](/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively)のセクションを参照してください。 {{% /capture %}} diff --git a/content/ja/docs/concepts/overview/what-is-kubernetes.md b/content/ja/docs/concepts/overview/what-is-kubernetes.md index 6299002ac6..2675eaf0c9 100644 --- a/content/ja/docs/concepts/overview/what-is-kubernetes.md +++ b/content/ja/docs/concepts/overview/what-is-kubernetes.md @@ -34,7 +34,7 @@ Kubernetesは、**コンテナを中心とした**管理基盤です。ユーザ Kubernetesが多くの機能を提供すると言いつつも、新しい機能から恩恵を受ける新しいシナリオは常にあります。アプリケーション固有のワークフローを効率化して開発者のスピードを早めることができます。最初は許容できるアドホックなオーケストレーションでも、大規模で堅牢な自動化が必要となることはしばしばあります。これが、Kubernetesがアプリケーションのデプロイ、拡張、および管理を容易にするために、コンポーネントとツールのエコシステムを構築するための基盤としても機能するように設計された理由です。 -[ラベル](/docs/concepts/overview/working-with-objects/labels/)を使用すると、ユーザーは自分のリソースを整理できます。[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を使用すると、ユーザーは自分のワークフローを容易にし、管理ツールが状態をチェックするための簡単な方法を提供するためにカスタムデータを使ってリソースを装飾できるようになります。 +[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)を使用すると、ユーザーは自分のリソースを整理できます。[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を使用すると、ユーザーは自分のワークフローを容易にし、管理ツールが状態をチェックするための簡単な方法を提供するためにカスタムデータを使ってリソースを装飾できるようになります。 さらに、[Kubernetesコントロールプレーン](/ja/docs/concepts/overview/components/)は、開発者やユーザーが使える[API](/docs/reference/using-api/api-overview/)の上で成り立っています。ユーザーは[スケジューラー](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/devel/scheduler.md)などの独自のコントローラーを、汎用の[コマンドラインツール](/docs/user-guide/kubectl-overview/)で使える[独自のAPI](/docs/concepts/api-extension/custom-resources/)を持たせて作成することができます。 diff --git a/content/ja/docs/concepts/overview/working-with-objects/annotations.md b/content/ja/docs/concepts/overview/working-with-objects/annotations.md index a169bdee03..c554311b6b 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/ja/docs/concepts/overview/working-with-objects/annotations.md @@ -62,6 +62,6 @@ _アノテーション_ はキーとバリューのペアです。有効なア {{% /capture %}} {{% capture whatsnext %}} -[ラベルとセレクター](/docs/concepts/overview/working-with-objects/labels/)について学習してください。 +[ラベルとセレクター](/ja/docs/concepts/overview/working-with-objects/labels/)について学習してください。 {{% /capture %}} diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index 9d42742759..7afead6cb0 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -45,7 +45,7 @@ _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキ これらは単によく使われるラベルの例です。ユーザーは自由に規約を決めることができます。 ラベルのキーは、ある1つのオブジェクトに対してユニークである必要があることは覚えておかなくてはなりません。 -## 構文と文字セット +## 構文と文字セット {#syntax-and-character-set} ラベルは、キーとバリューのベアです。正しいラベルキーは2つのセグメントを持ちます。 それは`/`によって分割されたオプショナルなプレフィックスと名前です。 @@ -59,7 +59,7 @@ _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキ 正しいラベル値は63文字以下の長さで、空文字か、もしくは開始と終了が英数字(`[a-z0-9A-Z]`)で、文字列の間がダッシュ(`-`)、アンダースコア(`_`)、ドット(`.`)と英数字である文字列を使うことができます。 -## ラベルセレクター +## ラベルセレクター {#label-selectors} [名前とUID](/docs/user-guide/identifiers)とは異なり、ラベルはユニーク性を提供しません。通常、多くのオブジェクトが同じラベルを保持することを想定します。 diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index d7969f7d99..3c0243791d 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -438,7 +438,7 @@ Podと同様に、クレームは特定の量のリソースを要求できま ### セレクター -クレームでは、[ラベルセレクター](/docs/concepts/overview/working-with-objects/labels/#label-selectors)を指定して、ボリュームセットをさらにフィルター処理できます。ラベルがセレクターに一致するボリュームのみがクレームにバインドできます。セレクターは2つのフィールドで構成できます。 +クレームでは、[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/#label-selectors)を指定して、ボリュームセットをさらにフィルター処理できます。ラベルがセレクターに一致するボリュームのみがクレームにバインドできます。セレクターは2つのフィールドで構成できます。 * `matchLabels` - ボリュームはこの値のラベルが必要です * `matchExpressions` - キー、値のリスト、およびキーと値を関連付ける演算子を指定することによって作成された要件のリスト。有効な演算子は、In、NotIn、ExistsおよびDoesNotExistです。 diff --git a/content/ja/docs/concepts/workloads/controllers/deployment.md b/content/ja/docs/concepts/workloads/controllers/deployment.md index 3146606573..74b897af64 100644 --- a/content/ja/docs/concepts/workloads/controllers/deployment.md +++ b/content/ja/docs/concepts/workloads/controllers/deployment.md @@ -927,7 +927,7 @@ Podの必須フィールドに加えて、Deployment内のPodテンプレート ### セレクター {#selector} -`.spec.selector`は必須フィールドで、Deploymentによって対象とされるPodの[ラベルセレクター](/docs/concepts/overview/working-with-objects/labels/)を指定します。 +`.spec.selector`は必須フィールドで、Deploymentによって対象とされるPodの[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/)を指定します。 `.spec.selector`は`.spec.template.metadata.labels`と一致している必要があり、一致しない場合はAPIによって拒否されます。 diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index 3c20e295e6..32e758774a 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -203,7 +203,7 @@ Kubernetes1.9において、ReplicaSetは`apps/v1`というAPIバージョンが ### Pod セレクター -`.spec.selector`フィールドは[ラベルセレクター](/docs/concepts/overview/working-with-objects/labels/)です。 +`.spec.selector`フィールドは[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/)です。 [先ほど](#how-a-replicaset-works)議論したように、ReplicaSetが所有するPodを指定するためにそのラベルが使用されます。 先ほどの`frontend.yaml`の例では、そのセレクターは下記のようになっていました ```shell @@ -309,7 +309,7 @@ PodをPodそれ自身で停止させたいような場合(例えば、バッチ ### ReplicationController ReplicaSetは[_ReplicationControllers_](/docs/concepts/workloads/controllers/replicationcontroller/)の後継となるものです。 -この2つは、ReplicationControllerが[ラベルについてのユーザーガイド](/docs/concepts/overview/working-with-objects/labels/#label-selectors)に書かれているように、集合ベース(set-based)のセレクター要求をサポートしていないことを除いては、同じ目的を果たし、同じようにふるまいます。 +この2つは、ReplicationControllerが[ラベルについてのユーザーガイド](/ja/docs/concepts/overview/working-with-objects/labels/#label-selectors)に書かれているように、集合ベース(set-based)のセレクター要求をサポートしていないことを除いては、同じ目的を果たし、同じようにふるまいます。 このように、ReplicaSetはReplicationControllerよりも好まれます。 {{% /capture %}} diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index 07437b9847..729ddc491e 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -190,7 +190,7 @@ status: ... ``` -新しいPod Conditionは、Kubernetesの[label key format](/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set)に準拠している必要があります。 +新しいPod Conditionは、Kubernetesの[label key format](/ja/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set)に準拠している必要があります。 `kubectl patch`コマンドはオブジェクトステータスのパッチ適用をまだサポートしていないので、 新しいPod Conditionは[KubeClient libraries](/docs/reference/using-api/client-libraries/)のどれかを使用する必要があります。 diff --git a/content/ja/docs/concepts/workloads/pods/podpreset.md b/content/ja/docs/concepts/workloads/pods/podpreset.md index 7638d63acb..1af2514c12 100644 --- a/content/ja/docs/concepts/workloads/pods/podpreset.md +++ b/content/ja/docs/concepts/workloads/pods/podpreset.md @@ -14,7 +14,7 @@ weight: 50 ## PodPresetを理解する `PodPreset`はPodの作成時に追加のランタイム要求を注入するためのAPIリソースです。 -ユーザーはPodPresetを適用する対象のPodを指定するために、[ラベルセレクター](/docs/concepts/overview/working-with-objects/labels/#label-selectors)を使用します。 +ユーザーはPodPresetを適用する対象のPodを指定するために、[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/#label-selectors)を使用します。 PodPresetの使用により、Podテンプレートの作者はPodにおいて、全ての情報を明示的に指定する必要がなくなります。 この方法により、特定のServiceを使っているPodテンプレートの作者は、そのServiceについて全ての詳細を知る必要がなくなります。 From 9e40a8fe983d9b45a945f10bed146e2621bd63e3 Mon Sep 17 00:00:00 2001 From: Vageesha17 Date: Fri, 10 Apr 2020 10:25:14 +0530 Subject: [PATCH 008/533] updates for PR #20131 --- .../services-networking/connect-applications-service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/concepts/services-networking/connect-applications-service.md b/content/en/docs/concepts/services-networking/connect-applications-service.md index bc17b74d15..8d6e2078e4 100644 --- a/content/en/docs/concepts/services-networking/connect-applications-service.md +++ b/content/en/docs/concepts/services-networking/connect-applications-service.md @@ -394,8 +394,8 @@ kubectl edit svc my-nginx kubectl get svc my-nginx ``` ``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -my-nginx ClusterIP 10.0.162.149 162.222.184.144 80/TCP,81/TCP,82/TCP 21s +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +my-nginx LoadBalancer 10.0.0.216 xx.xxx.xxx.xxx 8080:30163/TCP 21s ``` ``` curl https:// -k From 3e1f709cd3bb4fefab4e0c1a2fd0a1d3afd5a2cc Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 11 Apr 2020 21:36:43 +0900 Subject: [PATCH 009/533] update link to /ja/docs/concepts/overview/kubernetes-api/ --- content/ja/docs/concepts/overview/kubernetes-api.md | 2 +- .../overview/working-with-objects/kubernetes-objects.md | 2 +- content/ja/docs/reference/kubectl/cheatsheet.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/overview/kubernetes-api.md b/content/ja/docs/concepts/overview/kubernetes-api.md index d7851d954b..b6f34cf141 100644 --- a/content/ja/docs/concepts/overview/kubernetes-api.md +++ b/content/ja/docs/concepts/overview/kubernetes-api.md @@ -86,7 +86,7 @@ APIとソフトウエアのバージョニングは、間接的にしか関連 - バージョン名は`vX`のようになっており、`X`は整数です。 - 安定版の機能は、今後のリリースバージョンにも適用されます。 -## APIグループ +## APIグループ {#api-groups} KubernetesAPIの拡張を簡易に行えるようにするため、[*APIグループ*](https://git.k8s.io/community/contributors/design-proposals/api-machinery/api-group.md)を実装しました。 APIグループは、RESTのパスとシリアライズされたオブジェクトの`apiVersion`フィールドで指定されます。 diff --git a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 81bee4ca68..0f5a291cbe 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -22,7 +22,7 @@ card: Kubernetesオブジェクトは"意図の記録"です。一度オブジェクトを作成すると、Kubernetesは常にそのオブジェクトが存在し続けるように動きます。オブジェクトを作成することで、Kubernetesに対し効果的にあなたのクラスターのワークロードがこのようになっていて欲しいと伝えているのです。これが、あなたのクラスターの**望ましい状態**です。 -Kubernetesオブジェクトを操作するには、作成、変更、または削除に関わらず[Kubernetes API](/docs/concepts/overview/kubernetes-api/)を使う必要があるでしょう。例えば`kubectl`コマンドラインインターフェースを使った場合、このCLIが処理に必要なKubernetes API命令を、あなたに代わり発行します。あなたのプログラムから[クライアントライブラリ](/docs/reference/using-api/client-libraries/)を利用し、直接Kubernetes APIを利用することも可能です。 +Kubernetesオブジェクトを操作するには、作成、変更、または削除に関わらず[Kubernetes API](/ja/docs/concepts/overview/kubernetes-api/)を使う必要があるでしょう。例えば`kubectl`コマンドラインインターフェースを使った場合、このCLIが処理に必要なKubernetes API命令を、あなたに代わり発行します。あなたのプログラムから[クライアントライブラリ](/docs/reference/using-api/client-libraries/)を利用し、直接Kubernetes APIを利用することも可能です。 ### オブジェクトのspec(仕様)とstatus(状態) diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 9380b50c07..10827f6762 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -322,7 +322,7 @@ kubectl taint nodes foo dedicated=special-user:NoSchedule ### リソースタイプ -サポートされているすべてのリソースタイプを、それらが[API group](/docs/concepts/overview/kubernetes-api/#api-groups)か[Namespaced](/docs/concepts/overview/working-with-objects/namespaces)、[Kind](/docs/concepts/overview/working-with-objects/kubernetes-objects)に関わらずその短縮名をリストします。 +サポートされているすべてのリソースタイプを、それらが[API group](/ja/docs/concepts/overview/kubernetes-api/#api-groups)か[Namespaced](/docs/concepts/overview/working-with-objects/namespaces)、[Kind](/docs/concepts/overview/working-with-objects/kubernetes-objects)に関わらずその短縮名をリストします。 ```bash kubectl api-resources From 338763c74a064186200546f78ae4e2475f5c3781 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sun, 12 Apr 2020 21:46:46 +0900 Subject: [PATCH 010/533] update link to /ja/docs/tutorials/stateless-application/expose-external-ip-address/ --- content/ja/docs/tutorials/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/_index.md b/content/ja/docs/tutorials/_index.md index dfecf9f192..a696f5b705 100644 --- a/content/ja/docs/tutorials/_index.md +++ b/content/ja/docs/tutorials/_index.md @@ -29,7 +29,7 @@ content_template: templates/concept ## ステートレスアプリケーション -* [クラスター内のアプリケーションにアクセスするために外部IPアドレスを公開する](/docs/tutorials/stateless-application/expose-external-ip-address/) +* [クラスター内のアプリケーションにアクセスするために外部IPアドレスを公開する](/ja/docs/tutorials/stateless-application/expose-external-ip-address/) * [例: Redisを使用したPHPゲストブックアプリケーションのデプロイ](/docs/tutorials/stateless-application/guestbook/) From 18cca972a603ee8b0a637aeb0c03463f818f4617 Mon Sep 17 00:00:00 2001 From: Yury Tsarev Date: Mon, 13 Apr 2020 14:53:40 +0200 Subject: [PATCH 011/533] Document pod DNS resolution schema * Currently documentation mentions resolvable FQDNs for services only * Documentation for pods is confusing in regards of local pod `hostname` wich actually does not match in-cluster DNS resolution * This PR clarifies FQDN schema that is used for pod DNS resolution --- .../docs/concepts/services-networking/dns-pod-service.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/content/en/docs/concepts/services-networking/dns-pod-service.md b/content/en/docs/concepts/services-networking/dns-pod-service.md index 8e790151f2..488208d8bb 100644 --- a/content/en/docs/concepts/services-networking/dns-pod-service.md +++ b/content/en/docs/concepts/services-networking/dns-pod-service.md @@ -66,6 +66,13 @@ of the form `auto-generated-name.my-svc.my-namespace.svc.cluster-domain.example` ## Pods +### A/AAAA records + +Any pods created by a Deployment or DaemonSet have the following +DNS resolution available: + +`pod-ip-address.deployment-name.my-namespace.svc.cluster-domain.example.` + ### Pod's hostname and subdomain fields Currently when a pod is created, its hostname is the Pod's `metadata.name` value. From f4eab243f60eebf99cafffe6ffabbc7eb46c793a Mon Sep 17 00:00:00 2001 From: Pick1a1username <20301273+Pick1a1username@users.noreply.github.com> Date: Sun, 26 Apr 2020 11:43:44 +0900 Subject: [PATCH 012/533] ja translation updated based on 1.17 of en. --- .../working-with-objects/kubernetes-objects.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 0f5a291cbe..ef66f83878 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -26,7 +26,9 @@ Kubernetesオブジェクトを操作するには、作成、変更、または ### オブジェクトのspec(仕様)とstatus(状態) -全てのKubernetesオブジェクトは、オブジェクトの設定を管理する2つの入れ子になったオブジェクトのフィールドを持っています。それは *spec* オブジェクトと *status* オブジェクトです。*spec* オブジェクトはあなたが指定しなければならない項目で、オブジェクトの *望ましい状態* を記述し、オブジェクトに持たせたい特徴を表現します。*status* オブジェクトはオブジェクトの *現在の状態* を示し、その情報はKubernetesから与えられ、更新されます。常に、Kubernetesコントロールプレーンは、あなたから指定された望ましい状態と現在の状態が一致するよう積極的に管理をします。 +ほとんどのKubernetesオブジェクトは、オブジェクトの設定を管理する2つの入れ子になったオブジェクトのフィールドを持っています。それはオブジェクト *`spec`* とオブジェクト *`status`* です。`spec`を持っているオブジェクトに関しては、オブジェクト作成時に`spec`を設定する必要があり、望ましい状態としてオブジェクトに持たせたい特徴を記述する必要があります。 + +`status` オブジェクトはオブジェクトの *現在の状態* を示し、その情報はKubernetesから与えられ、更新されます。常に、Kubernetes{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}は、あなたから指定された望ましい状態と現在の状態が一致するよう積極的に管理をします。 例えば、KubernetesのDeploymentはクラスター上で稼働するアプリケーションを表現するオブジェクトです。Deploymentを作成するとき、アプリケーションの複製を3つ稼働させるようDeploymentのspecで指定するかもしれません。KubernetesはDeploymentのspecを読み取り、指定されたアプリケーションを3つ起動し、現在の状態がspecに一致するようにします。もしこれらのインスタンスでどれかが落ちた場合(statusが変わる)、Kubernetesはspecと、statusの違いに反応し、修正しようとします。この場合は、落ちたインスタンスの代わりのインスタンスを立ち上げます。 @@ -58,15 +60,19 @@ Kubernetesオブジェクトを`.yaml`ファイルに記載して作成する場 * `apiVersion` - どのバージョンのKubernetesAPIを利用してオブジェクトを作成するか * `kind` - どの種類のオブジェクトを作成するか -* `metadata` - オブジェクトを一意に特定するための情報、`name`、string、UID、また任意の`namespace`が該当する +* `metadata` - オブジェクトを一意に特定するための情報、文字列の`name`、`UID`、また任意の`namespace`が該当する +* `spec` - オブジェクトの望ましい状態 -またオブジェクトの`spec`の値も指定する必要があります。`spec`の正確なフォーマットは、Kubernetesオブジェクトごとに異なり、オブジェクトごとに特有な入れ子のフィールドを持っています。[Kubernetes API リファレンス](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)が、Kubernetesで作成出来る全てのオブジェクトに関するspecのフォーマットを探すのに役立ちます。 +`spec`の正確なフォーマットは、Kubernetesオブジェクトごとに異なり、オブジェクトごとに特有な入れ子のフィールドを持っています。[Kubernetes API リファレンス](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)が、Kubernetesで作成出来る全てのオブジェクトに関するspecのフォーマットを探すのに役立ちます。 例えば、`Pod`オブジェクトに関する`spec`のフォーマットは[こちら](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)を、また`Deployment`オブジェクトに関する`spec`のフォーマットは[こちら](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps)をご確認ください。 {{% /capture %}} {{% capture whatsnext %}} + +* [Kubernetes API overview](/docs/reference/using-api/api-overview/)はこのページでは取り上げていない他のAPIについて説明します。 * 最も重要、かつ基本的なKubernetesオブジェクト群を学びましょう、例えば、[Pod](/ja/docs/concepts/workloads/pods/pod-overview/)です。 +* Kubernetesの[コントローラー](/docs/concepts/architecture/controller/)を学びましょう。 {{% /capture %}} From 867f35573a7272b53a08c24a3c95ff825d0e63a7 Mon Sep 17 00:00:00 2001 From: Pick1a1username Date: Sun, 26 Apr 2020 12:58:51 +0900 Subject: [PATCH 013/533] ja translation updated based on 1.17 of en. --- .../overview/working-with-objects/kubernetes-objects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md index ef66f83878..7911d3ea94 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -28,7 +28,7 @@ Kubernetesオブジェクトを操作するには、作成、変更、または ほとんどのKubernetesオブジェクトは、オブジェクトの設定を管理する2つの入れ子になったオブジェクトのフィールドを持っています。それはオブジェクト *`spec`* とオブジェクト *`status`* です。`spec`を持っているオブジェクトに関しては、オブジェクト作成時に`spec`を設定する必要があり、望ましい状態としてオブジェクトに持たせたい特徴を記述する必要があります。 -`status` オブジェクトはオブジェクトの *現在の状態* を示し、その情報はKubernetesから与えられ、更新されます。常に、Kubernetes{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}は、あなたから指定された望ましい状態と現在の状態が一致するよう積極的に管理をします。 +`status` オブジェクトはオブジェクトの *現在の状態* を示し、その情報はKubernetesから与えられ、更新されます。Kubernetes{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}は、あなたから指定された望ましい状態と現在の状態が一致するよう常にかつ積極的に管理をします。 例えば、KubernetesのDeploymentはクラスター上で稼働するアプリケーションを表現するオブジェクトです。Deploymentを作成するとき、アプリケーションの複製を3つ稼働させるようDeploymentのspecで指定するかもしれません。KubernetesはDeploymentのspecを読み取り、指定されたアプリケーションを3つ起動し、現在の状態がspecに一致するようにします。もしこれらのインスタンスでどれかが落ちた場合(statusが変わる)、Kubernetesはspecと、statusの違いに反応し、修正しようとします。この場合は、落ちたインスタンスの代わりのインスタンスを立ち上げます。 From c94259e781a1eb23735f04f6ec08a9504898a68f Mon Sep 17 00:00:00 2001 From: jqmichael Date: Sat, 2 May 2020 14:06:30 -0700 Subject: [PATCH 014/533] Update disruptions.md --- content/en/docs/concepts/workloads/pods/disruptions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/workloads/pods/disruptions.md b/content/en/docs/concepts/workloads/pods/disruptions.md index 00265e0433..5a73490505 100644 --- a/content/en/docs/concepts/workloads/pods/disruptions.md +++ b/content/en/docs/concepts/workloads/pods/disruptions.md @@ -211,7 +211,7 @@ state: | node-1 *drained* | node-2 | node-3 | *no node* | |:--------------------:|:-------------------:|:------------------:|:------------------:| -| | pod-b *available* | pod-c *available* | pod-e *pending* | +| | pod-b *terminating* | pod-c *available* | pod-e *pending* | | | pod-d *available* | pod-y | | At this point, the cluster administrator needs to From 56dd658391d565d4ebe6b5eaba38466854fe73ec Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 4 May 2020 12:09:01 +0900 Subject: [PATCH 015/533] update link to /ja/docs/concepts/overview/working-with-objects/kubernetes-objects/ --- content/ja/docs/concepts/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/_index.md b/content/ja/docs/concepts/_index.md index a179d79113..4bddc5e520 100644 --- a/content/ja/docs/concepts/_index.md +++ b/content/ja/docs/concepts/_index.md @@ -26,7 +26,7 @@ Kubernetesを機能させるには、*Kubernetes API オブジェクト* を使 ## Kubernetesオブジェクト -Kubernetesには、デプロイ済みのコンテナ化されたアプリケーションやワークロード、関連するネットワークとディスクリソース、クラスターが何をしているかに関するその他の情報といった、システムの状態を表現する抽象が含まれています。これらの抽象は、Kubernetes APIのオブジェクトによって表現されます。詳細については、[Kubernetesオブジェクトについて知る](/docs/concepts/overview/working-with-objects/kubernetes-objects/)をご覧ください。 +Kubernetesには、デプロイ済みのコンテナ化されたアプリケーションやワークロード、関連するネットワークとディスクリソース、クラスターが何をしているかに関するその他の情報といった、システムの状態を表現する抽象が含まれています。これらの抽象は、Kubernetes APIのオブジェクトによって表現されます。詳細については、[Kubernetesオブジェクトについて知る](/ja/docs/concepts/overview/working-with-objects/kubernetes-objects/)をご覧ください。 基本的なKubernetesのオブジェクトは次のとおりです。 From bc0d46bc91a78cf0444b634bdde38629c6451711 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 5 May 2020 11:35:09 +0900 Subject: [PATCH 016/533] update link to /ja/docs/concepts/extend-kubernetes/api-extension/custom-resources/ --- content/ja/docs/concepts/extend-kubernetes/operator.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 08c173ddff..31a798620b 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -83,7 +83,7 @@ kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更 {{% capture whatsnext %}} -* [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)をより深く学びます +* [Custom Resources](/ja/docs/concepts/extend-kubernetes/api-extension/custom-resources/)をより深く学びます * ユースケースに合わせた、既製のオペレーターを[OperatorHub.io](https://operatorhub.io/)から見つけます * 自前のオペレーターを書くために既存のツールを使います、例: * [KUDO](https://kudo.dev/)(Kubernetes Universal Declarative Operator)を使います From 0489f791c3c7507436228261d2d629b0a2227778 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Tue, 5 May 2020 14:21:50 +0900 Subject: [PATCH 017/533] Fix typo: rollinUpdate -> rollingUpdate in statefulset.md. --- content/ja/docs/concepts/workloads/controllers/statefulset.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index e16488b5b8..ad5048232f 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -175,9 +175,9 @@ Kubernetes1.7とそれ以降のバージョンにおいて、StatefulSetの`.spe `OnDelete`というアップデートストラテジーは、レガシーな(Kubernetes1.6以前)振る舞いとなります。StatefulSetの`.spec.updateStrategy.type`が`OnDelete`にセットされていたとき、そのStatefulSetコントローラーはStatefulSet内でPodを自動的に更新しません。StatefulSetの`.spec.template`項目の修正を反映した新しいPodの作成をコントローラーに支持するためには、ユーザーは手動でPodを削除しなければなりません。 -### RollinUpdate +### RollingUpdate -`RollinUpdate`というアップデートストラテジーは、StatefulSet内のPodに対する自動化されたローリングアップデートの機能を実装します。これは`.spec.updateStrategy`フィールドが未指定の場合のデフォルトのストラテジーです。StatefulSetの`.spec.updateStrategy.type`が`RollingUpdate`にセットされたとき、そのStatefulSetコントローラーは、StatefulSet内のPodを削除し、再作成します。これはPodの停止(Podの番号の降順)と同じ順番で、一度に1つのPodを更新します。コントローラーは、その前のPodの状態がRunningかつReady状態になるまで次のPodの更新を待ちます。 +`RollingUpdate`というアップデートストラテジーは、StatefulSet内のPodに対する自動化されたローリングアップデートの機能を実装します。これは`.spec.updateStrategy`フィールドが未指定の場合のデフォルトのストラテジーです。StatefulSetの`.spec.updateStrategy.type`が`RollingUpdate`にセットされたとき、そのStatefulSetコントローラーは、StatefulSet内のPodを削除し、再作成します。これはPodの停止(Podの番号の降順)と同じ順番で、一度に1つのPodを更新します。コントローラーは、その前のPodの状態がRunningかつReady状態になるまで次のPodの更新を待ちます。 #### パーティション From 03dbe94df3c1b13253f59c42d9ff1ada2f39a51a Mon Sep 17 00:00:00 2001 From: yoshiki0705 Date: Tue, 5 May 2020 21:08:46 +0900 Subject: [PATCH 018/533] tasks/configure-pod-container/configure-pod-configmap/ --- .../configure-pod-configmap.md | 674 ++++++++++++++++++ .../configmap/configmap-multikeys.yaml | 8 + content/ja/examples/configmap/configmaps.yaml | 15 + .../pods/pod-configmap-env-var-valueFrom.yaml | 21 + .../examples/pods/pod-configmap-envFrom.yaml | 13 + .../pod-configmap-volume-specific-key.yaml | 20 + .../examples/pods/pod-configmap-volume.yaml | 18 + .../pod-multiple-configmap-env-variable.yaml | 21 + .../pod-single-configmap-env-variable.yaml | 19 + 9 files changed, 809 insertions(+) create mode 100644 content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md create mode 100644 content/ja/examples/configmap/configmap-multikeys.yaml create mode 100644 content/ja/examples/configmap/configmaps.yaml create mode 100644 content/ja/examples/pods/pod-configmap-env-var-valueFrom.yaml create mode 100644 content/ja/examples/pods/pod-configmap-envFrom.yaml create mode 100644 content/ja/examples/pods/pod-configmap-volume-specific-key.yaml create mode 100644 content/ja/examples/pods/pod-configmap-volume.yaml create mode 100644 content/ja/examples/pods/pod-multiple-configmap-env-variable.yaml create mode 100644 content/ja/examples/pods/pod-single-configmap-env-variable.yaml diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md new file mode 100644 index 0000000000..c0108142d5 --- /dev/null +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -0,0 +1,674 @@ +--- +title: Podを構成してConfigMapを使用する +content_template: templates/task +weight: 150 +card: + name: tasks + weight: 50 +--- + +{{% capture overview %}} +ConfigMapを使用すると、構成アーティファクトをイメージコンテンツから切り離して、コンテナ化されたアプリケーションの移植性を維持できます。このページでは、ConfigMapを作成し、ConfigMapに保存されているデータを使用してPodを構成する一連の使用例を示します。 + +{{% /capture %}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + + +## ConfigMapを作成する +`kubectl create configmap` コマンドまたはConfigMap generatorを`kustomization.yaml`ファイルで使ってConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 + +### kubectl create configmapコマンドを使用してConfigMapを作成する + +`kubectl create configmap`コマンドを使用してConfigMapを[ディレクトリ](#create-configmaps-from-directories)、 [ファイル](#create-configmaps-from-files)、または [リテラル値](#create-configmaps-from-literal-values)から作成します: + +```shell +kubectl create configmap +``` + +\ の部分はConfigMapに割り当てる名前で、\ はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + +ファイルを基にConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 + +[`kubectl describe`](/docs/reference/generated/kubectl/kubectl-commands/#describe)または +[`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用して、ConfigMapに関する情報を取得できます。 + +#### ディレクトリからConfigMapを作成する + +`kubectl create configmap`を使用してConfigMapを同じディレクトリの複数のファイルから作成できます。ディレクトリを基にConfigMapを作成する場合、kubectlはディレクトリ内でベース名が有効なキーであるファイルを識別し、それらのファイルを新たなConfigMapにパッケージ化します。レギュラーファイル以外のあらゆるディレクトリエントリーは無視されます。(例えば、サブディレクトリ、シンボリックリンク、デバイス、パイプなど). + +例えば: + +```shell +# ローカルディレクトリを作成します +mkdir -p configure-pod-container/configmap/ + +# `configure-pod-container/configmap/`ディレクトリにサンプルファイルをダウンロードします +wget https://kubernetes.io/examples/configmap/game.properties -O configure-pod-container/configmap/game.properties +wget https://kubernetes.io/examples/configmap/ui.properties -O configure-pod-container/configmap/ui.properties + +# ConfigMapを作成します +kubectl create configmap game-config --from-file=configure-pod-container/configmap/ +``` + +上記のコマンドは各ファイルを、この場合、`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties`をgame-config ConfigMapにパッケージ化する。 以下のコマンドを使用してConfigMapの詳細を表示できます: + +```shell +kubectl describe configmaps game-config +``` + +出力結果は以下のようになります: +``` +Name: game-config +Namespace: default +Labels: +Annotations: + +Data +==== +game.properties: +---- +enemies=aliens +lives=3 +enemies.cheat=true +enemies.cheat.level=noGoodRotten +secret.code.passphrase=UUDDLRLRBABAS +secret.code.allowed=true +secret.code.lives=30 +ui.properties: +---- +color.good=purple +color.bad=yellow +allow.textmode=true +how.nice.to.look=fairlyNice +``` + +`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties` ファイルはConfigMapの`data`セクションに表示されます。 + +```shell +kubectl get configmaps game-config -o yaml +``` +出力結果は以下のようになります: + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: 2016-02-18T18:52:05Z + name: game-config + namespace: default + resourceVersion: "516" + uid: b4952dc3-d670-11e5-8cd0-68f728db1985 +data: + game.properties: | + enemies=aliens + lives=3 + enemies.cheat=true + enemies.cheat.level=noGoodRotten + secret.code.passphrase=UUDDLRLRBABAS + secret.code.allowed=true + secret.code.lives=30 + ui.properties: | + color.good=purple + color.bad=yellow + allow.textmode=true + how.nice.to.look=fairlyNice +``` + +#### ファイルからConfigMapを作成する + +`kubectl create configmap`を使用して個別のファイルから、または複数のファイルからConfigMapを作成できます。 + +例えば、 + +```shell +kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/game.properties +``` + +以下のConfigMapを表示します: + +```shell +kubectl describe configmaps game-config-2 +``` + +出力結果は以下のようになります: + +``` +Name: game-config-2 +Namespace: default +Labels: +Annotations: + +Data +==== +game.properties: +---- +enemies=aliens +lives=3 +enemies.cheat=true +enemies.cheat.level=noGoodRotten +secret.code.passphrase=UUDDLRLRBABAS +secret.code.allowed=true +secret.code.lives=30 +``` + +`--from-file`引数を複数回渡し、ConfigMapを複数のデータソースから作成できます。 + +```shell +kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/game.properties --from-file=configure-pod-container/configmap/ui.properties +``` + +ConfigMap`game-config-2`の詳細を以下のコマンドを使用して表示できます: + +```shell +kubectl describe configmaps game-config-2 +``` + +出力結果は以下のようになります: + +``` +Name: game-config-2 +Namespace: default +Labels: +Annotations: + +Data +==== +game.properties: +---- +enemies=aliens +lives=3 +enemies.cheat=true +enemies.cheat.level=noGoodRotten +secret.code.passphrase=UUDDLRLRBABAS +secret.code.allowed=true +secret.code.lives=30 +ui.properties: +---- +color.good=purple +color.bad=yellow +allow.textmode=true +how.nice.to.look=fairlyNice +``` + +`--from-env-file`オプションを利用してConfigMapをenv-fileから作成します。例えば: + +```shell +# Env-filesは環境編集のリストを含んでいます。 +# 以下のシンタックスルールが適用されます: +# envファイルの各行はVAR=VALの形式である必要がある。 +# #で始まる行 (例えばコメント)は無視される。 +# 空の行は無視される。 +# クオーテーションマークは特別な扱いは処理をしない (例えばConfigMapの値になる). + +# `configure-pod-container/configmap/`ディレクトリにサンプルファイルをダウンロードします +wget https://kubernetes.io/examples/configmap/game-env-file.properties -O configure-pod-container/configmap/game-env-file.properties + +# env-file `game-env-file.properties`は以下のように見えます +cat configure-pod-container/configmap/game-env-file.properties +enemies=aliens +lives=3 +allowed="true" + +# このコメントと上記の空の行は無視されます +``` + +```shell +kubectl create configmap game-config-env-file \ + --from-env-file=configure-pod-container/configmap/game-env-file.properties +``` + +以下のConfigMapを表示します: + +```shell +kubectl get configmap game-config-env-file -o yaml +``` + +出力結果は以下の様になります: +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: 2017-12-27T18:36:28Z + name: game-config-env-file + namespace: default + resourceVersion: "809965" + uid: d9d1ca5b-eb34-11e7-887b-42010a8002b8 +data: + allowed: '"true"' + enemies: aliens + lives: "3" +``` + +{{< caution >}} +`--from-env-file`を複数回渡してConfigMapを複数のデータソースから作成する場合、最後のenv-fileのみが使用されます。 +{{< /caution >}} + +`--from-env-file`を複数回渡す場合の挙動は以下のように示されます: + +```shell +# `configure-pod-container/configmap/`ディレクトリにサンブルファイルをダウンロードします +wget https://kubernetes.io/examples/configmap/ui-env-file.properties -O configure-pod-container/configmap/ui-env-file.properties + +# ConfigMapを作成します +kubectl create configmap config-multi-env-files \ + --from-env-file=configure-pod-container/configmap/game-env-file.properties \ + --from-env-file=configure-pod-container/configmap/ui-env-file.properties +``` + +以下のConfigMapを表示します: + +```shell +kubectl get configmap config-multi-env-files -o yaml +``` + +出力結果は以下のようになります: +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: 2017-12-27T18:38:34Z + name: config-multi-env-files + namespace: default + resourceVersion: "810136" + uid: 252c4572-eb35-11e7-887b-42010a8002b8 +data: + color: purple + how: fairlyNice + textmode: "true" +``` + +#### ファイルからConfigMap作成する場合は使用するキーを定義する + +`--from-file`引数を使用する場合、ConfigMapの`data` セクションでキーにファイル名以外を定義できます: + +```shell +kubectl create configmap game-config-3 --from-file== +``` + +``の部分はConfigMapで使うキー、`` はキーで表示したいデータソースファイルの場所です。 + +例えば: + +```shell +kubectl create configmap game-config-3 --from-file=game-special-key=configure-pod-container/configmap/game.properties +``` + +以下のConfigMapを表示します: +``` +kubectl get configmaps game-config-3 -o yaml +``` + +出力結果は以下のようになります: +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: 2016-02-18T18:54:22Z + name: game-config-3 + namespace: default + resourceVersion: "530" + uid: 05f8da22-d671-11e5-8cd0-68f728db1985 +data: + game-special-key: | + enemies=aliens + lives=3 + enemies.cheat=true + enemies.cheat.level=noGoodRotten + secret.code.passphrase=UUDDLRLRBABAS + secret.code.allowed=true + secret.code.lives=30 +``` + +#### リテラル値からConfigMapを作成する + +`kubectl create configmap`を`--from-literal`引数と使用してCLIからリテラル値を定義できます: + +```shell +kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm +``` + +複数のキーバリューペアを渡せます。CLIに提供された各ペアは、ConfigMapの`data`セクションで別のエントリーとして表示されます。 + +```shell +kubectl get configmaps special-config -o yaml +``` + +出力結果は以下のようになります: +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: 2016-02-18T19:14:38Z + name: special-config + namespace: default + resourceVersion: "651" + uid: dadce046-d673-11e5-8cd0-68f728db1985 +data: + special.how: very + special.type: charm +``` + +### ジェネレータからConfigMapを作成する +`kubectl`は`kustomization.yaml`を1.14からサポートしています。 +ジェネレータからConfigMapを作成し、APIサーバー上でオブジェクトを作成できる。ジェネレータはディレクトリ内の`kustomization.yaml`で指定する必要がある。 + +#### ファイルからConfigMapを生成する +例えば、ファイル`configure-pod-container/configmap/game.properties`からConfigMapを生成するには、 +```shell +# ConfigMapGeneratorでkustomization.yamlファイルを作成する +cat <./kustomization.yaml +configMapGenerator: +- name: game-config-4 + files: + - configure-pod-container/configmap/game.properties +EOF +``` + +ConfigMapオブジェクトを作成する為にkustomizationディレクトリを適用し、 +```shell +kubectl apply -k . +configmap/game-config-4-m9dm2f92bt created +``` + +ConfigMapが作成されたことを以下のようにチェックできます: + +```shell +kubectl get configmap +NAME DATA AGE +game-config-4-m9dm2f92bt 1 37s + + +kubectl describe configmaps/game-config-4-m9dm2f92bt +Name: game-config-4-m9dm2f92bt +Namespace: default +Labels: +Annotations: kubectl.kubernetes.io/last-applied-configuration: + {"apiVersion":"v1","data":{"game.properties":"enemies=aliens\nlives=3\nenemies.cheat=true\nenemies.cheat.level=noGoodRotten\nsecret.code.p... + +Data +==== +game.properties: +---- +enemies=aliens +lives=3 +enemies.cheat=true +enemies.cheat.level=noGoodRotten +secret.code.passphrase=UUDDLRLRBABAS +secret.code.allowed=true +secret.code.lives=30 +Events: +``` + +生成されたConfigMapの名前はコンテンツをハッシュさせて追加されたサフィックスを持つことに注意してください。これにより、コンテンツが変更されるたびに新しいConfigMapが生成されます。 + +#### ファイルからConfigMapを生成する場合に使用するキーを定義する +ConfigMapジェネレータで使用するキーはファイルの名前以外を定義できます。 +例えば、 ファイル`configure-pod-container/configmap/game.properties`とキー`game-special-key`を使用してConfigMapを作成する場合 + +```shell +# ConfigMapGeneratorでkustomization.yamlファイルを作成する +cat <./kustomization.yaml +configMapGenerator: +- name: game-config-5 + files: + - game-special-key=configure-pod-container/configmap/game.properties +EOF +``` + +kustomizationディレクトリを適用してConfigMapオブジェクトを作成します。 +```shell +kubectl apply -k . +configmap/game-config-5-m67dt67794 created +``` + +#### リテラルからConfigMapを作成する +To generate a ConfigMap from literals `special.type=charm` and `special.how=very`, +you can specify the ConfigMap generator in `kustomization.yaml` as +```shell +# kustomization.yamlファイルをConfigMapGeneratorと作成する +cat <./kustomization.yaml +configMapGenerator: +- name: special-config-2 + literals: + - special.how=very + - special.type=charm +EOF +``` +kustomizationディレクトリを適用してConfigMapオブジェクトを作成します。 +```shell +kubectl apply -k . +configmap/special-config-2-c92b5mmcf2 created +``` + +## ConfigMapデータを使用してコンテナ環境変数を定義する + +### 単一のConfigMapのデータを使用してコンテナ環境変数を定義する + +1. ConfigMapに環境変数をキーバリューペアとして定義する: + + ```shell + kubectl create configmap special-config --from-literal=special.how=very + ``` + +2. ConfigMapに定義された値`special.how`をPod specificationの環境変数`SPECIAL_LEVEL_KEY`に割り当てる。 + + {{< codenew file="pods/pod-single-configmap-env-variable.yaml" >}} + + Podを作成します: + + ```shell + kubectl create -f https://kubernetes.io/examples/pods/pod-single-configmap-env-variable.yaml + ``` + + すると、Podの出力結果に環境変数`SPECIAL_LEVEL_KEY=very`が含まれています。 + +### 複数のConfigMapのデータを使用してコンテナ環境変数を定義する + + * 先ほどの例の通り、まずはConfigMapを作成します。 + + {{< codenew file="configmap/configmaps.yaml" >}} + + ConfigMapを作成します: + + ```shell + kubectl create -f https://kubernetes.io/examples/configmap/configmaps.yaml + ``` + +* Pod specificationの環境変数を定義する + + {{< codenew file="pods/pod-multiple-configmap-env-variable.yaml" >}} + + Podを作成します: + + ```shell + kubectl create -f https://kubernetes.io/examples/pods/pod-multiple-configmap-env-variable.yaml + ``` + すると、Podの出力結果に環境変数`SPECIAL_LEVEL_KEY=very` and `LOG_LEVEL=INFO`が含まれています。 + +## ConfigMapの全てのキーバリューペアをコンテナ環境変数として構成する + +{{< note >}} +この機能はKubernetes v1.6以降で利用可能です。 +{{< /note >}} + +* 複数のキーバリューペアを含むConfigMapを作成します。 + + {{< codenew file="configmap/configmap-multikeys.yaml" >}} + + ConfigMapを作成します: + + ```shell + kubectl create -f https://kubernetes.io/examples/configmap/configmap-multikeys.yaml + ``` + +* `envFrom`を利用して全てのConfigMapのデータをコンテナ環境変数として定義します。ConfigMapからのキーがPodの環境変数名になります。 + + {{< codenew file="pods/pod-configmap-envFrom.yaml" >}} + + Podを作成します: + + ```shell + kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-envFrom.yaml + ``` + + すると、Podの出力結果は環境変数`SPECIAL_LEVEL=very`と`SPECIAL_TYPE=charm`が含まれています。 + + +## PodのコマンドでConfigMapに定義した環境変数を使用する + +ConfigMapに環境変数を定義し、Pod specificationの`command` セクションで`$(VAR_NAME)`Kubernetes置換構文を介して使用できます。 + +例えば以下のPod specificationは + +{{< codenew file="pods/pod-configmap-env-var-valueFrom.yaml" >}} + +以下コマンドの実行で作成され、 + +```shell +kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-env-var-valueFrom.yaml +``` + +`test-container`コンテナで以下の出力結果を表示します: + +```shell +very charm +``` + +## ボリュームにConfigMapデータを追加する + +[ファイルからConfigMapを作成する](#create-configmaps-from-files)で説明したように、``--from-file``を使用してConfigMapを作成する場合は、ファイル名がConfigMapの`data`セクションに保存されるキーになり、ファイルのコンテンツがキーの値になります。 + +このセクションの例は以下に示されているspecial-configと名付けれたConfigMapについて言及したものです。 + +{{< codenew file="configmap/configmap-multikeys.yaml" >}} + +ConfigMapを作成します: + +```shell +kubectl create -f https://kubernetes.io/examples/configmap/configmap-multikeys.yaml +``` + +### ConfigMapに保存されているデータをボリュームに入力する + +ConfigMap名をPod specificationの`volumes`セクション配下に追加します。 +これによりConfigMapデータが`volumeMounts.mountPath`で指定されたディレクトリに追加されます (このケースでは、`/etc/config`に)。`command`セクションはConfigMapのキーに合致したディレクトリファイルを名前別でリスト表示します。 + +{{< codenew file="pods/pod-configmap-volume.yaml" >}} + +Podを作成します: + +```shell +kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-volume.yaml +``` + +Podが稼働していると、`ls /etc/config/`コマンドは以下の出力結果を表示します: + +```shell +SPECIAL_LEVEL +SPECIAL_TYPE +``` + +{{< caution >}} +`/etc/config/`ディレクトリに何かファイルがある場合、それらは削除されます。 +{{< /caution >}} + +### ConfigMapデータをボリュームの特定のパスに追加する + +`path`フィルドを利用して特定のConfigMapのアイテム向けに希望のファイルパスを指定します。 +このケースでは`SPECIAL_LEVEL`アイテムが`/etc/config/keys`の`config-volume`ボリュームにマウントされます。 + +{{< codenew file="pods/pod-configmap-volume-specific-key.yaml" >}} + +Podを作成します: + +```shell +kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-volume-specific-key.yaml +``` + +Podが稼働していると、 `cat /etc/config/keys`コマンドは以下の出力結果を表示します: + +```shell +very +``` + +{{< caution >}} +先ほどのように、`/etc/config/` ディレクトリのこれまでのファイルは全て削除されます +{{< /caution >}} + +### キーを特定のパスとファイルアクセス許可に投影する + +キーをファイル単位で特定のパスとアクセス許可に投影できます。[Secrets](/docs/concepts/configuration/secret/#using-secrets-as-files-from-a-pod)のユーザーガイドで構文が解説されています。 + +### マウントされたConfigMapは自動的に更新される + +ボリュームで使用されているConfigMapが更新されている場合、投影されているキーも同じく結果的に更新されます。Kubeletは定期的な同期ごとにマウントされているConfigMapが更新されているかチェックします。しかし、これはローカルのttlを基にしたキャッシュでConfigMapの現在の値を取得しています。その結果、新しいキーがPodに投影されてからConfigMapに更新されるまでのトータルの遅延はkubeletで、kubeletの同期期間(デフォルトで1分) + ConfigMapキャッシュのttl(デフォルトで1分)の長さになる可能性があります。Podのアノテーションを1つ更新すると即時のリフレッシュをトリガーできます。 + +{{< note >}} +ConfigMapを[subPath](/docs/concepts/storage/volumes/#using-subpath)ボリュームとして利用するコンテナはConfigMapの更新を受け取りません。 +{{< /note >}} + +{{% /capture %}} + +{{% capture discussion %}} + +## ConfigMapとPodsを理解する + +ConfigMap APIリソースは構成情報をキーバリューペアとして保存します。データはPodで利用したり、コントローラーなどのシステムコンポーネントに提供できます。ConfigMapは[Secrets](/docs/concepts/configuration/secret/)に似ていますが、機密情報を含まない文字列を含まない操作する手段を提供します。ユーザーとシステムコンポーネントはどちらも構成情報をConfigMapに保存できます。 + +{{< note >}} +ConfigMapはプロパティファイルを参照するべきであり、置き換えるべきではありません。ConfigMapをLinuxの`/etc`ディレクトリとそのコンテンツのように捉えましょう。例えば、[Kubernetes Volume](/docs/concepts/storage/volumes/)をConfigMapから作成した場合、ConfigMapのデータアイテムはボリューム内で個別のファイルとして表示されます。 +{{< /note >}} + +ConfigMapの`data`フィールドは構成情報を含みます。下記の例のようにシンプルに`--from-literal`を使用して個別のプロパティーを定義、または複雑に`--from-file`を使用して構成ファイルまたはJSON blobsで定義できます。 + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: 2016-02-18T19:14:38Z + name: example-config + namespace: default +data: + # --from-literalを使用してシンプルにプロパティーを定義する例 + example.property.1: hello + example.property.2: world + # --from-fileを使用して複雑にプロパティーを定義する例 + example.property.file: |- + property.1=value-1 + property.2=value-2 + property.3=value-3 +``` + +### 制限事項 + +- ConfigMapはPod specificationを参照させる前に作成する必要があります (ConfigMapを"optional"として設定しない限り)。存在しないConfigMapを参照させた場合、Podは起動しません。同様にConfigMapに存在しないキーを参照させた場合も、Podは起動しません。 + +- ConfigMapで`envFrom`を使用して環境変数を定義した場合、無効と判断されたキーはスキップされます。Podは起動されますが、無効な名前はイベントログに(`InvalidVariableNames`)と記録されます。ログメッセージはスキップされたキーごとにリスト表示されます。例えば: + + ```shell + kubectl get events + ``` + + 出力結果は以下のようになります: + ``` + LASTSEEN FIRSTSEEN COUNT NAME KIND SUBOBJECT TYPE REASON SOURCE MESSAGE + 0s 0s 1 dapi-test-pod Pod Warning InvalidEnvironmentVariableNames {kubelet, 127.0.0.1} Keys [1badkey, 2alsobad] from the EnvFrom configMap default/myconfig were skipped since they are considered invalid environment variable names. + ``` + +- ConfigMapは特定の{{< glossary_tooltip term_id="namespace" >}}に属します。ConfigMap同じ名前空間に属するPodからのみ参照できます。 + +- {{< glossary_tooltip text="static pods" term_id="static-pod" >}}はKubeletがサポートしていない為、ConfigMapに使用できません。 + +{{% /capture %}} + +{{% capture whatsnext %}} +* 実践例[Configuring Redis using a ConfigMap](/docs/tutorials/configuration/configure-redis-using-configmap/)を続けて読む。 + +{{% /capture %}} diff --git a/content/ja/examples/configmap/configmap-multikeys.yaml b/content/ja/examples/configmap/configmap-multikeys.yaml new file mode 100644 index 0000000000..289702d123 --- /dev/null +++ b/content/ja/examples/configmap/configmap-multikeys.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: special-config + namespace: default +data: + SPECIAL_LEVEL: very + SPECIAL_TYPE: charm diff --git a/content/ja/examples/configmap/configmaps.yaml b/content/ja/examples/configmap/configmaps.yaml new file mode 100644 index 0000000000..91b9f29755 --- /dev/null +++ b/content/ja/examples/configmap/configmaps.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: special-config + namespace: default +data: + special.how: very +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: env-config + namespace: default +data: + log_level: INFO diff --git a/content/ja/examples/pods/pod-configmap-env-var-valueFrom.yaml b/content/ja/examples/pods/pod-configmap-env-var-valueFrom.yaml new file mode 100644 index 0000000000..a72b4335ce --- /dev/null +++ b/content/ja/examples/pods/pod-configmap-env-var-valueFrom.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Pod +metadata: + name: dapi-test-pod +spec: + containers: + - name: test-container + image: k8s.gcr.io/busybox + command: [ "/bin/sh", "-c", "echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)" ] + env: + - name: SPECIAL_LEVEL_KEY + valueFrom: + configMapKeyRef: + name: special-config + key: SPECIAL_LEVEL + - name: SPECIAL_TYPE_KEY + valueFrom: + configMapKeyRef: + name: special-config + key: SPECIAL_TYPE + restartPolicy: Never diff --git a/content/ja/examples/pods/pod-configmap-envFrom.yaml b/content/ja/examples/pods/pod-configmap-envFrom.yaml new file mode 100644 index 0000000000..70ae7e5bcf --- /dev/null +++ b/content/ja/examples/pods/pod-configmap-envFrom.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Pod +metadata: + name: dapi-test-pod +spec: + containers: + - name: test-container + image: k8s.gcr.io/busybox + command: [ "/bin/sh", "-c", "env" ] + envFrom: + - configMapRef: + name: special-config + restartPolicy: Never diff --git a/content/ja/examples/pods/pod-configmap-volume-specific-key.yaml b/content/ja/examples/pods/pod-configmap-volume-specific-key.yaml new file mode 100644 index 0000000000..72e38fd836 --- /dev/null +++ b/content/ja/examples/pods/pod-configmap-volume-specific-key.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Pod +metadata: + name: dapi-test-pod +spec: + containers: + - name: test-container + image: k8s.gcr.io/busybox + command: [ "/bin/sh","-c","cat /etc/config/keys" ] + volumeMounts: + - name: config-volume + mountPath: /etc/config + volumes: + - name: config-volume + configMap: + name: special-config + items: + - key: SPECIAL_LEVEL + path: keys + restartPolicy: Never diff --git a/content/ja/examples/pods/pod-configmap-volume.yaml b/content/ja/examples/pods/pod-configmap-volume.yaml new file mode 100644 index 0000000000..10bc581ce6 --- /dev/null +++ b/content/ja/examples/pods/pod-configmap-volume.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Pod +metadata: + name: dapi-test-pod +spec: + containers: + - name: test-container + image: k8s.gcr.io/busybox + command: [ "/bin/sh", "-c", "ls /etc/config/" ] + volumeMounts: + - name: config-volume + mountPath: /etc/config + volumes: + - name: config-volume + configMap: + # コンテナに追加するファイルを含むConfigMapの名前を提供する + name: special-config + restartPolicy: Never diff --git a/content/ja/examples/pods/pod-multiple-configmap-env-variable.yaml b/content/ja/examples/pods/pod-multiple-configmap-env-variable.yaml new file mode 100644 index 0000000000..4790a9c661 --- /dev/null +++ b/content/ja/examples/pods/pod-multiple-configmap-env-variable.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Pod +metadata: + name: dapi-test-pod +spec: + containers: + - name: test-container + image: k8s.gcr.io/busybox + command: [ "/bin/sh", "-c", "env" ] + env: + - name: SPECIAL_LEVEL_KEY + valueFrom: + configMapKeyRef: + name: special-config + key: special.how + - name: LOG_LEVEL + valueFrom: + configMapKeyRef: + name: env-config + key: log_level + restartPolicy: Never diff --git a/content/ja/examples/pods/pod-single-configmap-env-variable.yaml b/content/ja/examples/pods/pod-single-configmap-env-variable.yaml new file mode 100644 index 0000000000..83f6a02b88 --- /dev/null +++ b/content/ja/examples/pods/pod-single-configmap-env-variable.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Pod +metadata: + name: dapi-test-pod +spec: + containers: + - name: test-container + image: k8s.gcr.io/busybox + command: [ "/bin/sh", "-c", "env" ] + env: + # 環境変数を定義します + - name: SPECIAL_LEVEL_KEY + valueFrom: + configMapKeyRef: + # SPECIAL_LEVEL_KEYに割り当てる値をConfigMapが保持します + name: special-config + # 値に紐付けるキーを指定します + key: special.how + restartPolicy: Never From 389e7b00507e6219651d4753362d42a4c21bc98a Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 6 May 2020 14:42:59 +0900 Subject: [PATCH 019/533] update link to /ja/docs/tasks/run-application/force-delete-stateful-set-pod/ --- content/ja/docs/concepts/workloads/controllers/statefulset.md | 2 +- content/ja/docs/concepts/workloads/pods/pod.md | 2 +- content/ja/docs/tasks/run-application/delete-stateful-set.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index e16488b5b8..ad199ae2d7 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -151,7 +151,7 @@ StatefulSetのコントローラーがPodを作成したとき、Podの名前と * Podに対してスケーリングオプションが適用される前に、そのPodの前の順番の全てのPodがRunningかつReady状態になっていなくてはなりません。 * Podが停止される前に、そのPodの番号より大きい番号を持つの全てのPodは完全にシャットダウンされていなくてはなりません。 -StatefulSetは`pod.Spec.TerminationGracePeriodSeconds`を0に指定すべきではありません。これは不安全で、やらないことを強く推奨します。さらなる説明としては、[StatefulSetのPodの強制削除](/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 +StatefulSetは`pod.Spec.TerminationGracePeriodSeconds`を0に指定すべきではありません。これは不安全で、やらないことを強く推奨します。さらなる説明としては、[StatefulSetのPodの強制削除](/ja/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 上記の例のnginxが作成されたとき、3つのPodは`web-0`、`web-1`、`web-2`の順番でデプロイされます。`web-1`は`web-0`が[RunningかつReady状態](/docs/user-guide/pod-states/)になるまでは決してデプロイされないのと、同様に`web-2`は`web-1`がRunningかつReady状態にならないとデプロイされません。もし`web-0`が`web-1`がRunningかつReady状態になった後だが、`web-2`が起動する前に失敗した場合、`web-2`は`web-0`の再起動が成功し、RunningかつReady状態にならないと再起動されません。 diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index aa6e6f7199..e0d9c951b4 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -162,7 +162,7 @@ API内のPodは直ちに削除されるため、新しいPodを同じ名前で Node上では、すぐに終了するように設定されるPodは、強制終了される前にわずかな猶予期間が与えられます。 強制削除は、Podによっては潜在的に危険な場合があるため、慎重に実行する必要があります。 -StatefulSetのPodについては、[StatefulSetからPodを削除するためのタスクのドキュメント](/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 +StatefulSetのPodについては、[StatefulSetからPodを削除するためのタスクのドキュメント](/ja/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 ## Podコンテナの特権モード diff --git a/content/ja/docs/tasks/run-application/delete-stateful-set.md b/content/ja/docs/tasks/run-application/delete-stateful-set.md index d6f7d981e4..d8d6b8c89a 100644 --- a/content/ja/docs/tasks/run-application/delete-stateful-set.md +++ b/content/ja/docs/tasks/run-application/delete-stateful-set.md @@ -72,13 +72,13 @@ kubectl delete pvc -l app=myapp ### StatefulSet Podの強制削除 -StatefulSet内の一部のPodが長期間`Terminating`または`Unknown`状態のままになっていることが判明した場合は、手動でapiserverからPodを強制的に削除する必要があります。これは潜在的に危険な作業です。詳細は[StatefulSet Podの強制削除](/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 +StatefulSet内の一部のPodが長期間`Terminating`または`Unknown`状態のままになっていることが判明した場合は、手動でapiserverからPodを強制的に削除する必要があります。これは潜在的に危険な作業です。詳細は[StatefulSet Podの強制削除](/ja/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 {{% /capture %}} {{% capture whatsnext %}} -[StatefulSet Podの強制削除](/docs/tasks/run-application/force-delete-stateful-set-pod/)の詳細 +[StatefulSet Podの強制削除](/ja/docs/tasks/run-application/force-delete-stateful-set-pod/)の詳細 {{% /capture %}} From ea0997dc9ef60d4629d6703b002e1a04b4bd46a4 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 6 May 2020 14:46:29 +0900 Subject: [PATCH 020/533] update link to /ja/docs/tasks/run-application/run-stateless-application-deployment/ --- content/ja/docs/concepts/services-networking/ingress.md | 2 +- content/ja/docs/setup/production-environment/turnkey/aws.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/ingress.md b/content/ja/docs/concepts/services-networking/ingress.md index 7fd3a81bab..6a8c17587f 100644 --- a/content/ja/docs/concepts/services-networking/ingress.md +++ b/content/ja/docs/concepts/services-networking/ingress.md @@ -74,7 +74,7 @@ spec: servicePort: 80 ``` -他の全てのKubernetesリソースと同様に、Ingressは`apiVersion`、`kind`や`metadata`フィールドが必要です。設定ファイルの利用に関する一般的な情報は、[アプリケーションのデプロイ](/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナーの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)、[リソースの管理](/docs/concepts/cluster-administration/manage-deployment/)を参照してください。 +他の全てのKubernetesリソースと同様に、Ingressは`apiVersion`、`kind`や`metadata`フィールドが必要です。設定ファイルの利用に関する一般的な情報は、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナーの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)、[リソースの管理](/docs/concepts/cluster-administration/manage-deployment/)を参照してください。 Ingressでは、Ingressコントローラーに依存しているいくつかのオプションの設定をするためにアノテーションを使うことが多いです。その例としては、[rewrite-targetアノテーション](https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md)などがあります。 [Ingressコントローラー](/docs/concepts/services-networking/ingress-controllers)の種類が異なれば、サポートするアノテーションも異なります。サポートされているアノテーションについて学ぶために、ユーザーが使用するIngressコントローラーのドキュメントを確認してください。 diff --git a/content/ja/docs/setup/production-environment/turnkey/aws.md b/content/ja/docs/setup/production-environment/turnkey/aws.md index 5367103984..28a91ae324 100644 --- a/content/ja/docs/setup/production-environment/turnkey/aws.md +++ b/content/ja/docs/setup/production-environment/turnkey/aws.md @@ -52,7 +52,7 @@ export PATH=/platforms/linux/amd64:$PATH ### 例 -新しいクラスターを試すには、[簡単なnginxの例](/docs/tasks/run-application/run-stateless-application-deployment/)を参照してください。 +新しいクラスターを試すには、[簡単なnginxの例](/ja/docs/tasks/run-application/run-stateless-application-deployment/)を参照してください。 "Guestbook"アプリケーションは、Kubernetesを始めるもう一つのポピュラーな例です: [guestbookの例](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/) From 17a1008a5341103ace5913ac79e82dc1e29f87e9 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 6 May 2020 14:48:49 +0900 Subject: [PATCH 021/533] update link to /ja/docs/tasks/configure-pod-container/assign-memory-resource/ --- .../docs/tasks/configure-pod-container/assign-cpu-resource.md | 2 +- .../docs/tasks/configure-pod-container/quality-service-pod.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md index f88e5e1f10..f2928bc9f4 100644 --- a/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -214,7 +214,7 @@ kubectl delete namespace cpu-example ### アプリケーション開発者向け -* [コンテナとPodにメモリーリソースを割り当てる](/docs/tasks/configure-pod-container/assign-memory-resource/) +* [コンテナとPodにメモリーリソースを割り当てる](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) * [PodのQuality of Serviceを設定する](/docs/tasks/configure-pod-container/quality-service-pod/) diff --git a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md index f2a4edb2ee..c286699744 100644 --- a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md @@ -229,7 +229,7 @@ kubectl delete namespace qos-example ### アプリケーション開発者向け -* [コンテナとPodにメモリーリソースを割り当てる](/docs/tasks/configure-pod-container/assign-memory-resource/) +* [コンテナとPodにメモリーリソースを割り当てる](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) * [コンテナとPodにCPUリソースを割り当てる](/docs/tasks/configure-pod-container/assign-cpu-resource/) From 6ee1a0574a9d5e1491bea9ec4cc07d37573abab3 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 6 May 2020 18:40:55 +0900 Subject: [PATCH 022/533] modify link target page title --- .../docs/tasks/configure-pod-container/assign-cpu-resource.md | 2 +- .../docs/tasks/configure-pod-container/quality-service-pod.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md index f2928bc9f4..4c61c05a1c 100644 --- a/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -214,7 +214,7 @@ kubectl delete namespace cpu-example ### アプリケーション開発者向け -* [コンテナとPodにメモリーリソースを割り当てる](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) +* [コンテナおよびPodへのメモリーリソースの割り当て](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) * [PodのQuality of Serviceを設定する](/docs/tasks/configure-pod-container/quality-service-pod/) diff --git a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md index c286699744..346ce57a92 100644 --- a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md @@ -229,7 +229,7 @@ kubectl delete namespace qos-example ### アプリケーション開発者向け -* [コンテナとPodにメモリーリソースを割り当てる](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) +* [コンテナおよびPodへのメモリーリソースの割り当て](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) * [コンテナとPodにCPUリソースを割り当てる](/docs/tasks/configure-pod-container/assign-cpu-resource/) From f05cfb2f13192221f711d636527fd863b42f3070 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Thu, 7 May 2020 01:00:32 +0900 Subject: [PATCH 023/533] Revised the points should be better --- .../configure-pod-configmap.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index c0108142d5..22547afa43 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -39,7 +39,7 @@ kubectl create configmap [`kubectl describe`](/docs/reference/generated/kubectl/kubectl-commands/#describe)または [`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用して、ConfigMapに関する情報を取得できます。 -#### ディレクトリからConfigMapを作成する +#### ディレクトリからConfigMapを作成する{#create-configmaps-from-directories} `kubectl create configmap`を使用してConfigMapを同じディレクトリの複数のファイルから作成できます。ディレクトリを基にConfigMapを作成する場合、kubectlはディレクトリ内でベース名が有効なキーであるファイルを識別し、それらのファイルを新たなConfigMapにパッケージ化します。レギュラーファイル以外のあらゆるディレクトリエントリーは無視されます。(例えば、サブディレクトリ、シンボリックリンク、デバイス、パイプなど). @@ -57,7 +57,7 @@ wget https://kubernetes.io/examples/configmap/ui.properties -O configure-pod-con kubectl create configmap game-config --from-file=configure-pod-container/configmap/ ``` -上記のコマンドは各ファイルを、この場合、`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties`をgame-config ConfigMapにパッケージ化する。 以下のコマンドを使用してConfigMapの詳細を表示できます: +上記のコマンドは各ファイルを、この場合、`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties`をgame-config ConfigMapにパッケージ化します。 以下のコマンドを使用してConfigMapの詳細を表示できます: ```shell kubectl describe configmaps game-config @@ -121,7 +121,7 @@ data: how.nice.to.look=fairlyNice ``` -#### ファイルからConfigMapを作成する +#### ファイルからConfigMapを作成する{#create-configmaps-from-files} `kubectl create configmap`を使用して個別のファイルから、または複数のファイルからConfigMapを作成できます。 @@ -230,7 +230,7 @@ kubectl create configmap game-config-env-file \ kubectl get configmap game-config-env-file -o yaml ``` -出力結果は以下の様になります: +出力結果は以下のようになります: ```yaml apiVersion: v1 kind: ConfigMap @@ -326,7 +326,7 @@ data: secret.code.lives=30 ``` -#### リテラル値からConfigMapを作成する +#### リテラル値からConfigMapを作成する{#create-configmaps-from-literal-values} `kubectl create configmap`を`--from-literal`引数と使用してCLIからリテラル値を定義できます: @@ -357,7 +357,7 @@ data: ### ジェネレータからConfigMapを作成する `kubectl`は`kustomization.yaml`を1.14からサポートしています。 -ジェネレータからConfigMapを作成し、APIサーバー上でオブジェクトを作成できる。ジェネレータはディレクトリ内の`kustomization.yaml`で指定する必要がある。 +ジェネレータからConfigMapを作成し、APIサーバー上でオブジェクトを作成できます。ジェネレータはディレクトリ内の`kustomization.yaml`で指定する必要があリます。 #### ファイルからConfigMapを生成する 例えば、ファイル`configure-pod-container/configmap/game.properties`からConfigMapを生成するには、 @@ -410,7 +410,7 @@ Events: #### ファイルからConfigMapを生成する場合に使用するキーを定義する ConfigMapジェネレータで使用するキーはファイルの名前以外を定義できます。 -例えば、 ファイル`configure-pod-container/configmap/game.properties`とキー`game-special-key`を使用してConfigMapを作成する場合 +例えば、ファイル`configure-pod-container/configmap/game.properties`とキー`game-special-key`を使用してConfigMapを作成する場合 ```shell # ConfigMapGeneratorでkustomization.yamlファイルを作成する @@ -432,7 +432,7 @@ configmap/game-config-5-m67dt67794 created To generate a ConfigMap from literals `special.type=charm` and `special.how=very`, you can specify the ConfigMap generator in `kustomization.yaml` as ```shell -# kustomization.yamlファイルをConfigMapGeneratorと作成する +# kustomization.yamlファイルをConfigMapGeneratorと作成します cat <./kustomization.yaml configMapGenerator: - name: special-config-2 @@ -451,13 +451,13 @@ configmap/special-config-2-c92b5mmcf2 created ### 単一のConfigMapのデータを使用してコンテナ環境変数を定義する -1. ConfigMapに環境変数をキーバリューペアとして定義する: +1. ConfigMapに環境変数をキーバリューペアとして定義します: ```shell kubectl create configmap special-config --from-literal=special.how=very ``` -2. ConfigMapに定義された値`special.how`をPod specificationの環境変数`SPECIAL_LEVEL_KEY`に割り当てる。 +2. ConfigMapに定義された値`special.how`をPod specificationの環境変数`SPECIAL_LEVEL_KEY`に割り当てます。 {{< codenew file="pods/pod-single-configmap-env-variable.yaml" >}} From e46b99218fccef9382f879d37667c4b068d7cd38 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Thu, 7 May 2020 08:35:31 +0900 Subject: [PATCH 024/533] Revised the translation of configuration artifacts --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 22547afa43..8686e0146b 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -8,7 +8,7 @@ card: --- {{% capture overview %}} -ConfigMapを使用すると、構成アーティファクトをイメージコンテンツから切り離して、コンテナ化されたアプリケーションの移植性を維持できます。このページでは、ConfigMapを作成し、ConfigMapに保存されているデータを使用してPodを構成する一連の使用例を示します。 +ConfigMapを使用すると、設定をイメージコンテンツから切り離して、コンテナ化されたアプリケーションの移植性を維持できます。このページでは、ConfigMapを作成し、ConfigMapに保存されているデータを使用してPodを構成する一連の使用例を示します。 {{% /capture %}} From cf377d9cbb8a10efdcab1185d68a66436601653a Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Thu, 7 May 2020 09:44:18 +0900 Subject: [PATCH 025/533] Revised found inappropriate Spaces and desinence --- .../configure-pod-configmap.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 8686e0146b..71df04f399 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -22,7 +22,7 @@ ConfigMapを使用すると、設定をイメージコンテンツから切り ## ConfigMapを作成する -`kubectl create configmap` コマンドまたはConfigMap generatorを`kustomization.yaml`ファイルで使ってConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 +`kubectl create configmap`コマンドまたはConfigMap generatorを`kustomization.yaml`ファイルで使ってConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 ### kubectl create configmapコマンドを使用してConfigMapを作成する @@ -32,7 +32,7 @@ ConfigMapを使用すると、設定をイメージコンテンツから切り kubectl create configmap ``` -\ の部分はConfigMapに割り当てる名前で、\ はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 ファイルを基にConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 @@ -41,7 +41,7 @@ kubectl create configmap #### ディレクトリからConfigMapを作成する{#create-configmaps-from-directories} -`kubectl create configmap`を使用してConfigMapを同じディレクトリの複数のファイルから作成できます。ディレクトリを基にConfigMapを作成する場合、kubectlはディレクトリ内でベース名が有効なキーであるファイルを識別し、それらのファイルを新たなConfigMapにパッケージ化します。レギュラーファイル以外のあらゆるディレクトリエントリーは無視されます。(例えば、サブディレクトリ、シンボリックリンク、デバイス、パイプなど). +`kubectl create configmap`を使用してConfigMapを同じディレクトリの複数のファイルから作成できます。ディレクトリを基にConfigMapを作成する場合、kubectlはディレクトリ内でベース名が有効なキーであるファイルを識別し、それらのファイルを新たなConfigMapにパッケージ化します。レギュラーファイル以外のあらゆるディレクトリエントリーは無視されます。(例えば、サブディレクトリ、シンボリックリンク、デバイス、パイプなど)。 例えば: @@ -205,7 +205,7 @@ how.nice.to.look=fairlyNice # envファイルの各行はVAR=VALの形式である必要がある。 # #で始まる行 (例えばコメント)は無視される。 # 空の行は無視される。 -# クオーテーションマークは特別な扱いは処理をしない (例えばConfigMapの値になる). +# クオーテーションマークは特別な扱いは処理をしない(例えばConfigMapの値になる). # `configure-pod-container/configmap/`ディレクトリにサンプルファイルをダウンロードします wget https://kubernetes.io/examples/configmap/game-env-file.properties -O configure-pod-container/configmap/game-env-file.properties @@ -371,7 +371,7 @@ configMapGenerator: EOF ``` -ConfigMapオブジェクトを作成する為にkustomizationディレクトリを適用し、 +ConfigMapオブジェクトを作成する為にkustomizationディレクトリを適用して、 ```shell kubectl apply -k . configmap/game-config-4-m9dm2f92bt created @@ -481,7 +481,7 @@ configmap/special-config-2-c92b5mmcf2 created kubectl create -f https://kubernetes.io/examples/configmap/configmaps.yaml ``` -* Pod specificationの環境変数を定義する +* Pod specificationの環境変数を定義します {{< codenew file="pods/pod-multiple-configmap-env-variable.yaml" >}} @@ -557,7 +557,7 @@ kubectl create -f https://kubernetes.io/examples/configmap/configmap-multikeys.y ### ConfigMapに保存されているデータをボリュームに入力する -ConfigMap名をPod specificationの`volumes`セクション配下に追加します。 +ConfigMap名をPod specificationの`volumes`セクション配下に追加します。 これによりConfigMapデータが`volumeMounts.mountPath`で指定されたディレクトリに追加されます (このケースでは、`/etc/config`に)。`command`セクションはConfigMapのキーに合致したディレクトリファイルを名前別でリスト表示します。 {{< codenew file="pods/pod-configmap-volume.yaml" >}} @@ -648,7 +648,7 @@ data: ### 制限事項 -- ConfigMapはPod specificationを参照させる前に作成する必要があります (ConfigMapを"optional"として設定しない限り)。存在しないConfigMapを参照させた場合、Podは起動しません。同様にConfigMapに存在しないキーを参照させた場合も、Podは起動しません。 +- ConfigMapはPod specificationを参照させる前に作成する必要があります(ConfigMapを"optional"として設定しない限り)。存在しないConfigMapを参照させた場合、Podは起動しません。同様にConfigMapに存在しないキーを参照させた場合も、Podは起動しません。 - ConfigMapで`envFrom`を使用して環境変数を定義した場合、無効と判断されたキーはスキップされます。Podは起動されますが、無効な名前はイベントログに(`InvalidVariableNames`)と記録されます。ログメッセージはスキップされたキーごとにリスト表示されます。例えば: From 108c61cca69ee5853edc46fbc124c3774fd802b1 Mon Sep 17 00:00:00 2001 From: Arhell Date: Sat, 9 May 2020 01:37:50 +0300 Subject: [PATCH 026/533] fix community page banner --- static/css/newcommunity.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/static/css/newcommunity.css b/static/css/newcommunity.css index bedfedb267..91e6f2abf5 100644 --- a/static/css/newcommunity.css +++ b/static/css/newcommunity.css @@ -83,10 +83,10 @@ body { } .banner1 { -position:relative; -float:left; -width:100%; - + position:relative; + float:left; + width:100%; + padding-left: 0 !important; } From 38b08a452455fd437653c39fd3bf2f71938d8a6b Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Mon, 11 May 2020 15:17:15 +0900 Subject: [PATCH 027/533] Translate setup/production-environment/tools/kubeadm/ha-topology.md into Japanese. --- .../tools/kubeadm/ha-topology.md | 55 ++++++++----------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md index 429a37f440..a0c5319afe 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -1,69 +1,58 @@ --- -title: Options for Highly Available topology +title: 高可用性トポロジーのためのオプション content_template: templates/concept weight: 50 --- {{% capture overview %}} -This page explains the two options for configuring the topology of your highly available (HA) Kubernetes clusters. +このページでは、高可用性(HA)Kubernetesクラスターのトポロジーを設定するための2つのオプションについて説明します。 -You can set up an HA cluster: +HAクラスターは次の方法で設定できます。 -- With stacked control plane nodes, where etcd nodes are colocated with control plane nodes -- With external etcd nodes, where etcd runs on separate nodes from the control plane +- 積み重なったコントロールプレーンノードを使用する方法。こちらの場合、etcdノードはコントロールプレーンノードと同じ場所で動作します。 +- 外部のetcdノードを使用する方法。こちらの場合、etcdがコントロールプレーンとは分離されたノードで動作します。 -You should carefully consider the advantages and disadvantages of each topology before setting up an HA cluster. +HAクラスターをセットアップする前に、各トポロジーの利点と欠点について注意深く考慮する必要があります。 {{% /capture %}} {{% capture body %}} -## Stacked etcd topology +## 積み重なったetcdトポロジー -A stacked HA cluster is a [topology](https://en.wikipedia.org/wiki/Network_topology) where the distributed -data storage cluster provided by etcd is stacked on top of the cluster formed by the nodes managed by -kubeadm that run control plane components. +積み重なったHAクラスターは、コントロールプレーンのコンポーネントを実行する、kubeadmで管理されたノードで構成されるクラスターの上に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 -Each control plane node runs an instance of the `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager`. -The `kube-apiserver` is exposed to worker nodes using a load balancer. +各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`を実行します。`kube-apiserver` はロードバランサーを用いてワーカーノードに公開されます。 -Each control plane node creates a local etcd member and this etcd member communicates only with -the `kube-apiserver` of this node. The same applies to the local `kube-controller-manager` -and `kube-scheduler` instances. +各コントロールプレーンノードはローカルのetcdメンバーを作り、このetcdメンバーはそのノードの`kube-apiserver`とだけ通信します。ローカルの`kube-controller-manager`と`kube-scheduler`のインスタンスも同様です。 -This topology couples the control planes and etcd members on the same nodes. It is simpler to set up than a cluster -with external etcd nodes, and simpler to manage for replication. +このトポロジーは、同じノード上のコントロールプレーンとetcdのメンバーを結合します。外部のetcdノードを使用するクラスターよりはセットアップがシンプルで、レプリケーションの管理もシンプルです。 -However, a stacked cluster runs the risk of failed coupling. If one node goes down, both an etcd member and a control -plane instance are lost, and redundancy is compromised. You can mitigate this risk by adding more control plane nodes. +しかし、積み重なったクラスターには、結合による故障のリスクがあります。1つのノードがダウンすると、etcdメンバーとコントロールプレーンのインスタンスの両方が失われ、冗長性が損なわれます。より多くのコントロールプレーンノードを追加することで、このリスクは緩和できます。 -You should therefore run a minimum of three stacked control plane nodes for an HA cluster. +そのため、HAクラスターのためには、最低でも3台の積み重なったコントロールプレーンノードを実行しなければなりません。 -This is the default topology in kubeadm. A local etcd member is created automatically -on control plane nodes when using `kubeadm init` and `kubeadm join --control-plane`. +これがkubeadmのデフォルトのトポロジーです。`kubeadm init`や`kubeadm join --control-place`を実行すると、ローカルのetcdメンバーがコントロールプレーンノード上に自動的に作成されます。 -![Stacked etcd topology](/images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg) +![積み重なったetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg) -## External etcd topology +## 外部のetcdトポロジー -An HA cluster with external etcd is a [topology](https://en.wikipedia.org/wiki/Network_topology) where the distributed data storage cluster provided by etcd is external to the cluster formed by the nodes that run control plane components. +外部のetcdを持つHAクラスターは、コントロールプレーンコンポーネントを実行するノードで構成されるクラスターの外部に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 -Like the stacked etcd topology, each control plane node in an external etcd topology runs an instance of the `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager`. And the `kube-apiserver` is exposed to worker nodes using a load balancer. However, etcd members run on separate hosts, and each etcd host communicates with the `kube-apiserver` of each control plane node. +積み重なったetcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 -This topology decouples the control plane and etcd member. It therefore provides an HA setup where -losing a control plane instance or an etcd member has less impact and does not affect -the cluster redundancy as much as the stacked HA topology. +このトポロジーは、コントロールプレーンとetcdメンバーを疎結合にします。そのため、コントロールプレーンインスタンスまたはetcdメンバーを失うことによる影響は少なく、積み重なったHAトポロジーほどクラスターの冗長性に影響しないHAセットアップが実現します。 -However, this topology requires twice the number of hosts as the stacked HA topology. -A minimum of three hosts for control plane nodes and three hosts for etcd nodes are required for an HA cluster with this topology. +しかし、このトポロジーでは積み重なったHAトポロジーの2倍の数のホストを必要とします。このトポロジーのHAクラスターのためには、最低でもコントロールプレーンのために3台のホストが、etcdノードのために3台のホストがそれぞれ必要です。 -![External etcd topology](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) +![外部のetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) {{% /capture %}} {{% capture whatsnext %}} -- [Set up a highly available cluster with kubeadm](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/) +- [kubeadmを使用した高可用性クラスターの作成](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/) {{% /capture %}} From 0c4656779c6e444c74c6760278472f96c04e9608 Mon Sep 17 00:00:00 2001 From: Anorlondo448 Date: Mon, 11 May 2020 15:48:42 +0900 Subject: [PATCH 028/533] fix typo --- content/ja/docs/concepts/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/_index.md b/content/ja/docs/concepts/_index.md index 4bddc5e520..5075258bf2 100644 --- a/content/ja/docs/concepts/_index.md +++ b/content/ja/docs/concepts/_index.md @@ -15,7 +15,7 @@ weight: 40 ## 概要 -Kubernetesを機能させるには、*Kubernetes API オブジェクト* を使用して、実行したいアプリケーションやその他のワークロード、使用するコンテナイメージ、レプリカ(複製)の数、どんなネットワークやディスクリソースを利用可能にするかなど、クラスターの *desired state* (望ましい状態)を記述します。desired sate (望ましい状態)をセットするには、Kubernetes APIを使用してオブジェクトを作成します。通常はコマンドラインインターフェイス `kubectl` を用いてKubernetes APIを操作しますが、Kubernetes APIを直接使用してクラスターと対話し、desired state (望ましい状態)を設定、または変更することもできます。 +Kubernetesを機能させるには、*Kubernetes API オブジェクト* を使用して、実行したいアプリケーションやその他のワークロード、使用するコンテナイメージ、レプリカ(複製)の数、どんなネットワークやディスクリソースを利用可能にするかなど、クラスターの *desired state* (望ましい状態)を記述します。desired state (望ましい状態)をセットするには、Kubernetes APIを使用してオブジェクトを作成します。通常はコマンドラインインターフェイス `kubectl` を用いてKubernetes APIを操作しますが、Kubernetes APIを直接使用してクラスターと対話し、desired state (望ましい状態)を設定、または変更することもできます。 一旦desired state (望ましい状態)を設定すると、Pod Lifecycle Event Generator([PLEG](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/pod-lifecycle-event-generator.md))を使用した*Kubernetes コントロールプレーン*が機能し、クラスターの現在の状態をdesired state (望ましい状態)に一致させます。そのためにKubernetesはさまざまなタスク(たとえば、コンテナの起動または再起動、特定アプリケーションのレプリカ数のスケーリング等)を自動的に実行します。Kubernetesコントロールプレーンは、クラスターで実行されている以下のプロセスで構成されています。 From 7e783a63d82257affd0120dbe8316f7ca200bd76 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 20:54:20 +0900 Subject: [PATCH 029/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正内容が凄いしっくりきます! Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 71df04f399..3465b2fcb3 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -406,7 +406,7 @@ secret.code.lives=30 Events: ``` -生成されたConfigMapの名前はコンテンツをハッシュさせて追加されたサフィックスを持つことに注意してください。これにより、コンテンツが変更されるたびに新しいConfigMapが生成されます。 +生成されたConfigMapの名前は、コンテンツをハッシュ化したサフィックスを持つことに注意してください。これにより、コンテンツが変更されるたびに新しいConfigMapが生成されます。 #### ファイルからConfigMapを生成する場合に使用するキーを定義する ConfigMapジェネレータで使用するキーはファイルの名前以外を定義できます。 From 8c7923520c45ba000ba953e2648baec8df1156e5 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 20:58:06 +0900 Subject: [PATCH 030/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Great! Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 3465b2fcb3..fa0f5d6b86 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -41,7 +41,7 @@ kubectl create configmap #### ディレクトリからConfigMapを作成する{#create-configmaps-from-directories} -`kubectl create configmap`を使用してConfigMapを同じディレクトリの複数のファイルから作成できます。ディレクトリを基にConfigMapを作成する場合、kubectlはディレクトリ内でベース名が有効なキーであるファイルを識別し、それらのファイルを新たなConfigMapにパッケージ化します。レギュラーファイル以外のあらゆるディレクトリエントリーは無視されます。(例えば、サブディレクトリ、シンボリックリンク、デバイス、パイプなど)。 +`kubectl create configmap`を使用すると、同一ディレクトリ内にある複数のファイルから1つのConfigMapを作成できます。ディレクトリをベースにConfigMapを作成する場合、kubectlはディレクトリ内でベース名が有効なキーであるファイルを識別し、それらのファイルを新たなConfigMapにパッケージ化します。ディレクトリ内にある通常のファイルでないものは無視されます(例: サブディレクトリ、シンボリックリンク、デバイス、パイプなど)。 例えば: From 3775a1b1df983e052dc455f58d9db2f451517fb0 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 20:58:21 +0900 Subject: [PATCH 031/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index fa0f5d6b86..34fe0a1e4f 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -26,7 +26,7 @@ ConfigMapを使用すると、設定をイメージコンテンツから切り ### kubectl create configmapコマンドを使用してConfigMapを作成する -`kubectl create configmap`コマンドを使用してConfigMapを[ディレクトリ](#create-configmaps-from-directories)、 [ファイル](#create-configmaps-from-files)、または [リテラル値](#create-configmaps-from-literal-values)から作成します: +`kubectl create configmap`コマンドを使用してConfigMapを[ディレクトリ](#create-configmaps-from-directories)、[ファイル](#create-configmaps-from-files)、または[リテラル値](#create-configmaps-from-literal-values)から作成します: ```shell kubectl create configmap From 8c0ab9c9b40abdddeddb7aa2451b85d5a8368769 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:02:48 +0900 Subject: [PATCH 032/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit スッキリしてとても良いと思います。 Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 34fe0a1e4f..0328f73c93 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -22,7 +22,7 @@ ConfigMapを使用すると、設定をイメージコンテンツから切り ## ConfigMapを作成する -`kubectl create configmap`コマンドまたはConfigMap generatorを`kustomization.yaml`ファイルで使ってConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 +`kubectl create configmap`コマンドまたは`kustomization.yaml`のConfigMap generatorを使用してConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 ### kubectl create configmapコマンドを使用してConfigMapを作成する From fc721399a17021333e7b43c488243cdbd78cc7be Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:04:27 +0900 Subject: [PATCH 033/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit はい。なりますが自然ですね。 Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 0328f73c93..963456644c 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -210,7 +210,7 @@ how.nice.to.look=fairlyNice # `configure-pod-container/configmap/`ディレクトリにサンプルファイルをダウンロードします wget https://kubernetes.io/examples/configmap/game-env-file.properties -O configure-pod-container/configmap/game-env-file.properties -# env-file `game-env-file.properties`は以下のように見えます +# env-file `game-env-file.properties`は以下のようになります cat configure-pod-container/configmap/game-env-file.properties enemies=aliens lives=3 From 79964217827d81210b8b59681617eb1e7bc3b870 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:06:31 +0900 Subject: [PATCH 034/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OKです!表示しますに寄せなくて良いと思いました。 Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 963456644c..435148ef03 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -131,7 +131,7 @@ data: kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/game.properties ``` -以下のConfigMapを表示します: +は、以下のConfigMapを生成します: ```shell kubectl describe configmaps game-config-2 From 2c663184d94a2cf44789aa18fd7944d3fa117703 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:06:42 +0900 Subject: [PATCH 035/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 435148ef03..e7b1385920 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -205,7 +205,7 @@ how.nice.to.look=fairlyNice # envファイルの各行はVAR=VALの形式である必要がある。 # #で始まる行 (例えばコメント)は無視される。 # 空の行は無視される。 -# クオーテーションマークは特別な扱いは処理をしない(例えばConfigMapの値になる). +# クオーテーションマークは特別な扱いは処理をしない(例えばConfigMapの値の一部になる). # `configure-pod-container/configmap/`ディレクトリにサンプルファイルをダウンロードします wget https://kubernetes.io/examples/configmap/game-env-file.properties -O configure-pod-container/configmap/game-env-file.properties From c50f8b1e10a20be5bbd6ca1333002ec7159e6e8a Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:07:17 +0900 Subject: [PATCH 036/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 見落としていました。 Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index e7b1385920..5fb003d6a4 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -604,7 +604,7 @@ very ### キーを特定のパスとファイルアクセス許可に投影する -キーをファイル単位で特定のパスとアクセス許可に投影できます。[Secrets](/docs/concepts/configuration/secret/#using-secrets-as-files-from-a-pod)のユーザーガイドで構文が解説されています。 +キーをファイル単位で特定のパスとアクセス許可に投影できます。[Secret](/docs/concepts/configuration/secret/#using-secrets-as-files-from-a-pod)のユーザーガイドで構文が解説されています。 ### マウントされたConfigMapは自動的に更新される From d6bf8131699122c711b818c62c8926034486bd4b Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:07:30 +0900 Subject: [PATCH 037/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 5fb003d6a4..62589536a7 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -608,7 +608,7 @@ very ### マウントされたConfigMapは自動的に更新される -ボリュームで使用されているConfigMapが更新されている場合、投影されているキーも同じく結果的に更新されます。Kubeletは定期的な同期ごとにマウントされているConfigMapが更新されているかチェックします。しかし、これはローカルのttlを基にしたキャッシュでConfigMapの現在の値を取得しています。その結果、新しいキーがPodに投影されてからConfigMapに更新されるまでのトータルの遅延はkubeletで、kubeletの同期期間(デフォルトで1分) + ConfigMapキャッシュのttl(デフォルトで1分)の長さになる可能性があります。Podのアノテーションを1つ更新すると即時のリフレッシュをトリガーできます。 +ボリュームで使用されているConfigMapが更新されている場合、投影されているキーも同じく結果的に更新されます。kubeletは定期的な同期ごとにマウントされているConfigMapが更新されているかチェックします。しかし、これはローカルのttlを基にしたキャッシュでConfigMapの現在の値を取得しています。その結果、新しいキーがPodに投影されてからConfigMapに更新されるまでのトータルの遅延はkubeletで、kubeletの同期期間(デフォルトで1分) + ConfigMapキャッシュのttl(デフォルトで1分)の長さになる可能性があります。Podのアノテーションを1つ更新すると即時のリフレッシュをトリガーできます。 {{< note >}} ConfigMapを[subPath](/docs/concepts/storage/volumes/#using-subpath)ボリュームとして利用するコンテナはConfigMapの更新を受け取りません。 From d0bf763304cfbe1d8fe03270a530e6579be18e32 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:07:42 +0900 Subject: [PATCH 038/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 62589536a7..35c04b0a98 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -620,7 +620,7 @@ ConfigMapを[subPath](/docs/concepts/storage/volumes/#using-subpath)ボリュー ## ConfigMapとPodsを理解する -ConfigMap APIリソースは構成情報をキーバリューペアとして保存します。データはPodで利用したり、コントローラーなどのシステムコンポーネントに提供できます。ConfigMapは[Secrets](/docs/concepts/configuration/secret/)に似ていますが、機密情報を含まない文字列を含まない操作する手段を提供します。ユーザーとシステムコンポーネントはどちらも構成情報をConfigMapに保存できます。 +ConfigMap APIリソースは構成情報をキーバリューペアとして保存します。データはPodで利用したり、コントローラーなどのシステムコンポーネントに提供できます。ConfigMapは[Secret](/docs/concepts/configuration/secret/)に似ていますが、機密情報を含まない文字列を含まない操作する手段を提供します。ユーザーとシステムコンポーネントはどちらも構成情報をConfigMapに保存できます。 {{< note >}} ConfigMapはプロパティファイルを参照するべきであり、置き換えるべきではありません。ConfigMapをLinuxの`/etc`ディレクトリとそのコンテンツのように捉えましょう。例えば、[Kubernetes Volume](/docs/concepts/storage/volumes/)をConfigMapから作成した場合、ConfigMapのデータアイテムはボリューム内で個別のファイルとして表示されます。 From db0c36c74a6935af81ac78fd1cb7fc25da83baa8 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:08:19 +0900 Subject: [PATCH 039/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 35c04b0a98..e31eec857c 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -662,7 +662,7 @@ data: 0s 0s 1 dapi-test-pod Pod Warning InvalidEnvironmentVariableNames {kubelet, 127.0.0.1} Keys [1badkey, 2alsobad] from the EnvFrom configMap default/myconfig were skipped since they are considered invalid environment variable names. ``` -- ConfigMapは特定の{{< glossary_tooltip term_id="namespace" >}}に属します。ConfigMap同じ名前空間に属するPodからのみ参照できます。 +- ConfigMapは特定の{{< glossary_tooltip term_id="namespace" >}}に属します。ConfigMapは同じ名前空間に属するPodからのみ参照できます。 - {{< glossary_tooltip text="static pods" term_id="static-pod" >}}はKubeletがサポートしていない為、ConfigMapに使用できません。 From a6c88c8ea13aff3398af7ba172096b81168350d7 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:09:17 +0900 Subject: [PATCH 040/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Totally agree! Co-authored-by: nasa9084 --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index e31eec857c..83089c63b3 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -8,7 +8,7 @@ card: --- {{% capture overview %}} -ConfigMapを使用すると、設定をイメージコンテンツから切り離して、コンテナ化されたアプリケーションの移植性を維持できます。このページでは、ConfigMapを作成し、ConfigMapに保存されているデータを使用してPodを構成する一連の使用例を示します。 +ConfigMapを使用すると、設定をイメージのコンテンツから切り離して、コンテナ化されたアプリケーションの移植性を維持できます。このページでは、ConfigMapを作成し、ConfigMapに保存されているデータを使用してPodを構成する一連の使用例を示します。 {{% /capture %}} From 393751323dea47da99da3509e15014a99a82d701 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:16:05 +0900 Subject: [PATCH 041/533] Unify the expressions of property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit プロバティファイルをプロバティーファイルに。 スタイルガイドに合わせて他のプロバティー表記と統一。 --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 83089c63b3..cd158218e4 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -623,7 +623,7 @@ ConfigMapを[subPath](/docs/concepts/storage/volumes/#using-subpath)ボリュー ConfigMap APIリソースは構成情報をキーバリューペアとして保存します。データはPodで利用したり、コントローラーなどのシステムコンポーネントに提供できます。ConfigMapは[Secret](/docs/concepts/configuration/secret/)に似ていますが、機密情報を含まない文字列を含まない操作する手段を提供します。ユーザーとシステムコンポーネントはどちらも構成情報をConfigMapに保存できます。 {{< note >}} -ConfigMapはプロパティファイルを参照するべきであり、置き換えるべきではありません。ConfigMapをLinuxの`/etc`ディレクトリとそのコンテンツのように捉えましょう。例えば、[Kubernetes Volume](/docs/concepts/storage/volumes/)をConfigMapから作成した場合、ConfigMapのデータアイテムはボリューム内で個別のファイルとして表示されます。 +ConfigMapはプロパティーファイルを参照するべきであり、置き換えるべきではありません。ConfigMapをLinuxの`/etc`ディレクトリとそのコンテンツのように捉えましょう。例えば、[Kubernetes Volume](/docs/concepts/storage/volumes/)をConfigMapから作成した場合、ConfigMapのデータアイテムはボリューム内で個別のファイルとして表示されます。 {{< /note >}} ConfigMapの`data`フィールドは構成情報を含みます。下記の例のようにシンプルに`--from-literal`を使用して個別のプロパティーを定義、または複雑に`--from-file`を使用して構成ファイルまたはJSON blobsで定義できます。 From f7f267df0583416d57fb9bfe540d05374f5e76e7 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:37:10 +0900 Subject: [PATCH 042/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index cd158218e4..5d5c594d85 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -224,7 +224,7 @@ kubectl create configmap game-config-env-file \ --from-env-file=configure-pod-container/configmap/game-env-file.properties ``` -以下のConfigMapを表示します: +は、以下のConfigMapを生成します: ```shell kubectl get configmap game-config-env-file -o yaml From e6aa5d9de1b02091ec33911abf823464f783f943 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:37:51 +0900 Subject: [PATCH 043/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 5d5c594d85..61ea466944 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -262,7 +262,7 @@ kubectl create configmap config-multi-env-files \ --from-env-file=configure-pod-container/configmap/ui-env-file.properties ``` -以下のConfigMapを表示します: +は、以下のConfigMapを生成します: ```shell kubectl get configmap config-multi-env-files -o yaml From eef40f9773708c8c7f56c9a77432d980088fb547 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:38:16 +0900 Subject: [PATCH 044/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 61ea466944..0937d49c71 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -300,7 +300,7 @@ kubectl create configmap game-config-3 --from-file== kubectl create configmap game-config-3 --from-file=game-special-key=configure-pod-container/configmap/game.properties ``` -以下のConfigMapを表示します: +は、以下のConfigMapを生成します: ``` kubectl get configmaps game-config-3 -o yaml ``` From 323795514c5c3c136f6ee06bb7b78fb65da85d29 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:40:09 +0900 Subject: [PATCH 045/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 0937d49c71..865a30385e 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -328,7 +328,7 @@ data: #### リテラル値からConfigMapを作成する{#create-configmaps-from-literal-values} -`kubectl create configmap`を`--from-literal`引数と使用してCLIからリテラル値を定義できます: +`--from-literal`引数を指定して`kubectl create configmap`を使用すると、コマンドラインからリテラル値を定義できます: ```shell kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm From 291c3c98c92b9ee8346752643293ba7a991b6e2d Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:40:50 +0900 Subject: [PATCH 046/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 865a30385e..dcbb99f351 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -355,7 +355,7 @@ data: special.type: charm ``` -### ジェネレータからConfigMapを作成する +### ジェネレーターからConfigMapを作成する `kubectl`は`kustomization.yaml`を1.14からサポートしています。 ジェネレータからConfigMapを作成し、APIサーバー上でオブジェクトを作成できます。ジェネレータはディレクトリ内の`kustomization.yaml`で指定する必要があリます。 From fa57d8aaa8345f3cf7ebf43ba2bf5885f2b10b99 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:41:31 +0900 Subject: [PATCH 047/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index dcbb99f351..726c83c0ff 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -357,7 +357,7 @@ data: ### ジェネレーターからConfigMapを作成する `kubectl`は`kustomization.yaml`を1.14からサポートしています。 -ジェネレータからConfigMapを作成し、APIサーバー上でオブジェクトを作成できます。ジェネレータはディレクトリ内の`kustomization.yaml`で指定する必要があリます。 +ジェネレーターからConfigMapを作成して適用すると、APIサーバー上でオブジェクトを作成できます。ジェネレーターはディレクトリ内の`kustomization.yaml`で指定する必要があリます。 #### ファイルからConfigMapを生成する 例えば、ファイル`configure-pod-container/configmap/game.properties`からConfigMapを生成するには、 From c4c82e8c28bd063a2cc87a3fbb133aae50687b79 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:47:19 +0900 Subject: [PATCH 048/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit はい!こちらが正しいと思います。 Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 726c83c0ff..f91efde744 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -362,7 +362,7 @@ data: #### ファイルからConfigMapを生成する 例えば、ファイル`configure-pod-container/configmap/game.properties`からConfigMapを生成するには、 ```shell -# ConfigMapGeneratorでkustomization.yamlファイルを作成する +# ConfigMapGeneratorを含むkustomization.yamlファイルを作成する cat <./kustomization.yaml configMapGenerator: - name: game-config-4 From 46efa1836606a14539bda645d077595df09e4a11 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:48:41 +0900 Subject: [PATCH 049/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 完全同意。 Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index f91efde744..b7b3173e60 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -123,7 +123,7 @@ data: #### ファイルからConfigMapを作成する{#create-configmaps-from-files} -`kubectl create configmap`を使用して個別のファイルから、または複数のファイルからConfigMapを作成できます。 +`kubectl create configmap`を使用して、個別のファイルまたは複数のファイルからConfigMapを作成できます。 例えば、 From 1524ed4e2f67087e156076268e4fef75a1eb092a Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:49:30 +0900 Subject: [PATCH 050/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index b7b3173e60..3969fd7173 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -32,7 +32,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 kubectl create configmap ``` -\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapのオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 ファイルを基にConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 From a25a4fc43cba1fe6455be093249a6a5239ff471a Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:50:12 +0900 Subject: [PATCH 051/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 3969fd7173..bedfa06bdd 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -409,7 +409,7 @@ Events: 生成されたConfigMapの名前は、コンテンツをハッシュ化したサフィックスを持つことに注意してください。これにより、コンテンツが変更されるたびに新しいConfigMapが生成されます。 #### ファイルからConfigMapを生成する場合に使用するキーを定義する -ConfigMapジェネレータで使用するキーはファイルの名前以外を定義できます。 +ConfigMapジェネレーターで使用するキーはファイルの名前以外を定義できます。 例えば、ファイル`configure-pod-container/configmap/game.properties`とキー`game-special-key`を使用してConfigMapを作成する場合 ```shell From 386e929a8037e6559abde05c0576124bf80f1176 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 21:55:08 +0900 Subject: [PATCH 052/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 「使用すると、」の方が私もしっくりくるのでスタイルとして取り入れさせてもらいます〜。 Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index bedfa06bdd..46f8cc2826 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -164,7 +164,7 @@ secret.code.lives=30 kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/game.properties --from-file=configure-pod-container/configmap/ui.properties ``` -ConfigMap`game-config-2`の詳細を以下のコマンドを使用して表示できます: +以下のコマンドを使用すると、ConfigMap`game-config-2`の詳細を表示できます: ```shell kubectl describe configmaps game-config-2 From 85238c9c2ddbc2f48bb97932acb61933e9349444 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:00:09 +0900 Subject: [PATCH 053/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 46f8cc2826..df605170b9 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -410,7 +410,7 @@ Events: #### ファイルからConfigMapを生成する場合に使用するキーを定義する ConfigMapジェネレーターで使用するキーはファイルの名前以外を定義できます。 -例えば、ファイル`configure-pod-container/configmap/game.properties`とキー`game-special-key`を使用してConfigMapを作成する場合 +例えば、ファイル`configure-pod-container/configmap/game.properties`からキー`game-special-key`を持つConfigMapを作成する場合 ```shell # ConfigMapGeneratorでkustomization.yamlファイルを作成する From b66554f1e4ed4f3b5b6f012ed9a2417f6a58e855 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:02:53 +0900 Subject: [PATCH 054/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index df605170b9..b887f4ec51 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -22,7 +22,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 ## ConfigMapを作成する -`kubectl create configmap`コマンドまたは`kustomization.yaml`のConfigMap generatorを使用してConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 +`kubectl create configmap`または`kustomization.yaml`のConfigMap generatorを使用してConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 ### kubectl create configmapコマンドを使用してConfigMapを作成する From a821f53a02c031453c9116e9603333d27761363c Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:08:07 +0900 Subject: [PATCH 055/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index b887f4ec51..1c9744c190 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -34,7 +34,7 @@ kubectl create configmap \の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapのオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 -ファイルを基にConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 +ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 [`kubectl describe`](/docs/reference/generated/kubectl/kubectl-commands/#describe)または [`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用して、ConfigMapに関する情報を取得できます。 From caeb99e870712c5511d3fe2d20a3f21bb2468797 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:09:33 +0900 Subject: [PATCH 056/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 1c9744c190..ed2a97952d 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -371,7 +371,7 @@ configMapGenerator: EOF ``` -ConfigMapオブジェクトを作成する為にkustomizationディレクトリを適用して、 +ConfigMapオブジェクトを作成する為にkustomizationディレクトリを適用します。 ```shell kubectl apply -k . configmap/game-config-4-m9dm2f92bt created From 4607bc3ee3a9c246d7975077401c82b46fba788b Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:42:14 +0900 Subject: [PATCH 057/533] Revised phrases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ・使用して→使用すると ・ConfigMapオブジェクト→ConfigMapのオブジェクト ・60行目を以下に変更。 上記のコマンドは各ファイルをパッケージ化します。この場合、`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties`をgame-config ConfigMapにパッケージ化します。 以下のコマンドを使用すると、ConfigMapの詳細を表示できます: --- .../configure-pod-configmap.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index ed2a97952d..c10c7378ff 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -22,7 +22,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 ## ConfigMapを作成する -`kubectl create configmap`または`kustomization.yaml`のConfigMap generatorを使用してConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 +`kubectl create configmap`または`kustomization.yaml`のConfigMap generatorを使用すると、ConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 ### kubectl create configmapコマンドを使用してConfigMapを作成する @@ -37,7 +37,7 @@ kubectl create configmap ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 [`kubectl describe`](/docs/reference/generated/kubectl/kubectl-commands/#describe)または -[`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用して、ConfigMapに関する情報を取得できます。 +[`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用すると、ConfigMapに関する情報を取得できます。 #### ディレクトリからConfigMapを作成する{#create-configmaps-from-directories} @@ -57,7 +57,7 @@ wget https://kubernetes.io/examples/configmap/ui.properties -O configure-pod-con kubectl create configmap game-config --from-file=configure-pod-container/configmap/ ``` -上記のコマンドは各ファイルを、この場合、`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties`をgame-config ConfigMapにパッケージ化します。 以下のコマンドを使用してConfigMapの詳細を表示できます: +上記のコマンドは各ファイルをパッケージ化します。この場合、`configure-pod-container/configmap/` ディレクトリの`game.properties` と `ui.properties`をgame-config ConfigMapにパッケージ化します。 以下のコマンドを使用すると、ConfigMapの詳細を表示できます: ```shell kubectl describe configmaps game-config @@ -422,7 +422,7 @@ configMapGenerator: EOF ``` -kustomizationディレクトリを適用してConfigMapオブジェクトを作成します。 +kustomizationディレクトリを適用してConfigMapのオブジェクトを作成します。 ```shell kubectl apply -k . configmap/game-config-5-m67dt67794 created @@ -441,7 +441,7 @@ configMapGenerator: - special.type=charm EOF ``` -kustomizationディレクトリを適用してConfigMapオブジェクトを作成します。 +kustomizationディレクトリを適用してConfigMapのオブジェクトを作成します。 ```shell kubectl apply -k . configmap/special-config-2-c92b5mmcf2 created @@ -626,7 +626,7 @@ ConfigMap APIリソースは構成情報をキーバリューペアとして保 ConfigMapはプロパティーファイルを参照するべきであり、置き換えるべきではありません。ConfigMapをLinuxの`/etc`ディレクトリとそのコンテンツのように捉えましょう。例えば、[Kubernetes Volume](/docs/concepts/storage/volumes/)をConfigMapから作成した場合、ConfigMapのデータアイテムはボリューム内で個別のファイルとして表示されます。 {{< /note >}} -ConfigMapの`data`フィールドは構成情報を含みます。下記の例のようにシンプルに`--from-literal`を使用して個別のプロパティーを定義、または複雑に`--from-file`を使用して構成ファイルまたはJSON blobsで定義できます。 +ConfigMapの`data`フィールドは構成情報を含みます。下記の例のように、シンプルに個別のプロパティーを`--from-literal`で定義、または複雑に構成ファイルまたはJSON blobsを`--from-file`で定義できます。 ```yaml apiVersion: v1 From 273b6acc9f288642298bc2340d90b2dd9f82eb74 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:45:59 +0900 Subject: [PATCH 058/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index c10c7378ff..de05329e64 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -432,7 +432,7 @@ configmap/game-config-5-m67dt67794 created To generate a ConfigMap from literals `special.type=charm` and `special.how=very`, you can specify the ConfigMap generator in `kustomization.yaml` as ```shell -# kustomization.yamlファイルをConfigMapGeneratorと作成します +# ConfigMapGeneratorを含むkustomization.yamlファイルを作成します cat <./kustomization.yaml configMapGenerator: - name: special-config-2 From 5d5335e3caa9ac248370849ce25a7b4b3b60301c Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:46:38 +0900 Subject: [PATCH 059/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index de05329e64..75f4820e22 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -413,7 +413,7 @@ ConfigMapジェネレーターで使用するキーはファイルの名前以 例えば、ファイル`configure-pod-container/configmap/game.properties`からキー`game-special-key`を持つConfigMapを作成する場合 ```shell -# ConfigMapGeneratorでkustomization.yamlファイルを作成する +# ConfigMapGeneratorを含むkustomization.yamlファイルを作成する cat <./kustomization.yaml configMapGenerator: - name: game-config-5 From 153f78edf9f6abb8e0ed7949496970c02839de43 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 22:47:33 +0900 Subject: [PATCH 060/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: Naoki Oketani --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 75f4820e22..ce1423bdc5 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -581,7 +581,7 @@ SPECIAL_TYPE ### ConfigMapデータをボリュームの特定のパスに追加する -`path`フィルドを利用して特定のConfigMapのアイテム向けに希望のファイルパスを指定します。 +`path`フィールドを利用して特定のConfigMapのアイテム向けに希望のファイルパスを指定します。 このケースでは`SPECIAL_LEVEL`アイテムが`/etc/config/keys`の`config-volume`ボリュームにマウントされます。 {{< codenew file="pods/pod-configmap-volume-specific-key.yaml" >}} From c510ac916390cc55afe642886a33c855b5e33098 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:06:46 +0900 Subject: [PATCH 061/533] Updated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ・ConfigMapのオブジェクト→ConfigMapに統一。 ・訳漏れ432行目を以下に。 リテラル`special.type=charm`と`special.how=very`からConfigMapを作成する場合は、 以下のように`kustomization.yaml`のConfigMapジェネレーターで指定できます。 --- .../configure-pod-container/configure-pod-configmap.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index ce1423bdc5..3cdedafdae 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -32,7 +32,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 kubectl create configmap ``` -\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapのオブジェクト名は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 @@ -422,15 +422,15 @@ configMapGenerator: EOF ``` -kustomizationディレクトリを適用してConfigMapのオブジェクトを作成します。 +kustomizationディレクトリを適用してConfigMapを作成します。 ```shell kubectl apply -k . configmap/game-config-5-m67dt67794 created ``` #### リテラルからConfigMapを作成する -To generate a ConfigMap from literals `special.type=charm` and `special.how=very`, -you can specify the ConfigMap generator in `kustomization.yaml` as +リテラル`special.type=charm`と`special.how=very`からConfigMapを作成する場合は、 +以下のように`kustomization.yaml`のConfigMapジェネレーターで指定できます。 ```shell # ConfigMapGeneratorを含むkustomization.yamlファイルを作成します cat <./kustomization.yaml @@ -441,7 +441,7 @@ configMapGenerator: - special.type=charm EOF ``` -kustomizationディレクトリを適用してConfigMapのオブジェクトを作成します。 +kustomizationディレクトリを適用してConfigMapを作成します。 ```shell kubectl apply -k . configmap/special-config-2-c92b5mmcf2 created From 4afebf732f1a6dd1a4fbc7352174d0ac1fe4ef44 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:15:08 +0900 Subject: [PATCH 062/533] Delete "command" not written in original document --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 3cdedafdae..671cfc34a6 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -24,7 +24,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 ## ConfigMapを作成する `kubectl create configmap`または`kustomization.yaml`のConfigMap generatorを使用すると、ConfigMapを作成できます。`kubectl`が`kustomization.yaml`をサポートをしているのは1.14からである点に注意してください。 -### kubectl create configmapコマンドを使用してConfigMapを作成する +### kubectl create configmapを使用してConfigMapを作成する `kubectl create configmap`コマンドを使用してConfigMapを[ディレクトリ](#create-configmaps-from-directories)、[ファイル](#create-configmaps-from-files)、または[リテラル値](#create-configmaps-from-literal-values)から作成します: From 55e66331d7a8e0e19305d7a879a47f67089c54d7 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:21:08 +0900 Subject: [PATCH 063/533] Inappropriate Chinese Character edited --- .../tasks/configure-pod-container/configure-pod-configmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 671cfc34a6..71f808d70f 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -371,7 +371,7 @@ configMapGenerator: EOF ``` -ConfigMapオブジェクトを作成する為にkustomizationディレクトリを適用します。 +ConfigMapオブジェクトを作成するためにkustomizationディレクトリを適用します。 ```shell kubectl apply -k . configmap/game-config-4-m9dm2f92bt created @@ -664,7 +664,7 @@ data: - ConfigMapは特定の{{< glossary_tooltip term_id="namespace" >}}に属します。ConfigMapは同じ名前空間に属するPodからのみ参照できます。 -- {{< glossary_tooltip text="static pods" term_id="static-pod" >}}はKubeletがサポートしていない為、ConfigMapに使用できません。 +- {{< glossary_tooltip text="static pods" term_id="static-pod" >}}はKubeletがサポートしていないため、ConfigMapに使用できません。 {{% /capture %}} From 466075063bdb3514a4a065603be101c98199c4e3 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:24:23 +0900 Subject: [PATCH 064/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 71f808d70f..8732ed6bc5 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -26,7 +26,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 ### kubectl create configmapを使用してConfigMapを作成する -`kubectl create configmap`コマンドを使用してConfigMapを[ディレクトリ](#create-configmaps-from-directories)、[ファイル](#create-configmaps-from-files)、または[リテラル値](#create-configmaps-from-literal-values)から作成します: +`kubectl create configmap`を使用してConfigMapを[ディレクトリ](#create-configmaps-from-directories)、[ファイル](#create-configmaps-from-files)、または[リテラル値](#create-configmaps-from-literal-values)から作成します: ```shell kubectl create configmap From 8f0af976565ce046cd15378d27961afe71017a7d Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:24:48 +0900 Subject: [PATCH 065/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 8732ed6bc5..fb551c15df 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -568,7 +568,7 @@ Podを作成します: kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-volume.yaml ``` -Podが稼働していると、`ls /etc/config/`コマンドは以下の出力結果を表示します: +Podが稼働していると、`ls /etc/config/`は以下の出力結果を表示します: ```shell SPECIAL_LEVEL From 0d060717bea8361074018b9610809732dd6851d9 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:25:04 +0900 Subject: [PATCH 066/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index fb551c15df..41cb68b2ba 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -592,7 +592,7 @@ Podを作成します: kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-volume-specific-key.yaml ``` -Podが稼働していると、 `cat /etc/config/keys`コマンドは以下の出力結果を表示します: +Podが稼働していると、 `cat /etc/config/keys`は以下の出力結果を表示します: ```shell very From e4a85ffee2b1082993d6e0b4b02935d298636067 Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Tue, 12 May 2020 23:39:29 +0900 Subject: [PATCH 067/533] Update content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 日本語的にも、意味的にもファイル名のベースにした方が良さそうです〜。 Co-authored-by: inductor(Kohei) --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 41cb68b2ba..520a3a4f3d 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -34,7 +34,7 @@ kubectl create configmap \の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 -ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイルのベース名になり、値はデフォルトでファイルのコンテンツになります。 +ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイル名のベースになり、値はデフォルトでファイルのコンテンツになります。 [`kubectl describe`](/docs/reference/generated/kubectl/kubectl-commands/#describe)または [`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用すると、ConfigMapに関する情報を取得できます。 From 08dc3ad9d369620e4d60e138a6c7bf7d27a3e11b Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Wed, 13 May 2020 14:14:57 +0900 Subject: [PATCH 068/533] Deleted redundant object --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 520a3a4f3d..0b13ece910 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -371,7 +371,7 @@ configMapGenerator: EOF ``` -ConfigMapオブジェクトを作成するためにkustomizationディレクトリを適用します。 +ConfigMapを作成するためにkustomizationディレクトリを適用します。 ```shell kubectl apply -k . configmap/game-config-4-m9dm2f92bt created From d687645682635feb2350068512f3f8b07707cdde Mon Sep 17 00:00:00 2001 From: Yoshiki Fujiwara <40357845+Yoshiki0705@users.noreply.github.com> Date: Wed, 13 May 2020 17:17:21 +0900 Subject: [PATCH 069/533] Improving one phrase by ideas --- .../tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index 0b13ece910..f23a98cb6b 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -34,7 +34,7 @@ kubectl create configmap \の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 -ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイル名のベースになり、値はデフォルトでファイルのコンテンツになります。 +ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイル名になり、値はデフォルトでファイルの中身になります。 [`kubectl describe`](/docs/reference/generated/kubectl/kubectl-commands/#describe)または [`kubectl get`](/docs/reference/generated/kubectl/kubectl-commands/#get)を使用すると、ConfigMapに関する情報を取得できます。 From 8a3b79913f13a1a9ffd21db9354015a6dfcf1630 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Wed, 13 May 2020 23:32:29 +0900 Subject: [PATCH 070/533] Change the corresponding word to 'stacked'. --- .../tools/kubeadm/ha-topology.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md index a0c5319afe..2f4ee624ce 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -10,7 +10,7 @@ weight: 50 HAクラスターは次の方法で設定できます。 -- 積み重なったコントロールプレーンノードを使用する方法。こちらの場合、etcdノードはコントロールプレーンノードと同じ場所で動作します。 +- 積層コントロールプレーンノードを使用する方法。こちらの場合、etcdノードはコントロールプレーンノードと同じ場所で動作します。 - 外部のetcdノードを使用する方法。こちらの場合、etcdがコントロールプレーンとは分離されたノードで動作します。 HAクラスターをセットアップする前に、各トポロジーの利点と欠点について注意深く考慮する必要があります。 @@ -19,9 +19,9 @@ HAクラスターをセットアップする前に、各トポロジーの利点 {{% capture body %}} -## 積み重なったetcdトポロジー +## 積層のetcdトポロジー -積み重なったHAクラスターは、コントロールプレーンのコンポーネントを実行する、kubeadmで管理されたノードで構成されるクラスターの上に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 +積層のHAクラスターは、コントロールプレーンのコンポーネントを実行する、kubeadmで管理されたノードで構成されるクラスターの上に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`を実行します。`kube-apiserver` はロードバランサーを用いてワーカーノードに公開されます。 @@ -29,23 +29,23 @@ HAクラスターをセットアップする前に、各トポロジーの利点 このトポロジーは、同じノード上のコントロールプレーンとetcdのメンバーを結合します。外部のetcdノードを使用するクラスターよりはセットアップがシンプルで、レプリケーションの管理もシンプルです。 -しかし、積み重なったクラスターには、結合による故障のリスクがあります。1つのノードがダウンすると、etcdメンバーとコントロールプレーンのインスタンスの両方が失われ、冗長性が損なわれます。より多くのコントロールプレーンノードを追加することで、このリスクは緩和できます。 +しかし、積層のクラスターには、結合による故障のリスクがあります。1つのノードがダウンすると、etcdメンバーとコントロールプレーンのインスタンスの両方が失われ、冗長性が損なわれます。より多くのコントロールプレーンノードを追加することで、このリスクは緩和できます。 -そのため、HAクラスターのためには、最低でも3台の積み重なったコントロールプレーンノードを実行しなければなりません。 +そのため、HAクラスターのためには、最低でも3台の積層のコントロールプレーンノードを実行しなければなりません。 これがkubeadmのデフォルトのトポロジーです。`kubeadm init`や`kubeadm join --control-place`を実行すると、ローカルのetcdメンバーがコントロールプレーンノード上に自動的に作成されます。 -![積み重なったetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg) +![積層のetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg) ## 外部のetcdトポロジー 外部のetcdを持つHAクラスターは、コントロールプレーンコンポーネントを実行するノードで構成されるクラスターの外部に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 -積み重なったetcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 +積層のetcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 -このトポロジーは、コントロールプレーンとetcdメンバーを疎結合にします。そのため、コントロールプレーンインスタンスまたはetcdメンバーを失うことによる影響は少なく、積み重なったHAトポロジーほどクラスターの冗長性に影響しないHAセットアップが実現します。 +このトポロジーは、コントロールプレーンとetcdメンバーを疎結合にします。そのため、コントロールプレーンインスタンスまたはetcdメンバーを失うことによる影響は少なく、積層のHAトポロジーほどクラスターの冗長性に影響しないHAセットアップが実現します。 -しかし、このトポロジーでは積み重なったHAトポロジーの2倍の数のホストを必要とします。このトポロジーのHAクラスターのためには、最低でもコントロールプレーンのために3台のホストが、etcdノードのために3台のホストがそれぞれ必要です。 +しかし、このトポロジーでは積層のHAトポロジーの2倍の数のホストを必要とします。このトポロジーのHAクラスターのためには、最低でもコントロールプレーンのために3台のホストが、etcdノードのために3台のホストがそれぞれ必要です。 ![外部のetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) From 89cab4b7b4a4654d8fb5d9e76596713bbb565b6e Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Wed, 13 May 2020 23:35:34 +0900 Subject: [PATCH 071/533] Translate a missing sentence. --- .../setup/production-environment/tools/kubeadm/ha-topology.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md index 2f4ee624ce..f39e8ae8aa 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -41,7 +41,7 @@ HAクラスターをセットアップする前に、各トポロジーの利点 外部のetcdを持つHAクラスターは、コントロールプレーンコンポーネントを実行するノードで構成されるクラスターの外部に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 -積層のetcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 +積層のetcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。そして、`kube-apiserver`は、ロードバランサーを使用してワーカーノードに公開されます。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 このトポロジーは、コントロールプレーンとetcdメンバーを疎結合にします。そのため、コントロールプレーンインスタンスまたはetcdメンバーを失うことによる影響は少なく、積層のHAトポロジーほどクラスターの冗長性に影響しないHAセットアップが実現します。 From 16160ec9e738ccf0f8d94834001f23ab8aa34bef Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Thu, 14 May 2020 00:10:20 +0900 Subject: [PATCH 072/533] Fix words corresponding word to 'stacked'. --- .../tools/kubeadm/ha-topology.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md index f39e8ae8aa..df0549b321 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -19,9 +19,9 @@ HAクラスターをセットアップする前に、各トポロジーの利点 {{% capture body %}} -## 積層のetcdトポロジー +## 積層etcdトポロジー -積層のHAクラスターは、コントロールプレーンのコンポーネントを実行する、kubeadmで管理されたノードで構成されるクラスターの上に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 +積層HAクラスターは、コントロールプレーンのコンポーネントを実行する、kubeadmで管理されたノードで構成されるクラスターの上に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`を実行します。`kube-apiserver` はロードバランサーを用いてワーカーノードに公開されます。 @@ -29,23 +29,23 @@ HAクラスターをセットアップする前に、各トポロジーの利点 このトポロジーは、同じノード上のコントロールプレーンとetcdのメンバーを結合します。外部のetcdノードを使用するクラスターよりはセットアップがシンプルで、レプリケーションの管理もシンプルです。 -しかし、積層のクラスターには、結合による故障のリスクがあります。1つのノードがダウンすると、etcdメンバーとコントロールプレーンのインスタンスの両方が失われ、冗長性が損なわれます。より多くのコントロールプレーンノードを追加することで、このリスクは緩和できます。 +しかし、積層クラスターには、結合による故障のリスクがあります。1つのノードがダウンすると、etcdメンバーとコントロールプレーンのインスタンスの両方が失われ、冗長性が損なわれます。より多くのコントロールプレーンノードを追加することで、このリスクは緩和できます。 -そのため、HAクラスターのためには、最低でも3台の積層のコントロールプレーンノードを実行しなければなりません。 +そのため、HAクラスターのためには、最低でも3台の積層コントロールプレーンノードを実行しなければなりません。 これがkubeadmのデフォルトのトポロジーです。`kubeadm init`や`kubeadm join --control-place`を実行すると、ローカルのetcdメンバーがコントロールプレーンノード上に自動的に作成されます。 -![積層のetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg) +![積層etcdトポロジー](/images/kubeadm/kubeadm-ha-topology-stacked-etcd.svg) ## 外部のetcdトポロジー 外部のetcdを持つHAクラスターは、コントロールプレーンコンポーネントを実行するノードで構成されるクラスターの外部に、etcdにより提供される分散データストレージクラスターがあるような[トポロジー](https://en.wikipedia.org/wiki/Network_topology)です。 -積層のetcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。そして、`kube-apiserver`は、ロードバランサーを使用してワーカーノードに公開されます。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 +積層etcdトポロジーと同様に、外部のetcdトポロジーにおける各コントロールプレーンノードは、`kube-apiserver`、`kube-scheduler`、および`kube-controller-manager`のインスタンスを実行します。そして、`kube-apiserver`は、ロードバランサーを使用してワーカーノードに公開されます。しかし、etcdメンバーは異なるホスト上で動作しており、各etcdホストは各コントロールプレーンノードの`kube-api-server`と通信します。 -このトポロジーは、コントロールプレーンとetcdメンバーを疎結合にします。そのため、コントロールプレーンインスタンスまたはetcdメンバーを失うことによる影響は少なく、積層のHAトポロジーほどクラスターの冗長性に影響しないHAセットアップが実現します。 +このトポロジーは、コントロールプレーンとetcdメンバーを疎結合にします。そのため、コントロールプレーンインスタンスまたはetcdメンバーを失うことによる影響は少なく、積層HAトポロジーほどクラスターの冗長性に影響しないHAセットアップが実現します。 -しかし、このトポロジーでは積層のHAトポロジーの2倍の数のホストを必要とします。このトポロジーのHAクラスターのためには、最低でもコントロールプレーンのために3台のホストが、etcdノードのために3台のホストがそれぞれ必要です。 +しかし、このトポロジーでは積層HAトポロジーの2倍の数のホストを必要とします。このトポロジーのHAクラスターのためには、最低でもコントロールプレーンのために3台のホストが、etcdノードのために3台のホストがそれぞれ必要です。 ![外部のetcdトポロジー](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) From 52c8562bef368c78f4b1f767b933bc9fa861f1e8 Mon Sep 17 00:00:00 2001 From: Prasad Katti Date: Thu, 14 May 2020 13:23:08 -0700 Subject: [PATCH 073/533] Update label used to search for pods in deployment With `kubectl run` changed to `kubectl create deployment`, the label used to search for pods in the deployment also needs to change from `run=...` to `app=...`. --- .../administer-cluster/namespaces-walkthrough.md | 4 ++-- .../en/docs/tasks/administer-cluster/namespaces.md | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md index 9e3f4d6371..874416cf46 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md +++ b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md @@ -242,7 +242,7 @@ snowflake 2/2 2 2 2m ``` ```shell -kubectl get pods -l run=snowflake +kubectl get pods -l app=snowflake ``` ``` NAME READY STATUS RESTARTS AGE @@ -279,7 +279,7 @@ cattle 5/5 5 5 10s ``` ```shell -kubectl get pods -l run=cattle +kubectl get pods -l app=cattle ``` ``` NAME READY STATUS RESTARTS AGE diff --git a/content/en/docs/tasks/administer-cluster/namespaces.md b/content/en/docs/tasks/administer-cluster/namespaces.md index 076f81d9b9..88d5e7492f 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces.md +++ b/content/en/docs/tasks/administer-cluster/namespaces.md @@ -189,12 +189,10 @@ This delete is asynchronous, so for a time you will see the namespace in the `Te To demonstrate this, let's spin up a simple Deployment and Pods in the `development` namespace. ```shell - kubectl create deployment snowflake --image=k8s.gcr.io/serve_hostname -n=development + kubectl create deployment snowflake --image=k8s.gcr.io/serve_hostname -n=development kubectl scale deployment snowflake --replicas=2 -n=development ``` We have just created a deployment whose replica size is 2 that is running the pod called `snowflake` with a basic container that just serves the hostname. - Note that `kubectl run` creates deployments only on Kubernetes cluster >= v1.2. If you are running older versions, it creates replication controllers instead. - If you want to obtain the old behavior, use `--generator=run/v1` to create replication controllers. See [`kubectl run`](/docs/reference/generated/kubectl/kubectl-commands/#run) for more details. ```shell kubectl get deployment -n=development @@ -204,7 +202,7 @@ This delete is asynchronous, so for a time you will see the namespace in the `Te snowflake 2/2 2 2 2m ``` ```shell - kubectl get pods -l run=snowflake -n=development + kubectl get pods -l app=snowflake -n=development ``` ``` NAME READY STATUS RESTARTS AGE @@ -226,7 +224,8 @@ This delete is asynchronous, so for a time you will see the namespace in the `Te Production likes to run cattle, so let's create some cattle pods. ```shell - kubectl run cattle --image=k8s.gcr.io/serve_hostname --replicas=5 -n=production + kubectl create deployment cattle --image=k8s.gcr.io/serve_hostname -n=production + kubectl scale deployment cattle --replicas=5 -n=production kubectl get deployment -n=production ``` @@ -236,7 +235,7 @@ This delete is asynchronous, so for a time you will see the namespace in the `Te ``` ```shell - kubectl get pods -l run=cattle -n=production + kubectl get pods -l app=cattle -n=production ``` ``` NAME READY STATUS RESTARTS AGE From fab08546d5281cbd5b203dd7c54f494e585193a6 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 15 May 2020 18:13:51 +0900 Subject: [PATCH 074/533] remove non-existent location.hash --- content/ja/docs/concepts/workloads/controllers/statefulset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index 3dd96553fe..c14ea5c79d 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -131,7 +131,7 @@ Cluster Domain | Service (ns/name) | StatefulSet (ns/name) | StatefulSet Domain kube.local | foo/nginx | foo/web | nginx.foo.svc.kube.local | web-{0..N-1}.nginx.foo.svc.kube.local | web-{0..N-1} | {{< note >}} -クラスタードメインは[その他の設定](/ja/docs/concepts/services-networking/dns-pod-service/#how-it-works)がされない限り、`cluster.local`にセットされます。 +クラスタードメインは[その他の設定](/ja/docs/concepts/services-networking/dns-pod-service/)がされない限り、`cluster.local`にセットされます。 {{< /note >}} ### 安定したストレージ From d36e57aedd442b4c46d567f3e7d41ac7056ca939 Mon Sep 17 00:00:00 2001 From: Arhell Date: Fri, 15 May 2020 18:39:47 +0300 Subject: [PATCH 075/533] update navigation menu --- static/css/blog.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/static/css/blog.css b/static/css/blog.css index 90bb0c0260..834795084b 100644 --- a/static/css/blog.css +++ b/static/css/blog.css @@ -501,6 +501,10 @@ img.big-img { display: none; } +.global-nav { + padding: 0; +} + /* .content img { max-width: 100%; } */ From 49a22136ea8919db457ce7b77fbd050ef1dd1493 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 16 May 2020 18:41:32 +0900 Subject: [PATCH 076/533] Fix note shortcodes in Deployment concept (ja) --- .../workloads/controllers/deployment.md | 140 ++++++++++-------- 1 file changed, 77 insertions(+), 63 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/deployment.md b/content/ja/docs/concepts/workloads/controllers/deployment.md index 54b73be6f1..113a89c734 100644 --- a/content/ja/docs/concepts/workloads/controllers/deployment.md +++ b/content/ja/docs/concepts/workloads/controllers/deployment.md @@ -46,83 +46,97 @@ Deploymentによって作成されたReplicaSetを管理しないでください * `nginx-deployment`という名前のDeploymentが作成され、`.metadata.name`フィールドで名前を指定します。 * Deploymentは3つのレプリカPodを作成し、`replicas`フィールドによってレプリカ数を指定します。 * `selector`フィールドは、Deploymentが管理するPodのラベルを定義します。このケースにおいて、ユーザーはPodテンプレートにて定義されたラベル(`app: nginx`)を選択します。しかし、PodTemplate自体がそのルールを満たす限り、さらに洗練された方法でセレクターを指定することができます。 - {{< note >}} - `matchLabels`フィールドは、キーとバリューのペアのマップとなります。`matchLabels`マップにおいて、{key, value}というペアは、keyというフィールドの値が"key"で、その演算子が"In"で、値の配列が"value"のみ含むような`matchExpressions`の要素と等しいです。 - `matchLabels`と`matchExpressions`の両方が設定された場合、条件に一致するには両方とも満たす必要があります。 - {{< /note >}} + + {{< note >}} + `matchLabels`フィールドは、キーとバリューのペアのマップとなります。`matchLabels`マップにおいて、{key, value}というペアは、keyというフィールドの値が"key"で、その演算子が"In"で、値の配列が"value"のみ含むような`matchExpressions`の要素と等しいです。 + `matchLabels`と`matchExpressions`の両方が設定された場合、条件に一致するには両方とも満たす必要があります。 + {{< /note >}} + * `template`フィールドは、下記のサブフィールドを持ちます。: * Podは`labels`フィールドによって指定された`app: nginx`というラベルがつけられる * PodTemplateの仕様もしくは、`.template.spec`フィールドは、このPodは`nginx`という名前のコンテナーを1つ稼働させ、それは`nginx`というさせ、[Docker Hub](https://hub.docker.com/)にある`nginx`のバージョン1.14.2を使うことを示します * 1つのコンテナを作成し、`name`フィールドを使って`nginx`という名前をつけます - 上記のDeploymentを作成するために、以下に示すステップにしたがってください。 - 作成を始める前に、ユーザーのKubernetesクラスターが稼働していることを確認してください。 +作成を始める前に、ユーザーのKubernetesクラスターが稼働していることを確認してください。 +上記のDeploymentを作成するために、以下に示すステップにしたがってください。 - 1. 下記のコマンドを実行してDeploymentを作成してください。 +1. 下記のコマンドを実行してDeploymentを作成してください。 - {{< note >}} - 実行したコマンドを`kubernetes.io/change-cause`というアノテーションに記録するために`--record`フラグを指定できます。これは将来的な問題の調査のために有効です。例えば、各Deploymentのリビジョンにおいて実行されたコマンドを見るときに便利です。 - {{< /note >}} - - ```shell - kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml - ``` - - 2. Deploymentが作成されたことを確認するために、`kubectl get deployment`を実行してください。Deploymentがまだ作成中の場合、コマンドの実行結果は下記のとおりです。 - ```shell - NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE - nginx-deployment 3 0 0 0 1s - ``` - ユーザーのクラスターにおいてDeploymentを調査するとき、下記のフィールドが出力されます。 - - * `NAME` クラスター内のDeploymentの名前を表示する - * `DESIRED` アプリケーションの理想的な_replicas_ の値を表示する: これはDeploymentを作成したときに定義したもので、これが_理想的な状態_ と呼ばれるものです。 - * `CURRENT` 現在稼働中のレプリカ数 - * `UP-TO-DATE` 理想的な状態にするために、アップデートが完了したレプリカ数 - * `AVAILABLE` ユーザーが利用可能なレプリカ数 - * `AGE` アプリケーションが稼働してからの時間 - - 上記のyamlの例だと、`.spec.replicas`フィールドの値によると、理想的なレプリカ数は3です。 - - 3. Deploymentのロールアウトステータスを確認するために、`kubectl rollout status deployment.v1.apps/nginx-deployment`を実行してください。コマンドの実行結果は下記のとおりです。 - ```shell - Waiting for rollout to finish: 2 out of 3 new replicas have been updated... - deployment.apps/nginx-deployment successfully rolled out - ``` - - 4. 数秒後、再度`kubectl get deployments`を実行してください。コマンドの実行結果は下記のとおりです。 - ```shell - NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE - nginx-deployment 3 3 3 3 18s - ``` - Deploymentが3つ全てのレプリカを作成して、全てのレプリカが最新(Podが最新のPodテンプレートを含んでいる)になり、利用可能となっていることを確認してください。 - - 5. Deploymentによって作成されたReplicaSet (`rs`)を確認するには`kubectl get rs`を実行してください。コマンドの実行結果は下記のとおりです。 - - ```shell - NAME DESIRED CURRENT READY AGE - nginx-deployment-75675f5897 3 3 3 18s - ``` - ReplicaSetの名前は`[Deployment名]-[ランダム文字列]`という形式になることに注意してください。ランダム文字列はランダムに生成され、pod-template-hashをシードとして使用します。 - - 6. 各Podにラベルが自動的に付けられるのを確認するには`kubectl get pods --show-labels`を実行してください。コマンドの実行結果は下記のとおりです。 - ```shell - NAME READY STATUS RESTARTS AGE LABELS - nginx-deployment-75675f5897-7ci7o 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453 - nginx-deployment-75675f5897-kzszj 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453 - nginx-deployment-75675f5897-qqcnn 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453 - ``` - 作成されたReplicaSetは`nginx`Podを3つ作成することを保証します。 + ```shell + kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml + ``` {{< note >}} - Deploymentに対して適切なセレクターとPodテンプレートのラベルを設定する必要があります(このケースでは`app: nginx`)。ラベルやセレクターを他のコントローラーと重複させないでください(他のDeploymentやStatefulSetを含む)。Kubernetesはユーザがラベルを重複させることを止めないため、複数のコントローラーでセレクターの重複が発生すると、コントローラー間で衝突し予期せぬふるまいをすることになります。 + 実行したコマンドを`kubernetes.io/change-cause`というアノテーションに記録するために`--record`フラグを指定できます。これは将来的な問題の調査のために有効です。例えば、各Deploymentのリビジョンにおいて実行されたコマンドを見るときに便利です。 {{< /note >}} + +2. Deploymentが作成されたことを確認するために、`kubectl get deployment`を実行してください。 + + Deploymentがまだ作成中の場合、コマンドの実行結果は下記のとおりです。 + ```shell + NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE + nginx-deployment 3 0 0 0 1s + ``` + ユーザーのクラスターにおいてDeploymentを調査するとき、下記のフィールドが出力されます。 + * `NAME` クラスター内のDeploymentの名前を表示する + * `DESIRED` アプリケーションの理想的な_replicas_ の値を表示する: これはDeploymentを作成したときに定義したもので、これが_理想的な状態_ と呼ばれるものです。 + * `CURRENT` 現在稼働中のレプリカ数 + * `UP-TO-DATE` 理想的な状態にするために、アップデートが完了したレプリカ数 + * `AVAILABLE` ユーザーが利用可能なレプリカ数 + * `AGE` アプリケーションが稼働してからの時間 + + 上記のyamlの例だと、`.spec.replicas`フィールドの値によると、理想的なレプリカ数は3です。 + +3. Deploymentのロールアウトステータスを確認するために、`kubectl rollout status deployment.v1.apps/nginx-deployment`を実行してください。 + + コマンドの実行結果は下記のとおりです。 + ```shell + Waiting for rollout to finish: 2 out of 3 new replicas have been updated... + deployment.apps/nginx-deployment successfully rolled out + ``` + +4. 数秒後、再度`kubectl get deployments`を実行してください。コマンドの実行結果は下記のとおりです。 + ```shell + NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE + nginx-deployment 3 3 3 3 18s + ``` + Deploymentが3つ全てのレプリカを作成して、全てのレプリカが最新(Podが最新のPodテンプレートを含んでいる)になり、利用可能となっていることを確認してください。 + +5. Deploymentによって作成されたReplicaSet (`rs`)を確認するには`kubectl get rs`を実行してください。コマンドの実行結果は下記のとおりです。 + ```shell + NAME DESIRED CURRENT READY AGE + nginx-deployment-75675f5897 3 3 3 18s + ``` + ReplicaSetの出力には次のフィールドが表示されます: + + * `NAME`は名前空間内のReplicaSetの名前を一覧表示します。 + * `DESIRED`は、アプリケーションの_replicas_の希望数を表示します。これは、Deploymentを作成するときに定義します。これが_desired state_です。 + * `CURRENT`は現在実行されているレプリカの数を表示します。 + * `READY`は、ユーザーが使用できるアプリケーションのレプリカの数を表示します。 + * `AGE`は、アプリケーションが実行されている時間を表示します。 + + ReplicaSetの名前は`[Deployment名]-[ランダム文字列]`という形式になることに注意してください。ランダム文字列はランダムに生成され、pod-template-hashをシードとして使用します。 + + +6. 各Podにラベルが自動的に付けられるのを確認するには`kubectl get pods --show-labels`を実行してください。コマンドの実行結果は下記のとおりです。 + ```shell + NAME READY STATUS RESTARTS AGE LABELS + nginx-deployment-75675f5897-7ci7o 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453 + nginx-deployment-75675f5897-kzszj 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453 + nginx-deployment-75675f5897-qqcnn 1/1 Running 0 18s app=nginx,pod-template-hash=3123191453 + ``` + 作成されたReplicaSetは`nginx`Podを3つ作成することを保証します。 + +{{< note >}} +Deploymentに対して適切なセレクターとPodテンプレートのラベルを設定する必要があります(このケースでは`app: nginx`)。ラベルやセレクターを他のコントローラーと重複させないでください(他のDeploymentやStatefulSetを含む)。Kubernetesはユーザがラベルを重複させることを止めないため、複数のコントローラーでセレクターの重複が発生すると、コントローラー間で衝突し予期せぬふるまいをすることになります。 +{{< /note >}} + ### pod-template-hashラベル -{{< note >}} +{{< caution >}} このラベルを変更しないでください。 -{{< /note >}} +{{< /caution >}} `pod-template-hash`ラベルはDeploymentコントローラーによってDeploymentが作成し適用した各ReplicaSetに対して追加されます。 From 432be022b60fd3865a7ad8fff8e16883bbd6cdf9 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Sun, 17 May 2020 13:45:17 +0900 Subject: [PATCH 077/533] Update create-cluster-kubeadm.md with the latest en version. --- .../tools/kubeadm/create-cluster-kubeadm.md | 349 +++++++++--------- 1 file changed, 182 insertions(+), 167 deletions(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index a79e3367d1..254e715a85 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -1,84 +1,71 @@ --- -title: kubeadmを使用したシングルコントロールプレーンクラスターの作成 +title: Creating a single control-plane cluster with kubeadm content_template: templates/task weight: 30 --- {{% capture overview %}} -**kubeadm** helps you bootstrap a minimum viable Kubernetes cluster that conforms to best practices. With kubeadm, your cluster should pass [Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification). Kubeadm also supports other cluster -lifecycle functions, such as upgrades, downgrade, and managing [bootstrap tokens](/ja/docs/reference/access-authn-authz/bootstrap-tokens/). +The `kubeadm` tool helps you bootstrap a minimum viable Kubernetes cluster that conforms to best practices. In fact, you can use `kubeadm` to set up a cluster that will pass the [Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification). +`kubeadm` also supports other cluster +lifecycle functions, such as [bootstrap tokens](/docs/reference/access-authn-authz/bootstrap-tokens/) and cluster upgrades. -Because you can install kubeadm on various types of machine (e.g. laptop, server, -Raspberry Pi, etc.), it's well suited for integration with provisioning systems -such as Terraform or Ansible. +The `kubeadm` tool is good if you need: -kubeadm's simplicity means it can serve a wide range of use cases: +- A simple way for you to try out Kubernetes, possibly for the first time. +- A way for existing users to automate setting up a cluster and test their application. +- A building block in other ecosystem and/or installer tools with a larger + scope. -- New users can start with kubeadm to try Kubernetes out for the first time. -- Users familiar with Kubernetes can spin up clusters with kubeadm and test their applications. -- Larger projects can include kubeadm as a building block in a more complex system that can also include other installer tools. - -kubeadm is designed to be a simple way for new users to start trying -Kubernetes out, possibly for the first time, a way for existing users to -test their application on and stitch together a cluster easily, and also to be -a building block in other ecosystem and/or installer tool with a larger -scope. - -You can install _kubeadm_ very easily on operating systems that support -installing deb or rpm packages. The responsible SIG for kubeadm, -[SIG Cluster Lifecycle](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle), provides these packages pre-built for you, -but you may also build them from source for other OSes. - - -### kubeadmの成熟度 - -kubeadm's overall feature state is **GA**. Some sub-features, like the configuration -file API are still under active development. The implementation of creating the cluster -may change slightly as the tool evolves, but the overall implementation should be pretty stable. -Any commands under `kubeadm alpha` are by definition, supported on an alpha level. - - -### サポート期間 - -Kubernetes releases are generally supported for nine months, and during that -period a patch release may be issued from the release branch if a severe bug or -security issue is found. Here are the latest Kubernetes releases and the support -timeframe; which also applies to `kubeadm`. - -| Kubernetes version | Release month | End-of-life-month | -|--------------------|----------------|-------------------| -| v1.13.x | December 2018 | September 2019 | -| v1.14.x | March 2019 | December 2019 | -| v1.15.x | June 2019 | March 2020 | -| v1.16.x | September 2019 | June 2020 | +You can install and use `kubeadm` on various machines: your laptop, a set +of cloud servers, a Raspberry Pi, and more. Whether you're deploying into the +cloud or on-premises, you can integrate `kubeadm` into provisioning systems such +as Ansible or Terraform. {{% /capture %}} {{% capture prerequisites %}} -- One or more machines running a deb/rpm-compatible OS, for example Ubuntu or CentOS -- 2 GB or more of RAM per machine. Any less leaves little room for your +To follow this guide, you need: + +- One or more machines running a deb/rpm-compatible Linux OS; for example: Ubuntu or CentOS. +- 2 GiB or more of RAM per machine--any less leaves little room for your apps. -- 2 CPUs or more on the control-plane node -- Full network connectivity among all machines in the cluster. A public or - private network is fine. +- At least 2 CPUs on the machine that you use as a control-plane node. +- Full network connectivity among all machines in the cluster. You can use either a + public or a private network. + + +You also need to use a version of `kubeadm` that can deploy the version +of Kubernetes that you want to use in your new cluster. + +[Kubernetes' version and version skew support policy](https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions) applies to `kubeadm` as well as to Kubernetes overall. +Check that policy to learn about what versions of Kubernetes and `kubeadm` +are supported. This page is written for Kubernetes {{< param "version" >}}. + +The `kubeadm` tool's overall feature state is General Availability (GA). Some sub-features are +still under active development. The implementation of creating the cluster may change +slightly as the tool evolves, but the overall implementation should be pretty stable. + +{{< note >}} +Any commands under `kubeadm alpha` are, by definition, supported on an alpha level. +{{< /note >}} {{% /capture %}} {{% capture steps %}} -## 目的 +## Objectives -* Install a single control-plane Kubernetes cluster or [high availability cluster](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/) +* Install a single control-plane Kubernetes cluster or [high-availability cluster](/docs/setup/production-environment/tools/kubeadm/high-availability/) * Install a Pod network on the cluster so that your Pods can talk to each other -## 説明 +## Instructions -### kubeadmのインストール +### Installing kubeadm on your hosts -See ["Installing kubeadm"](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/). +See ["Installing kubeadm"](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/). {{< note >}} If you have already installed kubeadm, run `apt-get update && @@ -89,30 +76,32 @@ kubeadm to tell it what to do. This crashloop is expected and normal. After you initialize your control-plane, the kubelet runs normally. {{< /note >}} -### コントロールプレーンノードの初期化 +### Initializing your control-plane node The control-plane node is the machine where the control plane components run, including -etcd (the cluster database) and the API server (which the kubectl CLI +{{< glossary_tooltip term_id="etcd" >}} (the cluster database) and the +{{< glossary_tooltip text="API Server" term_id="kube-apiserver" >}} +(which the {{< glossary_tooltip text="kubectl" term_id="kubectl" >}} command line tool communicates with). -1. (Recommended) If you have plans to upgrade this single control-plane kubeadm cluster +1. (Recommended) If you have plans to upgrade this single control-plane `kubeadm` cluster to high availability you should specify the `--control-plane-endpoint` to set the shared endpoint for all control-plane nodes. Such an endpoint can be either a DNS name or an IP address of a load-balancer. 1. Choose a Pod network add-on, and verify whether it requires any arguments to -be passed to kubeadm initialization. Depending on which +be passed to `kubeadm init`. Depending on which third-party provider you choose, you might need to set the `--pod-network-cidr` to a provider-specific value. See [Installing a Pod network add-on](#pod-network). -1. (Optional) Since version 1.14, kubeadm will try to detect the container runtime on Linux +1. (Optional) Since version 1.14, `kubeadm` tries to detect the container runtime on Linux by using a list of well known domain socket paths. To use different container runtime or if there are more than one installed on the provisioned node, specify the `--cri-socket` -argument to `kubeadm init`. See [Installing runtime](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime). -1. (Optional) Unless otherwise specified, kubeadm uses the network interface associated +argument to `kubeadm init`. See [Installing runtime](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime). +1. (Optional) Unless otherwise specified, `kubeadm` uses the network interface associated with the default gateway to set the advertise address for this particular control-plane node's API server. To use a different network interface, specify the `--apiserver-advertise-address=` argument to `kubeadm init`. To deploy an IPv6 Kubernetes cluster using IPv6 addressing, you must specify an IPv6 address, for example `--apiserver-advertise-address=fd00::101` 1. (Optional) Run `kubeadm config images pull` prior to `kubeadm init` to verify -connectivity to gcr.io registries. +connectivity to the gcr.io container image registry. To initialize the control-plane node run: @@ -143,13 +132,13 @@ high availability scenario. Turning a single control plane cluster created without `--control-plane-endpoint` into a highly available cluster is not supported by kubeadm. -### 詳細 +### More information -For more information about `kubeadm init` arguments, see the [kubeadm reference guide](/ja/docs/reference/setup-tools/kubeadm/kubeadm/). +For more information about `kubeadm init` arguments, see the [kubeadm reference guide](/docs/reference/setup-tools/kubeadm/kubeadm/). -For a complete list of configuration options, see the [configuration file documentation](/ja/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file). +For a complete list of configuration options, see the [configuration file documentation](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file). -To customize control plane components, including optional IPv6 assignment to liveness probe for control plane components and etcd server, provide extra arguments to each component as documented in [custom arguments](/ja/docs/setup/production-environment/tools/kubeadm/control-plane-flags/). +To customize control plane components, including optional IPv6 assignment to liveness probe for control plane components and etcd server, provide extra arguments to each component as documented in [custom arguments](/docs/setup/production-environment/tools/kubeadm/control-plane-flags/). To run `kubeadm init` again, you must first [tear down the cluster](#tear-down). @@ -251,32 +240,48 @@ The token is used for mutual authentication between the control-plane node and t nodes. The token included here is secret. Keep it safe, because anyone with this token can add authenticated nodes to your cluster. These tokens can be listed, created, and deleted with the `kubeadm token` command. See the -[kubeadm reference guide](/ja/docs/reference/setup-tools/kubeadm/kubeadm-token/). +[kubeadm reference guide](/docs/reference/setup-tools/kubeadm/kubeadm-token/). -### Podネットワークアドオンのインストール {#pod-network} +### Installing a Pod network add-on {#pod-network} {{< caution >}} -This section contains important information about installation and deployment order. Read it carefully before proceeding. +This section contains important information about networking setup and +deployment order. +Read all of this advice carefully before proceeding. + +**You must deploy a +{{< glossary_tooltip text="Container Network Interface" term_id="cni" >}} +(CNI) based Pod network add-on so that your Pods can communicate with each other. +Cluster DNS (CoreDNS) will not start up before a network is installed.** + +- Take care that your Pod network must not overlap with any of the host + networks: you are likely to see problems if there is any overlap. + (If you find a collision between your network plugin’s preferred Pod + network and some of your host networks, you should think of a suitable + CIDR block to use instead, then use that during `kubeadm init` with + `--pod-network-cidr` and as a replacement in your network plugin’s YAML). + +- By default, `kubeadm` sets up your cluster to use and enforce use of + [RBAC](/docs/reference/access-authn-authz/rbac/) (role based access + control). + Make sure that your Pod network plugin supports RBAC, and so do any manifests + that you use to deploy it. + +- If you want to use IPv6--either dual-stack, or single-stack IPv6 only + networking--for your cluster, make sure that your Pod network plugin + supports IPv6. + IPv6 support was added to CNI in [v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0). + {{< /caution >}} -You must install a Pod network add-on so that your Pods can communicate with -each other. +Several external projects provide Kubernetes Pod networks using CNI, some of which also +support [Network Policy](/docs/concepts/services-networking/networkpolicies/). -**The network must be deployed before any applications. Also, CoreDNS will not start up before a network is installed. -kubeadm only supports Container Network Interface (CNI) based networks (and does not support kubenet).** +See the list of available +[networking and network policy add-ons](https://kubernetes.io/docs/concepts/cluster-administration/addons/#networking-and-network-policy). -Several projects provide Kubernetes Pod networks using CNI, some of which also -support [Network Policy](/ja/docs/concepts/services-networking/networkpolicies/). See the [add-ons page](/ja/docs/concepts/cluster-administration/addons/) for a complete list of available network add-ons. -- IPv6 support was added in [CNI v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0). -- [CNI bridge](https://github.com/containernetworking/plugins/blob/master/plugins/main/bridge/README.md) and [local-ipam](https://github.com/containernetworking/plugins/blob/master/plugins/ipam/host-local/README.md) are the only supported IPv6 network plugins in Kubernetes version 1.9. - -Note that kubeadm sets up a more secure cluster by default and enforces use of [RBAC](/ja/docs/reference/access-authn-authz/rbac/). -Make sure that your network manifest supports RBAC. - -Also, beware, that your Pod network must not overlap with any of the host networks as this can cause issues. -If you find a collision between your network plugin’s preferred Pod network and some of your host networks, you should think of a suitable CIDR replacement and use that during `kubeadm init` with `--pod-network-cidr` and as a replacement in your network plugin’s YAML. - -You can install a Pod network add-on with the following command on the control-plane node or a node that has the kubeconfig credentials: +You can install a Pod network add-on with the following command on the +control-plane node or a node that has the kubeconfig credentials: ```bash kubectl apply -f @@ -288,12 +293,12 @@ Below you can find installation instructions for some popular Pod network plugin {{< tabs name="tabs-pod-install" >}} {{% tab name="Calico" %}} -For more information about using Calico, see [Quickstart for Calico on Kubernetes](https://docs.projectcalico.org/latest/getting-started/kubernetes/), [Installing Calico for policy and networking](https://docs.projectcalico.org/latest/getting-started/kubernetes/installation/calico), and other related resources. +[Calico](https://docs.projectcalico.org/latest/introduction/) is a networking and network policy provider. Calico supports a flexible set of networking options so you can choose the most efficient option for your situation, including non-overlay and overlay networks, with or without BGP. Calico uses the same engine to enforce network policy for hosts, pods, and (if using Istio & Envoy) applications at the service mesh layer. Calico works on several architectures, including `amd64`, `arm64`, and `ppc64le`. -For Calico to work correctly, you need to pass `--pod-network-cidr=192.168.0.0/16` to `kubeadm init` or update the `calico.yml` file to match your Pod network. Note that Calico works on `amd64`, `arm64`, and `ppc64le` only. +By default, Calico uses `192.168.0.0/16` as the Pod network CIDR, though this can be configured in the calico.yaml file. For Calico to work correctly, you need to pass this same CIDR to the `kubeadm init` command using the `--pod-network-cidr=192.168.0.0/16` flag or via kubeadm's configuration. ```shell -kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml +kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml ``` {{% /tab %}} @@ -337,15 +342,9 @@ Please refer to this installation guide: [Contiv-VPP Manual Installation](https: For `flannel` to work correctly, you must pass `--pod-network-cidr=10.244.0.0/16` to `kubeadm init`. -Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1` -to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information -please see [here](/ja/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements). +Make sure that your firewall rules allow UDP ports 8285 and 8472 traffic for all hosts participating in the overlay network. The [Firewall](https://coreos.com/flannel/docs/latest/troubleshooting.html#firewalls) section of Flannel's troubleshooting guide explains about this in more detail. -Make sure that your firewall rules allow UDP ports 8285 and 8472 traffic for all hosts participating in the overlay network. -see [here -](https://coreos.com/flannel/docs/latest/troubleshooting.html#firewalls). - -Note that `flannel` works on `amd64`, `arm`, `arm64`, `ppc64le` and `s390x` under Linux. +Flannel works on `amd64`, `arm`, `arm64`, `ppc64le` and `s390x` architectures under Linux. Windows (`amd64`) is claimed as supported in v0.11.0 but the usage is undocumented. ```shell @@ -357,25 +356,19 @@ For more information about `flannel`, see [the CoreOS flannel repository on GitH {{% /tab %}} {{% tab name="Kube-router" %}} -Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1` -to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information -please see [here](/ja/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements). Kube-router relies on kube-controller-manager to allocate Pod CIDR for the nodes. Therefore, use `kubeadm init` with the `--pod-network-cidr` flag. Kube-router provides Pod networking, network policy, and high-performing IP Virtual Server(IPVS)/Linux Virtual Server(LVS) based service proxy. -For information on setting up Kubernetes cluster with Kube-router using kubeadm, please see official [setup guide](https://github.com/cloudnativelabs/kube-router/blob/master/docs/kubeadm.md). +For information on using the `kubeadm` tool to set up a Kubernetes cluster with Kube-router, please see the official [setup guide](https://github.com/cloudnativelabs/kube-router/blob/master/docs/kubeadm.md). {{% /tab %}} {{% tab name="Weave Net" %}} -Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1` -to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information -please see [here](/ja/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements). -The official Weave Net set-up guide is [here](https://www.weave.works/docs/net/latest/kube-addon/). +For more information on setting up your Kubernetes cluster with Weave Net, please see [Integrating Kubernetes via the Addon]((https://www.weave.works/docs/net/latest/kube-addon/). -Weave Net works on `amd64`, `arm`, `arm64` and `ppc64le` without any extra action required. +Weave Net works on `amd64`, `arm`, `arm64` and `ppc64le` platforms without any extra action required. Weave Net sets hairpin mode by default. This allows Pods to access themselves via their Service IP address if they don't know their PodIP. @@ -388,15 +381,17 @@ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl versio Once a Pod network has been installed, you can confirm that it is working by -checking that the CoreDNS Pod is Running in the output of `kubectl get pods --all-namespaces`. +checking that the CoreDNS Pod is `Running` in the output of `kubectl get pods --all-namespaces`. And once the CoreDNS Pod is up and running, you can continue by joining your nodes. -If your network is not working or CoreDNS is not in the Running state, checkout our [troubleshooting docs](/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). +If your network is not working or CoreDNS is not in the `Running` state, check out the +[troubleshooting guide](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/) +for `kubeadm`. -### コントロールプレーンノードの隔離 +### Control plane node isolation By default, your cluster will not schedule Pods on the control-plane node for security -reasons. If you want to be able to schedule Pods on the control-plane node, e.g. for a +reasons. If you want to be able to schedule Pods on the control-plane node, for example for a single-machine Kubernetes cluster for development, run: ```bash @@ -415,7 +410,7 @@ This will remove the `node-role.kubernetes.io/master` taint from any nodes that have it, including the control-plane node, meaning that the scheduler will then be able to schedule Pods everywhere. -### ノードの追加 {#join-nodes} +### Joining your nodes {#join-nodes} The nodes are where your workloads (containers and Pods, etc) run. To add new nodes to your cluster do the following for each machine: @@ -423,19 +418,19 @@ The nodes are where your workloads (containers and Pods, etc) run. To add new no * Become root (e.g. `sudo su -`) * Run the command that was output by `kubeadm init`. For example: -``` bash +```bash kubeadm join --token : --discovery-token-ca-cert-hash sha256: ``` If you do not have the token, you can get it by running the following command on the control-plane node: -``` bash +```bash kubeadm token list ``` The output is similar to this: -``` console +```console TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS 8ewj1p.9r9hcjoqgajrj4gi 23h 2018-06-12T02:51:28Z authentication, The default bootstrap system: signing token generated by bootstrappers: @@ -446,26 +441,26 @@ TOKEN TTL EXPIRES USAGES DESCRIPTION By default, tokens expire after 24 hours. If you are joining a node to the cluster after the current token has expired, you can create a new token by running the following command on the control-plane node: -``` bash +```bash kubeadm token create ``` The output is similar to this: -``` console +```console 5didvk.d09sbcov8ph2amjw ``` If you don't have the value of `--discovery-token-ca-cert-hash`, you can get it by running the following command chain on the control-plane node: -``` bash +```bash openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \ openssl dgst -sha256 -hex | sed 's/^.* //' ``` -The output is similar to this: +The output is similar to: -``` console +```console 8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78 ``` @@ -491,13 +486,13 @@ Run 'kubectl get nodes' on control-plane to see this machine join. A few seconds later, you should notice this node in the output from `kubectl get nodes` when run on the control-plane node. -### (任意)コントロールプレーンノード以外のマシンからのクラスター操作 +### (Optional) Controlling your cluster from machines other than the control-plane node In order to get a kubectl on some other computer (e.g. laptop) to talk to your cluster, you need to copy the administrator kubeconfig file from your control-plane node to your workstation like this: -``` bash +```bash scp root@:/etc/kubernetes/admin.conf . kubectl --kubeconfig ./admin.conf get nodes ``` @@ -516,7 +511,7 @@ should save to a file and distribute to your user. After that, whitelist privileges by using `kubectl create (cluster)rolebinding`. {{< /note >}} -### (任意) APIサーバーをlocalhostへプロキシ +### (Optional) Proxying API Server to localhost If you want to connect to the API Server from outside the cluster you can use `kubectl proxy`: @@ -528,11 +523,18 @@ kubectl --kubeconfig ./admin.conf proxy You can now access the API Server locally at `http://localhost:8001/api/v1` -## クラスターの削除 {#tear-down} +## Clean up {#tear-down} -To undo what kubeadm did, you should first [drain the -node](/ja/docs/reference/generated/kubectl/kubectl-commands#drain) and make -sure that the node is empty before shutting it down. +If you used disposable servers for your cluster, for testing, you can +switch those off and do no further clean up. You can use +`kubectl config delete-cluster` to delete your local references to the +cluster. + +However, if you want to deprovision your cluster more cleanly, you should +first [drain the node](/docs/reference/generated/kubectl/kubectl-commands#drain) +and make sure that the node is empty, then deconfigure the node. + +### Remove the node Talking to the control-plane node with the appropriate credentials, run: @@ -541,7 +543,7 @@ kubectl drain --delete-local-data --force --ignore-daemonsets kubectl delete node ``` -Then, on the node being removed, reset all kubeadm installed state: +Then, on the node being removed, reset all `kubeadm` installed state: ```bash kubeadm reset @@ -562,55 +564,80 @@ ipvsadm -C If you wish to start over simply run `kubeadm init` or `kubeadm join` with the appropriate arguments. -More options and information about the -[`kubeadm reset command`](/ja/docs/reference/setup-tools/kubeadm/kubeadm-reset/). +### Clean up the control plane -## クラスターの維持 {#lifecycle} +You can use `kubeadm reset` on the control plane host to trigger a best-effort +clean up. -Instructions for maintaining kubeadm clusters (e.g. upgrades,downgrades, etc.) can be found [here.](/ja/docs/tasks/administer-cluster/kubeadm) +See the [`kubeadm reset`](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) +reference documentation for more information about this subcommand and its +options. -## 他アドオンの参照 {#other-addons} +{{% /capture %}} -See the [list of add-ons](/ja/docs/concepts/cluster-administration/addons/) to explore other add-ons, -including tools for logging, monitoring, network policy, visualization & -control of your Kubernetes cluster. +{{% capture discussion %}} -## 次の手順 {#whats-next} +## What's next {#whats-next} * Verify that your cluster is running properly with [Sonobuoy](https://github.com/heptio/sonobuoy) -* Learn about kubeadm's advanced usage in the [kubeadm reference documentation](/ja/docs/reference/setup-tools/kubeadm/kubeadm) -* Learn more about Kubernetes [concepts](/ja/docs/concepts/) and [`kubectl`](/ja/docs/user-guide/kubectl-overview/). -* Configure log rotation. You can use **logrotate** for that. When using Docker, you can specify log rotation options for Docker daemon, for example `--log-driver=json-file --log-opt=max-size=10m --log-opt=max-file=5`. See [Configure and troubleshoot the Docker daemon](https://docs.docker.com/engine/admin/) for more details. +* See [Upgrading kubeadm clusters](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/) + for details about upgrading your cluster using `kubeadm`. +* Learn about advanced `kubeadm` usage in the [kubeadm reference documentation](/docs/reference/setup-tools/kubeadm/kubeadm) +* Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/user-guide/kubectl-overview/). * See the [Cluster Networking](/docs/concepts/cluster-administration/networking/) page for a bigger list of Pod network add-ons. +* See the [list of add-ons](/docs/concepts/cluster-administration/addons/) to + explore other add-ons, including tools for logging, monitoring, network policy, visualization & + control of your Kubernetes cluster. +* Configure how your cluster handles logs for cluster events and from + applications running in Pods. + See [Logging Architecture](/docs/concepts/cluster-administration/logging/) for + an overview of what is involved. -## フィードバック {#feedback} +### Feedback {#feedback} -* For bugs, visit [kubeadm GitHub issue tracker](https://github.com/kubernetes/kubeadm/issues) -* For support, visit kubeadm Slack Channel: - [#kubeadm](https://kubernetes.slack.com/messages/kubeadm/) -* General SIG Cluster Lifecycle Development Slack Channel: +* For bugs, visit the [kubeadm GitHub issue tracker](https://github.com/kubernetes/kubeadm/issues) +* For support, visit the + [#kubeadm](https://kubernetes.slack.com/messages/kubeadm/) Slack channel +* General SIG Cluster Lifecycle development Slack channel: [#sig-cluster-lifecycle](https://kubernetes.slack.com/messages/sig-cluster-lifecycle/) -* SIG Cluster Lifecycle [SIG information](#TODO) -* SIG Cluster Lifecycle Mailing List: +* SIG Cluster Lifecycle [SIG information](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle#readme) +* SIG Cluster Lifecycle mailing list: [kubernetes-sig-cluster-lifecycle](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle) -## バージョン互換ポリシー {#version-skew-policy} +## Version skew policy {#version-skew-policy} -The kubeadm CLI tool of version vX.Y may deploy clusters with a control plane of version vX.Y or vX.(Y-1). -kubeadm CLI vX.Y can also upgrade an existing kubeadm-created cluster of version vX.(Y-1). +The `kubeadm` tool of version vX.Y may deploy clusters with a control plane of version vX.Y or vX.(Y-1). +`kubeadm` vX.Y can also upgrade an existing kubeadm-created cluster of version vX.(Y-1). Due to that we can't see into the future, kubeadm CLI vX.Y may or may not be able to deploy vX.(Y+1) clusters. -Example: kubeadm v1.8 can deploy both v1.7 and v1.8 clusters and upgrade v1.7 kubeadm-created clusters to +Example: `kubeadm` v1.8 can deploy both v1.7 and v1.8 clusters and upgrade v1.7 kubeadm-created clusters to v1.8. These resources provide more information on supported version skew between kubelets and the control plane, and other Kubernetes components: -* Kubernetes [version and version-skew policy](/ja/docs/setup/release/version-skew-policy/) -* Kubeadm-specific [installation guide](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl) +* Kubernetes [version and version-skew policy](/docs/setup/release/version-skew-policy/) +* Kubeadm-specific [installation guide](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl) -## kubeadmは様々なプラットフォームで動く +## Limitations {#limitations} + +### Cluster resilience {#resilience} + +The cluster created here has a single control-plane node, with a single etcd database +running on it. This means that if the control-plane node fails, your cluster may lose +data and may need to be recreated from scratch. + +Workarounds: + +* Regularly [back up etcd](https://coreos.com/etcd/docs/latest/admin_guide.html). The + etcd data directory configured by kubeadm is at `/var/lib/etcd` on the control-plane node. + +* Use multiple control-plane nodes. You can read + [Options for Highly Available topology](/docs/setup/production-environment/tools/kubeadm/ha-topology/) to pick a cluster + topology that provides higher availabilty. + +### Platform compatibility {#multi-platform} kubeadm deb/rpm packages and binaries are built for amd64, arm (32-bit), arm64, ppc64le, and s390x following the [multi-platform @@ -622,20 +649,8 @@ Only some of the network providers offer solutions for all platforms. Please con network providers above or the documentation from each provider to figure out whether the provider supports your chosen platform. -## 制限事項 {#limitations} +## Troubleshooting {#troubleshooting} -The cluster created here has a single control-plane node, with a single etcd database -running on it. This means that if the control-plane node fails, your cluster may lose -data and may need to be recreated from scratch. +If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). -Workarounds: - -* Regularly [back up etcd](https://coreos.com/etcd/docs/latest/admin_guide.html). The - etcd data directory configured by kubeadm is at `/var/lib/etcd` on the control-plane node. - -* Use multiple control-plane nodes by completing the - [HA setup](/ja/docs/setup/independent/ha-topology) instead. - -## トラブルシューティング {#troubleshooting} - -If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). +{{% /capture %}} From b0416b345864eab2c949670f5d57cb64f8614382 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Sun, 17 May 2020 13:46:03 +0900 Subject: [PATCH 078/533] Translate setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md into Japanese. --- .../tools/kubeadm/create-cluster-kubeadm.md | 437 +++++++----------- 1 file changed, 155 insertions(+), 282 deletions(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index 254e715a85..e07966fea4 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -1,154 +1,108 @@ --- -title: Creating a single control-plane cluster with kubeadm +title: kubeadmを使用したシングルコントロールプレーンクラスターの作成 content_template: templates/task weight: 30 --- {{% capture overview %}} -The `kubeadm` tool helps you bootstrap a minimum viable Kubernetes cluster that conforms to best practices. In fact, you can use `kubeadm` to set up a cluster that will pass the [Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification). -`kubeadm` also supports other cluster -lifecycle functions, such as [bootstrap tokens](/docs/reference/access-authn-authz/bootstrap-tokens/) and cluster upgrades. +`kubeadm`ツールは、ベストプラクティスに準拠する、最小の有効なKubernetesクラスターをブートストラップする手助けをします。実際、`kubeadm`を使用すれば、[Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification)に通るクラスターをセットアップすることができます。`kubeadm`は、[ブートストラップトークン](/docs/reference/access-authn-authz/bootstrap-tokens/)やクラスターのアップグレードなどのその他のクラスターのライフサイクルの機能もサポートします。 -The `kubeadm` tool is good if you need: +`kubeadm`ツールは、次のようなときに適しています。 -- A simple way for you to try out Kubernetes, possibly for the first time. -- A way for existing users to automate setting up a cluster and test their application. -- A building block in other ecosystem and/or installer tools with a larger - scope. +- 新しいユーザーが初めてKubernetesを試すためのシンプルな方法が必要なとき。 +- 既存のユーザーがクラスターやアプリケーションのセットアップを自動化する方法が必要なとき。 +- より大きなスコープで、他のエコシステムやインストーラーツールのビルディングブロックが必要なとき。 -You can install and use `kubeadm` on various machines: your laptop, a set -of cloud servers, a Raspberry Pi, and more. Whether you're deploying into the -cloud or on-premises, you can integrate `kubeadm` into provisioning systems such -as Ansible or Terraform. +`kubeadm`は、ラップトップ、クラウドのサーバー群、Raspberry Piなどの様々なマシンにインストールして使えます。クラウドとオンプレミスのどちらにデプロイする場合でも、`kubeadm`はAnsibleやTerraformなどのプロビジョニングシステムに統合できます。 {{% /capture %}} {{% capture prerequisites %}} -To follow this guide, you need: +このガイドを進めるには、以下の環境が必要です。 -- One or more machines running a deb/rpm-compatible Linux OS; for example: Ubuntu or CentOS. -- 2 GiB or more of RAM per machine--any less leaves little room for your - apps. -- At least 2 CPUs on the machine that you use as a control-plane node. -- Full network connectivity among all machines in the cluster. You can use either a - public or a private network. +- UbuntuやCentOSなど、deb/rpmパッケージと互換性のあるLinux OSが動作している1台以上のマシンがあること。 +- マシンごとに2 GiB以上のRAMが搭載されていること。それ以下の場合、アプリ実行用のメモリがほとんど残りません。 +- コントロールプレーンノードとして使用するマシンには、最低でも2 CPU以上あること。 +- クラスター内の全マシン間に完全なネットワーク接続があること。パブリックネットワークとプライベートネットワークのいずれでも使えます。 +また、新しいクラスターで使いたいKubernetesのバージョンをデプロイできるバージョンの`kubeadm`を使用する必要もあります。 -You also need to use a version of `kubeadm` that can deploy the version -of Kubernetes that you want to use in your new cluster. +[Kubernetesのバージョンとバージョンスキューポリシー](https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions)は、`kubeadm`にもKubernetes全体と同じように当てはまります。Kubernetesと`kubeadm`がサポートするバージョンを理解するには、上記のポリシーを確認してください。このページは、Kubernetes {{< param "version" >}}向けに書かれています。 -[Kubernetes' version and version skew support policy](https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions) applies to `kubeadm` as well as to Kubernetes overall. -Check that policy to learn about what versions of Kubernetes and `kubeadm` -are supported. This page is written for Kubernetes {{< param "version" >}}. - -The `kubeadm` tool's overall feature state is General Availability (GA). Some sub-features are -still under active development. The implementation of creating the cluster may change -slightly as the tool evolves, but the overall implementation should be pretty stable. +kubeadmツールの全体の機能の状態は、一般提供(GA)です。一部のサブ機能はまだ活発に開発が行われています。クラスター作成の実装は、ツールの進化に伴ってわずかに変わるかもしれませんが、全体の実装は非常に安定しているはずです。 {{< note >}} -Any commands under `kubeadm alpha` are, by definition, supported on an alpha level. +`kubeadm alpha`以下のすべてのコマンドは、定義通り、アルファレベルでサポートされています。 {{< /note >}} {{% /capture %}} {{% capture steps %}} -## Objectives +## 目的 -* Install a single control-plane Kubernetes cluster or [high-availability cluster](/docs/setup/production-environment/tools/kubeadm/high-availability/) -* Install a Pod network on the cluster so that your Pods can - talk to each other +* シングルコントロールプレーンのKubernetesクラスターまたは[高可用性クラスター](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/)をインストールする +* クラスター上にPodネットワークをインストールして、Podがお互いに通信できるようにする -## Instructions +## 手順 -### Installing kubeadm on your hosts +### ホストへのkubeadmのインストール -See ["Installing kubeadm"](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/). +「[kubeadmのインストール](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)」を読んでください。 {{< note >}} -If you have already installed kubeadm, run `apt-get update && -apt-get upgrade` or `yum update` to get the latest version of kubeadm. +すでにkubeadmがインストール済みである場合は、最新バージョンのkubeadmを取得するために`apt-get update && apt-get upgrade`や`yum update`を実行してください。 -When you upgrade, the kubelet restarts every few seconds as it waits in a crashloop for -kubeadm to tell it what to do. This crashloop is expected and normal. -After you initialize your control-plane, the kubelet runs normally. +アップグレード中、kubeletが数秒ごとに再起動します。これは、kubeadmがkubeletにするべきことを伝えるまで、crashloopの状態で待機するためです。このcrashloopは期待通りの通常の動作です。コントロールプレーンの初期化が完了すれば、kubeletは正常に動作します。 {{< /note >}} -### Initializing your control-plane node +### コントロールプレーンノードの初期化 -The control-plane node is the machine where the control plane components run, including -{{< glossary_tooltip term_id="etcd" >}} (the cluster database) and the -{{< glossary_tooltip text="API Server" term_id="kube-apiserver" >}} -(which the {{< glossary_tooltip text="kubectl" term_id="kubectl" >}} command line tool -communicates with). +コントロールプレーンノードとは、{{< glossary_tooltip term_id="etcd" >}}(クラスターのデータベース)や{{< glossary_tooltip text="APIサーバー" term_id="kube-apiserver" >}}({{< glossary_tooltip text="kubectl" term_id="kubectl" >}}コマンドラインツールが通信する相手)などのコントロールプレーンのコンポーネントが実行されるマシンです。 -1. (Recommended) If you have plans to upgrade this single control-plane `kubeadm` cluster -to high availability you should specify the `--control-plane-endpoint` to set the shared endpoint -for all control-plane nodes. Such an endpoint can be either a DNS name or an IP address of a load-balancer. -1. Choose a Pod network add-on, and verify whether it requires any arguments to -be passed to `kubeadm init`. Depending on which -third-party provider you choose, you might need to set the `--pod-network-cidr` to -a provider-specific value. See [Installing a Pod network add-on](#pod-network). -1. (Optional) Since version 1.14, `kubeadm` tries to detect the container runtime on Linux -by using a list of well known domain socket paths. To use different container runtime or -if there are more than one installed on the provisioned node, specify the `--cri-socket` -argument to `kubeadm init`. See [Installing runtime](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime). -1. (Optional) Unless otherwise specified, `kubeadm` uses the network interface associated -with the default gateway to set the advertise address for this particular control-plane node's API server. -To use a different network interface, specify the `--apiserver-advertise-address=` argument -to `kubeadm init`. To deploy an IPv6 Kubernetes cluster using IPv6 addressing, you -must specify an IPv6 address, for example `--apiserver-advertise-address=fd00::101` -1. (Optional) Run `kubeadm config images pull` prior to `kubeadm init` to verify -connectivity to the gcr.io container image registry. +1. (推奨)シングルコントロールプレーンの`kubeadm`クラスタを高可用性クラスタにアップグレードする計画がある場合、`--control-plane-endpoint`を指定して、すべてのコントロールプレーンノードとエンドポイントを共有する必要があります。 +1. Podネットワークアドオンを選んで、`kubeadm init`に引数を渡す必要があるかどうか確認してください。選んだサードパーティーのプロバイダーによっては、`--pod-network-cidr`をプロバイダー固有の値に設定する必要があるかもしれません。詳しくは、[Podネットワークアドオンのインストール](#pod-network)を参照してください。 +1. (オプション)バージョン1.14から、`kubeadm`はよく知られたドメインソケットのパスリストを用いて、Linux上のコンテナランタイムの検出を試みます。プロビジョニングするノードに異なるコンテナランタイムや2つ以上のランタイムがインストールされている場合、`kubeadm init`に`--cri-socket`引数を指定してください。詳しくは、[ランタイムのインストール](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime)を読んでください。 +1. (オプション)明示的に指定しない限り、`kubeadm`はデフォルトゲートウェイに関連付けられたネットワークインターフェイスを使用して、この特定のコントロールプレーンノードのAPIサーバーのadvertise addressを設定します。異なるネットワークインターフェイスを使用するには、`--apiserver-advertize-address=`引数を`kubeadm init`に指定してください。IPv6アドレスを使用するIPv6 Kubernetesクラスターをデプロイするには、たとえば`--apiserver-advertise-address=fd00::101`のように、IPv6アドレスを指定する必要があります。 +1. (オプション)`kubeadm init`の前に`kubeadm config images pull`を実行して、gcr.ioコンテナイメージレジストリに接続できるかどうかを確認します。 -To initialize the control-plane node run: +コントロールプレーンノードを初期化するには、次のコマンドを実行します。 ```bash kubeadm init ``` -### Considerations about apiserver-advertise-address and ControlPlaneEndpoint +### apiserver-advertise-addressとControlPlaneEndpointに関する検討 -While `--apiserver-advertise-address` can be used to set the advertise address for this particular -control-plane node's API server, `--control-plane-endpoint` can be used to set the shared endpoint -for all control-plane nodes. +`--apiserver-advertise-address`は、この特定のコントロールプレーンノードのAPIサーバーへのadvertise addressを設定するために使えますが、`--control-plane-endpoint`は、すべてのコントロールプレーンノード共有のエンドポイントを設定するために使えます。 -`--control-plane-endpoint` allows IP addresses but also DNS names that can map to IP addresses. -Please contact your network administrator to evaluate possible solutions with respect to such mapping. +`--control-plane-endpoint`はIPアドレスを受け付けますが、IPアドレスへマッピングされるDNSネームも使用できます。利用可能なソリューションをそうしたマッピングの観点から評価するには、ネットワーク管理者に相談してください。 -Here is an example mapping: +以下にマッピングの例を示します。 ``` 192.168.0.102 cluster-endpoint ``` -Where `192.168.0.102` is the IP address of this node and `cluster-endpoint` is a custom DNS name that maps to this IP. -This will allow you to pass `--control-plane-endpoint=cluster-endpoint` to `kubeadm init` and pass the same DNS name to -`kubeadm join`. Later you can modify `cluster-endpoint` to point to the address of your load-balancer in an -high availability scenario. +ここでは、`192.168.0.102`がこのノードのIPアドレスであり、`cluster-endpoint`がこのIPアドレスへとマッピングされるカスタムのDNSネームです。このように設定することで、`--control-plane-endpoint=cluster-endpoint`を`kubeadm init`に渡せるようになり、`kubeadm join`にも同じDNSネームを渡せます。後で`cluster-endpoint`を修正して、高可用性が必要なシナリオでロードバランサーのアドレスを指すようにすることができます。 -Turning a single control plane cluster created without `--control-plane-endpoint` into a highly available cluster -is not supported by kubeadm. +kubeadmでは、`--control-plane-endpoint`を渡さずに構築したシングルコントロールプレーンのクラスターを高可用性クラスターに切り替えることはサポートされていません。 -### More information +### 詳細な情報 -For more information about `kubeadm init` arguments, see the [kubeadm reference guide](/docs/reference/setup-tools/kubeadm/kubeadm/). +`kubeadm init`の引数のより詳細な情報は、[kubeadmリファレンスガイド](/docs/reference/setup-tools/kubeadm/kubeadm/)を参照してください。 -For a complete list of configuration options, see the [configuration file documentation](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file). +設定オプションの全リストは、 [設定ファイルのドキュメント](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)で確認できます。 -To customize control plane components, including optional IPv6 assignment to liveness probe for control plane components and etcd server, provide extra arguments to each component as documented in [custom arguments](/docs/setup/production-environment/tools/kubeadm/control-plane-flags/). +コントロールプレーンコンポーネントやetcdサーバーのliveness probeへのオプションのIPv6の割り当てなど、コントロールプレーンのコンポーネントをカスタマイズしたい場合は、[カスタムの引数](/ja/docs/setup/production-environment/tools/kubeadm/control-plane-flags/)に示されている方法で各コンポーネントに追加の引数を与えてください。 -To run `kubeadm init` again, you must first [tear down the cluster](#tear-down). +`kubeadm init`を再び実行する場合は、初めに[クラスターの削除](#tear-down)を行う必要があります。 -If you join a node with a different architecture to your cluster, make sure that your deployed DaemonSets -have container image support for this architecture. +もし異なるアーキテクチャのノードをクラスターにjoinさせたい場合は、デプロイしたDaemonSetがそのアーキテクチャ向けのコンテナイメージをサポートしているか確認してください。 -`kubeadm init` first runs a series of prechecks to ensure that the machine -is ready to run Kubernetes. These prechecks expose warnings and exit on errors. `kubeadm init` -then downloads and installs the cluster control plane components. This may take several minutes. -The output should look like: +初めに`kubeadm init`は、マシンがKubernetesを実行する準備ができているかを確認する、一連の事前チェックを行います。これらの事前チェックはエラー発生時には警告を表示して終了します。次に、`kubeadm init`はクラスターのコントロールプレーンのコンポーネントをダウンロードしてインストールします。これには数分掛かるかもしれません。出力は次のようになります。 ```none [init] Using Kubernetes version: vX.Y.Z @@ -218,8 +172,7 @@ as root: kubeadm join : --token --discovery-token-ca-cert-hash sha256: ``` -To make kubectl work for your non-root user, run these commands, which are -also part of the `kubeadm init` output: +kubectlをroot以外のユーザーでも実行できるようにするには、次のコマンドを実行します。これらのコマンドは、`kubectl init`の出力の中にも書かれています。 ```bash mkdir -p $HOME/.kube @@ -227,75 +180,49 @@ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` -Alternatively, if you are the `root` user, you can run: +あなたが`root`ユーザーである場合は、代わりに次のコマンドを実行します。 ```bash export KUBECONFIG=/etc/kubernetes/admin.conf ``` -Make a record of the `kubeadm join` command that `kubeadm init` outputs. You -need this command to [join nodes to your cluster](#join-nodes). +`kubeadm init`が出力した`kubeadm join`コマンドをメモしておいてください。[クラスターにノードを追加する](#join-nodes)ために、このコマンドが必要になります。 -The token is used for mutual authentication between the control-plane node and the joining -nodes. The token included here is secret. Keep it safe, because anyone with this -token can add authenticated nodes to your cluster. These tokens can be listed, -created, and deleted with the `kubeadm token` command. See the -[kubeadm reference guide](/docs/reference/setup-tools/kubeadm/kubeadm-token/). +トークンは、コントロールプレーンノードと追加ノードの間の相互認証に使用します。ここに含まれるトークンには秘密の情報が含まれます。このトークンを知っていれば、誰でもクラスターに認証済みノードを追加できてしまうため、取り扱いには注意してください。`kubeadm token`コマンドを使用すると、これらのトークンの一覧、作成、削除ができます。詳しくは[kubeadmリファレンスガイド](/docs/reference/setup-tools/kubeadm/kubeadm-token/)を読んでください。 -### Installing a Pod network add-on {#pod-network} +### Podネットワークアドオンのインストール {#pod-network} {{< caution >}} -This section contains important information about networking setup and -deployment order. -Read all of this advice carefully before proceeding. +このセクションには、ネットワークのセットアップとデプロイの順序に関する重要な情報が書かれています。先に進む前に以下のすべてのアドバイスを熟読してください。 -**You must deploy a -{{< glossary_tooltip text="Container Network Interface" term_id="cni" >}} -(CNI) based Pod network add-on so that your Pods can communicate with each other. -Cluster DNS (CoreDNS) will not start up before a network is installed.** +**Pod同士が通信できるようにするには、{{< glossary_tooltip text="Container Network Interface" term_id="cni" >}}(CNI)をベースとするPodネットワークアドオンをデプロイしなければなりません。ネットワークアドオンをインストールする前には、Cluster DNS(CoreDNS)は起動しません。** -- Take care that your Pod network must not overlap with any of the host - networks: you are likely to see problems if there is any overlap. - (If you find a collision between your network plugin’s preferred Pod - network and some of your host networks, you should think of a suitable - CIDR block to use instead, then use that during `kubeadm init` with - `--pod-network-cidr` and as a replacement in your network plugin’s YAML). +- Podネットワークがホストネットワークと決して重ならないように気をつけてください。もし重なると、様々な問題が起こってしまう可能性があります。(ネットワークプラグインが優先するPodネットワークとホストのネットワークの一部が衝突することが分かった場合、適切な代わりのCIDRを考える必要があります。そして、`kubeadm init`の実行時には、ネットワークプラグインのYAMLの代わりとして`--pod-network-cidr`にそのCIDRを指定する必要があります。) -- By default, `kubeadm` sets up your cluster to use and enforce use of - [RBAC](/docs/reference/access-authn-authz/rbac/) (role based access - control). - Make sure that your Pod network plugin supports RBAC, and so do any manifests - that you use to deploy it. +- デフォルトでは、`kubeadm`は[RBAC](/docs/reference/access-authn-authz/rbac/)(role based access control)の使用を強制します。PodネットワークプラグインがRBACをサポートしていて、またそのデプロイに使用するマニフェストもRBACをサポートしていることを確認してください。 -- If you want to use IPv6--either dual-stack, or single-stack IPv6 only - networking--for your cluster, make sure that your Pod network plugin - supports IPv6. - IPv6 support was added to CNI in [v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0). +- クラスターでIPv6を使用したい場合、デュアルスタック、IPv6のみのシングルスタックのネットワークのいずれであっても、PodネットワークプラグインがIPv6をサポートしていることを確認してください。IPv6のサポートは、CNIの[v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0)で追加されました。 {{< /caution >}} -Several external projects provide Kubernetes Pod networks using CNI, some of which also -support [Network Policy](/docs/concepts/services-networking/networkpolicies/). +CNIを使用するKubernetes Pod networkを提供する外部のプロジェクトがいくつかあります。一部のプロジェクトでは、[ネットワークポリシー](/docs/concepts/services-networking/networkpolicies/)もサポートしています。 -See the list of available -[networking and network policy add-ons](https://kubernetes.io/docs/concepts/cluster-administration/addons/#networking-and-network-policy). +利用できる[ネットワークアドオンとネットワークポリシーアドオン](https://kubernetes.io/docs/concepts/cluster-administration/addons/#networking-and-network-policy)のリストを確認してください。 -You can install a Pod network add-on with the following command on the -control-plane node or a node that has the kubeconfig credentials: +Podネットワークアドオンをインストールするには、コントロールプレーンノード上またはkubeconfigクレデンシャルを持っているノード上で、次のコマンドを実行します。 ```bash kubectl apply -f ``` -You can install only one Pod network per cluster. -Below you can find installation instructions for some popular Pod network plugins: +インストールできるPodネットワークは、クラスターごとに1つだけです。以下の手順で、いくつかのよく使われるPodネットワークプラグインをインストールできます。 {{< tabs name="tabs-pod-install" >}} {{% tab name="Calico" %}} -[Calico](https://docs.projectcalico.org/latest/introduction/) is a networking and network policy provider. Calico supports a flexible set of networking options so you can choose the most efficient option for your situation, including non-overlay and overlay networks, with or without BGP. Calico uses the same engine to enforce network policy for hosts, pods, and (if using Istio & Envoy) applications at the service mesh layer. Calico works on several architectures, including `amd64`, `arm64`, and `ppc64le`. +[Calico](https://docs.projectcalico.org/latest/introduction/)は、ネットワークとネットワークポリシーのプロバイダーです。Calicoは柔軟なさまざまなネットワークオプションをサポートするため、自分の状況に適した最も効果的なオプションを選択できます。たとえば、ネットワークのオーバーレイの有無や、BGPの有無が選べます。Calicoは、ホスト、Pod、(もしIstioとEnvoyを使っている場合)サービスメッシュレイヤー上のアプリケーションに対してネットワークポリシーを強制するために、同一のエンジンを使用しています。Calicoは、`amd64`、`arm64`、`ppc64le`を含む複数のアーキテクチャで動作します。 -By default, Calico uses `192.168.0.0/16` as the Pod network CIDR, though this can be configured in the calico.yaml file. For Calico to work correctly, you need to pass this same CIDR to the `kubeadm init` command using the `--pod-network-cidr=192.168.0.0/16` flag or via kubeadm's configuration. +デフォルトでは、Calicoは`192.168.0.0/16`をPodネットワークのCIDRとして使いますが、このCIDRはcalico.yamlファイルで設定できます。Calicoを正しく動作させるためには、これと同じCIDRを`--pod-network-cidr=192.168.0.0/16`フラグまたはkubeadmの設定を使って、`kubeadm init`コマンドに渡す必要があります。 ```shell kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml @@ -304,101 +231,89 @@ kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml {{% /tab %}} {{% tab name="Cilium" %}} -For Cilium to work correctly, you must pass `--pod-network-cidr=10.217.0.0/16` to `kubeadm init`. +Ciliumを正しく動作させるためには、`kubeadm init`に `--pod-network-cidr=10.217.0.0/16`を渡してください。 -To deploy Cilium you just need to run: +Ciliumのデプロイは、次のコマンドを実行するだけでできます。 ```shell kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.6/install/kubernetes/quick-install.yaml ``` -Once all Cilium Pods are marked as `READY`, you start using your cluster. +すべてのCilium Podが`READY`とマークされたら、クラスターを使い始められます。 ```shell kubectl get pods -n kube-system --selector=k8s-app=cilium ``` -The output is similar to this: + +出力は次のようになります。 + ``` NAME READY STATUS RESTARTS AGE cilium-drxkl 1/1 Running 0 18m ``` -Cilium can be used as a replacement for kube-proxy, see [Kubernetes without kube-proxy](https://docs.cilium.io/en/stable/gettingstarted/kubeproxy-free). - -For more information about using Cilium with Kubernetes, see [Kubernetes Install guide for Cilium](https://docs.cilium.io/en/stable/kubernetes/). +Ciliumはkube-proxyの代わりに利用することもできます。詳しくは[Kubernetes without kube-proxy](https://docs.cilium.io/en/stable/gettingstarted/kubeproxy-free)を読んでください。 +KubernetesでのCiliumの使い方に関するより詳しい情報は、[Kubernetes Install guide for Cilium](https://docs.cilium.io/en/stable/kubernetes/)を参照してください。 {{% /tab %}} {{% tab name="Contiv-VPP" %}} -[Contiv-VPP](https://contivpp.io/) employs a programmable CNF vSwitch based on [FD.io VPP](https://fd.io/), -offering feature-rich & high-performance cloud-native networking and services. +[Contiv-VPP](https://contivpp.io/)は、[FD.io VPP](https://fd.io/)をベースとするプログラマブルなCNF vSwitchを採用し、機能豊富で高性能なクラウドネイティブなネットワーキングとサービスを提供します。 -It implements k8s services and network policies in the user space (on VPP). +Contiv-VPPは、k8sサービスとネットワークポリシーを(VPP上の)ユーザースペースで実装しています。 -Please refer to this installation guide: [Contiv-VPP Manual Installation](https://github.com/contiv/vpp/blob/master/docs/setup/MANUAL_INSTALL.md) +こちらのインストールガイドを参照してください: [Contiv-VPP Manual Installation](https://github.com/contiv/vpp/blob/master/docs/setup/MANUAL_INSTALL.md) {{% /tab %}} {{% tab name="Flannel" %}} +`flannel`を正しく動作させるためには、`--pod-network-cidr=10.244.0.0/16`を`kubeadm init`に渡す必要があります。 -For `flannel` to work correctly, you must pass `--pod-network-cidr=10.244.0.0/16` to `kubeadm init`. +オーバーレイネットワークに参加しているすべてのホスト上で、ファイアウォールのルールが、UDPポート8285と8472のトラフィックを許可するように設定されていることを確認してください。この設定に関するより詳しい情報は、Flannelのトラブルシューティングガイドの[Firewall](https://coreos.com/flannel/docs/latest/troubleshooting.html#firewalls)のセクションを参照してください。 -Make sure that your firewall rules allow UDP ports 8285 and 8472 traffic for all hosts participating in the overlay network. The [Firewall](https://coreos.com/flannel/docs/latest/troubleshooting.html#firewalls) section of Flannel's troubleshooting guide explains about this in more detail. - -Flannel works on `amd64`, `arm`, `arm64`, `ppc64le` and `s390x` architectures under Linux. -Windows (`amd64`) is claimed as supported in v0.11.0 but the usage is undocumented. +Flannelは、Linux下の`amd64`、`arm`、`arm64`、`ppc64le`、`s390x`アーキテクチャ上で動作します。Windows(`amd64`)はv0.11.0でサポートされたとされていますが、使用方法はドキュメントに書かれていません。 ```shell kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml ``` -For more information about `flannel`, see [the CoreOS flannel repository on GitHub -](https://github.com/coreos/flannel). +`flannel`に関するより詳しい情報は、[GitHub上のCoreOSのflannelリポジトリ](https://github.com/coreos/flannel)を参照してください。 {{% /tab %}} {{% tab name="Kube-router" %}} +Kube-routerは、ノードへのPod CIDRの割り当てをkube-controller-managerに依存しています。そのため、`kubeadm init`時に`--pod-network-cidr`フラグを使用する必要があります。 -Kube-router relies on kube-controller-manager to allocate Pod CIDR for the nodes. Therefore, use `kubeadm init` with the `--pod-network-cidr` flag. +Kube-routerは、Podネットワーク、ネットワークポリシー、および高性能なIP Virtual Server(IPVS)/Linux Virtual Server(LVS)ベースのサービスプロキシーを提供します。 -Kube-router provides Pod networking, network policy, and high-performing IP Virtual Server(IPVS)/Linux Virtual Server(LVS) based service proxy. - -For information on using the `kubeadm` tool to set up a Kubernetes cluster with Kube-router, please see the official [setup guide](https://github.com/cloudnativelabs/kube-router/blob/master/docs/kubeadm.md). +Kube-routerを有効にしたKubernetesクラスターをセットアップするために`kubeadm`ツールを使用する方法については、公式の[セットアップガイド](https://github.com/cloudnativelabs/kube-router/blob/master/docs/kubeadm.md)を参照してください。 {{% /tab %}} {{% tab name="Weave Net" %}} +Weave Netを使用してKubernetesクラスターをセットアップするより詳しい情報は、[アドオンを使用してKubernetesを統合する]((https://www.weave.works/docs/net/latest/kube-addon/)を読んでください。 -For more information on setting up your Kubernetes cluster with Weave Net, please see [Integrating Kubernetes via the Addon]((https://www.weave.works/docs/net/latest/kube-addon/). - -Weave Net works on `amd64`, `arm`, `arm64` and `ppc64le` platforms without any extra action required. -Weave Net sets hairpin mode by default. This allows Pods to access themselves via their Service IP address -if they don't know their PodIP. +Weave Netは、 `amd64`、`arm`、`arm64`、`ppc64le`プラットフォームで追加の操作なしで動作します。Weave Netはデフォルトでharipinモードをセットします。このモードでは、Pod同士はPodIPを知らなくても、Service IPアドレス経由でアクセスできます。 ```shell kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" ``` + {{% /tab %}} {{< /tabs >}} -Once a Pod network has been installed, you can confirm that it is working by -checking that the CoreDNS Pod is `Running` in the output of `kubectl get pods --all-namespaces`. -And once the CoreDNS Pod is up and running, you can continue by joining your nodes. +Podネットワークがインストールされたら、`kubectl get pods --all-namespaces`の出力結果でCoreDNS Podが`Running`状態であることをチェックすることで、ネットワークが動作していることを確認できます。 -If your network is not working or CoreDNS is not in the `Running` state, check out the -[troubleshooting guide](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/) -for `kubeadm`. +もしネットワークやCoreDNSが`Running`状態にならない場合は、`kubeadm`の[トラブルシューティングガイド](/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)をチェックしてください。 -### Control plane node isolation +### コントロールプレーンノードの隔離 -By default, your cluster will not schedule Pods on the control-plane node for security -reasons. If you want to be able to schedule Pods on the control-plane node, for example for a -single-machine Kubernetes cluster for development, run: +デフォルトでは、セキュリティ上の理由により、クラスターはコントロールプレーンノードにPodをスケジューリングしません。たとえば、開発用のKubernetesシングルマシンのクラスターなどで、Podをコントロールプレーンノードにスケジューリングしたい場合は、次のコマンドを実行します。 ```bash kubectl taint nodes --all node-role.kubernetes.io/master- ``` -With output looking something like: +出力は次のようになります。 ``` node "test-01" untainted @@ -406,29 +321,27 @@ taint "node-role.kubernetes.io/master:" not found taint "node-role.kubernetes.io/master:" not found ``` -This will remove the `node-role.kubernetes.io/master` taint from any nodes that -have it, including the control-plane node, meaning that the scheduler will then be able -to schedule Pods everywhere. +このコマンドは、コントロールプレーンノードを含むすべてのノードから`node-role.kubernetes.io/master`taintを削除します。その結果、スケジューラーはどこにでもPodをスケジューリングできるようになります。 -### Joining your nodes {#join-nodes} +### ノードの追加 {#join-nodes} -The nodes are where your workloads (containers and Pods, etc) run. To add new nodes to your cluster do the following for each machine: +ノードは、ワークロード(コンテナやPodなど)が実行される場所です。新しいノードをクラスタに追加するためには、各マシンに対して、以下の手順を実行してください。 -* SSH to the machine -* Become root (e.g. `sudo su -`) -* Run the command that was output by `kubeadm init`. For example: +* マシンへSSHする +* rootになる(例: `sudo su -`) +* `kubeadm init`実行時に出力されたコマンドを実行する。たとえば、次のようなコマンドです。 ```bash kubeadm join --token : --discovery-token-ca-cert-hash sha256: ``` -If you do not have the token, you can get it by running the following command on the control-plane node: +トークンがわからない場合は、コントロールプレーンノードで次のコマンドを実行すると取得できます。 ```bash kubeadm token list ``` -The output is similar to this: +出力は次のようになります。 ```console TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS @@ -438,42 +351,41 @@ TOKEN TTL EXPIRES USAGES DESCRIPTION default-node-token ``` -By default, tokens expire after 24 hours. If you are joining a node to the cluster after the current token has expired, -you can create a new token by running the following command on the control-plane node: +デフォルトでは、トークンは24時間後に有効期限が切れます。もし現在のトークンの有効期限が切れた後にクラスタにノードを参加させたい場合は、コントロールプレーンノードで次のコマンドを実行することで、新しいトークンを生成できます。 ```bash kubeadm token create ``` -The output is similar to this: +このコマンドの出力は次のようになります。 ```console 5didvk.d09sbcov8ph2amjw ``` -If you don't have the value of `--discovery-token-ca-cert-hash`, you can get it by running the following command chain on the control-plane node: +もし`--discovery-token-ca-cert-hash`の値がわからない場合は、コントロールプレーンノード上で次のコマンドチェーンを実行することで取得できます。 ```bash openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \ openssl dgst -sha256 -hex | sed 's/^.* //' ``` -The output is similar to: +出力は次のようになります。 ```console 8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78 ``` {{< note >}} -To specify an IPv6 tuple for `:`, IPv6 address must be enclosed in square brackets, for example: `[fd00::101]:2073`. +IPv6タプルを`:`に指定するためには、IPv6アドレスをブラケットで囲みます。たとえば、`[fd00::101]:2073`のように書きます。 {{< /note >}} -The output should look something like: +出力は次のようになります。 ``` [preflight] Running pre-flight checks -... (log output of join workflow) ... +... (joinワークフローのログ出力) ... Node join complete: * Certificate signing request sent to control-plane and response @@ -483,14 +395,11 @@ Node join complete: Run 'kubectl get nodes' on control-plane to see this machine join. ``` -A few seconds later, you should notice this node in the output from `kubectl get -nodes` when run on the control-plane node. +数秒後、コントロールプレーンノード上で`kubectl get nodes`を実行すると、出力内にこのノードが表示されるはずです。 -### (Optional) Controlling your cluster from machines other than the control-plane node +### (オプション)コントロールプレーンノード以外のマシンからのクラスター操作 -In order to get a kubectl on some other computer (e.g. laptop) to talk to your -cluster, you need to copy the administrator kubeconfig file from your control-plane node -to your workstation like this: +他のコンピューター(例: ラップトップ)上のkubectlがクラスターと通信できるようにするためには、次のようにして、dministratorのkubeconfigファイルをコントロールプレーンノードからそのコンピューター上にコピーする必要があります。 ```bash scp root@:/etc/kubernetes/admin.conf . @@ -498,159 +407,123 @@ kubectl --kubeconfig ./admin.conf get nodes ``` {{< note >}} -The example above assumes SSH access is enabled for root. If that is not the -case, you can copy the `admin.conf` file to be accessible by some other user -and `scp` using that other user instead. +上の例では、rootユーザーに対するSSH接続が有効であることを仮定しています。もしそうでない場合は、`admin.conf`ファイルを誰か他のユーザーからアクセスできるようにコピーした上で、代わりにそのユーザーを使って`scp`してください。 -The `admin.conf` file gives the user _superuser_ privileges over the cluster. -This file should be used sparingly. For normal users, it's recommended to -generate an unique credential to which you whitelist privileges. You can do -this with the `kubeadm alpha kubeconfig user --client-name ` -command. That command will print out a KubeConfig file to STDOUT which you -should save to a file and distribute to your user. After that, whitelist -privileges by using `kubectl create (cluster)rolebinding`. + +`admin.conf`ファイルはユーザーにクラスタに対する _特権ユーザー_ の権限を与えます。そのため、このファイルを使うのは控えめにしなければなりません。通常のユーザーには、権限をホワイトリストに加えるユニークなクレデンシャルを生成することを推奨します。これには、`kubeadm alpha kubeconfig user --client-name `コマンドが使えます。このコマンドを実行すると、KubeConfigファイルがSTDOUTに出力されるので、ファイルに保存してユーザーに配布します。その後、`kubectl create (cluster)rolebinding`コマンドを使って権限をホワイトリストに加えます。 {{< /note >}} -### (Optional) Proxying API Server to localhost +### (オプション)APIサーバーをlocalhostへプロキシする -If you want to connect to the API Server from outside the cluster you can use -`kubectl proxy`: +クラスターの外部からAPIサーバーに接続したいときは、次のように`kubectl proxy`コマンドが使えます。 ```bash scp root@:/etc/kubernetes/admin.conf . kubectl --kubeconfig ./admin.conf proxy ``` -You can now access the API Server locally at `http://localhost:8001/api/v1` +これで、ローカルの`http://localhost:8001/api/v1`からAPIサーバーにアクセスできるようになります。 -## Clean up {#tear-down} +## クリーンアップ {#tear-down} -If you used disposable servers for your cluster, for testing, you can -switch those off and do no further clean up. You can use -`kubectl config delete-cluster` to delete your local references to the -cluster. +テストのためにクラスターに破棄可能なサーバーを使用した場合、サーバーのスイッチをオフにすれば、以降のクリーンアップの作業は必要ありません。クラスターのローカルの設定を削除するには、`kubectl config delete-cluster`を実行します。 -However, if you want to deprovision your cluster more cleanly, you should -first [drain the node](/docs/reference/generated/kubectl/kubectl-commands#drain) -and make sure that the node is empty, then deconfigure the node. +しかし、もしよりきれいにクラスターのプロビジョンをもとに戻したい場合は、初めに[ノードのdrain](/docs/reference/generated/kubectl/kubectl-commands#drain)を行い、ノードが空になっていることを確認した後、ノードの設定を削除する必要があります。 -### Remove the node +### ノードの削除 -Talking to the control-plane node with the appropriate credentials, run: +適切なクレデンシャルを使用してコントロールプレーンノードに削除することを伝えます。次のコマンドを実行してください。 ```bash kubectl drain --delete-local-data --force --ignore-daemonsets kubectl delete node ``` -Then, on the node being removed, reset all `kubeadm` installed state: +その後、ノードが削除されたら、`kubeadm`のインストール状態をすべてリセットします。 ```bash kubeadm reset ``` -The reset process does not reset or clean up iptables rules or IPVS tables. If you wish to reset iptables, you must do so manually: +リセットプロセスでは、iptablesのルールやIPVS tablesのリセットやクリーンアップは行われません。iptablesをリセットしたい場合は、次のように手動でコマンドを実行する必要があります。 ```bash iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X ``` -If you want to reset the IPVS tables, you must run the following command: +IPVS tablesをリセットしたい場合は、次のコマンドを実行する必要があります。 ```bash ipvsadm -C ``` -If you wish to start over simply run `kubeadm init` or `kubeadm join` with the -appropriate arguments. +クラスターのセットアップを最初から始めたいときは、`kubeadm init`や`kubeadm join`を適切な引数を付けて実行すればいいだけです。 -### Clean up the control plane +### コントロールプレーンのクリーンアップ -You can use `kubeadm reset` on the control plane host to trigger a best-effort -clean up. +コントロールホスト上で`kubeadm reset`を実行すると、ベストエフォートでのクリーンアップが実行できます。 -See the [`kubeadm reset`](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) -reference documentation for more information about this subcommand and its -options. +このサブコマンドとオプションに関するより詳しい情報は、[`kubeadm reset`](/docs/reference/setup-tools/kubeadm/kubeadm-reset/)リファレンスドキュメントを読んでください。 {{% /capture %}} {{% capture discussion %}} -## What's next {#whats-next} +## 次の手順 {#whats-next} -* Verify that your cluster is running properly with [Sonobuoy](https://github.com/heptio/sonobuoy) -* See [Upgrading kubeadm clusters](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/) - for details about upgrading your cluster using `kubeadm`. -* Learn about advanced `kubeadm` usage in the [kubeadm reference documentation](/docs/reference/setup-tools/kubeadm/kubeadm) -* Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/user-guide/kubectl-overview/). -* See the [Cluster Networking](/docs/concepts/cluster-administration/networking/) page for a bigger list -of Pod network add-ons. -* See the [list of add-ons](/docs/concepts/cluster-administration/addons/) to - explore other add-ons, including tools for logging, monitoring, network policy, visualization & - control of your Kubernetes cluster. -* Configure how your cluster handles logs for cluster events and from - applications running in Pods. - See [Logging Architecture](/docs/concepts/cluster-administration/logging/) for - an overview of what is involved. +* [Sonobuoy](https://github.com/heptio/sonobuoy)を使用してクラスターが適切に動作しているか検証する。 +* `kubeadm`を使用したクラスターをアップグレードする方法について、[kubeadmクラスターをアップグレードする](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)を読む。 +* `kubeadm`の高度な利用方法について[kubeadmリファレンスドキュメント](/docs/reference/setup-tools/kubeadm/kubeadm)で学ぶ。 +* Kubernetesの[コンセプト](/ja/docs/concepts/)や[`kubectl`](/docs/user-guide/kubectl-overview/)についてもっと学ぶ。 +* Podネットワークアドオンのより完全なリストを[クラスターのネットワーク](/docs/concepts/cluster-administration/networking/)で確認する。 +* ロギング、モニタリング、ネットワークポリシー、仮想化、Kubernetesクラスターの制御のためのツールなど、その他のアドオンについて、[アドオンのリスト](/docs/concepts/cluster-administration/addons/)で確認する。 +* クラスターイベントやPod内で実行中のアプリケーションから送られるログをクラスターがハンドリングする方法を設定する。関係する要素の概要を理解するために、[ロギングのアーキテクチャ](/docs/concepts/cluster-administration/logging/)を読んでください。 -### Feedback {#feedback} +### フィードバック {#feedback} -* For bugs, visit the [kubeadm GitHub issue tracker](https://github.com/kubernetes/kubeadm/issues) -* For support, visit the - [#kubeadm](https://kubernetes.slack.com/messages/kubeadm/) Slack channel -* General SIG Cluster Lifecycle development Slack channel: +* バグを見つけた場合は、[kubeadm GitHub issue tracker](https://github.com/kubernetes/kubeadm/issues)で報告してください。 +* サポートを受けたい場合は、[#kubeadm](https://kubernetes.slack.com/messages/kubeadm/)Slackチャンネルを訪ねてください。 +* General SIG Cluster Lifecycle development Slackチャンネル: [#sig-cluster-lifecycle](https://kubernetes.slack.com/messages/sig-cluster-lifecycle/) * SIG Cluster Lifecycle [SIG information](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle#readme) -* SIG Cluster Lifecycle mailing list: +* SIG Cluster Lifecycleメーリングリスト: [kubernetes-sig-cluster-lifecycle](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle) -## Version skew policy {#version-skew-policy} +## バージョン互換ポリシー {#version-skew-policy} -The `kubeadm` tool of version vX.Y may deploy clusters with a control plane of version vX.Y or vX.(Y-1). -`kubeadm` vX.Y can also upgrade an existing kubeadm-created cluster of version vX.(Y-1). +バージョンvX.Yの`kubeadm`ツールは、バージョンvX.YまたはvX.(Y-1)のコントロールプレーンを持つクラスターをデプロイできます。また、`kubeadm` vX.Yは、kubeadmで構築された既存のvX.(Y-1)のクラスタをアップグレートできます。 -Due to that we can't see into the future, kubeadm CLI vX.Y may or may not be able to deploy vX.(Y+1) clusters. +未来を見ることはできないため、kubeadm CLI vX.YはvX.(Y+1)をデプロイすることはできません。 -Example: `kubeadm` v1.8 can deploy both v1.7 and v1.8 clusters and upgrade v1.7 kubeadm-created clusters to -v1.8. +例: `kubeadm` v1.8は、v1.7とv1.8のクラスターをデプロイでき、v1.7のkubeadmで構築されたクラスターをv1.8にアップグレートできます。 -These resources provide more information on supported version skew between kubelets and the control plane, and other Kubernetes components: +kubeletとコントロールプレーンの間や、他のKubernetesコンポーネント間のバージョンの差異に関する詳しい情報は、以下の資料を確認してください。 -* Kubernetes [version and version-skew policy](/docs/setup/release/version-skew-policy/) -* Kubeadm-specific [installation guide](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl) +* Kubernetes[バージョンスキューサポートポリシー](/ja/docs/setup/release/version-skew-policy/) +* Kubeadm特有の[インストールガイド](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl) -## Limitations {#limitations} +## 制限事項 {#limitations} -### Cluster resilience {#resilience} +### クラスターのレジリエンス {#resilience} -The cluster created here has a single control-plane node, with a single etcd database -running on it. This means that if the control-plane node fails, your cluster may lose -data and may need to be recreated from scratch. +ここで作られたクラスターは、1つのコントロールプレーンノードと、その上で動作する1つのetcdデータベースしか持ちません。つまり、コントロールプレーンノードが故障した場合、クラスターのデータは失われ、クラスターを最初から作り直す必要があるかもしれないということです。 -Workarounds: +対処方法: -* Regularly [back up etcd](https://coreos.com/etcd/docs/latest/admin_guide.html). The - etcd data directory configured by kubeadm is at `/var/lib/etcd` on the control-plane node. +* 定期的に[etcdをバックアップ](https://coreos.com/etcd/docs/latest/admin_guide.html)する。kubeadmが設定するetcdのデータディレクトリは、コントロールプレーンノードの`/var/lib/etcd`にあります。 -* Use multiple control-plane nodes. You can read - [Options for Highly Available topology](/docs/setup/production-environment/tools/kubeadm/ha-topology/) to pick a cluster - topology that provides higher availabilty. +* 複数のコントロールプレーンノードを使用する。[高可用性トポロジーのオプション](/docs/setup/production-environment/tools/kubeadm/ha-topology/)では、より高い可用性を提供するクラスターのトポロジーの選択について説明してます。 -### Platform compatibility {#multi-platform} +### プラットフォームの互換性 {#multi-platform} -kubeadm deb/rpm packages and binaries are built for amd64, arm (32-bit), arm64, ppc64le, and s390x -following the [multi-platform -proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/multi-platform.md). +kubeadmのdeb/rpmパッケージおよびバイナリは、[multi-platform proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/multi-platform.md)に従い、amd64、arm(32ビット)、arm64、ppc64le、およびs390x向けにビルドされています。 -Multiplatform container images for the control plane and addons are also supported since v1.12. +マルチプラットフォームのコントロールプレーンおよびアドオン用のコンテナイメージも、v1.12からサポートされています。 -Only some of the network providers offer solutions for all platforms. Please consult the list of -network providers above or the documentation from each provider to figure out whether the provider -supports your chosen platform. +すべてのプラットフォーム向けのソリューションを提供しているネットワークプロバイダーは一部のみです。それぞれのプロバイダーが選択したプラットフォームをサポートしているかどうかを確認するには、前述のネットワークプロバイダーのリストを参照してください。 -## Troubleshooting {#troubleshooting} +## トラブルシューティング {#troubleshooting} -If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). +kubeadmに関する問題が起きたときは、[トラブルシューティングドキュメント](/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)を確認してください。 {{% /capture %}} From 2b70708cafc8eb57debad76fc4a01e1f4907cdc1 Mon Sep 17 00:00:00 2001 From: Kyle Polansky Date: Sun, 17 May 2020 03:46:57 -0500 Subject: [PATCH 079/533] Update Azure Container Registry for IAM Add instructions for pulling images from Azure Container Registry using Azure Kubernetes Service service principal authentication. --- content/en/docs/concepts/containers/images.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/content/en/docs/concepts/containers/images.md b/content/en/docs/concepts/containers/images.md index 94f69ba6af..cde9ce4414 100644 --- a/content/en/docs/concepts/containers/images.md +++ b/content/en/docs/concepts/containers/images.md @@ -66,6 +66,7 @@ Credentials can be provided in several ways: - Using Oracle Cloud Infrastructure Registry (OCIR) - use IAM roles and policies to control access to OCIR repositories - Using Azure Container Registry (ACR) + - use IAM roles and policies to control access to ACR repositories - Using IBM Cloud Container Registry - use IAM roles and policies to grant access to IBM Cloud Container Registry - Configuring Nodes to Authenticate to a Private Registry @@ -130,9 +131,13 @@ Troubleshooting: - `aws_credentials.go:116] Got ECR credentials from ECR API for .dkr.ecr..amazonaws.com` ### Using Azure Container Registry (ACR) -When using [Azure Container Registry](https://azure.microsoft.com/en-us/services/container-registry/) -you can authenticate using either an admin user or a service principal. -In either case, authentication is done via standard Docker authentication. These instructions assume the +Kubernetes has native support for the [Azure Container +Registry (ACR)](https://azure.microsoft.com/en-us/services/container-registry/), when running on Azure Kubernetes Service (AKS). + +The AKS cluster service principal must have `AcrPull` permission in the ACR instance. See [Authenticate with Azure Container Registry from Azure Kubernetes Service](https://docs.microsoft.com/en-us/azure/aks/cluster-container-registry-integration) for configuration instructions. Then, simply use the full ACR image name (e.g. `my_registry.azurecr.io/image:tag`). + +You may also authenticate using either an ACR admin user or a service principal. +In this case, authentication is done via standard Docker authentication. The following instructions assume the [azure-cli](https://github.com/azure/azure-cli) command line tool. You first need to create a registry and generate credentials, complete documentation for this can be found in From 6e3a40df979fe546e955b74b041c6ba9808b6ca2 Mon Sep 17 00:00:00 2001 From: Juampy NR Date: Sun, 17 May 2020 13:59:00 +0200 Subject: [PATCH 080/533] Fix broken phrase Seems like a phrase was cut in 2 by mistake. --- .../en/docs/tasks/run-application/horizontal-pod-autoscale.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md index f6852845ec..9360353b51 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -376,7 +376,7 @@ For scaling down the stabilization window is _300_ seconds(or the value of the for scaling down which allows a 100% of the currently running replicas to be removed which means the scaling target can be scaled down to the minimum allowed replicas. For scaling up there is no stabilization window. When the metrics indicate that the target should be -scaled up the target is scaled up immediately. There are 2 policies which. 4 pods or a 100% of the currently +scaled up the target is scaled up immediately. There are 2 policies which are 4 pods or a 100% of the currently running replicas will be added every 15 seconds till the HPA reaches its steady state. ### Example: change downscale stabilization window From 4f18583d199a950de87de89045f5c1f0bf891788 Mon Sep 17 00:00:00 2001 From: Sylvain COULOMBEL Date: Sun, 17 May 2020 16:54:52 +0200 Subject: [PATCH 081/533] In concept secret, add consumption as environment variable --- content/en/docs/concepts/configuration/secret.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/en/docs/concepts/configuration/secret.md b/content/en/docs/concepts/configuration/secret.md index 0fa5b13efa..cfc5252d87 100644 --- a/content/en/docs/concepts/configuration/secret.md +++ b/content/en/docs/concepts/configuration/secret.md @@ -29,12 +29,13 @@ Pod specification or in an image. Users can create secrets and the system also creates some secrets. To use a secret, a Pod needs to reference the secret. -A secret can be used with a Pod in two ways: +A secret can be used with a Pod in three ways: -- As files in a +- As [files](#using-secrets-as-files-from-a-pod) in a {{< glossary_tooltip text="volume" term_id="volume" >}} mounted on one or more of its containers. -- By the kubelet when pulling images for the Pod. +- As [container environment variable](#using-secrets-as-environment-variables). +- By the [kubelet when pulling images](#using-imagepullsecrets) for the Pod. ### Built-in Secrets From 203ab83f22103f117cd42cca4dc122626719ccc2 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 18 May 2020 12:46:06 +0900 Subject: [PATCH 082/533] update /ja/docs/concepts/overview/working-with-objects/names/ --- .../overview/working-with-objects/names.md | 66 +++++++++++++++++-- 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index b8762cb33c..903e0ba8fc 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -1,30 +1,82 @@ --- reviewers: -title: 名前 +title: オブジェクトの名前とID content_template: templates/concept weight: 20 --- {{% capture overview %}} -KubernetesのREST API内の全てのオブジェクトは、名前とUIDで明確に識別されます。 +クラスター内の各オブジェクトには、そのタイプのリソースに固有の[_名前_](#names)があります。 +すべてのKubernetesオブジェクトには、クラスター全体で一意の[_UID_](#uids)もあります。 -ユーザーが付与する一意ではない属性については、Kubernetesが[ラベル](/docs/user-guide/labels)と[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を付与します。 +たとえば、同じ[名前空間](/docs/concepts/overview/working-with-objects/namespaces/)内に`myapp-1234`という名前のPodは1つしか含められませんが、`myapp-1234`という名前の1つのPodと1つのDeploymentを含めることができます。 -名前とUIDに関する正確な構文については、[識別子デザインドキュメント](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)を参照してください。 +ユーザーが付与する一意ではない属性については、Kubernetesが[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)と[アノテーション](/ja/docs/concepts/overview/working-with-objects/annotations/)を付与します。 {{% /capture %}} {{% capture body %}} -## 名前 +## 名前 {#names} {{< glossary_definition term_id="name" length="all" >}} -慣例的に、Kubernetesリソースの名前は最長253文字で、かつ英小文字、数字、また`-`、`.`から構成します。しかし、特定のリソースはより具体的な制限があります。 +以下は、リソースに一般的に使用される3つのタイプの名前制約です。 -## UID +### DNSサブドメイン名 {#dns-subdomain-names} + +ほとんどのリソースタイプには、[RFC 1123](https://tools.ietf.org/html/rfc1123)で定義されているDNSサブドメイン名として使用できる名前が必要です。 +つまり、名前は次のとおりでなければなりません: + +- 253文字以内 +- 英小文字、数字、「-」または「.」のみを含む +- 英数字で始まる +- 英数字で終わる + +### DNSラベル名 {#dns-label-names} + +一部のリソースタイプでは、[RFC 1123](https://tools.ietf.org/html/rfc1123)で定義されているDNSラベル標準に従う名前が必要です。 +つまり、名前は次のとおりでなければなりません: + +- 63文字以内 +- 英小文字、数字または「-」のみを含む +- 英数字で始まる +- 英数字で終わる + +### パスセグメント名 {#path-segment-names} + +一部のリソースタイプでは、名前をパスセグメントとして安全にエンコードできるようにする必要があります。 +つまり、名前を「.」や「..」にすることはできず、名前に「/」または「%」を含めることはできません。 + +以下は、`nginx-demo`という名前のPodのマニフェストの例です。 + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: nginx-demo +spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 +``` + +{{< note >}} +一部のリソースタイプには、名前に追加の制限があります。 +{{< /note >}} + +## UID {#uids} {{< glossary_definition term_id="uid" length="all" >}} +Kubernetes UIDは、普遍的に一意の識別子(UUIDとも呼ばれます)です。 +UUIDは、ISO/IEC 9834-8およびITU-T X.667として標準化されています。 + +{{% /capture %}} +{{% capture whatsnext %}} +* Kubernetesの[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)についてお読みください。 +* [Kubernetesの識別子と名前](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)設計ドキュメントをご覧ください。 {{% /capture %}} From 4cfae3b87f8848c68ebc9cf0ee3b110eeac04f38 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 18 May 2020 12:52:44 +0900 Subject: [PATCH 083/533] update link to /ja/docs/concepts/overview/working-with-objects/names/ --- content/ja/docs/reference/glossary/name.md | 6 +++--- .../configure-pod-container/configure-pod-configmap.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/reference/glossary/name.md b/content/ja/docs/reference/glossary/name.md index c9b0bcd5ef..48c4ca4db9 100755 --- a/content/ja/docs/reference/glossary/name.md +++ b/content/ja/docs/reference/glossary/name.md @@ -2,17 +2,17 @@ title: 名前(Name) id: name date: 2018-04-12 -full_link: /docs/concepts/overview/working-with-objects/names +full_link: /ja/docs/concepts/overview/working-with-objects/names short_description: > クライアントから提供され、リソースURL内のオブジェクトを参照する文字列です。例えば`/api/v1/pods/何らかの名前`のようになります。 -aka: +aka: tags: - fundamental --- クライアントから提供され、リソースURL内のオブジェクトを参照する文字列です。例えば`/api/v1/pods/何らかの名前`のようになります。 - + 同じ種類のオブジェクトは、同じ名前を同時に持つことは出来ません。しかし、オブジェクトを削除することで、旧オブジェクトと同じ名前で新しいオブジェクトを作成できます。 diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index f23a98cb6b..17b39e7e1f 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -32,7 +32,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 kubectl create configmap ``` -\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names)である必要があります。 ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイル名になり、値はデフォルトでファイルの中身になります。 From cc3b3d003223054a1bbb49dc9737473162e3444d Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 20 May 2020 12:21:53 +0900 Subject: [PATCH 084/533] update /ja/docs/concepts/overview/working-with-objects/annotations/ --- .../working-with-objects/annotations.md | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/annotations.md b/content/ja/docs/concepts/overview/working-with-objects/annotations.md index c554311b6b..105bf87948 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/ja/docs/concepts/overview/working-with-objects/annotations.md @@ -5,7 +5,7 @@ weight: 50 --- {{% capture overview %}} -ユーザーは、識別用途でない任意のメタデータをオブジェクトに割り当てるためにアノテーションを使用できます。ツールやライブラリなどのクライアントは、このメタデータを取得できます。 +ユーザーは、識別用途でない任意のメタデータをオブジェクトに割り当てるためにアノテーションを使用できます。ツールやライブラリなどのクライアントは、このメタデータを取得できます。 {{% /capture %}} {{% capture body %}} @@ -52,13 +52,30 @@ weight: 50 _アノテーション_ はキーとバリューのペアです。有効なアノテーションのキーの形式は2つのセグメントがあります。 プレフィックス(オプション)と名前で、それらはスラッシュ`/`で区切られます。 名前セグメントは必須で、63文字以下である必要があり、文字列の最初と最後は英数字(`[a-z0-9A-Z]`)と、文字列の間にダッシュ(`-`)、アンダースコア(`_`)、ドット(`.`)を使うことができます。 -プレフィックスはオプションです。もしプレフィックスが指定されていた場合、プレフィックスはDNSサブドメイン形式である必要があり、それはドット(`.`)で区切られたDNSラベルのセットで、253文字以下である必要があり、最後にスラッシュ(`/`)が続きます。 +プレフィックスはオプションです。もしプレフィックスが指定されていた場合、プレフィックスはDNSサブドメイン形式である必要があり、それはドット(`.`)で区切られたDNSラベルのセットで、253文字以下である必要があり、最後にスラッシュ(`/`)が続きます。 もしプレフィックスが除外された場合、アノテーションキーはそのユーザーに対してプライベートであると推定されます。 エンドユーザーのオブジェクトにアノテーションを追加するような自動化されたシステムコンポーネント(例: `kube-scheduler` `kube-controller-manager` `kube-apiserver` `kubectl`やその他のサードパーティツール)は、プレフィックスを指定しなくてはなりません。 `kubernetes.io/`と`k8s.io/`プレフィックスは、Kubernetesコアコンポーネントのために予約されています。 +たとえば、`imageregistry: https://hub.docker.com/`というアノテーションが付いたPodの構成ファイルは次のとおりです: + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: annotations-demo + annotations: + imageregistry: "https://hub.docker.com/" +spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 +``` + {{% /capture %}} {{% capture whatsnext %}} From 43a201d50302f3771e8c5feabca3c56e3fa74ad4 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 20 May 2020 12:38:28 +0900 Subject: [PATCH 085/533] Update content/ja/docs/concepts/overview/working-with-objects/names.md Co-authored-by: nasa9084 --- content/ja/docs/concepts/overview/working-with-objects/names.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index 903e0ba8fc..b8e1335c58 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -12,7 +12,7 @@ weight: 20 たとえば、同じ[名前空間](/docs/concepts/overview/working-with-objects/namespaces/)内に`myapp-1234`という名前のPodは1つしか含められませんが、`myapp-1234`という名前の1つのPodと1つのDeploymentを含めることができます。 -ユーザーが付与する一意ではない属性については、Kubernetesが[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)と[アノテーション](/ja/docs/concepts/overview/working-with-objects/annotations/)を付与します。 +ユーザーが一意ではない属性を付与するために、Kubernetesは[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)と[アノテーション](/ja/docs/concepts/overview/working-with-objects/annotations/)を提供しています。 {{% /capture %}} From 72fa37e344f302d71e05a4f37947de9f2b9ecb6b Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 20 May 2020 12:41:02 +0900 Subject: [PATCH 086/533] apply review --- .../ja/docs/concepts/overview/working-with-objects/names.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index b8e1335c58..614e87903e 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -22,7 +22,7 @@ weight: 20 {{< glossary_definition term_id="name" length="all" >}} -以下は、リソースに一般的に使用される3つのタイプの名前制約です。 +以下は、一般的にリソースに使用される3種類の名前に関する制約です。 ### DNSサブドメイン名 {#dns-subdomain-names} @@ -72,11 +72,11 @@ spec: {{< glossary_definition term_id="uid" length="all" >}} -Kubernetes UIDは、普遍的に一意の識別子(UUIDとも呼ばれます)です。 +Kubernetes UIDは、UUIDのことを指します。 UUIDは、ISO/IEC 9834-8およびITU-T X.667として標準化されています。 {{% /capture %}} {{% capture whatsnext %}} * Kubernetesの[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)についてお読みください。 -* [Kubernetesの識別子と名前](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)設計ドキュメントをご覧ください。 +* [Kubernetesの識別子と名前](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)デザインドキュメントをご覧ください。 {{% /capture %}} From 629e77d6b757601168dc66cbaf703d8d517e21e2 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 20 May 2020 12:45:38 +0900 Subject: [PATCH 087/533] update link to /ja/docs/concepts/overview/working-with-objects/annotations/ --- content/ja/docs/concepts/overview/what-is-kubernetes.md | 2 +- .../ja/docs/concepts/overview/working-with-objects/labels.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/overview/what-is-kubernetes.md b/content/ja/docs/concepts/overview/what-is-kubernetes.md index 2675eaf0c9..a80a785333 100644 --- a/content/ja/docs/concepts/overview/what-is-kubernetes.md +++ b/content/ja/docs/concepts/overview/what-is-kubernetes.md @@ -34,7 +34,7 @@ Kubernetesは、**コンテナを中心とした**管理基盤です。ユーザ Kubernetesが多くの機能を提供すると言いつつも、新しい機能から恩恵を受ける新しいシナリオは常にあります。アプリケーション固有のワークフローを効率化して開発者のスピードを早めることができます。最初は許容できるアドホックなオーケストレーションでも、大規模で堅牢な自動化が必要となることはしばしばあります。これが、Kubernetesがアプリケーションのデプロイ、拡張、および管理を容易にするために、コンポーネントとツールのエコシステムを構築するための基盤としても機能するように設計された理由です。 -[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)を使用すると、ユーザーは自分のリソースを整理できます。[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を使用すると、ユーザーは自分のワークフローを容易にし、管理ツールが状態をチェックするための簡単な方法を提供するためにカスタムデータを使ってリソースを装飾できるようになります。 +[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)を使用すると、ユーザーは自分のリソースを整理できます。[アノテーション](/ja/docs/concepts/overview/working-with-objects/annotations/)を使用すると、ユーザーは自分のワークフローを容易にし、管理ツールが状態をチェックするための簡単な方法を提供するためにカスタムデータを使ってリソースを装飾できるようになります。 さらに、[Kubernetesコントロールプレーン](/ja/docs/concepts/overview/components/)は、開発者やユーザーが使える[API](/docs/reference/using-api/api-overview/)の上で成り立っています。ユーザーは[スケジューラー](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/devel/scheduler.md)などの独自のコントローラーを、汎用の[コマンドラインツール](/docs/user-guide/kubectl-overview/)で使える[独自のAPI](/docs/concepts/api-extension/custom-resources/)を持たせて作成することができます。 diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index 7afead6cb0..ec6f9f7201 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -20,7 +20,7 @@ _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキ ``` ラベルは効率的な検索・閲覧を可能にし、UIやCLI上での利用に最適です。 -識別用途でない情報は、[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を用いて記録されるべきです。 +識別用途でない情報は、[アノテーション](/ja/docs/concepts/overview/working-with-objects/annotations/)を用いて記録されるべきです。 {{% /capture %}} From 2a560b906197d43bda0623bbfaecff9f9ee95e41 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Thu, 21 May 2020 09:28:37 +0900 Subject: [PATCH 088/533] apply review --- content/ja/docs/concepts/overview/working-with-objects/names.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index 614e87903e..7e36d1bd36 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -22,7 +22,7 @@ weight: 20 {{< glossary_definition term_id="name" length="all" >}} -以下は、一般的にリソースに使用される3種類の名前に関する制約です。 +次の3つの命名規則がよく使われます。 ### DNSサブドメイン名 {#dns-subdomain-names} From 464a7667aa80c5ec0687bc281560f0a05c1acba3 Mon Sep 17 00:00:00 2001 From: Prasad Katti Date: Wed, 20 May 2020 18:41:33 -0700 Subject: [PATCH 089/533] Rename 'Download Kubernetes' card to 'Release Notes' on home page --- content/en/docs/home/_index.md | 4 ++-- content/en/docs/setup/release/notes.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/home/_index.md b/content/en/docs/home/_index.md index dcaf693039..9791e7ada1 100644 --- a/content/en/docs/home/_index.md +++ b/content/en/docs/home/_index.md @@ -56,8 +56,8 @@ cards: description: Anyone can contribute, whether you’re new to the project or you’ve been around a long time. button: Contribute to the docs button_path: /docs/contribute -- name: download - title: Download Kubernetes +- name: release-notes + title: Release Notes description: If you are installing Kubernetes or upgrading to the newest version, refer to the current release notes. - name: about title: About the documentation diff --git a/content/en/docs/setup/release/notes.md b/content/en/docs/setup/release/notes.md index a344a11fc0..d80d6c0ffd 100644 --- a/content/en/docs/setup/release/notes.md +++ b/content/en/docs/setup/release/notes.md @@ -2,7 +2,7 @@ title: v1.18 Release Notes weight: 10 card: - name: download + name: release-notes weight: 20 anchors: - anchor: "#" From 0754e19b8d3430c0fdf0d63f29452e71a69f43cd Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Thu, 21 May 2020 11:12:35 +0900 Subject: [PATCH 090/533] update /ja/docs/concepts/overview/working-with-objects/common-labels/ --- .../overview/working-with-objects/common-labels.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/common-labels.md b/content/ja/docs/concepts/overview/working-with-objects/common-labels.md index 9a6c4508df..1fd5ea64fa 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/common-labels.md @@ -128,11 +128,11 @@ kind: StatefulSet metadata: labels: app.kubernetes.io/name: mysql - app.kubernetes.io/instance: wordpress-abcxzy + app.kubernetes.io/instance: mysql-abcxzy + app.kubernetes.io/version: "5.7.21" app.kubernetes.io/managed-by: helm app.kubernetes.io/component: database app.kubernetes.io/part-of: wordpress - app.kubernetes.io/version: "5.7.21" ... ``` @@ -143,14 +143,14 @@ kind: Service metadata: labels: app.kubernetes.io/name: mysql - app.kubernetes.io/instance: wordpress-abcxzy + app.kubernetes.io/instance: mysql-abcxzy + app.kubernetes.io/version: "5.7.21" app.kubernetes.io/managed-by: helm app.kubernetes.io/component: database app.kubernetes.io/part-of: wordpress - app.kubernetes.io/version: "5.7.21" ... ``` MySQLの`StatefulSet`と`Service`により、MySQLとWordPressに関するより広範な情報が含まれていることに気づくでしょう。 -{{% /capture %}} \ No newline at end of file +{{% /capture %}} From 3088bc0221a88ad0a1a04fb02a0ce872333652c6 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 22 May 2020 14:45:54 +0900 Subject: [PATCH 091/533] update /ja/docs/concepts/overview/working-with-objects/namespaces/ --- .../working-with-objects/namespaces.md | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md index 223fec9ce9..7cff1892e0 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md @@ -20,7 +20,7 @@ Namespaceは、複数のチーム・プロジェクトにまたがる多くの 数人から数十人しかユーザーのいないクラスターに対して、あなたはNamespaceを作成したり、考える必要は全くありません。 Kubernetesが提供するNamespaceの機能が必要となった時に、Namespaceの使用を始めてください。 -Namespaceは名前空間のスコープを提供します。リソース名は単一のNamespace内ではユニークである必要がありますが、Namespace全体ではその必要はありません。 +Namespaceは名前空間のスコープを提供します。リソース名は単一のNamespace内ではユニークである必要がありますが、Namespace全体ではその必要はありません。Namespaceは相互にネストすることはできず、各Kubernetesリソースは1つのNamespaceにのみ存在できます。 Namespaceは、複数のユーザーの間でクラスターリソースを分割する方法です。(これは[リソースクォータ](/docs/concepts/policy/resource-quotas/)を介して分割します。) @@ -38,7 +38,7 @@ Namespaceの作成と削除方法は[Namespaceの管理ガイドドキュメン ユーザーは、以下の方法で単一クラスター内の現在のNamespaceの一覧を表示できます。 ```shell -kubectl get namespaces +kubectl get namespace ``` ``` NAME STATUS AGE @@ -56,12 +56,13 @@ Kubernetesの起動時には3つの初期Namespaceが作成されています。 ### Namespaceの設定 -一時的な要求のためにNamespaceを設定したい場合、`--namespace`フラグを使用します。 +現在のリクエストのNamespaceを設定するには、`--namespace`フラグを使用します。 + 例: ```shell -kubectl --namespace= run nginx --image=nginx -kubectl --namespace= get pods +kubectl run nginx --image=nginx --namespace= +kubectl get pods --namespace= ``` ### Namespace設定の永続化 @@ -69,9 +70,9 @@ kubectl --namespace= get pods ユーザーはあるコンテキストのその後のコマンドで使うために、コンテキスト内で永続的にNamespaceを保存できます。 ```shell -kubectl config set-context $(kubectl config current-context) --namespace= +kubectl config set-context --current --namespace= # Validate it -kubectl config view | grep namespace: +kubectl config view --minify | grep namespace: ``` ## NamespaceとDNS @@ -98,3 +99,9 @@ kubectl api-resources --namespaced=false ``` {{% /capture %}} + +{{% capture whatsnext %}} +* [新しいNamespaceの作成](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace)について学習してください。 +* [Namespaceの削除](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace)について学習してください。 + +{{% /capture %}} From 718e2fe9c8b217809aad53a04f4713cfb8e7baec Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 22 May 2020 14:50:08 +0900 Subject: [PATCH 092/533] update links --- .../concepts/overview/working-with-objects/namespaces.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md index 7cff1892e0..1c5d729f95 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md @@ -27,11 +27,11 @@ Namespaceは、複数のユーザーの間でクラスターリソースを分 Kubernetesの将来的なバージョンにおいて、同一のNamespace内のオブジェクトは、デフォルトで同一のアクセスコントロールポリシーが適用されます。 同じアプリケーションの異なるバージョンなど、少し違うリソースをただ分割するだけに、複数のNamespaceを使う必要はありません。 -同一のNamespace内でリソースを区別するためには[ラベル](/docs/user-guide/labels)を使用してください。 +同一のNamespace内でリソースを区別するためには[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)を使用してください。 ## Namespaceを利用する -Namespaceの作成と削除方法は[Namespaceの管理ガイドドキュメント](/docs/admin/namespaces)に記載されています。 +Namespaceの作成と削除方法は[Namespaceの管理ガイドドキュメント](/docs/tasks/administer-cluster/namespaces/)に記載されています。 ### Namespaceの表示 @@ -77,7 +77,7 @@ kubectl config view --minify | grep namespace: ## NamespaceとDNS -ユーザーが[Service](/docs/user-guide/services)を作成するとき、Serviceは対応する[DNSエントリ](/ja/docs/concepts/services-networking/dns-pod-service/)を作成します。 +ユーザーが[Service](/ja/docs/concepts/services-networking/service/)を作成するとき、Serviceは対応する[DNSエントリ](/ja/docs/concepts/services-networking/dns-pod-service/)を作成します。 このエントリは`..svc.cluster.local`という形式になり,これはもしあるコンテナがただ``を指定していた場合、Namespace内のローカルのServiceに対して名前解決されます。 これはデベロップメント、ステージング、プロダクションといって複数のNamespaceをまたいで同じ設定を使う時に効果的です。 もしユーザーがNamespaceをまたいでアクセスしたい時、 完全修飾ドメイン名(FQDN)を指定する必要があります。 @@ -86,7 +86,7 @@ kubectl config view --minify | grep namespace: ほとんどのKubernetesリソース(例えば、Pod、Service、ReplicationControllerなど)はいくつかのNamespaceにあります。 しかしNamespaceのリソースそれ自体は単一のNamespace内にありません。 -そして[Node](/docs/admin/node)やPersistentVolumeのような低レベルのリソースはどのNamespaceにも属していません。 +そして[Node](/ja/docs/concepts/architecture/nodes/)やPersistentVolumeのような低レベルのリソースはどのNamespaceにも属していません。 どのKubernetesリソースがNamespaceに属しているか、属していないかを見るためには、以下のコマンドで確認できます。 From 0f8ad9b65c780fabad5d546f26b07cffe7eb5519 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 22 May 2020 16:40:39 +0900 Subject: [PATCH 093/533] remove new line --- .../ja/docs/concepts/overview/working-with-objects/names.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index 7e36d1bd36..18c762aea5 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -7,8 +7,7 @@ weight: 20 {{% capture overview %}} -クラスター内の各オブジェクトには、そのタイプのリソースに固有の[_名前_](#names)があります。 -すべてのKubernetesオブジェクトには、クラスター全体で一意の[_UID_](#uids)もあります。 +クラスター内の各オブジェクトには、そのタイプのリソースに固有の[_名前_](#names)があります。すべてのKubernetesオブジェクトには、クラスター全体で一意の[_UID_](#uids)もあります。 たとえば、同じ[名前空間](/docs/concepts/overview/working-with-objects/namespaces/)内に`myapp-1234`という名前のPodは1つしか含められませんが、`myapp-1234`という名前の1つのPodと1つのDeploymentを含めることができます。 From 8b7e900e39da7883858bb2da3162df11f657118c Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Fri, 22 May 2020 19:00:25 +0100 Subject: [PATCH 094/533] Revise prerequisites The previous content recommended running "kubectl version", which will error out for readers who have not yet configured a cluster. Reword with that in mind. --- .../configure-access-multiple-clusters.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index acd023548a..5d47a4afc5 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -25,7 +25,12 @@ It does not mean that there is a file named `kubeconfig`. {{% capture prerequisites %}} -{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} +{{< include "task-tutorial-prereqs.md" >}} + +To check that {{< glossary_tooltip text="kubectl" term_id="kubectl" >}} is installed, +run `kubectl version --client`. The kubectl version should be +[within one minor version](/docs/setup/release/version-skew-policy/#kubectl) of your +cluster's API server. {{% /capture %}} From 5ca114cb855f520521a376da22bfa50c6cf691c2 Mon Sep 17 00:00:00 2001 From: muldoon2007 Date: Fri, 22 May 2020 18:40:46 -0700 Subject: [PATCH 095/533] Fix inconsistency in pod anti-affinity example. It looks like a previous version of the anti-affinity code in this example had `topologyKey: node`. --- .../en/docs/concepts/scheduling-eviction/assign-pod-node.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md b/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md index 79a9487c60..1ea74e8474 100644 --- a/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md +++ b/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md @@ -213,10 +213,8 @@ as at least one already-running pod that has a label with key "security" and val on node N if node N has a label with key `failure-domain.beta.kubernetes.io/zone` and some value V such that there is at least one node in the cluster with key `failure-domain.beta.kubernetes.io/zone` and value V that is running a pod that has a label with key "security" and value "S1".) The pod anti-affinity -rule says that the pod prefers not to be scheduled onto a node if that node is already running a pod with label -having key "security" and value "S2". (If the `topologyKey` were `failure-domain.beta.kubernetes.io/zone` then -it would mean that the pod cannot be scheduled onto a node if that node is in the same zone as a pod with -label having key "security" and value "S2".) See the +rule says that the pod cannot be scheduled onto a node if that node is in the same zone as a pod with +label having key "security" and value "S2". See the [design doc](https://git.k8s.io/community/contributors/design-proposals/scheduling/podaffinity.md) for many more examples of pod affinity and anti-affinity, both the `requiredDuringSchedulingIgnoredDuringExecution` flavor and the `preferredDuringSchedulingIgnoredDuringExecution` flavor. From fb3ae3efc923121726362a29c552068324bcc96b Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 23 May 2020 13:34:33 +0900 Subject: [PATCH 096/533] Translate tasks/access-application-cluster/web-ui-dashboard/ into Japanese --- .../ja/docs/concepts/workloads/pods/pod.md | 2 +- .../web-ui-dashboard.md | 167 ++++++++++++++++++ 2 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index e0d9c951b4..2fb5aed647 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -164,7 +164,7 @@ Node上では、すぐに終了するように設定されるPodは、強制終 強制削除は、Podによっては潜在的に危険な場合があるため、慎重に実行する必要があります。 StatefulSetのPodについては、[StatefulSetからPodを削除するためのタスクのドキュメント](/ja/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 -## Podコンテナの特権モード +## Podコンテナの特権モード {#privileged-mode-for-pod-containers} Kubernetes v1.1以降、Pod内のどのコンテナでも、コンテナ仕様の `SecurityContext` の `privileged ` フラグを使用して特権モードを有効にできます。 これは、ネットワークスタックの操作やデバイスへのアクセスなど、Linuxの機能を使用したいコンテナにとって役立ちます。 diff --git a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md new file mode 100644 index 0000000000..af6050c3fa --- /dev/null +++ b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -0,0 +1,167 @@ +--- +title: Web UI (Dashboard) +content_template: templates/concept +weight: 10 +card: + name: tasks + weight: 30 + title: Web UIダッシュボードを使用する +--- + +{{% capture overview %}} + +ダッシュボードは、WebベースのKubernetesユーザーインターフェイスです。ダッシュボードを使用して、コンテナ化されたアプリケーションをKubernetesクラスターにデプロイしたり、コンテナ化されたアプリケーションをトラブルシューティングしたり、クラスターリソースを管理したりすることができます。ダッシュボードを使用して、クラスター上で実行されているアプリケーションの概要を把握したり、個々のKubernetesリソース(Deployments、Jobs、DaemonSetsなど)を作成または修正したりすることができます。たとえば、Deploymentのスケール、ローリングアップデートの開始、Podの再起動、デプロイウィザードを使用した新しいアプリケーションのデプロイなどが可能です。 + +ダッシュボードでは、クラスター内のKubernetesリソースの状態や、発生した可能性のあるエラーに関する情報も提供されます。 + +![Kubernetes Dashboard UI](/images/docs/ui-dashboard.png) + +{{% /capture %}} + + +{{% capture body %}} + +## ダッシュボードUIのデプロイ + +ダッシュボードUIはデフォルトではデプロイされていません。デプロイするには、以下のコマンドを実行します: + +``` +kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml +``` + +## ダッシュボードUIへのアクセス + + +クラスタデータを保護するために、ダッシュボードはデフォルトで最小限のRBAC構成でデプロイします。現在、ダッシュボードはBearer Tokenによるログインのみをサポートしています。このデモ用のトークンを作成するには、[サンプルユーザーの作成](https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md)ガイドに従ってください。 + +{{< warning >}} +チュートリアルで作成されたサンプルユーザーには管理者権限が与えられ、教育目的のみに使用されます。 +{{< /warning >}} + +### コマンドラインプロキシー +以下のコマンドを実行することで、kubectlコマンドラインツールを使ってダッシュボードにアクセスすることができます: + +``` +kubectl proxy +``` + +kubectlは、ダッシュボードを http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ で利用できるようにします。 + +UIはコマンドを実行しているマシンから_のみ_ アクセスできます。オプションについては`kubectl proxy --help`を参照してください。 + +{{< note >}} +Kubeconfigの認証方法は、外部IDプロバイダーやx509証明書ベースの認証には対応していません。 +{{< /note >}} + +## ウェルカムビュー + +空のクラスターでダッシュボードにアクセスすると、ウェルカムページが表示されます。このページには、このドキュメントへのリンクと、最初のアプリケーションをデプロイするためのボタンが含まれています。さらに、クラスターの`kube-system`[名前空間](/docs/tasks/administer-cluster/namespaces/)でデフォルトで実行されているシステムアプリケーション、たとえばダッシュボード自体を見ることができます。 + +![Kubernetes Dashboard welcome page](/images/docs/ui-dashboard-zerostate.png) + +## コンテナ化されたアプリケーションのデプロイ + +ダッシュボードを使用すると、簡単なウィザードでコンテナ化されたアプリケーションをDeploymentとオプションのServiceとして作成してデプロイすることができます。アプリケーションの詳細を手動で指定するか、アプリケーションの設定を含むYAMLまたはJSONファイルをアップロードすることができます。 + +任意のページの右上にある**CREATE**ボタンをクリックして開始します。 + +### Specifying application details + +デプロイウィザードでは、以下の情報を入力する必要があります: + +- **App name** (必須): アプリケーションの名前です。その名前の[label](/ja/docs/concepts/overview/working-with-objects/labels/)は、デプロイされるDeploymentとServiceに追加されます。 + + アプリケーション名は、選択したKubernetes[名前空間](/docs/tasks/administer-cluster/namespaces/)内で一意である必要があります。小文字で始まり、小文字または数字で終わり、小文字、数字、ダッシュ(-)のみを含む必要があります。文字数は24文字に制限されています。先頭と末尾のスペースは無視されます。 + +- **Container image** (必須): 任意のレジストリ上の公開Docker[コンテナイメージ](/docs/concepts/containers/images/)、またはプライベートイメージ(一般的にはGoogle Container RegistryやDocker Hub上でホストされている)のURLです。コンテナイメージの指定はコロンで終わらせる必要があります。 + +- **Number of pods** (必須): アプリケーションをデプロイするPodのターゲット数です。値は正の整数である必要があります。 + + クラスタ全体で必要な数のPodを維持するために、[Deployment](/ja/docs/concepts/workloads/controllers/deployment/)が作成されます。 + +- **Service** (任意): アプリケーションのいくつかの部分(たとえばフロントエンド)では、[Service](/ja/docs/concepts/services-networking/service/)をクラスター外の外部、おそらくパブリックIPアドレス(外部サービス)に公開したいと思うかもしれません。外部サービスの場合は、そのために1つ以上のポートを開放する必要があるかもしれません。詳細は[こちら](/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/)を参照してください。 + + クラスター内部からしか見えないその他のサービスは、内部サービスと呼ばれます。 + + サービスの種類にかかわらず、サービスを作成し、コンテナがポート(受信)をリッスンする場合は、2つのポートを指定する必要があります。サービスは、ポート(受信)をコンテナから見たターゲットポートにマッピングして作成されます。このサービスは、デプロイされたPodにルーティングされます。サポートされるプロトコルはTCPとUDPです。このサービスの内部DNS名は、上記のアプリケーション名として指定した値になります。 + +必要に応じて、**高度なオプション**セクションを展開して、より多くの設定を指定することができます: + +- **Description**: ここで入力したテキストは、[アノテーション](/ja/docs/concepts/overview/working-with-with-objects/annotations/)としてDeploymentに追加され、アプリケーションの詳細に表示されます。 + +- **Labels**: アプリケーションに使用するデフォルトの[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)は、アプリケーション名とバージョンです。リリース、環境、ティア、パーティション、リリーストラックなど、Deployment、Service(存在する場合)、Podに適用する追加のラベルを指定できます。 + + 例: + + ```conf +release=1.0 +tier=frontend +environment=pod +track=stable +``` + +- **Namespace**: Kubernetesは、同じ物理クラスターを基盤とする複数の仮想クラスターをサポートしています。これらの仮想クラスタは[名前空間](/docs/tasks/administer-cluster/namespaces/) と呼ばれます。これにより、リソースを論理的に名前のついたグループに分割することができます。 + + ダッシュボードでは、利用可能なすべての名前空間がドロップダウンリストに表示され、新しい名前空間を作成することができます。名前空間名には、最大63文字の英数字とダッシュ(-)を含めることができますが、大文字を含めることはできません。 + 名前空間名は数字だけで構成されるべきではありません。名前が10などの数値として設定されている場合、Podはデフォルトの名前空間に配置されます。 + + 名前空間の作成に成功した場合は、デフォルトで選択されます。作成に失敗した場合は、最初の名前空間が選択されます。 + +- **Image Pull Secret**: 指定されたDockerコンテナイメージがプライベートの場合、[pull secret](/docs/concepts/configuration/secret/)の認証情報が必要になる場合があります。 + + ダッシュボードでは、利用可能なすべてのSecretがドロップダウンリストに表示され、新しいSecretを作成できます。Secret名は DNSドメイン名の構文に従う必要があります。たとえば、`new.image-pull.secret`です。Secretの内容はbase64エンコードされ、[`.dockercfg`](/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod)ファイルで指定されている必要があります。Secret名は最大253文字で構成されます。 + + イメージプルシークレットの作成に成功した場合は、デフォルトで選択されています。作成に失敗した場合は、シークレットは適用されません。 + +- **CPU requirement (cores)**と**Memory requirement (MiB)**: コンテナの最小[リソース制限](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)を指定することができます。デフォルトでは、PodはCPUとメモリの制限がない状態で実行されます。 + +- **Run command**と**Run command arguments**: デフォルトでは、コンテナは指定されたDockerイメージのデフォルトの[entrypointコマンド](/docs/tasks/inject-data-application/define-command-argument-container/)を実行します。コマンドのオプションと引数を使ってデフォルトを上書きすることができます。 + +- **Run as privileged**: この設定は、[特権コンテナ](/ja/docs/concepts/workloads/pods/pod/#privileged-mode-for-pod-containers)内のプロセスが、ホスト上でrootとして実行されているプロセスと同等であるかどうかを決定します。特権コンテナは、ネットワークスタックの操作やデバイスへのアクセスなどの機能を利用できます。 + +- **Environment variables**: Kubernetesは[環境変数](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)を介してServiceを公開しています。環境変数を作成したり、環境変数の値を使ってコマンドに引数を渡したりすることができます。環境変数の値はServiceを見つけるためにアプリケーションで利用できます。値は`$(VAR_NAME)`構文を使用して他の変数を参照できます。 + +### YAMLまたはJSONファイルのアップロード + +Kubernetesは宣言的な設定をサポートしています。このスタイルでは、すべての設定は Kubernetes [API](/ja/docs/concepts/overview/kubernetes-api/)リソーススキーマを使用してYAMLまたは JSON設定ファイルに格納されます。 + +デプロイウィザードでアプリケーションの詳細を指定する代わりに、YAMLまたはJSONファイルでアプリケーションを定義し、ダッシュボードを使用してファイルをアップロードできます。 + +## ダッシュボードの使用 +以下のセクションでは、Kubernetes Dashboard UIのビュー、それらが提供するものとその使用方法について説明します。 + +### ナビゲーション + +クラスターにKubernetesオブジェクトが定義されている場合、ダッシュボードではそれらのオブジェクトが初期表示されます。デフォルトでは_default_ 名前空間のオブジェクトのみが表示されますが、これはナビゲーションメニューにある名前空間セレクターで変更できます。 + +ダッシュボードにはほとんどのKubernetesオブジェクトの種類が表示され、いくつかのメニューカテゴリーにグループ化されています。 + +#### 管理者の概要 +クラスターと名前空間の管理者向けに、ダッシュボードにはノード、名前空間、永続ボリュームが一覧表示され、それらの詳細ビューが用意されています。ノードリストビューには、すべてのノードにわたって集計されたCPUとメモリーのメトリクスが表示されます。詳細ビューには、ノードのメトリクス、仕様、ステータス、割り当てられたリソース、イベント、ノード上で実行されているPodが表示されます。 + +#### ワークロード +選択した名前空間で実行されているすべてのアプリケーションを表示します。このビューでは、アプリケーションがワークロードの種類(例:Deployment、ReplicaSet、StatefulSetなど)ごとに一覧表示され、各ワークロードの種類を個別に表示することができます。リストには、ReplicaSetの準備ができたPodの数やPodの現在のメモリ使用量など、ワークロードに関する実用的な情報がまとめられています。 + +ワークロードの詳細ビューには、ステータスや仕様情報、オブジェクト間の表面関係が表示されます。たとえば、ReplicaSetが制御しているPodや、新しいReplicaSet、DeploymentのためのHorizontal Pod Autoscalerなどです。 + +#### Service +外部の世界にサービスを公開し、クラスター内でサービスを発見できるようにするKubernetesリソースを表示します。そのため、ServiceとIngressのビューには、それらが対象とするPod、クラスター接続の内部エンドポイント、外部ユーザーの外部エンドポイントが表示されます。 + +#### ストレージ +ストレージビューには、アプリケーションがデータを保存するために使用するPersistentVolumeClaimリソースが表示されます。 + +#### ConfigMapとSecret +クラスターで実行されているアプリケーションのライブ設定に使用されているすべてのKubernetesリソースを表示します。このビューでは、設定オブジェクトの編集と管理が可能で、デフォルトで非表示になっているSecretを表示します。 + +#### ログビューアー +Podのリストと詳細ページは、ダッシュボードに組み込まれたログビューアーにリンクしています。このビューアーでは、単一のPodに属するコンテナからログをドリルダウンすることができます。 + +![Logs viewer](/images/docs/ui-dashboard-logs-view.png) + +{{% /capture %}} + +{{% capture whatsnext %}} + +詳細については[Kubernetes Dashboardプロジェクトページ](https://github.com/kubernetes/dashboard)をご覧ください。 + +{{% /capture %}} From a1503f22e93433b46a1556a9751be596cd8ad41e Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 23 May 2020 13:35:38 +0900 Subject: [PATCH 097/533] update links to /ja/docs/tasks/access-application-cluster/web-ui-dashboard/ --- content/ja/docs/concepts/overview/components.md | 2 +- content/ja/docs/setup/learning-environment/minikube.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/overview/components.md b/content/ja/docs/concepts/overview/components.md index 8cee84861a..a1e8d7f7dd 100644 --- a/content/ja/docs/concepts/overview/components.md +++ b/content/ja/docs/concepts/overview/components.md @@ -102,7 +102,7 @@ Kubernetesによって開始されたコンテナは、DNS検索にこのDNSサ ### Web UI (ダッシュボード) -[ダッシュボード](/docs/tasks/access-application-cluster/web-ui-dashboard/)は、Kubernetesクラスター用の汎用WebベースUIです。これによりユーザーはクラスターおよびクラスター内で実行されているアプリケーションについて、管理およびトラブルシューティングを行うことができます。 +[ダッシュボード](/ja/docs/tasks/access-application-cluster/web-ui-dashboard/)は、Kubernetesクラスター用の汎用WebベースUIです。これによりユーザーはクラスターおよびクラスター内で実行されているアプリケーションについて、管理およびトラブルシューティングを行うことができます。 ### コンテナリソース監視 diff --git a/content/ja/docs/setup/learning-environment/minikube.md b/content/ja/docs/setup/learning-environment/minikube.md index c626ae23ed..8758d54379 100644 --- a/content/ja/docs/setup/learning-environment/minikube.md +++ b/content/ja/docs/setup/learning-environment/minikube.md @@ -317,7 +317,7 @@ Minikubeはこのコンテキストを自動的にデフォルトに設定しま ### ダッシュボード -[Kubernetes Dashboard](/docs/tasks/access-application-cluster/web-ui-dashboard/)にアクセスするには、Minikubeを起動してアドレスを取得した後、シェルでこのコマンドを実行してください: +[Kubernetes Dashboard](/ja/docs/tasks/access-application-cluster/web-ui-dashboard/)にアクセスするには、Minikubeを起動してアドレスを取得した後、シェルでこのコマンドを実行してください: ```shell minikube dashboard From ef18c1afbb939611c6eca2489ae27353311b83e1 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 25 May 2020 09:04:38 +0900 Subject: [PATCH 098/533] update content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html --- content/ja/docs/concepts/workloads/pods/pod-overview.md | 2 +- .../kubernetes-basics/deploy-app/deploy-interactive.html | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-overview.md b/content/ja/docs/concepts/workloads/pods/pod-overview.md index 44388337c7..c3646c2100 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-overview.md +++ b/content/ja/docs/concepts/workloads/pods/pod-overview.md @@ -13,7 +13,7 @@ card: {{% capture body %}} -## Podについて理解する +## Podについて理解する {#understanding-pods} *Pod* は、Kubernetesアプリケーションの基本的な実行単位です。これは、作成またはデプロイするKubernetesオブジェクトモデルの中で最小かつ最も単純な単位です。Podは、{{< glossary_tooltip term_id="cluster" >}}で実行されているプロセスを表します。 diff --git a/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html b/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html index c73fff32f4..16fb297c7b 100644 --- a/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html +++ b/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html @@ -17,6 +17,13 @@ weight: 20
+
From a0a0a1b7c958a68314a6c5ab6fba62fc6fde626f Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 25 May 2020 09:07:37 +0900 Subject: [PATCH 099/533] update link to ja --- .../kubernetes-basics/deploy-app/deploy-interactive.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html b/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html index 16fb297c7b..c9d25cd3fb 100644 --- a/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html +++ b/content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html @@ -20,7 +20,7 @@ weight: 20

- Podは、Kubernetesアプリケーションの基本的な実行単位です。各Podは、クラスターで実行されているワークロードの一部を表します。Podの詳細はこちらです。。 + Podは、Kubernetesアプリケーションの基本的な実行単位です。各Podは、クラスターで実行されているワークロードの一部を表します。Podの詳細はこちらです。

From 569315f3a43df834acfed5f83e2ea5f34c02118c Mon Sep 17 00:00:00 2001 From: taknakamura Date: Mon, 25 May 2020 17:44:24 +0900 Subject: [PATCH 100/533] Fix typos --- .../docs/concepts/services-networking/service.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index b0497ad567..3328dd5536 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -196,7 +196,7 @@ iptablesモードのkube-proxyが正常なバックエンドPodのみをリダ Serviceにアクセスするとき、IPVSはトラフィックをバックエンドのPodに向けます。 IPVSプロキシーモードはiptablesモードと同様に、netfilterのフック関数に基づいています。ただし、基礎となるデータ構造としてハッシュテーブルを使っているのと、kernel-spaceで動作します。 -これは、IPVSモードにおけるkube-proxyはiptablesモードに比べてより低いレイテンシーでトラフィックをリダイレクトし、プロキシーのルールを同期する際にはよりパフォーマンスがよいことを意味します。   +これは、IPVSモードにおけるkube-proxyはiptablesモードに比べてより低いレイテンシーでトラフィックをリダイレクトし、プロキシーのルールを同期する際にはよりパフォーマンスがよいことを意味します。 他のプロキシーモードと比較して、IPVSモードはより高いネットワークトラフィックのスループットをサポートしています。 IPVSはバックエンドPodに対するトラフィックのバランシングのために多くのオプションを下記のとおりに提供します。 @@ -219,7 +219,7 @@ kube-proxyはIPVSモードで起動する場合、IPVSカーネルモジュー このダイアグラムのプロキシーモデルにおいて、ServiceのIP:Portに対するトラフィックは、クライアントがKubernetesのServiceやPodについて何も知ることなく適切にバックエンドにプロキシーされています。 -特定のクライアントからのコネクションが、毎回同一のPodにリダイレクトされるようにするためには、`service.spec.sessionAffinity`を"ClientIP"にセットすることにより、クライアントのIPアドレスに基づいたSessionAffinityを選択することができます(デフォルトは"None")。 +特定のクライアントからのコネクションが、毎回同一のPodにリダイレクトされるようにするためには、`service.spec.sessionAffinity`に"ClientIP"を設定することにより、クライアントのIPアドレスに基づいたSessionAffinityを選択することができます(デフォルトは"None")。 また、`service.spec.sessionAffinityConfig.clientIP.timeoutSeconds`を適切に設定することにより、セッションのタイムアウト時間を設定できます(デフォルトではこの値は18,000で、3時間となります)。 ## 複数のポートを公開するService @@ -357,7 +357,7 @@ Ingressは同一のIPアドレスにおいて、複数のServiceを公開する 各Nodeはそのポート(各Nodeで同じポート番号)への通信をServiceに転送します。 作成したServiceは、`.spec.ports[*].nodePort`フィールド内に割り当てられたポートを記述します。 -もしポートへの通信を転送する特定のIPを指定したい場合、特定のIPブロックをkube-proxyの`--nodeport-address`フラグで指定できます。これはKubernetesv1.10からサポートされています。 +もしポートへの通信を転送する特定のIPを指定したい場合、特定のIPブロックをkube-proxyの`--nodeport-address`フラグで指定できます。これはKubernetes v1.10からサポートされています。 このフラグは、コンマ区切りのIPブロックのリスト(例: 10.0.0./8, 192.0.2.0/25)を使用し、kube-proxyがこのNodeに対してローカルとみなすべきIPアドレスの範囲を指定します。 例えば、`--nodeport-addresses=127.0.0.0/8`というフラグによってkube-proxyを起動した時、kube-proxyはNodePort Serviceのためにループバックインターフェースのみ選択します。`--nodeport-addresses`のデフォルト値は空のリストになります。これはkube-proxyがNodePort Serviceに対して全てのネットワークインターフェースを利用可能とするべきということを意味します(これは以前のKubernetesのバージョンとの互換性があります)。 @@ -512,7 +512,7 @@ metadata: 2つ目のアノテーションはPodが利用するプロトコルを指定するものです。HTTPSとSSLの場合、ELBはそのPodが証明書を使って暗号化されたコネクションを介して自分自身のPodを認証すると推測します。 -HTTPとHTTPSでは、レイヤー7でのプロキシーを選択します。ELBはユーザーとのコネクションを切断し、リクエストを転送するときにリクエストヘッダーをパースして、`X-Forwardef-For`ヘッダーにユーザーのIPを追加します(Podは接続相手のELBのIPアドレスのみ確認可能です)。 +HTTPとHTTPSでは、レイヤー7でのプロキシーを選択します。ELBはユーザーとのコネクションを切断し、リクエストを転送するときにリクエストヘッダーをパースして、`X-Forwarded-For`ヘッダーにユーザーのIPを追加します(Podは接続相手のELBのIPアドレスのみ確認可能です)。 TCPとSSLでは、レイヤー4でのプロキシーを選択します。ELBはヘッダーの値を変更せずにトラフィックを転送します。 @@ -740,14 +740,14 @@ IPv4アドレスに似ているExternalNamesはCoreDNSもしくはIngress-Nginx IPアドレスをハードコードする場合、[Headless Service](#headless-service)の使用を検討してください。 {{< /note >}} -`my-service.prod.svc.cluster.local`というホストをルックアップするとき、クラスターのDNS Serviceは`CNAME`レコードと`my.database.example.com`という値を返します。 +`my-service.prod.svc.cluster.local`というホストをルックアップするとき、クラスターのDNS Serviceは`my.database.example.com`という値をもつ`CNAME`レコードを返します。 `my-service`へのアクセスは、他のServiceと同じ方法ですが、再接続する際はプロキシーや転送を介して行うよりも、DNSレベルで行われることが決定的に異なる点となります。 -後にユーザーが使用しているデータベースをクラスター内に移行することになった後は、Podを起動させ、適切なラベルセレクターやEndpointsを追加し、Serviceの`type`を変更します。 +後にユーザーが使用しているデータベースをクラスター内に移行することになった場合は、Podを起動させ、適切なラベルセレクターやEndpointsを追加し、Serviceの`type`を変更します。 {{< warning >}} HTTPやHTTPSなどの一般的なプロトコルでExternalNameを使用する際に問題が発生する場合があります。ExternalNameを使用する場合、クラスター内のクライアントが使用するホスト名は、ExternalNameが参照する名前とは異なります。 -ホスト名を使用するプロトコルの場合、この違いによりエラーまたは予期しない応答が発生する場合があります。HTTPリクエストには、オリジンサーバーが認識しない`Host:`ヘッダーがあります。TLSサーバーは、クライアントが接続したホスト名に一致する証明書を提供できません。 +ホスト名を使用するプロトコルの場合、この違いによりエラーまたは予期しない応答が発生する場合があります。HTTPリクエストがオリジンサーバーが認識しない`Host:`ヘッダーを持っていたなら、TLSサーバーはクライアントが接続したホスト名に一致する証明書を提供できません。 {{< /warning >}} {{< note >}} @@ -800,7 +800,7 @@ iptablesプロキシーモードはクラスター内の送信元IPを不明瞭 ### 衝突の回避 Kubernetesの主要な哲学のうちの一つは、ユーザーは、ユーザー自身のアクションによるミスでないものによって、ユーザーのアクションが失敗するような状況に晒されるべきでないことです。 -Serviceリソースの設計のでは、これはユーザーの指定したポートが衝突する可能性がある場合は、そのポートのServiceを作らないことを意味します。これは障害を分離することとなります。 +Serviceリソースの設計において、これはユーザーの指定したポートが衝突する可能性がある場合はそのポートのServiceを作らないことを意味します。これは障害を分離することとなります。 Serviceのポート番号を選択できるようにするために、我々はどの2つのServiceでもポートが衝突しないことを保証します。 Kubernetesは各Serviceに、それ自身のIPアドレスを割り当てることで実現しています。 From 62411bda7682aa677a823e0f935dc031d790943f Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 26 May 2020 09:37:30 +0900 Subject: [PATCH 101/533] rename container-environment-variable to container-environment --- .../cluster-administration/cluster-administration-overview.md | 2 +- ...tainer-environment-variables.md => container-environment.md} | 2 +- .../ja/docs/concepts/containers/container-lifecycle-hooks.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename content/ja/docs/concepts/containers/{container-environment-variables.md => container-environment.md} (98%) diff --git a/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md index 3aec349748..645193d934 100644 --- a/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -39,7 +39,7 @@ Kubernetesクラスターの計画、セットアップ、設定の例を知る * [Certificates](/docs/concepts/cluster-administration/certificates/)では、異なるツールチェインを使用して証明書を作成する方法を説明します。 -* [Kubernetes コンテナの環境](/ja/docs/concepts/containers/container-environment-variables/)では、Kubernetesノード上でのKubeletが管理するコンテナの環境について説明します。 +* [Kubernetes コンテナの環境](/ja/docs/concepts/containers/container-environment/)では、Kubernetesノード上でのKubeletが管理するコンテナの環境について説明します。 * [Kubernetes APIへのアクセス制御](/docs/reference/access-authn-authz/controlling-access/)では、ユーザーとサービスアカウントの権限の設定方法について説明します。 diff --git a/content/ja/docs/concepts/containers/container-environment-variables.md b/content/ja/docs/concepts/containers/container-environment.md similarity index 98% rename from content/ja/docs/concepts/containers/container-environment-variables.md rename to content/ja/docs/concepts/containers/container-environment.md index 1057cc0518..c95248420b 100644 --- a/content/ja/docs/concepts/containers/container-environment-variables.md +++ b/content/ja/docs/concepts/containers/container-environment.md @@ -1,5 +1,5 @@ --- -title: コンテナ環境変数 +title: コンテナ環境 content_template: templates/concept weight: 20 --- diff --git a/content/ja/docs/concepts/containers/container-lifecycle-hooks.md b/content/ja/docs/concepts/containers/container-lifecycle-hooks.md index 943e77aae2..da5949374e 100644 --- a/content/ja/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/ja/docs/concepts/containers/container-lifecycle-hooks.md @@ -97,7 +97,7 @@ Events: {{% capture whatsnext %}} -* [コンテナ環境](/docs/concepts/containers/container-environment-variables/)の詳細 +* [コンテナ環境](/ja/docs/concepts/containers/container-environment/)の詳細 * [コンテナライフサイクルイベントへのハンドラー紐付け](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)のハンズオン From 977614aae80eeaab9976f50397761ee52f8446d7 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 26 May 2020 14:20:06 +0900 Subject: [PATCH 102/533] Translate /docs/concepts/containers/overview/ into Japanese --- .../ja/docs/concepts/containers/overview.md | 31 +++++++++++++++++++ .../reference/glossary/container-runtime.md | 8 ++--- 2 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 content/ja/docs/concepts/containers/overview.md diff --git a/content/ja/docs/concepts/containers/overview.md b/content/ja/docs/concepts/containers/overview.md new file mode 100644 index 0000000000..a5960ae116 --- /dev/null +++ b/content/ja/docs/concepts/containers/overview.md @@ -0,0 +1,31 @@ +--- +title: コンテナの概要 +content_template: templates/concept +weight: 1 +--- + +{{% capture overview %}} + +コンテナは、アプリケーションの(コンパイルされた)コードと、実行時に必要な依存関係をパッケージ化するための技術です。実行する各コンテナは再現性があります。依存関係を含めることによる標準化は、どこで実行しても同じ動作が得られることを意味します。 + +コンテナは、基礎となるホストインフラストラクチャからアプリケーションを切り離します。これにより、さまざまなクラウド環境やOS環境でのデプロイが容易になります。 + +{{% /capture %}} + + +{{% capture body %}} + +## コンテナイメージ {#container-images} +[コンテナイメージ](/docs/concepts/containers/images/)は、アプリケーションを実行するために必要なすべてのものを含んだ、すぐに実行可能なソフトウェアパッケージです。コードとそれが必要とする任意のランタイム、アプリケーションとシステムのライブラリ、および必須の設定のデフォルト値が含まれています。 + +設計上、コンテナは不変であるため、すでに実行中のコンテナのコードを変更することはできません。コンテナ化されたアプリケーションがあり、変更を加えたい場合は、変更を含む新しいコンテナをビルドし、コンテナを再作成して更新されたイメージから起動する必要があります。 + +## コンテナランタイム {#container-runtimes} + +{{< glossary_definition term_id="container-runtime" length="all" >}} + +{{% /capture %}} +{{% capture whatsnext %}} +* [コンテナイメージ](/docs/concepts/containers/images/)についてお読みください。 +* [Pod](/ja/docs/concepts/workloads/pods/)についてお読みください。 +{{% /capture %}} diff --git a/content/ja/docs/reference/glossary/container-runtime.md b/content/ja/docs/reference/glossary/container-runtime.md index 23cc888ee0..59d9dbb2bc 100644 --- a/content/ja/docs/reference/glossary/container-runtime.md +++ b/content/ja/docs/reference/glossary/container-runtime.md @@ -2,7 +2,7 @@ title: コンテナランタイム id: container-runtime date: 2019-06-05 -full_link: /docs/reference/generated/container-runtime +full_link: /ja/docs/setup/production-environment/container-runtimes short_description: > コンテナランタイムは、コンテナの実行を担当するソフトウェアです。 @@ -16,7 +16,7 @@ tags: Kubernetesは次の複数のコンテナランタイムをサポートします。 -[Docker](http://www.docker.com), [containerd](https://containerd.io), [cri-o](https://cri-o.io/), -[rktlet](https://github.com/kubernetes-incubator/rktlet) および全ての +{{< glossary_tooltip term_id="docker">}}、{{< glossary_tooltip term_id="containerd" >}}、{{< glossary_tooltip term_id="cri-o" >}}、 +および全ての [Kubernetes CRI (Container Runtime Interface)](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md) -実装。 +実装です。 From 99a96178addf2e8ab0866ba98ff5e0efe13cfedd Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 26 May 2020 18:30:16 +0900 Subject: [PATCH 103/533] update /ja/docs/concepts/storage/dynamic-provisioning/ --- content/ja/docs/concepts/storage/dynamic-provisioning.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/storage/dynamic-provisioning.md b/content/ja/docs/concepts/storage/dynamic-provisioning.md index e2361e5e83..5794451abb 100644 --- a/content/ja/docs/concepts/storage/dynamic-provisioning.md +++ b/content/ja/docs/concepts/storage/dynamic-provisioning.md @@ -8,7 +8,7 @@ weight: 40 {{% capture overview %}} ボリュームの動的プロビジョニングにより、ストレージ用のボリュームをオンデマンドに作成することができます。 -動的プロビジョニングなしでは、クラスター管理者はクラウドプロバイダーまたはストレージプロバイダーに対して新規のストレージ用のボリュームと[`PersistentVolume`オブジェクト](/docs/concepts/storage/persistent-volumes/)を作成するように手動で指示しなければなりません。動的プロビジョニングの機能によって、クラスター管理者がストレージを事前にプロビジョンする必要がなくなります。その代わりに、ユーザーによってリクエストされたときに自動でストレージをプロビジョンします。 +動的プロビジョニングなしでは、クラスター管理者はクラウドプロバイダーまたはストレージプロバイダーに対して新規のストレージ用のボリュームと[`PersistentVolume`オブジェクト](/ja/docs/concepts/storage/persistent-volumes/)を作成するように手動で指示しなければなりません。動的プロビジョニングの機能によって、クラスター管理者がストレージを事前にプロビジョンする必要がなくなります。その代わりに、ユーザーによってリクエストされたときに自動でストレージをプロビジョンします。 {{% /capture %}} @@ -20,11 +20,12 @@ weight: 40 ボリュームの動的プロビジョニングの実装は`storage.k8s.io`というAPIグループ内の`StorageClass`というAPIオブジェクトに基づいています。クラスター管理者は`StorageClass`オブジェクトを必要に応じていくつでも定義でき、各オブジェクトはボリュームをプロビジョンする*Volumeプラグイン* (別名*プロビジョナー*)と、プロビジョンされるときにプロビジョナーに渡されるパラメータを指定します。 クラスター管理者はクラスター内で複数の種類のストレージ(同一または異なるストレージシステム)を定義し、さらには公開でき、それらのストレージはパラメータのカスタムセットを持ちます。この仕組みにおいて、エンドユーザーはストレージがどのようにプロビジョンされるか心配する必要がなく、それでいて複数のストレージオプションから選択できることを保証します。 -StorageClassに関するさらなる情報は[Storage Class](/docs/concepts/storage/persistent-volumes/#storageclasses)を参照ください。 +StorageClassに関するさらなる情報は[Storage Class](/docs/concepts/storage/storage-classes/)を参照ください。 ## 動的プロビジョニングを有効にする -動的プロビジョニングを有効にするために、クラスター管理者はユーザーのために1つまたはそれ以上のStorageClassを事前に作成する必要があります。StorageClassオブジェクトは、動的プロビジョニングが実行されるときに、どのプロビジョナーが使用されるべきか、またどのようなパラメーターをプロビジョナーに渡すべきか定義します。 +動的プロビジョニングを有効にするために、クラスター管理者はユーザーのために1つまたはそれ以上のStorageClassを事前に作成する必要があります。StorageClassオブジェクトは、動的プロビジョニングが実行されるときに、どのプロビジョナーが使用されるべきか、またどのようなパラメーターをプロビジョナーに渡すべきか定義します。StorageClassオブジェクトの名前は、有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + 下記のマニフェストでは標準的な永続化ディスクをプロビジョンする"slow"というStorageClassを作成します。 ```yaml From 395235831558ce0aa5587e7d892509d5607aaa61 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 26 May 2020 18:31:37 +0900 Subject: [PATCH 104/533] update link to /ja/docs/concepts/storage/dynamic-provisioning/ --- .../reference/command-line-tools-reference/feature-gates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md index 506d526873..cf9b218670 100644 --- a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md @@ -333,7 +333,7 @@ GAになってからさらなる変更を加えることは現実的ではない - `DynamicAuditing`: [動的監査](/docs/tasks/debug-application-cluster/audit/#dynamic-backend)を有効にします。 - `DynamicKubeletConfig`: kubeletの動的構成を有効にします。[kubeletの再設定](/docs/tasks/administer-cluster/reconfigure-kubelet/)を参照してください。 - `DynamicProvisioningScheduling`: デフォルトのスケジューラーを拡張してボリュームトポロジーを認識しPVプロビジョニングを処理します。この機能は、v1.12の`VolumeScheduling`機能に完全に置き換えられました。 -- `DynamicVolumeProvisioning`(*非推奨*): Podへの永続ボリュームの[動的プロビジョニング](/docs/concepts/storage/dynamic-provisioning/)を有効にします。 +- `DynamicVolumeProvisioning`(*非推奨*): Podへの永続ボリュームの[動的プロビジョニング](/ja/docs/concepts/storage/dynamic-provisioning/)を有効にします。 - `EnableAggregatedDiscoveryTimeout` (*非推奨*): 集約されたディスカバリーコールで5秒のタイムアウトを有効にします。 - `EnableEquivalenceClassCache`: Podをスケジュールするときにスケジューラーがノードの同等をキャッシュできるようにします。 - `EphemeralContainers`: 稼働するPodに{{< glossary_tooltip text="ephemeral containers" term_id="ephemeral-container" >}}を追加する機能を有効にします。 From 57f79887038128d8609030917e81ec058aecb0ae Mon Sep 17 00:00:00 2001 From: Arhell Date: Wed, 27 May 2020 01:50:56 +0300 Subject: [PATCH 105/533] add responsive table on blog --- assets/sass/_base.sass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assets/sass/_base.sass b/assets/sass/_base.sass index c8dedc0a72..7306433631 100644 --- a/assets/sass/_base.sass +++ b/assets/sass/_base.sass @@ -139,6 +139,9 @@ header border-spacing: 0 margin-top: 30px margin-bottom: 30px + @media screen and (max-width: 425px) + display: block + overflow-x: auto thead border-bottom: 2px solid #ccc From a55ad8b0ad6bfdf4ee06ff7d211cb26922ea3218 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 27 May 2020 08:14:26 +0900 Subject: [PATCH 106/533] update /ja/docs/concepts/workloads/controllers/garbage-collection/ --- .../workloads/controllers/garbage-collection.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/garbage-collection.md b/content/ja/docs/concepts/workloads/controllers/garbage-collection.md index 0463849cd0..b81ba1a3be 100644 --- a/content/ja/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/ja/docs/concepts/workloads/controllers/garbage-collection.md @@ -33,7 +33,7 @@ kubectl get pods --output=yaml その出力結果によると、そのPodのオーナーは`my-repset`という名前のReplicaSetです。 -```shell +```yaml apiVersion: v1 kind: Pod metadata: @@ -70,7 +70,7 @@ metadata: 一度"削除処理中"状態に遷移すると、そのガベージコレクターはオブジェクトの従属オブジェクトを削除します。一度そのガベージコレクターが全ての”ブロッキングしている”従属オブジェクトを削除すると(`ownerReference.blockOwnerDeletion=true`という値を持つオブジェクト)、それはオーナーのオブジェクトも削除します。 -注意点として、"フォアグラウンドのカスケード削除"において、`ownerReference.blockOwnerDeletion`フィールドを持つ従属オブジェクトのみ、そのオーナーオブジェクトの削除をブロックします。 +注意点として、"フォアグラウンドのカスケード削除"において、`ownerReference.blockOwnerDeletion=true`フィールドを持つ従属オブジェクトのみ、そのオーナーオブジェクトの削除をブロックします。 Kubernetes1.7では、認証されていない従属オブジェクトがオーナーオブジェクトの削除を遅らせることができないようにするために[アドミッションコントローラー](/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement)が追加され、それは、オーナーオブジェクトの削除パーミッションに基づいて`blockOwnerDeletion`の値がtrueに設定してユーザーアクセスをコントロールします。 もしオブジェクトの`ownerReferences`フィールドがコントローラー(DeploymentやReplicaSetなど)によってセットされている場合、`blockOwnerDeletion`は自動的にセットされ、ユーザーはこのフィールドを手動で修正する必要はありません。 @@ -92,8 +92,8 @@ Kubernetes1.9において、`apps/v1`というグループバージョンにお ```shell kubectl proxy --port=8080 curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-repset \ --d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Background"}' \ --H "Content-Type: application/json" + -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Background"}' \ + -H "Content-Type: application/json" ``` 下記のコマンドは従属オブジェクトをフォアグラウンドで削除する例です。 @@ -101,8 +101,8 @@ curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-rep ```shell kubectl proxy --port=8080 curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-repset \ --d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Foreground"}' \ --H "Content-Type: application/json" + -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Foreground"}' \ + -H "Content-Type: application/json" ``` 下記のコマンドは従属オブジェクトをみなしご状態になった従属オブジェクトの例です。 @@ -110,8 +110,8 @@ curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-rep ```shell kubectl proxy --port=8080 curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/replicasets/my-repset \ --d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Orphan"}' \ --H "Content-Type: application/json" + -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Orphan"}' \ + -H "Content-Type: application/json" ``` kubectlもまたカスケード削除をサポートしています。 From 65f558e9b9a7739168ea0c78cfadc970a3454e42 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 27 May 2020 08:16:46 +0900 Subject: [PATCH 107/533] update link to /ja/docs/concepts/workloads/controllers/garbage-collection/ --- .../docs/concepts/workloads/controllers/garbage-collection.md | 2 +- content/ja/docs/concepts/workloads/controllers/replicaset.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/garbage-collection.md b/content/ja/docs/concepts/workloads/controllers/garbage-collection.md index b81ba1a3be..d3f6cac7d4 100644 --- a/content/ja/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/ja/docs/concepts/workloads/controllers/garbage-collection.md @@ -12,7 +12,7 @@ Kubernetesのガベージコレクターの役割は、かつてオーナーが {{% capture body %}} -## オーナーとその従属オブジェクト +## オーナーとその従属オブジェクト {#owners-and-dependents} いくつかのKubernetesオブジェクトは他のオブジェクトのオーナーとなります。例えば、ReplicaSetはPodのセットに対するオーナーです。オーナーによって所有されたオブジェクトは、オーナーオブジェクトの*従属オブジェクト(Dependents)* と呼ばれます。全ての従属オブジェクトは、オーナーオブジェクトを指し示す`metadata.ownerReferences`というフィールドを持ちます。 diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index 32e758774a..6e4b5a1734 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -18,7 +18,7 @@ ReplicaSetの目的は、どのような時でも安定したレプリカPodの ReplicaSetは、ReplicaSetが対象とするPodをどう特定するかを示すためのセレクターや、稼働させたいPodのレプリカ数、Podテンプレート(理想のレプリカ数の条件を満たすために作成される新しいPodのデータを指定するために用意されるもの)といったフィールドとともに定義されます。ReplicaSetは、指定された理想のレプリカ数にするためにPodの作成と削除を行うことにより、その目的を達成します。ReplicaSetが新しいPodを作成するとき、ReplicaSetはそのPodテンプレートを使用します。 -ReplicaSetがそのPod群と連携するためのリンクは、Podの[metadata.ownerReferences](/docs/concepts/workloads/controllers/garbage-collection/#owners-and-dependents)というフィールド(現在のオブジェクトが所有されているリソースを指定する)を介して作成されます。ReplicaSetによって所持された全てのPodは、それらの`ownerReferences`フィールドにReplicaSetを特定する情報を保持します。このリンクを通じて、ReplicaSetは管理しているPodの状態を把握したり、その後の実行計画を立てます。 +ReplicaSetがそのPod群と連携するためのリンクは、Podの[metadata.ownerReferences](/ja/docs/concepts/workloads/controllers/garbage-collection/#owners-and-dependents)というフィールド(現在のオブジェクトが所有されているリソースを指定する)を介して作成されます。ReplicaSetによって所持された全てのPodは、それらの`ownerReferences`フィールドにReplicaSetを特定する情報を保持します。このリンクを通じて、ReplicaSetは管理しているPodの状態を把握したり、その後の実行計画を立てます。 ReplicaSetは、そのセレクターを使用することにより、所有するための新しいPodを特定します。もし`ownerReference`フィールドの値を持たないPodか、`ownerReference`フィールドの値がコントローラーでないPodで、そのPodがReplicaSetのセレクターとマッチした場合に、そのPodは即座にそのReplicaSetによって所有されます。 @@ -228,7 +228,7 @@ matchLabels: ### ReplicaSetとPodの削除 ReplicaSetとそれが所有する全てのPod削除したいときは、[`kubectl delete`](/docs/reference/generated/kubectl/kubectl-commands#delete)コマンドを使ってください。 -[ガーベージコレクター](/docs/concepts/workloads/controllers/garbage-collection/)がデフォルトで自動的に全ての依存するPodを削除します。 +[ガーベージコレクター](/ja/docs/concepts/workloads/controllers/garbage-collection/)がデフォルトで自動的に全ての依存するPodを削除します。 REST APIもしくは`client-go`ライブラリーを使用するとき、ユーザーは`-d`オプションで`propagationPolicy`を`Background`か`Foreground`と指定しなくてはなりません。 例えば下記のように実行します。 From 039b5c715a9995cfc93383ec96ed1520283cdd46 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 27 May 2020 08:37:20 +0900 Subject: [PATCH 108/533] update /ja/docs/concepts/storage/volume-snapshot-classes/ --- .../storage/volume-snapshot-classes.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/concepts/storage/volume-snapshot-classes.md b/content/ja/docs/concepts/storage/volume-snapshot-classes.md index 829bde8a2e..a43ccf1fae 100644 --- a/content/ja/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/ja/docs/concepts/storage/volume-snapshot-classes.md @@ -21,28 +21,35 @@ weight: 30 ## VolumeSnapshotClass リソース -各`VolumeSnapshotClass`は`snapshotter`と`parameters`フィールドを含み、それらは、そのクラスに属する`VolumeSnapshot`が動的にプロビジョンされるときに使われます。 +各`VolumeSnapshotClass`は`driver`、`deletionPolicy`と`parameters`フィールドを含み、それらは、そのクラスに属する`VolumeSnapshot`が動的にプロビジョンされるときに使われます。 `VolumeSnapshotClass`オブジェクトの名前は重要であり、それはユーザーがどのように特定のクラスをリクエストできるかを示したものです。管理者は初めて`VolumeSnapshotClass`オブジェクトを作成するときに、その名前と他のパラメーターをセットし、そのオブジェクトは一度作成されるとそのあと更新することができません。 管理者は、バインド対象のクラスを1つもリクエストしないようなVolumeSnapshotのために、デフォルトの`VolumeSnapshotClass`を指定することができます。 ```yaml -apiVersion: snapshot.storage.k8s.io/v1alpha1 +apiVersion: snapshot.storage.k8s.io/v1beta1 kind: VolumeSnapshotClass metadata: name: csi-hostpath-snapclass -snapshotter: csi-hostpath +driver: hostpath.csi.k8s.io +deletionPolicy: Delete parameters: ``` -### Snapshotter +### Driver -VolumeSnapshotClassは、VolumeSnapshotをプロビジョンするときに何のCSIボリュームプラグインを使うか決定するための`snapshotter`フィールドを持っています。このフィールドは必須となります。 +VolumeSnapshotClassは、VolumeSnapshotをプロビジョンするときに何のCSIボリュームプラグインを使うか決定するための`driver`フィールドを持っています。このフィールドは必須となります。 + +### DeletionPolicy + +VolumeSnapshotClassにはdeletionPolicyがあります。これにより、バインドされている `VolumeSnapshot`オブジェクトが削除されるときに、`VolumeSnapshotContent`がどうなるかを設定することができます。VolumeSnapshotのdeletionPolicyは、`Retain`または`Delete`のいずれかです。このフィールドは指定しなければなりません。 + +deletionPolicyが`Delete`の場合、基礎となるストレージスナップショットは `VolumeSnapshotContent`オブジェクトとともに削除されます。deletionPolicyが`Retain`の場合、基礎となるスナップショットと`VolumeSnapshotContent`の両方が残ります。 ## Parameters VolumeSnapshotClassは、そのクラスに属するVolumeSnapshotを指定するパラメータを持っています。 -`snapshotter`に応じて様々なパラメータを使用できます。 +`driver`に応じて様々なパラメータを使用できます。 {{% /capture %}} From dd28833b13d7a6af0446f9370a08d3a3f648f8ac Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 27 May 2020 08:52:35 +0900 Subject: [PATCH 109/533] update /ja/docs/tasks/debug-application-cluster/get-shell-running-container/ --- .../debug-application-cluster/get-shell-running-container.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md b/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md index 40f903789f..8795f53eb0 100644 --- a/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md +++ b/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md @@ -30,7 +30,7 @@ content_template: templates/task Podを作成します: ```shell -kubectl create -f https://k8s.io/examples/application/shell-demo.yaml +kubectl apply -f https://k8s.io/examples/application/shell-demo.yaml ``` コンテナが実行中であることを確認します: From 4c44367e87f03871f4704b06f1576df3f65eb69c Mon Sep 17 00:00:00 2001 From: Vageesha17 Date: Wed, 27 May 2020 10:45:03 +0530 Subject: [PATCH 110/533] Apply suggestions from code review added suggestion to keep cluster IP same as before Co-authored-by: Jim Angel --- .../services-networking/connect-applications-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/services-networking/connect-applications-service.md b/content/en/docs/concepts/services-networking/connect-applications-service.md index 8d6e2078e4..ce70849685 100644 --- a/content/en/docs/concepts/services-networking/connect-applications-service.md +++ b/content/en/docs/concepts/services-networking/connect-applications-service.md @@ -395,7 +395,7 @@ kubectl get svc my-nginx ``` ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -my-nginx LoadBalancer 10.0.0.216 xx.xxx.xxx.xxx 8080:30163/TCP 21s +my-nginx LoadBalancer 10.0.162.149 xx.xxx.xxx.xxx 8080:30163/TCP 21s ``` ``` curl https:// -k From 417e5797ee98cfdadf4e3ade2f3cd33d78cb1842 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Wed, 27 May 2020 14:33:29 +0900 Subject: [PATCH 111/533] Translate /docs/tasks/inject-data-application/define-environment-variable-container/ into Japanese --- .../tasks/inject-data-application/_index.md | 4 + .../define-environment-variable-container.md | 113 ++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 content/ja/docs/tasks/inject-data-application/_index.md create mode 100644 content/ja/docs/tasks/inject-data-application/define-environment-variable-container.md diff --git a/content/ja/docs/tasks/inject-data-application/_index.md b/content/ja/docs/tasks/inject-data-application/_index.md new file mode 100644 index 0000000000..52c5ca5128 --- /dev/null +++ b/content/ja/docs/tasks/inject-data-application/_index.md @@ -0,0 +1,4 @@ +--- +title: "アプリケーションへのデータ注入" +weight: 30 +--- diff --git a/content/ja/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/ja/docs/tasks/inject-data-application/define-environment-variable-container.md new file mode 100644 index 0000000000..b32b002f90 --- /dev/null +++ b/content/ja/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -0,0 +1,113 @@ +--- +title: コンテナの環境変数の定義 +content_template: templates/task +weight: 20 +--- + +{{% capture overview %}} + +このページでは、Kubernetes Podでコンテナの環境変数を定義する方法を説明します。 + +{{% /capture %}} + + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + + +{{% capture steps %}} + +## コンテナの環境変数を定義する {#define-an-environment-variable-for-a-container} + +Podを作成するとき、そのPodで実行するコンテナに環境変数を設定することができます。環境変数を設定するには、設定ファイルに `env` または `envFrom` フィールドを含めます。 + +この演習では、1つのコンテナを実行するPodを作成します。Podの設定ファイルには、名前 `DEMO_GREETING`、値 `"Hello from the environment"`を持つ環境変数が定義されています。Podの設定ファイルを以下に示します: + +{{< codenew file="pods/inject/envars.yaml" >}} + +1. YAML設定ファイルに基づいてPodを作成します: + + ```shell + kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml + ``` + +1. 実行中のPodを一覧表示します: + + ```shell + kubectl get pods -l purpose=demonstrate-envars + ``` + + 出力は以下のようになります: + + ``` + NAME READY STATUS RESTARTS AGE + envar-demo 1/1 Running 0 9s + ``` + +1. Podで実行しているコンテナのシェルを取得します: + + ```shell + kubectl exec -it envar-demo -- /bin/bash + ``` + +1. シェルで`printenv`コマンドを実行すると、環境変数の一覧が表示されます。 + + ```shell + root@envar-demo:/# printenv + ``` + + 出力は以下のようになります: + + ``` + NODE_VERSION=4.4.2 + EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237 + HOSTNAME=envar-demo + ... + DEMO_GREETING=Hello from the environment + DEMO_FAREWELL=Such a sweet sorrow + ``` + +1. シェルを終了するには、`exit`と入力します。 + +{{< note >}} +`env`または`envFrom`フィールドを使用して設定された環境変数は、コンテナイメージで指定された環境変数を上書きします。 +{{< /note >}} + +## 設定の中で環境変数を使用する {#using-environment-variables-inside-of-your-config} + +Podの設定で定義した環境変数は、Podのコンテナに設定したコマンドや引数など、設定の他の場所で使用することができます。以下の設定例では、環境変数`GREETING`、`HONORORIFIC`、`NAME`にそれぞれ `Warm greetings to`、`The Most Honorable`、`Kubernetes`を設定しています。これらの環境変数は、`env-print-demo`コンテナに渡されるCLI引数で使われます。 + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: print-greeting +spec: + containers: + - name: env-print-demo + image: bash + env: + - name: GREETING + value: "Warm greetings to" + - name: HONORIFIC + value: "The Most Honorable" + - name: NAME + value: "Kubernetes" + command: ["echo"] + args: ["$(GREETING) $(HONORIFIC) $(NAME)"] +``` + +作成されると、コンテナ上で`echo Warm greetings to The Most Honorable Kubernetes`というコマンドが実行されます。 + +{{% /capture %}} + +{{% capture whatsnext %}} + +* [環境変数](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)の詳細 +* [Secretを環境変数として使用する](/docs/concepts/configuration/secret/#using-secrets-as-environment-variables)詳細 +* [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core)をご覧ください。 + +{{% /capture %}} From 3652c2c17bee4869b4883d1f066f70124b957b33 Mon Sep 17 00:00:00 2001 From: Christian Mardini Date: Wed, 27 May 2020 15:46:58 -0400 Subject: [PATCH 112/533] daemon-reload prior to restarting kubelet --- .../docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index f0368ecaf9..2ae0e4e641 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -295,6 +295,7 @@ Upgrade the kubelet and kubectl on all control plane nodes: Restart the kubelet ```shell +sudo systemctl daemon-reload sudo systemctl restart kubelet ``` @@ -373,6 +374,7 @@ without compromising the minimum required capacity for running your workloads. - Restart the kubelet ```shell + sudo systemctl daemon-reload sudo systemctl restart kubelet ``` @@ -441,4 +443,4 @@ and post-upgrade manifest file for a certain component, a backup file for it wil `kubeadm upgrade node` does the following on worker nodes: - Fetches the kubeadm `ClusterConfiguration` from the cluster. -- Upgrades the kubelet configuration for this node. \ No newline at end of file +- Upgrades the kubelet configuration for this node. From 3aeea296df36b8e8fe3e14f807a18dc86caced6d Mon Sep 17 00:00:00 2001 From: Vijay Mateti Date: Thu, 28 May 2020 00:43:49 -0400 Subject: [PATCH 113/533] ICP quick start guide is no longer available Following AWS quick start guide is no longer available for ICP https://aws.amazon.com/quickstart/architecture/ibm-cloud-private/ https://aws.amazon.com/about-aws/whats-new/2019/02/deploy-ibm-cloud-private-on-aws-with-new-quick-start/ NOTE: This Quick Start is no longer available. Also updated the legacy EC2 installation guide with latest terraform guide --- .../en/docs/setup/production-environment/turnkey/icp.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/content/en/docs/setup/production-environment/turnkey/icp.md b/content/en/docs/setup/production-environment/turnkey/icp.md index 1f3241c03c..55b9d7f855 100644 --- a/content/en/docs/setup/production-environment/turnkey/icp.md +++ b/content/en/docs/setup/production-environment/turnkey/icp.md @@ -27,13 +27,9 @@ The following modules are available where you can deploy IBM Cloud Private by us ## IBM Cloud Private on AWS -You can deploy an IBM Cloud Private cluster on Amazon Web Services (AWS) by using either AWS CloudFormation or Terraform. +You can deploy an IBM Cloud Private cluster on Amazon Web Services (AWS) using Terraform. -IBM Cloud Private has a Quick Start that automatically deploys IBM Cloud Private into a new virtual private cloud (VPC) on the AWS Cloud. A regular deployment takes about 60 minutes, and a high availability (HA) deployment takes about 75 minutes to complete. The Quick Start includes AWS CloudFormation templates and a deployment guide. - -This Quick Start is for users who want to explore application modernization and want to accelerate meeting their digital transformation goals, by using IBM Cloud Private and IBM tooling. The Quick Start helps users rapidly deploy a high availability (HA), production-grade, IBM Cloud Private reference architecture on AWS. For all of the details and the deployment guide, see the [IBM Cloud Private on AWS Quick Start](https://aws.amazon.com/quickstart/architecture/ibm-cloud-private/). - -IBM Cloud Private can also run on the AWS cloud platform by using Terraform. To deploy IBM Cloud Private in an AWS EC2 environment, see [Installing IBM Cloud Private on AWS](https://github.com/ibm-cloud-architecture/refarch-privatecloud/blob/master/Installing_ICp_on_aws.md). +IBM Cloud Private can also run on the AWS cloud platform by using Terraform. To deploy IBM Cloud Private in an AWS EC2 environment, see [Installing IBM Cloud Private on AWS](https://github.com/ibm-cloud-architecture/terraform-icp-aws). ## IBM Cloud Private on Azure From 6154e75626535c1646aa6257fa9854b36cdb7388 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Thu, 28 May 2020 20:15:47 +0900 Subject: [PATCH 114/533] Update content/ja/docs/concepts/storage/volume-snapshot-classes.md Co-authored-by: bells17 --- content/ja/docs/concepts/storage/volume-snapshot-classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/storage/volume-snapshot-classes.md b/content/ja/docs/concepts/storage/volume-snapshot-classes.md index a43ccf1fae..6248b728c1 100644 --- a/content/ja/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/ja/docs/concepts/storage/volume-snapshot-classes.md @@ -45,7 +45,7 @@ VolumeSnapshotClassは、VolumeSnapshotをプロビジョンするときに何 VolumeSnapshotClassにはdeletionPolicyがあります。これにより、バインドされている `VolumeSnapshot`オブジェクトが削除されるときに、`VolumeSnapshotContent`がどうなるかを設定することができます。VolumeSnapshotのdeletionPolicyは、`Retain`または`Delete`のいずれかです。このフィールドは指定しなければなりません。 -deletionPolicyが`Delete`の場合、基礎となるストレージスナップショットは `VolumeSnapshotContent`オブジェクトとともに削除されます。deletionPolicyが`Retain`の場合、基礎となるスナップショットと`VolumeSnapshotContent`の両方が残ります。 +deletionPolicyが`Delete`の場合、元となるストレージスナップショットは `VolumeSnapshotContent`オブジェクトとともに削除されます。deletionPolicyが`Retain`の場合、元となるスナップショットと`VolumeSnapshotContent`の両方が残ります。 ## Parameters From 61419d413bc1cd063b1d373eccd0540f2fe167c2 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Thu, 28 May 2020 20:18:21 +0900 Subject: [PATCH 115/533] Update content/ja/docs/concepts/workloads/controllers/replicaset.md Co-authored-by: bells17 --- content/ja/docs/concepts/workloads/controllers/replicaset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index 6e4b5a1734..dbbba89a8e 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -228,7 +228,7 @@ matchLabels: ### ReplicaSetとPodの削除 ReplicaSetとそれが所有する全てのPod削除したいときは、[`kubectl delete`](/docs/reference/generated/kubectl/kubectl-commands#delete)コマンドを使ってください。 -[ガーベージコレクター](/ja/docs/concepts/workloads/controllers/garbage-collection/)がデフォルトで自動的に全ての依存するPodを削除します。 +[ガベージコレクター](/ja/docs/concepts/workloads/controllers/garbage-collection/)がデフォルトで自動的に全ての依存するPodを削除します。 REST APIもしくは`client-go`ライブラリーを使用するとき、ユーザーは`-d`オプションで`propagationPolicy`を`Background`か`Foreground`と指定しなくてはなりません。 例えば下記のように実行します。 From c40ab29f79c5c4af7dfc8c7a9ebf7af1c57bceeb Mon Sep 17 00:00:00 2001 From: tkms0106 <23391543+tkms0106@users.noreply.github.com> Date: Tue, 26 May 2020 10:02:41 +0900 Subject: [PATCH 116/533] Fix translation Recycle reclaim policy is deprecated, but not removed yet --- content/ja/docs/concepts/storage/persistent-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index 3c0243791d..6e0b25877e 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -131,7 +131,7 @@ Events: #### リサイクル {{< warning >}} -`Recycle`再クレームポリシーは廃止されました。代わりに、動的プロビジョニングを使用することをおすすめします。 +`Recycle`再クレームポリシーは非推奨になりました。代わりに、動的プロビジョニングを使用することをおすすめします。 {{< /warning >}} 基盤となるボリュームプラグインでサポートされている場合、`Recycle`再クレームポリシーはボリュームに対して基本的な削除(`rm -rf /thevolume/*`)を実行し、新しいクレームに対して再び利用できるようにします。 From 53d511decc72d2227ca03544530ea7b14b8dc7da Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Thu, 28 May 2020 14:40:19 -0400 Subject: [PATCH 117/533] parser typography setting, ndash --- config.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config.toml b/config.toml index 4acaa66e95..ce2c83fd0e 100644 --- a/config.toml +++ b/config.toml @@ -25,6 +25,10 @@ disableLanguages = ["hi", "no"] [markup.goldmark] [markup.goldmark.renderer] unsafe = true + [markup.goldmark.extensions] + definitionList = true + table = true + typographer = false [markup.highlight] codeFences = true guessSyntax = false From 6b69b82ce6e152dcda20c90ab2f3a38108fea658 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 29 May 2020 08:16:20 +0900 Subject: [PATCH 118/533] update content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md --- .../api-extension/apiserver-aggregation.md | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index 5338d3071d..668fec2f34 100644 --- a/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -1,24 +1,31 @@ --- title: アグリゲーションレイヤーを使ったKubernetes APIの拡張 content_template: templates/concept -weight: 10 +weight: 20 --- {{% capture overview %}} -アグリゲーションレイヤーを使用すると、KubernetesのコアAPIで提供されている機能を超えて、追加のAPIでKubernetesを拡張できます。 +アグリゲーションレイヤーを使用すると、KubernetesのコアAPIで提供されている機能を超えて、追加のAPIでKubernetesを拡張できます。追加のAPIは、[service-catalog](/docs/concepts/extend-kubernetes/service-catalog/)のような既製のソリューション、または自分で開発したAPIのいずれかです。 + +アグリゲーションレイヤーは、[カスタムリソース](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)とは異なり、{{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}}に新しい種類のオブジェクトを認識させる方法です。 {{% /capture %}} {{% capture body %}} -## 概要 +## アグリゲーションレイヤー -アグリゲーションレイヤーを使用すると、クラスターにKubernetesスタイルのAPIを追加でインストールできます。これらは、[service-catalog](https://github.com/kubernetes-incubator/service-catalog/blob/master/README.md)や、[apiserver-builder](https://github.com/kubernetes-incubator/apiserver-builder/blob/master/README.md)のようなユーザーが作成したAPIなど、出来合いのもの、また既存のサードパーティソリューションに関わらず使い始めることができます。 +アグリゲーションレイヤーは、kube-apiserverのプロセス内で動きます。拡張リソースが登録されるまでは、アグリゲーションレイヤーは何もしません。APIを登録するには、ユーザーはKubernetes APIで使われるURLのパスを"要求"した、_APIService_ オブジェクトを追加します。それを追加すると、アグリゲーションレイヤーはAPIパス(例、`/apis/myextension.mycompany.io/v1/…`)への全てのアクセスを、登録されたAPIServiceにプロキシーします。 -バージョン1.7において、アグリゲーションレイヤーは、kube-apiserverのプロセス内で動きます。拡張リソースが登録されるまでは、アグリゲーションレイヤーは何もしません。APIを登録するには、ユーザーはKubernetes APIで使われるURLのパスを"要求"した、APIServiceオブジェクトを追加しなければなりません。それを追加すると、アグリゲーションレイヤーはAPIパス(例、/apis/myextension.mycompany.io/v1/…)への全てのアクセスを、登録されたAPIServiceにプロキシします。 +APIServiceを実装する最も一般的な方法は、クラスター内で実行されるPodで*拡張APIサーバー* を実行することです。クラスター内のリソース管理に拡張APIサーバーを使用している場合、拡張APIサーバー("extension-apiserver"とも呼ばれます)は通常、1つ以上の{{< glossary_tooltip text="コントローラー" term_id="controller" >}}とペアになっています。apiserver-builderライブラリは、拡張APIサーバーと関連するコントローラーの両方にスケルトンを提供します。 -通常、APIServiceは、クラスター上で動いているPod内の *extension-apiserver* で実装されます。このextension-apiserverは、追加されたリソースに対するアクティブな管理が必要な場合、通常、1つか複数のコントローラーとペアになっている必要があります。そのため、実際にapiserver-builderはextension-apiserverとコントローラーの両方のスケルトンを提供します。一例として、service-catalogがインストールされると、extension-apiserverと提供するサービスのコントローラーの両方を提供します。 +### 応答遅延 + +拡張APIサーバーは、kube-apiserverとの間の低遅延ネットワーキングが必要です。 +kube-apiserverとの間を5秒以内に往復するためには、ディスカバリーリクエストが必要です。 + +拡張APIサーバーがそのレイテンシ要件を達成できない場合は、その要件を満たすように変更することを検討してください。また、kube-apiserverで`EnableAggregatedDiscoveryTimeout=false` [フィーチャーゲート](/ja/docs/reference/command-line-tools-reference/feature-gates/)を設定することで、タイムアウト制限を無効にすることができます。この非推奨のフィーチャーゲートは将来のリリースで削除される予定です。 {{% /capture %}} @@ -27,6 +34,7 @@ weight: 10 * アグリゲーターをあなたの環境で動かすには、まず[アグリゲーションレイヤーを設定](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/)します * そして、アグリゲーションレイヤーと一緒に動作させるために[extension api-serverをセットアップ](/docs/tasks/access-kubernetes-api/setup-extension-api-server/)します * また、[Custom Resource Definitionを使いKubernetes APIを拡張する](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)方法を学んで下さい +* [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io)の仕様をお読み下さい {{% /capture %}} From f442005c559979dc2ca0d27c65286f57aaf470aa Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 29 May 2020 08:47:02 +0900 Subject: [PATCH 119/533] update /ja/docs/concepts/storage/volume-pvc-datasource/ --- .../concepts/storage/volume-pvc-datasource.md | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/content/ja/docs/concepts/storage/volume-pvc-datasource.md b/content/ja/docs/concepts/storage/volume-pvc-datasource.md index 7b6cb90601..b277d7ad50 100644 --- a/content/ja/docs/concepts/storage/volume-pvc-datasource.md +++ b/content/ja/docs/concepts/storage/volume-pvc-datasource.md @@ -6,16 +6,9 @@ weight: 30 {{% capture overview %}} -{{< feature-state for_k8s_version="v1.15" state="alpha" >}} +{{< feature-state for_k8s_version="v1.16" state="beta" >}} このドキュメントではKubernetesで既存のCSIボリュームの複製についてのコンセプトを説明します。このページを読む前にあらかじめ[ボリューム](/docs/concepts/storage/volumes)についてよく理解していることが望ましいです。 -この機能を使用するにはVolumePVCDataSourceのフィーチャーゲートを有効にする必要があります。 - -``` ---feature-gates=VolumePVCDataSource=true -``` - - {{% /capture %}} @@ -27,14 +20,17 @@ weight: 30 複製は既存のKubernetesボリュームの複製として定義され、標準のボリュームと同じように使用できます。唯一の違いは、プロビジョニング時に「新しい」空のボリュームを作成するのではなく、バックエンドデバイスが指定されたボリュームの正確な複製を作成することです。 -複製の実装は、Kubernetes APIの観点からは新しいPVCの作成時に既存のバインドされていないPVCをdataSourceとして指定する機能を追加するだけです。 +複製の実装は、Kubernetes APIの観点からは新しいPVCの作成時に既存のPVCをdataSourceとして指定する機能を追加するだけです。ソースPVCはバインドされており、使用可能でなければなりません(使用中ではありません)。 この機能を使用する場合、ユーザーは次のことに注意する必要があります: * 複製のサポート(`VolumePVCDataSource`)はCSIドライバーのみです。 * 複製のサポートは動的プロビジョニングのみです。 * CSIドライバーはボリューム複製機能を実装している場合としていない場合があります。 -* PVCは複製先のPVCと同じ名前空間に存在する場合にのみ複製できます(複製元と複製先は同じ名前空間になければなりません)。 +* PVCは複製先のPVCと同じ名前空間に存在する場合にのみ複製できます(複製元と複製先は同じ名前空間になければなりません)。 +* 複製は同じストレージクラス内でのみサポートされます。 + - 宛先ボリュームは、ソースと同じストレージクラスである必要があります。 + - デフォルトのストレージクラスを使用でき、仕様ではstorageClassNameを省略できます。 ## プロビジョニング @@ -48,13 +44,21 @@ metadata: name: clone-of-pvc-1 namespace: myns spec: - capacity: - storage: 10Gi + accessModes: + - ReadWriteOnce + storageClassName: cloning + resources: + requests: + storage: 5Gi dataSource: kind: PersistentVolumeClaim name: pvc-1 ``` +{{< note >}} +`spec.resources.requests.storage`に容量の値を指定する必要があります。指定する値は、ソースボリュームの容量と同じかそれ以上である必要があります。 +{{< /note >}} + このyamlの作成結果は指定された複製元である`pvc-1`と全く同じデータを持つ`clone-of-pvc-1`という名前の新しいPVCです。 ## 使い方 From 7a39e1a537cd0e97af48c58e07bbbd673b676bd0 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 29 May 2020 08:47:41 +0900 Subject: [PATCH 120/533] update link to /ja/docs/concepts/storage/volume-pvc-datasource/ --- content/ja/docs/concepts/storage/persistent-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index 3c0243791d..acc4f662b5 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -624,7 +624,7 @@ spec: {{< feature-state for_k8s_version="v1.16" state="beta" >}} -ボリュームの複製機能は、CSIボリュームプラグインのみをサポートするために追加されました。詳細については、[ボリュームの複製](/docs/concepts/storage/volume-pvc-datasource/)を参照してください。 +ボリュームの複製機能は、CSIボリュームプラグインのみをサポートするために追加されました。詳細については、[ボリュームの複製](/ja/docs/concepts/storage/volume-pvc-datasource/)を参照してください。 PVCデータソースからのボリューム複製機能を有効にするには、apiserverおよびcontroller-managerで`VolumeSnapshotDataSource`フィーチャーゲートを有効にします。 From f9c8f4910859e561ba17e84689232057721a38f7 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Fri, 29 May 2020 16:57:09 +0900 Subject: [PATCH 121/533] update /ja/docs/home/ --- content/ja/docs/home/_index.md | 9 ++- content/ja/training/_index.html | 118 ++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 content/ja/training/_index.html diff --git a/content/ja/docs/home/_index.md b/content/ja/docs/home/_index.md index c0f9abdb4c..fda3c24817 100644 --- a/content/ja/docs/home/_index.md +++ b/content/ja/docs/home/_index.md @@ -4,7 +4,7 @@ title: Kubernetesドキュメント noedit: true cid: docsHome layout: docsportal_home -class: gridPage +class: gridPage gridPageHome linkTitle: "ホーム" main_menu: true weight: 10 @@ -15,6 +15,8 @@ menu: weight: 20 post: >

チュートリアル、サンプルやドキュメントのリファレンスを使って Kubernetes の利用方法を学んでください。あなたはドキュメントへコントリビュートをすることもできます!

+description: > + Kubernetesは、コンテナ化されたアプリケーションの展開、スケーリング、また管理を自動化するためのオープンソースコンテナプラットフォームです。このオープンソースプロジェクトは、Cloud Native Computing Foundationによってホストされています。 overview: > Kubernetesは、コンテナ化されたアプリケーションの展開、スケーリング、また管理を自動化するためのオープンソースコンテナプラットフォームです。このオープンソースプロジェクトは、Cloud Native Computing Foundationによってホストされています(CNCF)。 cards: @@ -38,6 +40,11 @@ cards: description: "一般的なタスク、そのタスクを短い手順でどのように実行するかを見てみます。" button: "タスクを見る" button_path: "/docs/tasks" +- name: training + title: "トレーニング" + description: "Kubernetesの資格を取得して、クラウドネイティブプロジェクトを成功させます!" + button: "トレーニングを見る" + button_path: "/training" - name: reference title: "リファレンス情報を調べる" description: "用語、コマンドラインの構文、APIリソースタイプ、そして構築ツールのドキュメントを見て回ります。" diff --git a/content/ja/training/_index.html b/content/ja/training/_index.html new file mode 100644 index 0000000000..c966543062 --- /dev/null +++ b/content/ja/training/_index.html @@ -0,0 +1,118 @@ +--- +title: Training +bigheader: Kubernetes Training and Certification +abstract: Training programs, certifications, and partners. +layout: basic +cid: training +class: training +--- + +
+
+
+
+ +
+
+ +
+
+

Build your cloud native career

+

Kubernetes is at the core of the cloud native movement. Training and certifications from the Linux Foundation and our training partners lets you invest in your career, learn Kubernetes, and make your cloud native projects successful.

+
+
+
+
+ +
+
+
+

Take a free course on edX

+
+
+
+
+
+ Introduction to Kubernetes
 
+
+

Want to learn Kubernetes? Get an in-depth primer on this powerful system for managing containerized applications.

+
+ Go to Course +
+
+
+
+
+ Introduction to Cloud Infrastructure Technologies +
+

Learn the fundamentals of building and managing cloud technologies directly from The Linux Foundation, the leader in open source.

+
+ Go to Course +
+
+
+
+
+ Introduction to Linux +
+

Never learned Linux? Want a refresh? Develop a good working knowledge of Linux using both the graphical interface and command line across the major Linux distribution families.

+
+ Go to Course +
+
+
+
+ +
+
+
+

Learn with the Linux Foundation

+

The Linux Foundation offers instructor-led and self-paced courses for all aspects of the Kubernetes application development and operations lifecycle.

+

+ See Courses +
+
+
+ +
+
+
+

Get Kubernetes Certified

+
+
+
+
+
+ Certified Kubernetes Application Developer (CKAD) +
+

The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes.

+
+ Go to Certification +
+
+
+
+
+ Certified Kubernetes Administrator (CKA) +
+

The Certified Kubernetes Administrator (CKA) program provides assurance that CKAs have the skills, knowledge, and competency to perform the responsibilities of Kubernetes administrators.

+
+ Go to Certification +
+
+
+
+
+ +
+
+
+

Kubernetes Training Partners

+

Our network of Kubernetes Training Partners provide training services for Kubernetes and cloud native projects.

+
+
+
+ + +
+
\ No newline at end of file From 80de6ca63d233c8c6a8bfe3b753ffe4b871a0e17 Mon Sep 17 00:00:00 2001 From: Juampy NR Date: Fri, 29 May 2020 11:24:28 +0200 Subject: [PATCH 122/533] Update content/en/docs/tasks/run-application/horizontal-pod-autoscale.md Co-authored-by: Qiming Teng --- .../en/docs/tasks/run-application/horizontal-pod-autoscale.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md index 9360353b51..2a9cd1bdea 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -376,7 +376,7 @@ For scaling down the stabilization window is _300_ seconds(or the value of the for scaling down which allows a 100% of the currently running replicas to be removed which means the scaling target can be scaled down to the minimum allowed replicas. For scaling up there is no stabilization window. When the metrics indicate that the target should be -scaled up the target is scaled up immediately. There are 2 policies which are 4 pods or a 100% of the currently +scaled up the target is scaled up immediately. There are 2 policies where 4 pods or a 100% of the currently running replicas will be added every 15 seconds till the HPA reaches its steady state. ### Example: change downscale stabilization window From dde63c9a292fc77681e9565a7a56451de881fac9 Mon Sep 17 00:00:00 2001 From: Yudi A Phanama <11147376+phanama@users.noreply.github.com> Date: Fri, 29 May 2020 18:49:58 +0700 Subject: [PATCH 123/533] Add phanama to sig-docs-id-reviews --- OWNERS_ALIASES | 1 + 1 file changed, 1 insertion(+) diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index bf78ef6a64..f0e264127a 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -124,6 +124,7 @@ aliases: - girikuncoro - irvifa - wahyuoi + - phanama sig-docs-it-owners: # Admins for Italian content - fabriziopandini - mattiaperi From d74236c1207a83a6c39ac1fbb122166bba75168a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=B8=E3=83=B6=E9=87=8C=E5=81=A5=E6=99=9F?= Date: Sat, 30 May 2020 15:18:42 +0900 Subject: [PATCH 124/533] add glossary_tooltip and change word --- content/ja/docs/reference/glossary/persistent-volume-claim.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/reference/glossary/persistent-volume-claim.md b/content/ja/docs/reference/glossary/persistent-volume-claim.md index 641b23eb8d..35b8c9b46b 100644 --- a/content/ja/docs/reference/glossary/persistent-volume-claim.md +++ b/content/ja/docs/reference/glossary/persistent-volume-claim.md @@ -11,9 +11,9 @@ tags: - core-object - storage --- - コンテナ内でボリュームとしてマウントするためにPersistentVolume内で定義されたストレージリソースを要求します。 + {{< glossary_tooltip text="container" term_id="container" >}}内でボリュームとしてマウントするために {{< glossary_tooltip text="PersistentVolume" term_id="persistent-volume" >}}内で定義されたストレージリソースを要求します。 -ストレージサイズ、ストレージへのアクセス制御(読み取り専用、読み取り/書き込み、排他的)、および再利用方法(保持、リサイクル、削除)を指定します。ストレージ自体の詳細はPersistentVolumeの仕様にあります。 +ストレージサイズ、ストレージへのアクセス制御(読み取り専用、読み取り/書き込み、排他的)、および再利用方法(保持、リサイクル、削除)を指定します。ストレージ自体の詳細はPersistentVolumeオブジェクトに記載されています。 From fd983d10464835387082c2a6b0dba81a94963562 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 30 May 2020 15:19:11 +0900 Subject: [PATCH 125/533] update /ja/docs/setup/best-practices/multiple-zones/ --- content/ja/docs/setup/best-practices/multiple-zones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/setup/best-practices/multiple-zones.md b/content/ja/docs/setup/best-practices/multiple-zones.md index 64e28a2762..bf657ce266 100644 --- a/content/ja/docs/setup/best-practices/multiple-zones.md +++ b/content/ja/docs/setup/best-practices/multiple-zones.md @@ -184,7 +184,7 @@ kubernetes-minion-wf8i Ready 2m v1.13.0 Create a volume using the dynamic volume creation (only PersistentVolumes are supported for zone affinity): -```json +```bash kubectl apply -f - < Date: Sat, 30 May 2020 15:46:59 +0900 Subject: [PATCH 126/533] author From a88c4aa9a8cb4908cef59e1233349927d68d3208 Mon Sep 17 00:00:00 2001 From: Bo0km4n Date: Sat, 30 May 2020 15:55:21 +0900 Subject: [PATCH 127/533] Add glossary_tooltip and change word --- content/ja/docs/reference/glossary/kubelet.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/reference/glossary/kubelet.md b/content/ja/docs/reference/glossary/kubelet.md index a9d02ce0ad..56256d07db 100755 --- a/content/ja/docs/reference/glossary/kubelet.md +++ b/content/ja/docs/reference/glossary/kubelet.md @@ -11,8 +11,7 @@ tags: - fundamental - core-object --- - クラスター内の各ノードで実行されるエージェントです。各コンテナがPodで実行されていることを保証します。 + クラスター内の{{< glossary_tooltip text="node" term_id="node" >}}で実行されるエージェントです。各{{< glossary_tooltip text="containers" term_id="container" >}}が{{< glossary_tooltip text="Pod" term_id="pod" >}}で実行されていることを保証します。 - -kubeletは、さまざまなメカニズムを通じて提供されるPodSpecのセットを取得し、それらのPodSpecに記述されているコンテナが正常に実行されている状態に保ちます。kubeletは、Kubernetesが作成したものではないコンテナは管理しません。 +kubeletは、さまざまなメカニズムを通じて提供されるPodSpecのセットを取得し、それらのPodSpecに記述されているコンテナが正常に実行されている状態を保証します。kubeletは、Kubernetesが作成したものではないコンテナは管理しません。 From 2071649889b643e615efaa557b62f44a3eecb394 Mon Sep 17 00:00:00 2001 From: kenseitogari <40294304+kenseitogari@users.noreply.github.com> Date: Sat, 30 May 2020 16:14:06 +0900 Subject: [PATCH 128/533] Update content/ja/docs/reference/glossary/persistent-volume-claim.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/glossary/persistent-volume-claim.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/reference/glossary/persistent-volume-claim.md b/content/ja/docs/reference/glossary/persistent-volume-claim.md index 35b8c9b46b..7366429a24 100644 --- a/content/ja/docs/reference/glossary/persistent-volume-claim.md +++ b/content/ja/docs/reference/glossary/persistent-volume-claim.md @@ -11,9 +11,8 @@ tags: - core-object - storage --- - {{< glossary_tooltip text="container" term_id="container" >}}内でボリュームとしてマウントするために {{< glossary_tooltip text="PersistentVolume" term_id="persistent-volume" >}}内で定義されたストレージリソースを要求します。 + {{< glossary_tooltip text="コンテナ" term_id="container" >}}内でボリュームとしてマウントするために{{< glossary_tooltip text="PersistentVolume" term_id="persistent-volume" >}}内で定義されたストレージリソースを要求します。 ストレージサイズ、ストレージへのアクセス制御(読み取り専用、読み取り/書き込み、排他的)、および再利用方法(保持、リサイクル、削除)を指定します。ストレージ自体の詳細はPersistentVolumeオブジェクトに記載されています。 - From 5708f38eb84660773e67e856f677d2667e00d24c Mon Sep 17 00:00:00 2001 From: Bo0km4n Date: Sat, 30 May 2020 16:25:27 +0900 Subject: [PATCH 129/533] Translate text to ja in glossary text --- content/ja/docs/reference/glossary/kubelet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/kubelet.md b/content/ja/docs/reference/glossary/kubelet.md index 56256d07db..147de13074 100755 --- a/content/ja/docs/reference/glossary/kubelet.md +++ b/content/ja/docs/reference/glossary/kubelet.md @@ -11,7 +11,7 @@ tags: - fundamental - core-object --- - クラスター内の{{< glossary_tooltip text="node" term_id="node" >}}で実行されるエージェントです。各{{< glossary_tooltip text="containers" term_id="container" >}}が{{< glossary_tooltip text="Pod" term_id="pod" >}}で実行されていることを保証します。 + クラスター内の各{{< glossary_tooltip text="ノード" term_id="node" >}}で実行されるエージェントです。各{{< glossary_tooltip text="コンテナ" term_id="container" >}}が{{< glossary_tooltip text="ポッド" term_id="pod" >}}で実行されていることを保証します。 kubeletは、さまざまなメカニズムを通じて提供されるPodSpecのセットを取得し、それらのPodSpecに記述されているコンテナが正常に実行されている状態を保証します。kubeletは、Kubernetesが作成したものではないコンテナは管理しません。 From 5aa6a4946656e5907b433ae95c9f18a2e55d8ccd Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sat, 30 May 2020 17:02:28 +0900 Subject: [PATCH 130/533] update /ja/docs/setup/best-practices/node-conformance/ --- content/ja/docs/setup/best-practices/node-conformance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/setup/best-practices/node-conformance.md b/content/ja/docs/setup/best-practices/node-conformance.md index d4719288b0..129bd762ba 100644 --- a/content/ja/docs/setup/best-practices/node-conformance.md +++ b/content/ja/docs/setup/best-practices/node-conformance.md @@ -82,7 +82,7 @@ sudo docker run -it --rm --privileged --net=host \ k8s.gcr.io/node-test:0.2 ``` -Node conformance test is a containerized version of [node e2e test](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/devel/e2e-node-tests.md). +Node conformance test is a containerized version of [node e2e test](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/e2e-node-tests.md). By default, it runs all conformance tests. Theoretically, you can run any node e2e test if you configure the container and From a647204a0423c410fbf0aa748adcad32495218f6 Mon Sep 17 00:00:00 2001 From: Bo0km4n Date: Sat, 30 May 2020 18:00:17 +0900 Subject: [PATCH 131/533] Fix 'node' glossary text --- content/ja/docs/reference/glossary/kubelet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/kubelet.md b/content/ja/docs/reference/glossary/kubelet.md index 147de13074..55492ceeff 100755 --- a/content/ja/docs/reference/glossary/kubelet.md +++ b/content/ja/docs/reference/glossary/kubelet.md @@ -11,7 +11,7 @@ tags: - fundamental - core-object --- - クラスター内の各{{< glossary_tooltip text="ノード" term_id="node" >}}で実行されるエージェントです。各{{< glossary_tooltip text="コンテナ" term_id="container" >}}が{{< glossary_tooltip text="ポッド" term_id="pod" >}}で実行されていることを保証します。 + クラスター内の各{{< glossary_tooltip text="ノード" term_id="node" >}}で実行されるエージェントです。各{{< glossary_tooltip text="コンテナ" term_id="container" >}}が{{< glossary_tooltip text="Pod" term_id="pod" >}}で実行されていることを保証します。 kubeletは、さまざまなメカニズムを通じて提供されるPodSpecのセットを取得し、それらのPodSpecに記述されているコンテナが正常に実行されている状態を保証します。kubeletは、Kubernetesが作成したものではないコンテナは管理しません。 From 947628073d273adcb72a810056fd8ac6545bc429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1nos=20P=C3=A1sztor?= Date: Mon, 25 May 2020 22:00:19 +0200 Subject: [PATCH 132/533] Fixed broken formating in Running-Mongodb-On-Kubernetes-With-Statefulsets This PR fixes the broken YAML formating exhibed on https://kubernetes.io/blog/2017/01/running-mongodb-on-kubernetes-with-statefulsets/ . --- ...Mongodb-On-Kubernetes-With-Statefulsets.md | 355 +++++------------- 1 file changed, 96 insertions(+), 259 deletions(-) diff --git a/content/en/blog/_posts/2017-01-00-Running-Mongodb-On-Kubernetes-With-Statefulsets.md b/content/en/blog/_posts/2017-01-00-Running-Mongodb-On-Kubernetes-With-Statefulsets.md index f07860212a..6682d54df1 100644 --- a/content/en/blog/_posts/2017-01-00-Running-Mongodb-On-Kubernetes-With-Statefulsets.md +++ b/content/en/blog/_posts/2017-01-00-Running-Mongodb-On-Kubernetes-With-Statefulsets.md @@ -4,70 +4,49 @@ date: 2017-01-30 slug: running-mongodb-on-kubernetes-with-statefulsets url: /blog/2017/01/Running-Mongodb-On-Kubernetes-With-Statefulsets --- -_Editor's note: Today’s post is by Sandeep Dinesh, Developer Advocate, Google Cloud Platform, showing how to run a database in a container._ +_Editor's note: Today’s post is by Sandeep Dinesh, Developer Advocate, Google Cloud Platform, showing how to run a database in a container._ +{{% warning %}} +This post is several years old. The code examples need changes to work on a current Kubernetes cluster. +{{% /warning %}} -Conventional wisdom says you can’t run a database in a container. “Containers are stateless!” they say, and “databases are pointless without state!” +Conventional wisdom says you can’t run a database in a container. “Containers are stateless!” they say, and “databases are pointless without state!” Of course, this is not true at all. At Google, everything runs in a container, including databases. You just need the right tools. [Kubernetes 1.5](https://kubernetes.io/blog/2016/12/kubernetes-1-5-supporting-production-workloads/) includes the new [StatefulSet](/docs/concepts/abstractions/controllers/statefulsets/) API object (in previous versions, StatefulSet was known as PetSet). With StatefulSets, Kubernetes makes it much easier to run stateful workloads such as databases. -If you’ve followed my previous posts, you know how to create a [MEAN Stack app with Docker](http://blog.sandeepdinesh.com/2015/07/running-mean-web-application-in-docker.html), then [migrate it to Kubernetes](https://medium.com/google-cloud/running-a-mean-stack-on-google-cloud-platform-with-kubernetes-149ca81c2b5d) to provide easier management and reliability, and [create a MongoDB replica set](https://medium.com/google-cloud/mongodb-replica-sets-with-kubernetes-d96606bd9474) to provide redundancy and high availability. +If you’ve followed my previous posts, you know how to create a [MEAN Stack app with Docker](http://blog.sandeepdinesh.com/2015/07/running-mean-web-application-in-docker.html), then [migrate it to Kubernetes](https://medium.com/google-cloud/running-a-mean-stack-on-google-cloud-platform-with-kubernetes-149ca81c2b5d) to provide easier management and reliability, and [create a MongoDB replica set](https://medium.com/google-cloud/mongodb-replica-sets-with-kubernetes-d96606bd9474) to provide redundancy and high availability. -While the replica set in my previous blog post worked, there were some annoying steps that you needed to follow. You had to manually create a disk, a ReplicationController, and a service for each replica. Scaling the set up and down meant managing all of these resources manually, which is an opportunity for error, and would put your stateful application at risk In the previous example, we created a Makefile to ease the management of these resources, but it would have been great if Kubernetes could just take care of all of this for us. - -With StatefulSets, these headaches finally go away. You can create and manage your MongoDB replica set natively in Kubernetes, without the need for scripts and Makefiles. Let’s take a look how. - -_Note: StatefulSets are currently a beta resource. The [sidecar container](https://github.com/cvallance/mongo-k8s-sidecar) used for auto-configuration is also unsupported._ +While the replica set in my previous blog post worked, there were some annoying steps that you needed to follow. You had to manually create a disk, a ReplicationController, and a service for each replica. Scaling the set up and down meant managing all of these resources manually, which is an opportunity for error, and would put your stateful application at risk In the previous example, we created a Makefile to ease the management of these resources, but it would have been great if Kubernetes could just take care of all of this for us. +With StatefulSets, these headaches finally go away. You can create and manage your MongoDB replica set natively in Kubernetes, without the need for scripts and Makefiles. Let’s take a look how. +_Note: StatefulSets are currently a beta resource. The [sidecar container](https://github.com/cvallance/mongo-k8s-sidecar) used for auto-configuration is also unsupported._ **Prerequisites and Setup** - - Before we get started, you’ll need a Kubernetes 1.5+ and the [Kubernetes command line tool](/docs/user-guide/prereqs/). If you want to follow along with this tutorial and use Google Cloud Platform, you also need the [Google Cloud SDK](http://cloud.google.com/sdk). - - Once you have a [Google Cloud project created](https://console.cloud.google.com/projectcreate) and have your Google Cloud SDK setup (hint: gcloud init), we can create our cluster. - - -To create a Kubernetes 1.5 cluster, run the following command: - +To create a Kubernetes 1.5 cluster, run the following command: ``` gcloud container clusters create "test-cluster" ``` - - -This will make a three node Kubernetes cluster. Feel free to [customize the command](https://cloud.google.com/sdk/gcloud/reference/container/clusters/create) as you see fit. +This will make a three node Kubernetes cluster. Feel free to [customize the command](https://cloud.google.com/sdk/gcloud/reference/container/clusters/create) as you see fit. Then, authenticate into the cluster: - - ``` gcloud container clusters get-credentials test-cluster ``` - - - - - - **Setting up the MongoDB replica set** - - To set up the MongoDB replica set, you need three things: A [StorageClass](/docs/user-guide/persistent-volumes/#storageclasses), a [Headless Service](/docs/user-guide/services/#headless-services), and a [StatefulSet](/docs/concepts/abstractions/controllers/statefulsets/). - - -I’ve created the configuration files for these already, and you can clone the example from GitHub: - +I’ve created the configuration files for these already, and you can clone the example from GitHub: ``` git clone https://github.com/thesandlord/mongo-k8s-sidecar.git @@ -75,10 +54,7 @@ git clone https://github.com/thesandlord/mongo-k8s-sidecar.git cd /mongo-k8s-sidecar/example/StatefulSet/ ``` - - -To create the MongoDB replica set, run these two commands: - +To create the MongoDB replica set, run these two commands: ``` kubectl apply -f googlecloud\_ssd.yaml @@ -86,341 +62,202 @@ kubectl apply -f googlecloud\_ssd.yaml kubectl apply -f mongo-statefulset.yaml ``` - - That's it! With these two commands, you have launched all the components required to run an highly available and redundant MongoDB replica set. - - At an high level, it looks something like this: - - ![](https://lh4.googleusercontent.com/ohALxLD4Ugj5FCwWqgqZ4xP9al4lTgrPDc9HsgPWYRZRz_buuYK6LKSC7A5n98DdOO-Po3Zq77Yt43-QhTWdIaXqltHI7PX0zMXAXbpiilYgdowGZapG0lJ9lgubwBj1CwNHHtXA) - - Let’s examine each piece in more detail. - - **StorageClass** - - The storage class tells Kubernetes what kind of storage to use for the database nodes. You can set up many different types of StorageClasses in a ton of different environments. For example, if you run Kubernetes in your own datacenter, you can use [GlusterFS](https://www.gluster.org/). On GCP, your [storage choices](https://cloud.google.com/compute/docs/disks/) are SSDs and hard disks. There are currently drivers for [AWS](/docs/user-guide/persistent-volumes/#aws), [Azure](/docs/user-guide/persistent-volumes/#azure-disk), [Google Cloud](/docs/user-guide/persistent-volumes/#gce), [GlusterFS](/docs/user-guide/persistent-volumes/#glusterfs), [OpenStack Cinder](/docs/user-guide/persistent-volumes/#openstack-cinder), [vSphere](/docs/user-guide/persistent-volumes/#vsphere), [Ceph RBD](/docs/user-guide/persistent-volumes/#ceph-rbd), and [Quobyte](/docs/user-guide/persistent-volumes/#quobyte). +The configuration for the StorageClass looks like this: - -The configuration for the StorageClass looks like this: - - -``` -kind: StorageClass -apiVersion: storage.k8s.io/v1beta1 -metadata: - name: fast -provisioner: kubernetes.io/gce-pd -parameters: +```yaml +kind: StorageClass +apiVersion: storage.k8s.io/v1beta1 +metadata: + name: fast +provisioner: kubernetes.io/gce-pd +parameters: type: pd-ssd ``` - - This configuration creates a new StorageClass called “fast” that is backed by SSD volumes. The StatefulSet can now request a volume, and the StorageClass will automatically create it! - - -Deploy this StorageClass: - +Deploy this StorageClass: ``` kubectl apply -f googlecloud\_ssd.yaml ``` - - **Headless Service** - - Now you have created the Storage Class, you need to make a Headless Service. These are just like normal Kubernetes Services, except they don’t do any load balancing for you. When combined with StatefulSets, they can give you unique DNS addresses that let you directly access the pods! This is perfect for creating MongoDB replica sets, because our app needs to connect to all of the MongoDB nodes individually. +The configuration for the Headless Service looks like this: - -The configuration for the Headless Service looks like this: - - -``` +```yaml apiVersion: v1 - kind: Service - metadata: - - name: mongo - - labels: - - name: mongo - + name: mongo + labels: + name: mongo spec: - - ports: - - - port: 27017 - - targetPort: 27017 - - clusterIP: None - - selector: - - role: mongo + ports: + - port: 27017 + targetPort: 27017 + clusterIP: None + selector: + role: mongo ``` - - You can tell this is a Headless Service because the clusterIP is set to “None.” Other than that, it looks exactly the same as any normal Kubernetes Service. - - **StatefulSet** - - The pièce de résistance. The StatefulSet actually runs MongoDB and orchestrates everything together. StatefulSets differ from Kubernetes [ReplicaSets](/docs/user-guide/replicasets/) (not to be confused with MongoDB replica sets!) in certain ways that makes them more suited for stateful applications. Unlike Kubernetes ReplicaSets, pods created under a StatefulSet have a few unique attributes. The name of the pod is not random, instead each pod gets an ordinal name. Combined with the Headless Service, this allows pods to have stable identification. In addition, pods are created one at a time instead of all at once, which can help when bootstrapping a stateful system. You can read more about StatefulSets in the [documentation](/docs/concepts/abstractions/controllers/statefulsets/). - - Just like before, [this “sidecar” container](https://github.com/cvallance/mongo-k8s-sidecar) will configure the MongoDB replica set automatically. A “sidecar” is a helper container which helps the main container do its work. +The configuration for the StatefulSet looks like this: - -The configuration for the StatefulSet looks like this: - - -``` +```yaml apiVersion: apps/v1beta1 - kind: StatefulSet - metadata: - - name: mongo - + name: mongo spec: - - serviceName: "mongo" - - replicas: 3 - - template: - - metadata: - - labels: - - role: mongo - - environment: test - - spec: - - terminationGracePeriodSeconds: 10 - - containers: - - - name: mongo - - image: mongo - - command: - - - mongod - - - "--replSet" - - - rs0 - - - "--smallfiles" - - - "--noprealloc" - - ports: - - - containerPort: 27017 - - volumeMounts: - - - name: mongo-persistent-storage - - mountPath: /data/db - - - name: mongo-sidecar - - image: cvallance/mongo-k8s-sidecar - - env: - - - name: MONGO\_SIDECAR\_POD\_LABELS - - value: "role=mongo,environment=test" - - volumeClaimTemplates: - - - metadata: - - name: mongo-persistent-storage - - annotations: - - volume.beta.kubernetes.io/storage-class: "fast" - - spec: - - accessModes: ["ReadWriteOnce"] - - resources: - - requests: - - storage: 100Gi + selector: + matchLabels: + role: mongo + environment: test + serviceName: "mongo" + replicas: 3 + template: + metadata: + labels: + role: mongo + environment: test + spec: + terminationGracePeriodSeconds: 10 + containers: + - name: mongo + image: mongo + command: + - mongod + - "--replSet" + - rs0 + - "--smallfiles" + - "--noprealloc" + ports: + - containerPort: 27017 + volumeMounts: + - name: mongo-persistent-storage + mountPath: /data/db + - name: mongo-sidecar + image: cvallance/mongo-k8s-sidecar + env: + - name: MONGO_SIDECAR_POD_LABELS + value: "role=mongo,environment=test" + volumeClaimTemplates: + - metadata: + name: mongo-persistent-storage + spec: + storageClassName: "fast" + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 100Gi ``` - - It’s a little long, but fairly straightforward. - - The first second describes the StatefulSet object. Then, we move into the Metadata section, where you can specify labels and the number of replicas. +Next comes the pod spec. The terminationGracePeriodSeconds is used to gracefully shutdown the pod when you scale down the number of replicas, which is important for databases! Then the configurations for the two containers is shown. The first one runs MongoDB with command line flags that configure the replica set name. It also mounts the persistent storage volume to /data/db, the location where MongoDB saves its data. The second container runs the sidecar. - -Next comes the pod spec. The terminationGracePeriodSeconds is used to gracefully shutdown the pod when you scale down the number of replicas, which is important for databases! Then the configurations for the two containers is shown. The first one runs MongoDB with command line flags that configure the replica set name. It also mounts the persistent storage volume to /data/db, the location where MongoDB saves its data. The second container runs the sidecar. - - - -Finally, there is the volumeClaimTemplates. This is what talks to the StorageClass we created before to provision the volume. It will provision a 100 GB disk for each MongoDB replica. - - +Finally, there is the volumeClaimTemplates. This is what talks to the StorageClass we created before to provision the volume. It will provision a 100 GB disk for each MongoDB replica. **Using the MongoDB replica set** - - -At this point, you should have three pods created in your cluster. These correspond to the three nodes in your MongoDB replica set. You can see them with this command: - +At this point, you should have three pods created in your cluster. These correspond to the three nodes in your MongoDB replica set. You can see them with this command: ``` kubectl get pods NAME READY STATUS RESTARTS AGE - mongo-0 2/2 Running 0 3m - mongo-1 2/2 Running 0 3m - mongo-2 2/2 Running 0 3m ``` +Each pod in a StatefulSet backed by a Headless Service will have a stable DNS name. The template follows this format: \.\ - -Each pod in a StatefulSet backed by a Headless Service will have a stable DNS name. The template follows this format: \.\ - -This means the DNS names for the MongoDB replica set are: - - +This means the DNS names for the MongoDB replica set are: ``` mongo-0.mongo - mongo-1.mongo - mongo-2.mongo ``` +You can use these names directly in the [connection string URI](http://docs.mongodb.com/manual/reference/connection-string) of your app. - -You can use these names directly in the [connection string URI](http://docs.mongodb.com/manual/reference/connection-string) of your app. - -In this case, the connection string URI would be: - +In this case, the connection string URI would be: ``` -“mongodb://mongo-0.mongo,mongo-1.mongo,mongo-2.mongo:27017/dbname\_?” +mongodb://mongo-0.mongo,mongo-1.mongo,mongo-2.mongo:27017/dbname\_? ``` +That’s it! -That’s it! - -**Scaling the MongoDB replica set** - -A huge advantage of StatefulSets is that you can scale them just like Kubernetes ReplicaSets. If you want 5 MongoDB Nodes instead of 3, just run the scale command: - +**Scaling the MongoDB replica set** +A huge advantage of StatefulSets is that you can scale them just like Kubernetes ReplicaSets. If you want 5 MongoDB Nodes instead of 3, just run the scale command: ``` kubectl scale --replicas=5 statefulset mongo ``` +The sidecar container will automatically configure the new MongoDB nodes to join the replica set. -The sidecar container will automatically configure the new MongoDB nodes to join the replica set. +Include the two new nodes (mongo-3.mongo & mongo-4.mongo) in your connection string URI and you are good to go. Too easy! -Include the two new nodes (mongo-3.mongo & mongo-4.mongo) in your connection string URI and you are good to go. Too easy! +**Cleaning Up** -**Cleaning Up** - -To clean up the deployed resources, delete the StatefulSet, Headless Service, and the provisioned volumes. - -Delete the StatefulSet: +To clean up the deployed resources, delete the StatefulSet, Headless Service, and the provisioned volumes. +Delete the StatefulSet: ``` kubectl delete statefulset mongo ``` - - -Delete the Service: - +Delete the Service: ``` kubectl delete svc mongo ``` - - -Delete the Volumes: - - - +Delete the Volumes: ``` kubectl delete pvc -l role=mongo ``` - - - -Finally, you can delete the test cluster: - - - +Finally, you can delete the test cluster: ``` gcloud container clusters delete "test-cluster" ``` - - Happy Hacking! - - For more cool Kubernetes and Container blog posts, follow me on [Twitter](https://twitter.com/sandeepdinesh) and [Medium](https://medium.com/@SandeepDinesh). - - _--Sandeep Dinesh, Developer Advocate, Google Cloud Platform._ From e09e0367eacda339063be951036381a041afa325 Mon Sep 17 00:00:00 2001 From: nishipy Date: Sat, 30 May 2020 18:37:58 +0900 Subject: [PATCH 133/533] add glossary_tooltip and change word --- content/ja/docs/reference/glossary/selector.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/reference/glossary/selector.md b/content/ja/docs/reference/glossary/selector.md index c46b47e42c..24d6bcdf53 100755 --- a/content/ja/docs/reference/glossary/selector.md +++ b/content/ja/docs/reference/glossary/selector.md @@ -10,8 +10,8 @@ aka: tags: - fundamental --- - ユーザーはラベルに基づいてリソースのリストをフィルタリングできます。 + ユーザーは{{< glossary_tooltip text="ラベル" term_id="label" >}}に基づいてリソースのリストをフィルタリングできます。 -セレクターは、リソースのリストを照会して{{< glossary_tooltip text="ラベル" term_id="label" >}}でフィルターするときに適用されます。 +セレクターは、リソースのリストを照会してラベルでフィルターするときに適用されます。 From f3f0a0a6888f9bce7a5113c7a44c53850884499d Mon Sep 17 00:00:00 2001 From: Tomoya AMACHI Date: Sat, 30 May 2020 19:57:06 +0900 Subject: [PATCH 134/533] update sig docs(Ja) --- content/ja/docs/reference/glossary/sig.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/sig.md b/content/ja/docs/reference/glossary/sig.md index 79a5b67453..ffc3b5ab70 100755 --- a/content/ja/docs/reference/glossary/sig.md +++ b/content/ja/docs/reference/glossary/sig.md @@ -15,7 +15,7 @@ tags: SIGのメンバーは、アーキテクチャ、API machinery、ドキュメンテーションといった、特定のエリアの改善に共通の関心をもっています。 -SIGは[SIGガバナンス](https://github.com/kubernetes/community/blob/master/sig-governance.md)ガイドラインに準拠していなければなりませんが、独自の貢献ポリシーやコミュニケーションのチャンネルを持つことが可能です。 +SIGは[ガバナンスガイドライン](https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md)に準拠していなければなりませんが、独自の貢献ポリシーやコミュニケーションのチャンネルを持つことが可能です。 さらなる情報は[コミュニティ (kubernetes/community)](https://github.com/kubernetes/community)リポジトリと[SIGとワーキンググループ](https://github.com/kubernetes/community/blob/master/sig-list.md)を参照して下さい。 From 332a99a47f737ff3e309d58b48cb45847ebe00be Mon Sep 17 00:00:00 2001 From: TAKAHASHI Yuto Date: Sat, 30 May 2020 20:51:07 +0900 Subject: [PATCH 135/533] Make glossary/kube-scheduler.md follow v1.17 of the original text --- content/ja/docs/reference/glossary/kube-scheduler.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/reference/glossary/kube-scheduler.md b/content/ja/docs/reference/glossary/kube-scheduler.md index a83f64aafe..26cc473556 100755 --- a/content/ja/docs/reference/glossary/kube-scheduler.md +++ b/content/ja/docs/reference/glossary/kube-scheduler.md @@ -4,14 +4,14 @@ id: kube-scheduler date: 2018-04-12 full_link: /docs/reference/generated/kube-scheduler/ short_description: > - マスター上で動作するコンポーネントで、新しく作られたPodにノードが割り当てられているか監視し、割り当てられていなかった場合にそのPodを実行するノードを選択します。 + コントロールプレーン上で動作するコンポーネントで、新しく作られたPodにノードが割り当てられているか監視し、割り当てられていなかった場合にそのPodを実行するノードを選択します。 aka: tags: - architecture --- - マスター上で動作するコンポーネントで、新しく作られたPodにノードが割り当てられているか監視し、割り当てられていなかった場合にそのPodを実行するノードを選択します。 + コントロールプレーン上で動作するコンポーネントで、新しく作られた{{< glossary_tooltip term_id="pod" text="Pod" >}}に{{< glossary_tooltip term_id="node" text="ノード" >}}が割り当てられているか監視し、割り当てられていなかった場合にそのPodを実行するノードを選択します。 -スケジューリング決定で考慮される要素には、個々および集団のリソース要件、ハードウェア/ソフトウェア/ポリシーの制約、アフィニティおよびアンチアフィニティの指定、データの局所性、ワークロード間の干渉と有効期限が含まれます。 +スケジューリングの決定は、PodあるいはPod群のリソース要求量、ハードウェア/ソフトウェア/ポリシーによる制約、アフィニティおよびアンチアフィニティの指定、データの局所性、ワークロード間の干渉、有効期限などを考慮して行われます。 From 0a60e461394733209b82f37382c0b7ac25defe86 Mon Sep 17 00:00:00 2001 From: chez-shanpu Date: Sat, 30 May 2020 21:15:24 +0900 Subject: [PATCH 136/533] update ja glossary kube-apiserver --- .../ja/docs/reference/glossary/kube-apiserver.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/reference/glossary/kube-apiserver.md b/content/ja/docs/reference/glossary/kube-apiserver.md index 501333c850..29885884fe 100755 --- a/content/ja/docs/reference/glossary/kube-apiserver.md +++ b/content/ja/docs/reference/glossary/kube-apiserver.md @@ -1,18 +1,22 @@ --- -title: kube-apiserver +title: APIサーバー id: kube-apiserver date: 2018-04-12 full_link: /docs/reference/generated/kube-apiserver/ short_description: > - Kubernetes APIを外部に提供する、マスター上のコンポーネントです。これがKubernetesコントロールプレーンのフロントエンドになります。 + Kubernetes APIを提供するコントロールプレーンのコンポーネントです。 -aka: +aka: +- kube-apiserver tags: - architecture - fundamental --- - Kubernetes APIを外部に提供する、マスター上のコンポーネントです。これがKubernetesコントロールプレーンのフロントエンドになります。 + APIサーバーは、Kubernetes APIを外部に提供するKubernetes{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}のコンポーネントです。 + APIサーバーはKubernetesコントロールプレーンのフロントエンドになります。 - + -このコンポーネントは、水平スケールするように設計されています。つまり追加でインスタンスを足すことでスケール可能です。さらなる情報は、[高可用性クラスターを構築する](/docs/admin/high-availability/)を確認してください。 +Kubernetes APIサーバーの主な実装は[kube-apiserver](/docs/reference/generated/kube-apiserver/)です。 +kube-apiserverは水平方向にスケールするように設計されています—つまり、インスタンスを追加することでスケールが可能です。 +複数のkube-apiserverインスタンスを実行することで、インスタンス間でトラフィックを分散させることが可能です。 \ No newline at end of file From 3fd9bfbf59b3dd963efc5e53b2d4f8ac5d9d5a28 Mon Sep 17 00:00:00 2001 From: kondo takeshi Date: Sat, 30 May 2020 23:02:34 +0900 Subject: [PATCH 137/533] Transrate glossary/cluster.md to Japanese --- content/ja/docs/reference/glossary/cluster.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/reference/glossary/cluster.md b/content/ja/docs/reference/glossary/cluster.md index e88814a730..d933f1c4ce 100644 --- a/content/ja/docs/reference/glossary/cluster.md +++ b/content/ja/docs/reference/glossary/cluster.md @@ -5,14 +5,15 @@ date: 2019-06-15 full_link: short_description: > - Kubernetesが管理するコンテナ化されたアプリケーションを実行する、ノードと呼ばれるマシンの集合です。クラスターには、少なくとも1つのワーカーノードと少なくとも1つのマスターノードがあります。 + コンテナ化されたアプリケーションを実行する、ノードと呼ばれるワーカーマシンの集合です。すべてのクラスターには少なくとも1つのワーカーノードがあります。 aka: tags: - fundamental - operation --- -Kubernetesが管理するコンテナ化されたアプリケーションを実行する、ノードと呼ばれるマシンの集合です。クラスターには、少なくとも1つのワーカーノードと少なくとも1つのマスターノードがあります。 +コンテナ化されたアプリケーションを実行する、ノードと呼ばれるワーカーマシンの集合です。すべてのクラスターには少なくとも1つのワーカーノードがあります。 -ワーカーノードは、アプリケーションのコンポーネントであるPodをホストします。マスターノードは、クラスター内のワーカーノードとPodを管理します。複数のマスターノードを使用して、クラスターにフェイルオーバーと高可用性を提供します。 \ No newline at end of file +ワーカーノードは、アプリケーションのコンポーネントであるPodをホストします。マスターノードは、クラスター内のワーカーノードとPodを管理します。複数のマスターノードを使用して、クラスターにフェイルオーバーと高可用性を提供します。 +ワーカーノードは、アプリケーションワークロードのコンポーネントであるPodをホストします。コントロールプレーンは、クラスター内のワーカーノードとPodを管理します。本番環境では、コントロールプレーンは複数のコンピュータを使用し、クラスターは複数のノードを使用し、フォールトトレランスや高可用性を提供します。 From e704167fd2b6272b85b97329079a1f0b95a228a7 Mon Sep 17 00:00:00 2001 From: Takamichi Omori Date: Sat, 30 May 2020 23:09:13 +0900 Subject: [PATCH 138/533] Make glossary/kube-proxy.md follow v1.17 of the original text --- content/ja/docs/reference/glossary/kube-proxy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/reference/glossary/kube-proxy.md b/content/ja/docs/reference/glossary/kube-proxy.md index 0f36361539..ed06dd2f2f 100755 --- a/content/ja/docs/reference/glossary/kube-proxy.md +++ b/content/ja/docs/reference/glossary/kube-proxy.md @@ -11,10 +11,10 @@ tags: - fundamental - networking --- - [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) はクラスター内の各Nodeで動作しているネットワークプロキシで、Kubernetesの{{< glossary_tooltip term_id="service">}}コンセプトの一部を実装しています。 + kube-proxy はクラスター内の各{{< glossary_tooltip text="node" term_id="node" >}}で動作しているネットワークプロキシで、Kubernetesの{{< glossary_tooltip term_id="service">}}コンセプトの一部を実装しています。 -kube-proxyは、Nodeのネットワークルールをメンテナンスします。これらのネットワークルールにより、クラスターの内部または外部のネットワークセッションからPodへのネットワーク通信が可能になります。 +[kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/)は、Nodeのネットワークルールをメンテナンスします。これらのネットワークルールにより、クラスターの内部または外部のネットワークセッションからPodへのネットワーク通信が可能になります。 kube-proxyは、オペレーティングシステムにパケットフィルタリング層があり、かつ使用可能な場合、パケットフィルタリング層を使用します。それ以外の場合は自身でトラフィックを転送します。 From c4bdfc01d671e76d15f8cc46a1730c006aa80247 Mon Sep 17 00:00:00 2001 From: Takamichi Omori Date: Sat, 30 May 2020 23:35:05 +0900 Subject: [PATCH 139/533] remove a space behind a word --- content/ja/docs/reference/glossary/kube-proxy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/kube-proxy.md b/content/ja/docs/reference/glossary/kube-proxy.md index ed06dd2f2f..011decd4d5 100755 --- a/content/ja/docs/reference/glossary/kube-proxy.md +++ b/content/ja/docs/reference/glossary/kube-proxy.md @@ -11,7 +11,7 @@ tags: - fundamental - networking --- - kube-proxy はクラスター内の各{{< glossary_tooltip text="node" term_id="node" >}}で動作しているネットワークプロキシで、Kubernetesの{{< glossary_tooltip term_id="service">}}コンセプトの一部を実装しています。 + kube-proxyはクラスター内の各{{< glossary_tooltip text="node" term_id="node" >}}で動作しているネットワークプロキシで、Kubernetesの{{< glossary_tooltip term_id="service">}}コンセプトの一部を実装しています。 From edf0eccd47ee586e9cd6cc33f81d488a993bd11e Mon Sep 17 00:00:00 2001 From: ytakaya Date: Sun, 31 May 2020 00:04:37 +0900 Subject: [PATCH 140/533] update volume docs(Ja) --- content/ja/docs/reference/glossary/volume.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/reference/glossary/volume.md b/content/ja/docs/reference/glossary/volume.md index 7d7235e20e..1006697c82 100644 --- a/content/ja/docs/reference/glossary/volume.md +++ b/content/ja/docs/reference/glossary/volume.md @@ -11,8 +11,10 @@ tags: - core-object - fundamental --- - {{< glossary_tooltip text="ポッド" term_id="pod" >}}内のコンテナからアクセス可能なデータを含むディレクトリ。 + {{< glossary_tooltip text="ポッド" term_id="pod" >}}内の{{< glossary_tooltip text="containers" term_id="container" >}}からアクセス可能なデータを含むディレクトリ。 -Kubernetesボリュームはボリュームを含む{{< glossary_tooltip text="ポッド" term_id="pod" >}}が存在する限り有効です。そのためボリュームは{{< glossary_tooltip text="ポッド" term_id="pod" >}}内で実行されるすべての{{< glossary_tooltip text="コンテナ" term_id="container" >}}よりも長持ちし、{{< glossary_tooltip text="コンテナ" term_id="container" >}}の再起動後もデータは保持されます。 +Kubernetesボリュームはボリュームを含むポッドが存在する限り有効です。そのためボリュームはポッド内で実行されるすべてのコンテナよりも長持ちし、コンテナの再起動後もデータは保持されます。 + +詳しくは[ストレージ](https://kubernetes.io/docs/concepts/storage/)をご覧下さい。 \ No newline at end of file From 485fecc80001607d53111918ea4bbc168f967265 Mon Sep 17 00:00:00 2001 From: KJ Date: Sun, 31 May 2020 01:14:54 +0900 Subject: [PATCH 141/533] Make glossary/kube-controller-manager.md follow v1.17 of the original text --- .../ja/docs/reference/glossary/kube-controller-manager.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/reference/glossary/kube-controller-manager.md b/content/ja/docs/reference/glossary/kube-controller-manager.md index e79840204b..f2e2816d72 100755 --- a/content/ja/docs/reference/glossary/kube-controller-manager.md +++ b/content/ja/docs/reference/glossary/kube-controller-manager.md @@ -4,15 +4,15 @@ id: kube-controller-manager date: 2018-04-12 full_link: /docs/reference/generated/kube-controller-manager/ short_description: > - マスター上に存在し、コントローラーを実行するコンポーネントです。 + コントロールプレーン上で動作するコンポーネントで、複数のコントローラープロセスを実行します。 aka: tags: - architecture - fundamental --- - マスター上に存在し、{{< glossary_tooltip text="controllers" term_id="controller" >}}を実行するコンポーネントです。 + コントロールプレーン上で動作するコンポーネントで、複数の{{< glossary_tooltip text="コントローラー" term_id="controller" >}}プロセスを実行します。 -論理的には、各{{< glossary_tooltip text="controller" term_id="controller" >}}は個別のプロセスですが、複雑になるのを避けるために一つの実行ファイルにまとめてコンパイルされ、単一のプロセスとして動きます。 +論理的には、各{{< glossary_tooltip text="コントローラー" term_id="controller" >}}は個別のプロセスですが、複雑さを減らすために一つの実行ファイルにまとめてコンパイルされ、単一のプロセスとして動きます。 From 10b656a9e08672078637875e9527a0620942da89 Mon Sep 17 00:00:00 2001 From: Takeshi Kondo <10370988+chaspy@users.noreply.github.com> Date: Sun, 31 May 2020 05:54:07 +0900 Subject: [PATCH 142/533] Update content/ja/docs/reference/glossary/cluster.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/glossary/cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/cluster.md b/content/ja/docs/reference/glossary/cluster.md index d933f1c4ce..17437bdfbe 100644 --- a/content/ja/docs/reference/glossary/cluster.md +++ b/content/ja/docs/reference/glossary/cluster.md @@ -16,4 +16,4 @@ tags: ワーカーノードは、アプリケーションのコンポーネントであるPodをホストします。マスターノードは、クラスター内のワーカーノードとPodを管理します。複数のマスターノードを使用して、クラスターにフェイルオーバーと高可用性を提供します。 -ワーカーノードは、アプリケーションワークロードのコンポーネントであるPodをホストします。コントロールプレーンは、クラスター内のワーカーノードとPodを管理します。本番環境では、コントロールプレーンは複数のコンピュータを使用し、クラスターは複数のノードを使用し、フォールトトレランスや高可用性を提供します。 +ワーカーノードは、アプリケーションワークロードのコンポーネントである{{< glossary_tooltip text="Pod" term_id="pod" >}}をホストします。{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}は、クラスター内のワーカーノードとPodを管理します。本番環境では、コントロールプレーンは複数のコンピューターを使用し、クラスターは複数のノードを使用し、耐障害性や高可用性を提供します。 From 0a96c4b01aa33e883f854df94d5eb6d427d381e7 Mon Sep 17 00:00:00 2001 From: Takeshi Kondo <10370988+chaspy@users.noreply.github.com> Date: Sun, 31 May 2020 05:54:22 +0900 Subject: [PATCH 143/533] Update content/ja/docs/reference/glossary/cluster.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/glossary/cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/cluster.md b/content/ja/docs/reference/glossary/cluster.md index 17437bdfbe..bf2450aeb9 100644 --- a/content/ja/docs/reference/glossary/cluster.md +++ b/content/ja/docs/reference/glossary/cluster.md @@ -12,7 +12,7 @@ tags: - fundamental - operation --- -コンテナ化されたアプリケーションを実行する、ノードと呼ばれるワーカーマシンの集合です。すべてのクラスターには少なくとも1つのワーカーノードがあります。 +コンテナ化されたアプリケーションを実行する、{{< glossary_tooltip text="ノード" term_id="node" >}}と呼ばれるワーカーマシンの集合です。すべてのクラスターには少なくとも1つのワーカーノードがあります。 ワーカーノードは、アプリケーションのコンポーネントであるPodをホストします。マスターノードは、クラスター内のワーカーノードとPodを管理します。複数のマスターノードを使用して、クラスターにフェイルオーバーと高可用性を提供します。 From 113a27e7bbfca43e4f85b82fa7bb5b46a2c7885a Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 06:37:49 +0900 Subject: [PATCH 144/533] Update full_link content/ja/docs/reference/glossary/kube-controller-manager.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/glossary/kube-controller-manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/kube-controller-manager.md b/content/ja/docs/reference/glossary/kube-controller-manager.md index f2e2816d72..69c145b477 100755 --- a/content/ja/docs/reference/glossary/kube-controller-manager.md +++ b/content/ja/docs/reference/glossary/kube-controller-manager.md @@ -2,7 +2,7 @@ title: kube-controller-manager id: kube-controller-manager date: 2018-04-12 -full_link: /docs/reference/generated/kube-controller-manager/ +full_link: /docs/reference/command-line-tools-reference/kube-controller-manager/ short_description: > コントロールプレーン上で動作するコンポーネントで、複数のコントローラープロセスを実行します。 From 261aba0bc94119711779169ca4ebd0d452b84e5f Mon Sep 17 00:00:00 2001 From: KJ Date: Sun, 31 May 2020 09:44:36 +0900 Subject: [PATCH 145/533] Translate /docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ into Japanese --- ...igure-liveness-readiness-startup-probes.md | 339 ++++++++++++++++++ 1 file changed, 339 insertions(+) create mode 100644 content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md new file mode 100644 index 0000000000..c652c06ea8 --- /dev/null +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -0,0 +1,339 @@ +--- +title: Liveness Probe、Readiness Probe および Startup Probeを使用する +content_template: templates/task +weight: 110 +--- + +{{% capture overview %}} + +このページでは、Liveness Probe、Readiness Probe および Startup Probeの使用方法について説明します。 + +[kubelet](/docs/admin/kubelet/)は、Liveness Probeを使用して、コンテナをいつ再起動するかを認識します。 +例えば、アプリケーション自体は起動しているが、処理を継続することができないデッドロック状態を検知することができます。 +このような状態のコンテナを再起動することで、バグがある場合でもアプリケーションの可用性を高めることができます。 + +kubeletは、Readiness Probeを使用して、コンテナがトラフィックを受け入れられる状態であるかを認識します。 +Podが準備ができていると見なされるのは、Pod内の全てのコンテナの準備が整ったときです。 +一例として、このシグナルはServiceのバックエンドとして使用されるPodの制御するときに使用されます。 +Podの準備ができていない場合、そのPodはServiceのロードバランシングから切り離されます。 + +kubeletは、Startup Probeを使用して、コンテナアプリケーションの起動が完了したかを認識します。 +Startup Probeを使用している場合、Startup Probeが成功するまでは、Liveness Probeと +Readiness Probeによるチェックを無効にし、これらがアプリケーションの起動に干渉しないようにします。 +例えば、これを起動が遅いコンテナの起動チェックとして使用することで、kubeletによって起動する前に +強制終了されることを防ぐことができます。 + +{{% /capture %}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +## コマンド実行によるLiveness Probeを定義する {#define-a-liveness-command} + +多くのアプリケーションは、長期間実行されている場合に、再起動されるまで回復できないような異常な状態になることがあります。 +Kubernetesは、このような状況を検知し、回復するためのLiveness Probeを提供します。 + +この演習では、`k8s.gcr.io/busybox`イメージのコンテナを起動するPodを作成します。 +Podの構成ファイルは次の通りです。 + +{{< codenew file="pods/probe/exec-liveness.yaml" >}} + +この構成ファイルでは、Podは一つの`Container`を起動します。 +`periodSeconds`フィールドは、kubeletがLiveness Probeを5秒おきに行うように指定しています。 +`initialDelaySeconds`フィールドは、kubeletが最初のProbeを実行する前に5秒間待機するように指示しています。 +Probeの動作としては、kubeletは`cat /tmp/healthy`を目標となるコンテナ内で実行します。 +このコマンドが成功し、リターンコード0が返ると、kubeletはコンテナが問題なく動いていると判断します。 +リターンコードとして0以外の値が返ると、kubeletはコンテナを終了し、再起動を行います。 + +コンテナが起動すると、次のコマンドを実行します: + +```shell +/bin/sh -c "touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600" +``` + +コンテナが起動してから初めの30秒間は`/tmp/healthy`ファイルがコンテナ内に存在します。 +そのため初めの30秒間は`cat /tmp/healthy`コマンドは成功し、正常なリターンコードが返ります。 +その後30秒が経過すると、`cat /tmp/healthy`コマンドは異常なリターンコードを返します。 + +このPodを起動してください: + +```shell +kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml +``` + +30秒間以内に、Podのイベントを確認します。 + +```shell +kubectl describe pod liveness-exec +``` + +この出力結果は、Liveness Probeがまだ失敗していないことを示しています。 + +``` +FirstSeen LastSeen Count From SubobjectPath Type Reason Message +--------- -------- ----- ---- ------------- -------- ------ ------- +24s 24s 1 {default-scheduler } Normal Scheduled Successfully assigned liveness-exec to worker0 +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Pulling pulling image "k8s.gcr.io/busybox" +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Pulled Successfully pulled image "k8s.gcr.io/busybox" +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Created Created container with docker id 86849c15382e; Security:[seccomp=unconfined] +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Started Started container with docker id 86849c15382e +``` + +35秒後に、Podのイベントをもう一度確認します: + +```shell +kubectl describe pod liveness-exec +``` + +出力結果の最後に、Liveness Probeが失敗していることを示すメッセージがあります。 + +``` +FirstSeen LastSeen Count From SubobjectPath Type Reason Message +--------- -------- ----- ---- ------------- -------- ------ ------- +37s 37s 1 {default-scheduler } Normal Scheduled Successfully assigned liveness-exec to worker0 +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Pulling pulling image "k8s.gcr.io/busybox" +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Pulled Successfully pulled image "k8s.gcr.io/busybox" +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Created Created container with docker id 86849c15382e; Security:[seccomp=unconfined] +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Started Started container with docker id 86849c15382e +2s 2s 1 {kubelet worker0} spec.containers{liveness} Warning Unhealthy Liveness probe failed: cat: can't open '/tmp/healthy': No such file or directory +``` + +さらに30秒後、コンテナが再起動していることを確認します: + +```shell +kubectl get pod liveness-exec +``` + +出力結果から、`RESTARTS`がインクリメントされていることを確認します: + +``` +NAME READY STATUS RESTARTS AGE +liveness-exec 1/1 Running 1 1m +``` + +## HTTPリクエストによるLiveness Probeを定義する {#define-a-liveness-http-request} + +別の種類のLiveness Probeでは、HTTP GETリクエストを使用します。 +次の構成ファイルは、`k8s.gcr.io/liveness`イメージを使用したコンテナを起動するPodを作成します。 + +{{< codenew file="pods/probe/http-liveness.yaml" >}} + +この構成ファイルでは、Podは一つの`Container`を起動します。 +`periodSeconds`フィールドは、kubeletがLiveness Probeを3秒おきに行うように指定しています。 +`initialDelaySeconds`フィールドは、kubeletが最初のProbeを実行する前に3秒間待機するように指示しています。 +Probeの動作としては、kubeletは8080ポートをリッスンしているコンテナ内のサーバーに対してHTTP GETリクエストを送ります。 +サーバー内の`/healthz`パスに対するハンドラーが正常なリターンコードを応答した場合、 +kubeletはコンテナが問題なく動いていると判断します。 +異常なリターンコードを応答すると、kubeletはコンテナを終了し、再起動を行います。 + +200以上400未満のコードは成功とみなされ、その他のコードは失敗とみなされます。 + +[server.go](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/test/images/agnhost/liveness/server.go) +にてサーバーのソースコードを確認することができます。 + +コンテナが生きている初めの10秒間は、`/healthz`ハンドラーが200ステータスを返します。 +その後、ハンドラーは500ステータスを返します。 + +```go +http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + duration := time.Now().Sub(started) + if duration.Seconds() > 10 { + w.WriteHeader(500) + w.Write([]byte(fmt.Sprintf("error: %v", duration.Seconds()))) + } else { + w.WriteHeader(200) + w.Write([]byte("ok")) + } +}) +``` + +kubeletは、コンテナが起動してから3秒後からヘルスチェックを行います。 +そのため、初めのいくつかのヘルスチェックは成功します。しかし、10秒経過するとヘルスチェックは失敗し、kubeletはコンテナを終了し、再起動します。 + +HTTPリクエストのチェックによるLiveness Probeを試すには、以下のようにPodを作成します: + +```shell +kubectl apply -f https://k8s.io/examples/pods/probe/http-liveness.yaml +``` + +10秒後、Podのイベントを表示し、Liveness Probeが失敗し、コンテナが再起動されていることを確認します。 + +```shell +kubectl describe pod liveness-http +``` + +v1.13以前(v1.13を含む)のリリースにおいては、Podが起動しているノードにおいて、環境変数`http_proxy` +(または `HTTP_PROXY`)が設定されている場合、HTTPリクエストのLiveness Probeは、設定されたプロキシを使用します。 +v1.13より後のリリースにおいては、ローカルHTTPプロキシ環境変数の設定は、HTTPリクエストのLiveness Probeに影響しません。 + +## TCPによるLiveness Probeを定義する {#define-a-tcp-liveness-probe} + +3つ目のLiveness Probeは、TCPソケットを使用するタイプです。 +この構成においては、kubeletは指定したコンテナのソケットを開くことを試みます。 +コネクションを確立できる場合、コンテナを正常とみなし、失敗する場合は、異常とみなします。 + +{{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} + +見ての通り、TCPによるチェックの構成は、HTTPによるチェックと非常に似ています。 +この例では、Readiness ProbeとLiveness Probeを両方使用しています。 +kubeletは、コンテナが起動してから5秒後に、最初のReadiness Probeを開始します。 +これは、`goproxy`コンテナの8080ポートに対して、接続を試みます。 +このProbeが成功する、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 + +この構成では、Readiness Probeに加えて、Liveness Probeが含まれています。 +kubeletは、コンテナが起動してから15秒後に、最初のLiveness Probeを行います。 +Readiness Probeと同様に、これは`goproxy`コンテナの8080ポートに対して、接続を試みます。 +Liveness Probeが失敗した場合、コンテナは再起動されます。 + +TCPのチェックによるLiveness Probeを試すには、以下のようにPodを作成します: + +```shell +kubectl apply -f https://k8s.io/examples/pods/probe/tcp-liveness-readiness.yaml +``` + +15秒後、Podのイベントを表示し、Liveness Probeが行われていることを確認します: + +```shell +kubectl describe pod goproxy +``` + +## 名前付きポートを使用する {#use-a-named-port} + +HTTPまたはTCPによるProbeにおいて、[ContainerPort](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#containerport-v1-core) +で定義した名前付きポートを使用することができます。 + +```yaml +ports: +- name: liveness-port + containerPort: 8080 + hostPort: 8080 + +livenessProbe: + httpGet: + path: /healthz + port: liveness-port +``` + +## Startup Probeを使用して、起動の遅いコンテナを保護する {#define-startup-probes} + +場合によっては、最初の初期化において、追加の起動時間が必要になるようなレガシーアプリケーションを扱う必要があります。 +そのような場合において、デッドロックに対する迅速な反応を損なうことなく、Liveness Probeのパラメーターを設定することは難しい場合があります。 + +これに対する解決策の一つは、Liveness Probeと同じ構成のコマンド、HTTPまたはTCPによるチェックを使用した、Startup Probeをセットアップすることです。 +その際、`failureThreshold * periodSeconds`で計算される時間を、起動時間として想定される最も遅いケースをカバーできる十分な長さに設定します。 + +上記の例は、次のようになります: + +```yaml +ports: +- name: liveness-port + containerPort: 8080 + hostPort: 8080 + +livenessProbe: + httpGet: + path: /healthz + port: liveness-port + failureThreshold: 1 + periodSeconds: 10 + +startupProbe: + httpGet: + path: /healthz + port: liveness-port + failureThreshold: 30 + periodSeconds: 10 +``` + +Startup Probeにより、アプリケーションは起動が完了するまでに最大5分間の猶予(30 * 10 = 300秒)が与えられます。 +Startup Probeに一度成功すると、その後はLiveness Probeが引き継ぎ、コンテナのデッドロックに対して迅速に反応します。 +Startup Probeが成功しない場合、コンテナは300秒後に終了し、その後はPodの`restartPolicy`に従います。 + +## Readiness Probeを定義する {#define-readiness-probes} + +アプリケーションは、一時的にトラフィックを処理できないことが起こり得ます。 +例えば、アプリケーションは、起動時に大きなデータまたは構成ファイルを読み込む必要がある場合や、起動後に外部サービスに依存する可能性があります。 +このような場合、アプリケーションを終了させたくありませんが、リクエストを受けたくないと思います。 +Kubernetesは、これらの状況を検知して緩和するための機能として、Readiness Probeを提供します。 +準備できていないことを報告するコンテナを含むPodは、KubernetesのServiceからトラフィックを受信しないようにできます。 + +{{< note >}} +Readiness Probeは、コンテナの全てのライフサイクルにおいて実行されます。 +{{< /note >}} + +Readiness Probeは、Liveness Probeと同様に構成します。 +唯一の違いは、`readinessProbe`フィールドを`livenessProbe` フィールドの代わりに利用することだけです。 + +```yaml +readinessProbe: + exec: + command: + - cat + - /tmp/healthy + initialDelaySeconds: 5 + periodSeconds: 5 +``` + +HTTPおよびTCPによるReadiness Probeの構成も、Liveness Probeと同じです。 + +Readiness ProbeとLiveness Probeは、同じコンテナで同時に使用できます。 +両方使用することで、準備できていないコンテナへのトラフィックが到達しないようにし、コンテナが失敗したときに再起動することができます。 + +## Probeの構成 {#configure-probes} + +{{< comment >}} +Eventually, some of this section could be moved to a concept topic. +{{< /comment >}} + +[Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) には、 +Liveness ProbeおよびReadiness Probeのチェック動作を、より正確に制御するために使用できるいくつかのフィールドがあります: + +* `initialDelaySeconds`: コンテナが起動してから、Liveness ProbeまたはReadiness Probeが開始されるまでの秒数。デフォルトは0秒。最小値は0。 +* `periodSeconds`: Probeが実行される頻度(秒数)。デフォルトは0秒。最小値は1。 +* `timeoutSeconds`: Probeがタイムアウトになるまでの秒数。デフォルトは1秒。最小値は1。 +* `successThreshold`: 一度Probeが失敗した後、次のProbeが成功したとみなされるための最小連続成功数。 +デフォルトは1。Liveness Probeには、1にする必要があります。最小値は1。 +* `failureThreshold`: Podが開始してProbeが失敗した場合、Kubernetesは`failureThreshold`に設定した回数までProbeを試行します。 +Liveness Probeにおいて、試行回数に到達することは、コンテナを再起動することを意味します。 +Readiness Probeの場合は、Podが準備できていない状態として通知されます。デフォルトは3。最小値は1。 + +[HTTPによるProbe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#httpgetaction-v1-core) +は、`httpGet`にて設定できる複数の追加フィールドがあります: + +* `host`: 接続先ホスト名。デフォルトはPod IP。おそらくはこのフィールドの代わりに`httpHeaders`内の"Host"を代わりに使用することになります。 +* `scheme`: ホストへの接続で使用するスキーマ(HTTP または HTTPS)。デフォルトは HTTP。 +* `path`: HTTPサーバーへアクセスする際のパス +* `httpHeaders`: リクエスト内のカスタムヘッダー。HTTPでは、repeated headerが許可されています。 +* `port`: コンテナにアクセスする際のポートの名前または番号。ポート番号の場合、1から65535の範囲内である必要があります。 + +HTTPによるProbeの場合、kubeletは、指定したパスとポートに対するHTTPリクエストを送ることで、チェックを行います。 +kubeletは、`httpGet`のオプションである`host`フィールドでアドレスが上書きされない限り、PodのIPアドレスに対してProbeを送ります。 +`scheme`フィールドに`HTTPS`がセットされている場合、kubeletは、証明書の検証を行わずに、HTTPSリクエストを送ります。 +ほとんどのシナリオにおいては、`host`フィールドを使用する必要はありません。次のシナリオは、使用する場合の一例です。 +仮に、コンテナが127.0.0.1をリッスンしており、かつPodの`hostNetwork`フィールドがtrueだとします。 +その場合では、`httpGet`フィールド内の`host`には、127.0.0.1をセットする必要があります。 +より一般的なケースにおいてPodが仮想ホストに依存している場合は、おそらく`host`フィールドではなく、`httpHeaders`フィールド内の`Host`ヘッダーを使用する必要があります。 + +TCPによるProbeの場合、kubeletはPodの中ではなく、Nodeに対してコネクションを確立するProbeを実行します。 +kubeletはServiceの名前を解決できないため、`host`パラメーター内でServiceの名前を使用することはできません。 + +{{% /capture %}} + +{{% capture whatsnext %}} + +* [Container Probes](/ja/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)についてもっと学ぶ + +また、次のAPIリファレンスも参考にしてください: + +* [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core) +* [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) +* [Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) + +{{% /capture %}} + + From 94b72dab009e8dcebd9b56a2568343b99e0c02ca Mon Sep 17 00:00:00 2001 From: ytakaya Date: Sun, 31 May 2020 13:15:28 +0900 Subject: [PATCH 146/533] =?UTF-8?q?fix=20the=20term:=20=E3=83=9D=E3=83=83?= =?UTF-8?q?=E3=83=89=20->=20Pod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/ja/docs/reference/glossary/volume.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/reference/glossary/volume.md b/content/ja/docs/reference/glossary/volume.md index 1006697c82..7351bbc4f9 100644 --- a/content/ja/docs/reference/glossary/volume.md +++ b/content/ja/docs/reference/glossary/volume.md @@ -4,17 +4,17 @@ id: volume date: 2018-04-12 full_link: /docs/concepts/storage/volumes/ short_description: > - ポッド内のコンテナからアクセス可能なデータを含むディレクトリ。 + Pod内のコンテナからアクセス可能なデータを含むディレクトリ。 aka: tags: - core-object - fundamental --- - {{< glossary_tooltip text="ポッド" term_id="pod" >}}内の{{< glossary_tooltip text="containers" term_id="container" >}}からアクセス可能なデータを含むディレクトリ。 + {{< glossary_tooltip text="Pod" term_id="pod" >}}内の{{< glossary_tooltip text="containers" term_id="container" >}}からアクセス可能なデータを含むディレクトリ。 -Kubernetesボリュームはボリュームを含むポッドが存在する限り有効です。そのためボリュームはポッド内で実行されるすべてのコンテナよりも長持ちし、コンテナの再起動後もデータは保持されます。 +Kubernetesボリュームはボリュームを含むPodが存在する限り有効です。そのためボリュームはPod内で実行されるすべてのコンテナよりも長持ちし、コンテナの再起動後もデータは保持されます。 詳しくは[ストレージ](https://kubernetes.io/docs/concepts/storage/)をご覧下さい。 \ No newline at end of file From 29d6ee6fc7ef60f66076d5ba53f637517516bcdd Mon Sep 17 00:00:00 2001 From: takaya Date: Sun, 31 May 2020 13:43:51 +0900 Subject: [PATCH 147/533] =?UTF-8?q?fix=20the=20term:=20containers=20->=20?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=86=E3=83=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Naoki Oketani --- content/ja/docs/reference/glossary/volume.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/reference/glossary/volume.md b/content/ja/docs/reference/glossary/volume.md index 7351bbc4f9..8ea7702e4c 100644 --- a/content/ja/docs/reference/glossary/volume.md +++ b/content/ja/docs/reference/glossary/volume.md @@ -11,10 +11,10 @@ tags: - core-object - fundamental --- - {{< glossary_tooltip text="Pod" term_id="pod" >}}内の{{< glossary_tooltip text="containers" term_id="container" >}}からアクセス可能なデータを含むディレクトリ。 + {{< glossary_tooltip text="Pod" term_id="pod" >}}内の{{< glossary_tooltip text="コンテナ" term_id="container" >}}からアクセス可能なデータを含むディレクトリ。 Kubernetesボリュームはボリュームを含むPodが存在する限り有効です。そのためボリュームはPod内で実行されるすべてのコンテナよりも長持ちし、コンテナの再起動後もデータは保持されます。 -詳しくは[ストレージ](https://kubernetes.io/docs/concepts/storage/)をご覧下さい。 \ No newline at end of file +詳しくは[ストレージ](https://kubernetes.io/docs/concepts/storage/)をご覧下さい。 From a05262a68abfc326447ad010a209debf022bc198 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:45:01 +0900 Subject: [PATCH 148/533] Remove spaces between Japanese and English in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index c652c06ea8..d9c895a160 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -1,5 +1,5 @@ --- -title: Liveness Probe、Readiness Probe および Startup Probeを使用する +title: Liveness Probe、Readiness ProbeおよびStartup Probeを使用する content_template: templates/task weight: 110 --- @@ -336,4 +336,3 @@ kubeletはServiceの名前を解決できないため、`host`パラメーター {{% /capture %}} - From 62409ba0e3e053fe95faee6b42f513ed522b893b Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:49:25 +0900 Subject: [PATCH 149/533] Fix grammar content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index d9c895a160..648aeaffd3 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -14,7 +14,7 @@ weight: 110 kubeletは、Readiness Probeを使用して、コンテナがトラフィックを受け入れられる状態であるかを認識します。 Podが準備ができていると見なされるのは、Pod内の全てのコンテナの準備が整ったときです。 -一例として、このシグナルはServiceのバックエンドとして使用されるPodの制御するときに使用されます。 +一例として、このシグナルはServiceのバックエンドとして使用されるPodを制御するときに使用されます。 Podの準備ができていない場合、そのPodはServiceのロードバランシングから切り離されます。 kubeletは、Startup Probeを使用して、コンテナアプリケーションの起動が完了したかを認識します。 @@ -335,4 +335,3 @@ kubeletはServiceの名前を解決できないため、`host`パラメーター * [Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) {{% /capture %}} - From a63947d14bd2b8492bc9361e97aacb2c3d660473 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:50:12 +0900 Subject: [PATCH 150/533] Remove spaces between Japanese and English in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 648aeaffd3..6a34f0e528 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -6,7 +6,7 @@ weight: 110 {{% capture overview %}} -このページでは、Liveness Probe、Readiness Probe および Startup Probeの使用方法について説明します。 +このページでは、Liveness Probe、Readiness ProbeおよびStartup Probeの使用方法について説明します。 [kubelet](/docs/admin/kubelet/)は、Liveness Probeを使用して、コンテナをいつ再起動するかを認識します。 例えば、アプリケーション自体は起動しているが、処理を継続することができないデッドロック状態を検知することができます。 From f08c35b415132674416b0f110daf9f51f1a4e9d4 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:51:19 +0900 Subject: [PATCH 151/533] Fix grammar in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 6a34f0e528..58ab10fdcf 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -20,7 +20,7 @@ Podの準備ができていない場合、そのPodはServiceのロードバラ kubeletは、Startup Probeを使用して、コンテナアプリケーションの起動が完了したかを認識します。 Startup Probeを使用している場合、Startup Probeが成功するまでは、Liveness Probeと Readiness Probeによるチェックを無効にし、これらがアプリケーションの起動に干渉しないようにします。 -例えば、これを起動が遅いコンテナの起動チェックとして使用することで、kubeletによって起動する前に +例えば、これを起動が遅いコンテナの起動チェックとして使用することで、起動する前にkubeletによって 強制終了されることを防ぐことができます。 {{% /capture %}} From 4ab200a128fe370efd362e6a831af7cbc36e6ec5 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:52:04 +0900 Subject: [PATCH 152/533] Update translation in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 58ab10fdcf..601c083f67 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -46,7 +46,7 @@ Podの構成ファイルは次の通りです。 この構成ファイルでは、Podは一つの`Container`を起動します。 `periodSeconds`フィールドは、kubeletがLiveness Probeを5秒おきに行うように指定しています。 `initialDelaySeconds`フィールドは、kubeletが最初のProbeを実行する前に5秒間待機するように指示しています。 -Probeの動作としては、kubeletは`cat /tmp/healthy`を目標となるコンテナ内で実行します。 +Probeの動作としては、kubeletは`cat /tmp/healthy`を対象のコンテナ内で実行します。 このコマンドが成功し、リターンコード0が返ると、kubeletはコンテナが問題なく動いていると判断します。 リターンコードとして0以外の値が返ると、kubeletはコンテナを終了し、再起動を行います。 From 05234b95adb647c3abb83a475d296328f6544c68 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:53:36 +0900 Subject: [PATCH 153/533] Fix () match to style guide in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 601c083f67..583eb48a2d 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -167,7 +167,7 @@ kubectl apply -f https://k8s.io/examples/pods/probe/http-liveness.yaml kubectl describe pod liveness-http ``` -v1.13以前(v1.13を含む)のリリースにおいては、Podが起動しているノードにおいて、環境変数`http_proxy` +v1.13以前(v1.13を含む)のリリースにおいては、Podが起動しているノードにおいて、環境変数`http_proxy` (または `HTTP_PROXY`)が設定されている場合、HTTPリクエストのLiveness Probeは、設定されたプロキシを使用します。 v1.13より後のリリースにおいては、ローカルHTTPプロキシ環境変数の設定は、HTTPリクエストのLiveness Probeに影響しません。 From b20c2320ae9de944a6ca429cb0348f78ebd57dcc Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:53:54 +0900 Subject: [PATCH 154/533] Remove spaces between Japanese and English in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 583eb48a2d..69c9944fd0 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -267,7 +267,7 @@ Readiness Probeは、コンテナの全てのライフサイクルにおいて {{< /note >}} Readiness Probeは、Liveness Probeと同様に構成します。 -唯一の違いは、`readinessProbe`フィールドを`livenessProbe` フィールドの代わりに利用することだけです。 +唯一の違いは、`readinessProbe`フィールドを`livenessProbe`フィールドの代わりに利用することだけです。 ```yaml readinessProbe: From 1cca6f00a89119eefa0dd88b375cf2e3e75af744 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:57:43 +0900 Subject: [PATCH 155/533] Fix wrong defaults of periodSeconds in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 69c9944fd0..49aa0a7afc 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -294,7 +294,7 @@ Eventually, some of this section could be moved to a concept topic. Liveness ProbeおよびReadiness Probeのチェック動作を、より正確に制御するために使用できるいくつかのフィールドがあります: * `initialDelaySeconds`: コンテナが起動してから、Liveness ProbeまたはReadiness Probeが開始されるまでの秒数。デフォルトは0秒。最小値は0。 -* `periodSeconds`: Probeが実行される頻度(秒数)。デフォルトは0秒。最小値は1。 +* `periodSeconds`: Probeが実行される頻度(秒数)。デフォルトは10秒。最小値は1。 * `timeoutSeconds`: Probeがタイムアウトになるまでの秒数。デフォルトは1秒。最小値は1。 * `successThreshold`: 一度Probeが失敗した後、次のProbeが成功したとみなされるための最小連続成功数。 デフォルトは1。Liveness Probeには、1にする必要があります。最小値は1。 From 350bd63f630e35d65bf1e2fbfe4803ca9d3cf6b9 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 18:59:28 +0900 Subject: [PATCH 156/533] =?UTF-8?q?Fix=20expression=20from=20'Node'=20to?= =?UTF-8?q?=20'=E3=83=8E=E3=83=BC=E3=83=89'=20in=20content/ja/docs/tasks/c?= =?UTF-8?q?onfigure-pod-container/configure-liveness-readiness-startup-pro?= =?UTF-8?q?bes.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 49aa0a7afc..a92772fd1b 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -319,7 +319,7 @@ kubeletは、`httpGet`のオプションである`host`フィールドでアド その場合では、`httpGet`フィールド内の`host`には、127.0.0.1をセットする必要があります。 より一般的なケースにおいてPodが仮想ホストに依存している場合は、おそらく`host`フィールドではなく、`httpHeaders`フィールド内の`Host`ヘッダーを使用する必要があります。 -TCPによるProbeの場合、kubeletはPodの中ではなく、Nodeに対してコネクションを確立するProbeを実行します。 +TCPによるProbeの場合、kubeletはPodの中ではなく、ノードに対してコネクションを確立するProbeを実行します。 kubeletはServiceの名前を解決できないため、`host`パラメーター内でServiceの名前を使用することはできません。 {{% /capture %}} From 49aa7dbbe39b0941d9cc3123d8a971a80aedf428 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 19:00:00 +0900 Subject: [PATCH 157/533] Fix () match to style guide content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index a92772fd1b..a38e9e8a86 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -250,7 +250,7 @@ startupProbe: periodSeconds: 10 ``` -Startup Probeにより、アプリケーションは起動が完了するまでに最大5分間の猶予(30 * 10 = 300秒)が与えられます。 +Startup Probeにより、アプリケーションは起動が完了するまでに最大5分間の猶予(30 * 10 = 300秒)が与えられます。 Startup Probeに一度成功すると、その後はLiveness Probeが引き継ぎ、コンテナのデッドロックに対して迅速に反応します。 Startup Probeが成功しない場合、コンテナは300秒後に終了し、その後はPodの`restartPolicy`に従います。 From 264ebd80df7c2d4e19e37e9210fd52581a171dfe Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 19:00:27 +0900 Subject: [PATCH 158/533] Fix grammar in content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index a38e9e8a86..dc631c11e0 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -183,7 +183,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 この例では、Readiness ProbeとLiveness Probeを両方使用しています。 kubeletは、コンテナが起動してから5秒後に、最初のReadiness Probeを開始します。 これは、`goproxy`コンテナの8080ポートに対して、接続を試みます。 -このProbeが成功する、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 +このProbeが成功すると、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 この構成では、Readiness Probeに加えて、Liveness Probeが含まれています。 kubeletは、コンテナが起動してから15秒後に、最初のLiveness Probeを行います。 From 46d8970f99d88bca91e1d7d8a3097be92361d5ec Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 19:01:02 +0900 Subject: [PATCH 159/533] Fix () match to style guide content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: Naoki Oketani --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index dc631c11e0..977cdf3b16 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -168,7 +168,7 @@ kubectl describe pod liveness-http ``` v1.13以前(v1.13を含む)のリリースにおいては、Podが起動しているノードにおいて、環境変数`http_proxy` -(または `HTTP_PROXY`)が設定されている場合、HTTPリクエストのLiveness Probeは、設定されたプロキシを使用します。 +(または `HTTP_PROXY`)が設定されている場合、HTTPリクエストのLiveness Probeは、設定されたプロキシを使用します。 v1.13より後のリリースにおいては、ローカルHTTPプロキシ環境変数の設定は、HTTPリクエストのLiveness Probeに影響しません。 ## TCPによるLiveness Probeを定義する {#define-a-tcp-liveness-probe} From 04516f1b12dd17becdf098fec0dc52ab516782a5 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 19:52:01 +0900 Subject: [PATCH 160/533] Fix lack of translation --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 977cdf3b16..3578010232 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -90,7 +90,7 @@ FirstSeen LastSeen Count From SubobjectPath Type kubectl describe pod liveness-exec ``` -出力結果の最後に、Liveness Probeが失敗していることを示すメッセージがあります。 +出力結果の最後に、Liveness Probeが失敗していることを示すメッセージが表示され、コンテナが強制終了して再作成されています。 ``` FirstSeen LastSeen Count From SubobjectPath Type Reason Message From dbc4530d3b1069d5e87a75101dcada8dc27c4ad0 Mon Sep 17 00:00:00 2001 From: jinu Date: Sun, 31 May 2020 19:54:24 +0900 Subject: [PATCH 161/533] Update translation of 'repeated header' --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 3578010232..f9145405cc 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -308,7 +308,7 @@ Readiness Probeの場合は、Podが準備できていない状態として通 * `host`: 接続先ホスト名。デフォルトはPod IP。おそらくはこのフィールドの代わりに`httpHeaders`内の"Host"を代わりに使用することになります。 * `scheme`: ホストへの接続で使用するスキーマ(HTTP または HTTPS)。デフォルトは HTTP。 * `path`: HTTPサーバーへアクセスする際のパス -* `httpHeaders`: リクエスト内のカスタムヘッダー。HTTPでは、repeated headerが許可されています。 +* `httpHeaders`: リクエスト内のカスタムヘッダー。HTTPでは重複したヘッダーが許可されています。 * `port`: コンテナにアクセスする際のポートの名前または番号。ポート番号の場合、1から65535の範囲内である必要があります。 HTTPによるProbeの場合、kubeletは、指定したパスとポートに対するHTTPリクエストを送ることで、チェックを行います。 From fdf35678ba66dd9e4f69285e43e27e2f17a08956 Mon Sep 17 00:00:00 2001 From: KilimAnnejaro Date: Sun, 31 May 2020 11:09:36 -0500 Subject: [PATCH 162/533] Updating GPU driver version --- content/en/docs/tasks/manage-gpus/scheduling-gpus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md index 4c0b9f9bc3..a4d60478d2 100644 --- a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md @@ -98,7 +98,7 @@ has the following requirements: - Kubelet must use Docker as its container runtime - `nvidia-container-runtime` must be configured as the [default runtime](https://github.com/NVIDIA/k8s-device-plugin#preparing-your-gpu-nodes) for Docker, instead of runc. -- The version of the NVIDIA drivers must match the constraint ~= 361.93 +- The version of the NVIDIA drivers must match the constraint ~= 384.81. To deploy the NVIDIA device plugin once your cluster is running and the above requirements are satisfied: From 39509b7f8fd6696200d38b6acaea642535107df6 Mon Sep 17 00:00:00 2001 From: Keishi Asai Date: Sun, 31 May 2020 17:36:07 -0700 Subject: [PATCH 163/533] update the outdated ja tutorials/_index.md based on the v1.17 en page --- content/ja/docs/tutorials/_index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/ja/docs/tutorials/_index.md b/content/ja/docs/tutorials/_index.md index a696f5b705..a960977004 100644 --- a/content/ja/docs/tutorials/_index.md +++ b/content/ja/docs/tutorials/_index.md @@ -17,8 +17,6 @@ content_template: templates/concept * [Kubernetesの基本](/ja/docs/tutorials/kubernetes-basics/)は、Kubernetesのシステムを理解し、基本的な機能を試すのに役立つ、詳細な対話式のチュートリアルです。 -* [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](/ja/docs/tutorials/hello-minikube/) From ef91b3f8093e7d527914c6393df26091ece87178 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:03:35 +0900 Subject: [PATCH 164/533] ja: Make tutorials/kubernetes-basics/deploy-app/deploy-intro.html follow v1.17 of the original text --- content/ja/docs/tutorials/hello-minikube.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 428175e21e..d4cd03a36d 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -82,8 +82,8 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 出力: ```shell - NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE - hello-node 1 1 1 1 1m + NAME READY UP-TO-DATE AVAILABLE AGE + hello-node 1/1 1 1 1m ``` 3. Podを確認します: From c6beb18f1cc2c0c1904a9f9082f3e560bd8535cc Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:32:22 +0900 Subject: [PATCH 165/533] change URL for Minikube setup --- content/ja/docs/tutorials/hello-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index d4cd03a36d..4bf7c80485 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -15,7 +15,7 @@ card: {{% capture overview %}} -このチュートリアルでは、[Minikube](/docs/getting-started-guides/minikube)とKatacodaを使用して、Kubernetes上でシンプルなHello WorldのNode.jsアプリケーションを動かす方法を紹介します。Katacodaはブラウザで無償のKubernetes環境を提供します。 +このチュートリアルでは、[Minikube](/docs/setup/learning-environment/minikube)とKatacodaを使用して、Kubernetes上でシンプルなHello WorldのNode.jsアプリケーションを動かす方法を紹介します。Katacodaはブラウザで無償のKubernetes環境を提供します。 {{< note >}} [Minikubeをローカルにインストール](/ja/docs/tasks/tools/install-minikube/)している場合もこのチュートリアルを進めることが可能です。 From 1748e5e70056a4d009cf200c1481d9787bb0cd37 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:36:31 +0900 Subject: [PATCH 166/533] delete unnecessary blank and fix simple wording --- content/ja/docs/tutorials/hello-minikube.md | 23 +++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 4bf7c80485..1a6f796c12 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -61,7 +61,7 @@ card: 3. Katacoda環境のみ:ターミナルペーン上部の+ボタンをクリックしてから **Select port to view on Host 1** をクリックしてください。 -4. Katacoda環境のみ:`30000`を入力し、**Display Port**をクリックしてください。 +4. Katacoda環境のみ:`30000`を入力し、**Display Port**をクリックしてください。 ## Deploymentの作成 @@ -79,7 +79,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ kubectl get deployments ``` - 出力: + 出力は下記のようになります: ```shell NAME READY UP-TO-DATE AVAILABLE AGE @@ -91,7 +91,8 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ ```shell kubectl get pods ``` - 出力: + + 出力は下記のようになります: ```shell NAME READY STATUS RESTARTS AGE @@ -109,7 +110,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ ```shell kubectl config view ``` - + {{< note >}} `kubectl`コマンドの詳細な情報は[kubectl overview](/docs/user-guide/kubectl-overview/)を参照してください。{{< /note >}} ## Serviceの作成 @@ -121,7 +122,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ ```shell kubectl expose deployment hello-node --type=LoadBalancer --port=8080 ``` - + `--type=LoadBalancer`フラグはServiceをクラスタ外部に公開したいことを示しています。 2. 作成したServiceを確認します: @@ -130,7 +131,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ kubectl get services ``` - 出力: + 出力は下記のようになります: ```shell NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE @@ -163,7 +164,7 @@ Minikubeはビルトインのアドオンがあり、有効化、無効化、あ minikube addons list ``` - 出力: + 出力は下記のようになります: ```shell addon-manager: enabled @@ -182,14 +183,14 @@ Minikubeはビルトインのアドオンがあり、有効化、無効化、あ registry-creds: disabled storage-provisioner: enabled ``` - + 2. ここでは例として`heapster`のアドオンを有効化します: ```shell minikube addons enable heapster ``` - - 出力: + + 出力は下記のようになります: ```shell heapster was successfully enabled @@ -226,7 +227,7 @@ Minikubeはビルトインのアドオンがあり、有効化、無効化、あ minikube addons disable heapster ``` - 出力: + 出力は下記のようになります: ```shell heapster was successfully disabled From 583a05a09485a95370cd4f66e045c58ef2e811ac Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:40:29 +0900 Subject: [PATCH 167/533] =?UTF-8?q?fix=20=E3=83=9D=E3=83=83=E3=83=89->Pod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/ja/docs/tutorials/hello-minikube.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 1a6f796c12..3d83e30a36 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -115,7 +115,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ ## Serviceの作成 -通常、PodはKubernetesクラスタ内部のIPアドレスからのみアクセスすることができます。`hello-node`コンテナをKubernetesの仮想ネットワークの外部からアクセスするためには、Kubernetesの[*Service*](/ja/docs/concepts/services-networking/service/)としてポッドを公開する必要があります。 +通常、PodはKubernetesクラスタ内部のIPアドレスからのみアクセスすることができます。`hello-node`コンテナをKubernetesの仮想ネットワークの外部からアクセスするためには、Kubernetesの[*Service*](/ja/docs/concepts/services-networking/service/)としてPodを公開する必要があります。 1. `kubectl expose` コマンドを使用してPodをインターネットに公開します: @@ -196,7 +196,7 @@ Minikubeはビルトインのアドオンがあり、有効化、無効化、あ heapster was successfully enabled ``` -3. 作成されたポッドとサービスを確認します: +3. 作成されたPodとサービスを確認します: ```shell kubectl get pod,svc -n kube-system From c43af3ab50f5bc25602ec053e4e5ccdb83cacb02 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:42:34 +0900 Subject: [PATCH 168/533] fix section 3 of 'Enable addons' --- content/ja/docs/tutorials/hello-minikube.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 3d83e30a36..6f13b7ddf4 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -206,17 +206,21 @@ Minikubeはビルトインのアドオンがあり、有効化、無効化、あ ```shell NAME READY STATUS RESTARTS AGE - pod/heapster-9jttx 1/1 Running 0 26s + pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m + pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m + pod/metrics-server-67fb648c5 1/1 Running 0 26s + pod/etcd-minikube 1/1 Running 0 34m pod/influxdb-grafana-b29w8 2/2 Running 0 26s pod/kube-addon-manager-minikube 1/1 Running 0 34m - pod/kube-dns-6dcb57bcc8-gv7mw 3/3 Running 0 34m - pod/kubernetes-dashboard-5498ccf677-cgspw 1/1 Running 0 34m + pod/kube-apiserver-minikube 1/1 Running 0 34m + pod/kube-controller-manager-minikube 1/1 Running 0 34m + pod/kube-proxy-rnlps 1/1 Running 0 34m + pod/kube-scheduler-minikube 1/1 Running 0 34m pod/storage-provisioner 1/1 Running 0 34m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - service/heapster ClusterIP 10.96.241.45 80/TCP 26s + service/metrics-server ClusterIP 10.96.241.45 80/TCP 26s service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 34m - service/kubernetes-dashboard NodePort 10.109.29.1 80:30000/TCP 34m service/monitoring-grafana NodePort 10.99.24.54 80:30002/TCP 26s service/monitoring-influxdb ClusterIP 10.111.169.94 8083/TCP,8086/TCP 26s ``` From 271aa41c43057fdad6645728cde8eca676ddf30b Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:39:14 +0900 Subject: [PATCH 169/533] fix section 4. of 'Enable addons', Disable `heapster` to `metrics-server` --- content/ja/docs/tutorials/hello-minikube.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 6f13b7ddf4..7c9f4d4c41 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -225,16 +225,16 @@ Minikubeはビルトインのアドオンがあり、有効化、無効化、あ service/monitoring-influxdb ClusterIP 10.111.169.94 8083/TCP,8086/TCP 26s ``` -4. `heapster`を無効化します: +4. `metrics-server`を無効化します: ```shell - minikube addons disable heapster + minikube addons disable metrics-server ``` 出力は下記のようになります: ```shell - heapster was successfully disabled + etrics-server was successfully disabled ``` ## クリーンアップ From d089d158212c060e2f399014be4e2db1e13af5b9 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:50:04 +0900 Subject: [PATCH 170/533] fix section 5 of 'Create a Deployment' --- content/ja/docs/tutorials/hello-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 7c9f4d4c41..2b6e3609a2 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -150,7 +150,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 4. Katacoda環境のみ:ターミナル画面上部の+ボタンをクリックして **Select port to view on Host 1** をクリックしてください。 -5. Katacoda環境のみ:`30369`(Service出力に表示されている`8080`の反対側のポートを参照)を入力し、クリックしてください。 +5. Katacoda環境のみ:サービスの出力で5桁のポート番号が`8080`の反対側に表示されます。このポート番号はランダムに生成されるため、ここでの記載と異なる場合があります。ポート番号テキストボックスに番号を入力し、ポートの表示をクリックします。前の例の場合は、「30369」と入力します。 "Hello World"メッセージが表示されるアプリケーションのブラウザウィンドウが開きます。 From 8a60cb6b282c66f4dc6f3707ac46ef1f40e52b45 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:52:54 +0900 Subject: [PATCH 171/533] fix first part of 'Enable addons' --- content/ja/docs/tutorials/hello-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 2b6e3609a2..41fb08e1c9 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -156,7 +156,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ ## アドオンの有効化 -Minikubeはビルトインのアドオンがあり、有効化、無効化、あるいはローカルのKubernetes環境に公開することができます。 +Minikubeはビルトインの{{< glossary_tooltip text="addons" term_id="addons" >}}があり、有効化、無効化、あるいはローカルのKubernetes環境に公開することができます。 1. サポートされているアドオンをリストアップします: From a50744cf6ddd41ce03413685609036ff42f8230b Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 10:54:04 +0900 Subject: [PATCH 172/533] fix section 1 of 'Enable addons' --- content/ja/docs/tutorials/hello-minikube.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 41fb08e1c9..5ce71ba4e0 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -168,20 +168,22 @@ Minikubeはビルトインの{{< glossary_tooltip text="addons" term_id="addons" ```shell addon-manager: enabled - coredns: disabled dashboard: enabled default-storageclass: enabled efk: disabled freshpod: disabled - heapster: disabled + gvisor: disabled + helm-tiller: disabled ingress: disabled - kube-dns: enabled + ingress-dns: disabled + logviewer: disabled metrics-server: disabled nvidia-driver-installer: disabled nvidia-gpu-device-plugin: disabled registry: disabled registry-creds: disabled storage-provisioner: enabled + storage-provisioner-gluster: disabled ``` 2. ここでは例として`heapster`のアドオンを有効化します: From 696cd62a72f863f44e93d623a5687111f814c02f Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 11:50:38 +0900 Subject: [PATCH 173/533] fix wordings --- content/ja/docs/tutorials/hello-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 5ce71ba4e0..89c7da211f 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -150,7 +150,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 4. Katacoda環境のみ:ターミナル画面上部の+ボタンをクリックして **Select port to view on Host 1** をクリックしてください。 -5. Katacoda環境のみ:サービスの出力で5桁のポート番号が`8080`の反対側に表示されます。このポート番号はランダムに生成されるため、ここでの記載と異なる場合があります。ポート番号テキストボックスに番号を入力し、ポートの表示をクリックします。前の例の場合は、「30369」と入力します。 +5. Katacoda環境のみ:`8080`の反対側のService出力に、5桁のポート番号が表示されます。このポート番号はランダムに生成されるため、ここで使用するポート番号と異なる場合があります。ポート番号テキストボックスに番号を入力し、ポートの表示をクリックしてください。前の例の場合は、「30369」と入力します。 "Hello World"メッセージが表示されるアプリケーションのブラウザウィンドウが開きます。 From 68dd6290e32ffea18d402fa98c42c8209e53195b Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 12:15:21 +0900 Subject: [PATCH 174/533] fix text for Minikube build-in --- content/ja/docs/tutorials/hello-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 89c7da211f..9472defc47 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -156,7 +156,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ ## アドオンの有効化 -Minikubeはビルトインの{{< glossary_tooltip text="addons" term_id="addons" >}}があり、有効化、無効化、あるいはローカルのKubernetes環境に公開することができます。 +Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="addons" >}}があり、有効化、無効化、あるいはローカルのKubernetes環境に公開することができます。 1. サポートされているアドオンをリストアップします: From 06191dcfcfd5a0f1699e6c79058cd6759596d02f Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 1 Jun 2020 17:21:38 +0900 Subject: [PATCH 175/533] use English for hash flagment #termination-of-pods --- .../ja/docs/concepts/containers/container-lifecycle-hooks.md | 2 +- content/ja/docs/concepts/workloads/pods/pod-overview.md | 2 +- content/ja/docs/concepts/workloads/pods/pod.md | 2 +- .../configure-pod-container/attach-handler-lifecycle-event.md | 2 +- content/ja/docs/tasks/run-application/delete-stateful-set.md | 2 +- .../docs/tasks/run-application/force-delete-stateful-set-pod.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/concepts/containers/container-lifecycle-hooks.md b/content/ja/docs/concepts/containers/container-lifecycle-hooks.md index da5949374e..8e5a5ba626 100644 --- a/content/ja/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/ja/docs/concepts/containers/container-lifecycle-hooks.md @@ -34,7 +34,7 @@ Angularなどのコンポーネントライフサイクルフックを持つ多 これはブロッキング、つまり同期的であるため、コンテナを削除するための呼び出しを送信する前に完了する必要があります。 ハンドラーにパラメーターは渡されません。 -終了動作の詳細な説明は、[Termination of Pods](/ja/docs/concepts/workloads/pods/pod/#podの終了)にあります。 +終了動作の詳細な説明は、[Termination of Pods](/ja/docs/concepts/workloads/pods/pod/#termination-of-pods)にあります。 ### フックハンドラーの実装 diff --git a/content/ja/docs/concepts/workloads/pods/pod-overview.md b/content/ja/docs/concepts/workloads/pods/pod-overview.md index c3646c2100..05f68c1e60 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-overview.md +++ b/content/ja/docs/concepts/workloads/pods/pod-overview.md @@ -113,6 +113,6 @@ spec: {{% capture whatsnext %}} * [Pod](/ja/docs/concepts/workloads/pods/pod/)について更に学びましょう * Podの振る舞いに関して学ぶには下記を参照してください - * [Podの停止](/ja/docs/concepts/workloads/pods/pod/#podの終了) + * [Podの停止](/ja/docs/concepts/workloads/pods/pod/#termination-of-pods) * [Podのライフサイクル](/ja/docs/concepts/workloads/pods/pod-lifecycle/) {{% /capture %}} diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index e0d9c951b4..74b561ef38 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -126,7 +126,7 @@ Podは、以下のことを容易にするためにプリミティブとして * アプリケーションの可用性を高める。 即ち、計画的な追い出しやイメージのプリフェッチなどの場合に、Podが停止し削除される前に、必ず事前に入れ換えられることを期待する -## Podの終了 +## Podの終了 {#termination-of-pods} Podは、クラスター内のNodeで実行中のプロセスを表すため、不要になったときにそれらのプロセスを正常に終了できるようにすることが重要です(対照的なケースは、KILLシグナルで強制終了され、クリーンアップする機会がない場合)。 ユーザーは削除を要求可能であるべきで、プロセスがいつ終了するかを知ることができなければなりませんが、削除が最終的に完了することも保証できるべきです。 diff --git a/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md b/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md index e0acddd5f7..36197d7f2f 100644 --- a/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md +++ b/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md @@ -62,7 +62,7 @@ Pod内で実行されているコンテナでシェルを実行します: ただし、コンテナのエントリーポイントが呼び出される前にpostStartハンドラーが呼び出されるという保証はありません。postStartハンドラーはコンテナのコードに対して非同期的に実行されますが、postStartハンドラーが完了するまでコンテナのKubernetesによる管理はブロックされます。postStartハンドラーが完了するまで、コンテナのステータスはRUNNINGに設定されません。 Kubernetesはコンテナが終了する直前にpreStopイベントを送信します。 -コンテナのKubernetesによる管理は、Podの猶予期間が終了しない限り、preStopハンドラーが完了するまでブロックされます。詳細は[Podの終了](/ja/docs/concepts/workloads/pods/pod/#podの終了)を参照してください。 +コンテナのKubernetesによる管理は、Podの猶予期間が終了しない限り、preStopハンドラーが完了するまでブロックされます。詳細は[Podの終了](/ja/docs/concepts/workloads/pods/pod/#termination-of-pods)を参照してください。 {{< note >}} Kubernetesは、Podが *終了* したときにのみpreStopイベントを送信します。 diff --git a/content/ja/docs/tasks/run-application/delete-stateful-set.md b/content/ja/docs/tasks/run-application/delete-stateful-set.md index d8d6b8c89a..d588fca08f 100644 --- a/content/ja/docs/tasks/run-application/delete-stateful-set.md +++ b/content/ja/docs/tasks/run-application/delete-stateful-set.md @@ -50,7 +50,7 @@ kubectl delete pods -l app=myapp ### 永続ボリューム -StatefulSet内のPodを削除しても、関連付けられているボリュームは削除されません。これは、削除する前にボリュームからデータをコピーする機会があることを保証するためです。Podが[終了状態](/ja/docs/concepts/workloads/pods/pod/#podの終了)になった後にPVCを削除すると、ストレージクラスと再利用ポリシーによっては、背後にある永続ボリュームの削除がトリガーされることがあります。決してクレーム削除後にボリュームにアクセスできると想定しないでください。 +StatefulSet内のPodを削除しても、関連付けられているボリュームは削除されません。これは、削除する前にボリュームからデータをコピーする機会があることを保証するためです。Podが[終了状態](/ja/docs/concepts/workloads/pods/pod/#termination-of-pods)になった後にPVCを削除すると、ストレージクラスと再利用ポリシーによっては、背後にある永続ボリュームの削除がトリガーされることがあります。決してクレーム削除後にボリュームにアクセスできると想定しないでください。 {{< note >}} データを損失する可能性があるため、PVCを削除するときは注意してください。 diff --git a/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md b/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md index be930f23e5..6c9c3573a1 100644 --- a/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md +++ b/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md @@ -30,7 +30,7 @@ StatefulSetの通常の操作では、StatefulSet Podを強制的に削除する kubectl delete pods ``` -上記がグレースフルターミネーションにつながるためには、`pod.Spec.TerminationGracePeriodSeconds`に0を指定しては**いけません**。`pod.Spec.TerminationGracePeriodSeconds`を0秒に設定することは安全ではなく、StatefulSet Podには強くお勧めできません。グレースフル削除は安全で、kubeletがapiserverから名前を削除する前に[Podが適切にシャットダウンする](/docs/user-guide/pods/#termination-of-pods)ことを保証します。 +上記がグレースフルターミネーションにつながるためには、`pod.Spec.TerminationGracePeriodSeconds`に0を指定しては**いけません**。`pod.Spec.TerminationGracePeriodSeconds`を0秒に設定することは安全ではなく、StatefulSet Podには強くお勧めできません。グレースフル削除は安全で、kubeletがapiserverから名前を削除する前に[Podが適切にシャットダウンする](/ja/docs/concepts/workloads/pods/pod/#termination-of-pods)ことを保証します。 Kubernetes(バージョン1.5以降)は、Nodeにアクセスできないという理由だけでPodを削除しません。到達不能なNodeで実行されているPodは、[タイムアウト](/docs/admin/node/#node-condition)の後に`Terminating`または`Unknown`状態になります。到達不能なNode上のPodをユーザーが適切に削除しようとすると、Podはこれらの状態に入ることもあります。そのような状態のPodをapiserverから削除することができる唯一の方法は以下の通りです: From 3f0bb59eb0d52e93bc23f0af36daa399286be284 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 19:40:56 +0900 Subject: [PATCH 176/533] change tutorial url(add /ja/) --- content/ja/docs/tutorials/hello-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 9472defc47..9c3cc44583 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -15,7 +15,7 @@ card: {{% capture overview %}} -このチュートリアルでは、[Minikube](/docs/setup/learning-environment/minikube)とKatacodaを使用して、Kubernetes上でシンプルなHello WorldのNode.jsアプリケーションを動かす方法を紹介します。Katacodaはブラウザで無償のKubernetes環境を提供します。 +このチュートリアルでは、[Minikube](/ja/docs/setup/learning-environment/minikube)とKatacodaを使用して、Kubernetes上でシンプルなHello WorldのNode.jsアプリケーションを動かす方法を紹介します。Katacodaはブラウザで無償のKubernetes環境を提供します。 {{< note >}} [Minikubeをローカルにインストール](/ja/docs/tasks/tools/install-minikube/)している場合もこのチュートリアルを進めることが可能です。 From 0ef68b9ca6230b54bb120d8b061ff4a8e0e3a557 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 19:46:37 +0900 Subject: [PATCH 177/533] remove 'shell' --- content/ja/docs/tutorials/hello-minikube.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 9c3cc44583..3020af3483 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -81,7 +81,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 出力は下記のようになります: - ```shell + ``` NAME READY UP-TO-DATE AVAILABLE AGE hello-node 1/1 1 1 1m ``` @@ -94,7 +94,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 出力は下記のようになります: - ```shell + ``` NAME READY STATUS RESTARTS AGE hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m ``` @@ -133,7 +133,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 出力は下記のようになります: - ```shell + ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node LoadBalancer 10.108.144.78 8080:30369/TCP 21s kubernetes ClusterIP 10.96.0.1 443/TCP 23m @@ -166,7 +166,7 @@ Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="a 出力は下記のようになります: - ```shell + ``` addon-manager: enabled dashboard: enabled default-storageclass: enabled @@ -194,7 +194,7 @@ Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="a 出力は下記のようになります: - ```shell + ``` heapster was successfully enabled ``` @@ -206,7 +206,7 @@ Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="a 出力: - ```shell + ``` NAME READY STATUS RESTARTS AGE pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m @@ -235,7 +235,7 @@ Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="a 出力は下記のようになります: - ```shell + ``` etrics-server was successfully disabled ``` From 4539d1271025ed53042981f2e81b668eea6d1359 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 19:47:29 +0900 Subject: [PATCH 178/533] change heapster to metrics-server in section 2 of 'Enable addons' --- content/ja/docs/tutorials/hello-minikube.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 3020af3483..1280ee7778 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -186,16 +186,16 @@ Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="a storage-provisioner-gluster: disabled ``` -2. ここでは例として`heapster`のアドオンを有効化します: +2. ここでは例として`metrics-server`のアドオンを有効化します: ```shell - minikube addons enable heapster + minikube addons enable metrics-server ``` 出力は下記のようになります: ``` - heapster was successfully enabled + metrics-server was successfully enabled ``` 3. 作成されたPodとサービスを確認します: From 399e074f04249b6d3930696fe44f1c69ee70974f Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 19:49:44 +0900 Subject: [PATCH 179/533] fix for comments --- content/ja/docs/tutorials/hello-minikube.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 1280ee7778..4988656295 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -150,7 +150,7 @@ Kubernetesの[*Pod*](/ja/docs/concepts/workloads/pods/pod/) は、コンテナ 4. Katacoda環境のみ:ターミナル画面上部の+ボタンをクリックして **Select port to view on Host 1** をクリックしてください。 -5. Katacoda環境のみ:`8080`の反対側のService出力に、5桁のポート番号が表示されます。このポート番号はランダムに生成されるため、ここで使用するポート番号と異なる場合があります。ポート番号テキストボックスに番号を入力し、ポートの表示をクリックしてください。前の例の場合は、「30369」と入力します。 +5. Katacoda環境のみ:`8080`の反対側のService出力に、5桁のポート番号が表示されます。このポート番号はランダムに生成されるため、ここで使用するポート番号と異なる場合があります。ポート番号テキストボックスに番号を入力し、ポートの表示をクリックしてください。前の例の場合は、`30369`と入力します。 "Hello World"メッセージが表示されるアプリケーションのブラウザウィンドウが開きます。 @@ -236,7 +236,7 @@ Minikubeはビルトインの{{< glossary_tooltip text="アドオン" term_id="a 出力は下記のようになります: ``` - etrics-server was successfully disabled + metrics-server was successfully disabled ``` ## クリーンアップ From 5aaaeda630eceda882fdac8c6009ebe0bd0676d5 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 23:28:54 +0900 Subject: [PATCH 180/533] ja: Make /docs/tasks/tools/install-kubectl/ follow v1.17 of the original text --- content/ja/docs/tasks/tools/install-kubectl.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index 1e6bb6b3a5..24c0e8b6c3 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -51,7 +51,7 @@ kubectlのバージョンは、クラスターのマイナーバージョンと 4. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` ### ネイティブなパッケージマネージャーを使用してインストールする @@ -129,7 +129,7 @@ kubectl version 4. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` ### Homebrewを使用してmacOSへインストールする @@ -150,7 +150,7 @@ macOSで[Homebrew](https://brew.sh/)パッケージマネージャーを使用 2. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` ### MacPortsを使用してmacOSへインストールする @@ -167,7 +167,7 @@ macOSで[MacPorts](https://macports.org/)パッケージマネージャーを使 2. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` ## Windowsへkubectlをインストールする {#install-kubectl-on-windows} @@ -188,7 +188,7 @@ macOSで[MacPorts](https://macports.org/)パッケージマネージャーを使 3. `kubectl`のバージョンがダウンロードしたものと同じであることを確認してください: ``` - kubectl version + kubectl version --client ``` {{< note >}} [Docker Desktop for Windows](https://docs.docker.com/docker-for-windows/#kubernetes)は、それ自身のバージョンの`kubectl`をPATHに追加します。Docker Desktopをすでにインストールしている場合、Docker Desktopインストーラーによって追加されたPATHの前に追加するか、Docker Desktopの`kubectl`を削除してください。 @@ -212,7 +212,7 @@ Windowsで[Powershell Gallery](https://www.powershellgallery.com/)パッケー 2. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` {{< note >}}アップデートする際は、手順1に示した2つのコマンドを再実行してください。{{< /note >}} @@ -235,7 +235,7 @@ Windowsへkubectlをインストールするために、[Chocolatey](https://cho 2. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` 3. ホームディレクトリへ移動してください: @@ -277,7 +277,7 @@ Google Cloud SDKの一部として、kubectlをインストールすることも 3. インストールしたバージョンが最新であることを確認してください: ``` - kubectl version + kubectl version --client ``` ## kubectlの設定を検証する From 95730ec38f64f50134ecf615530cb30b0032bde7 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 23:49:11 +0900 Subject: [PATCH 181/533] update 'Install using other package management' section --- .../ja/docs/tasks/tools/install-kubectl.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index 24c0e8b6c3..69d94a1096 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -80,22 +80,24 @@ yum install -y kubectl ### 他のパッケージマネージャーを使用してインストールする +{{< tabs name="other_kubectl_install" >}} +{{% tab name="Snap" %}} Ubuntuまたは[snap](https://snapcraft.io/docs/core/install)パッケージマネージャーをサポートする別のLinuxディストリビューションを使用している場合、kubectlは[snap](https://snapcraft.io/)アプリケーションとして使用できます。 -Linuxで[Homebrew](https://docs.brew.sh/Homebrew-on-Linux)パッケージマネージャーを使用している場合は、kubectlを[インストール](https://docs.brew.sh/Homebrew-on-Linux#install)することが可能です。 - -{{< tabs name="other_kubectl_install" >}} -{{< tab name="Snap" codelang="bash" >}} -sudo snap install kubectl --classic +```shell +snap install kubectl --classic kubectl version -{{< /tab >}} -{{< tab name="Homebrew" codelang="bash" >}} +``` +{{% /tab %}} +{{% tab name="Homebrew" %}} +Linuxで[Homebrew](https://docs.brew.sh/Homebrew-on-Linux)パッケージマネージャーを使用している場合は、kubectlを[インストール](https://docs.brew.sh/Homebrew-on-Linux#install)することが可能です。 +```shell brew install kubectl kubectl version -{{< /tab >}} -{{< /tabs >}} +``` +{{% /tab %}} ## macOSへkubectlをインストールする {#install-kubectl-on-macos} From 9a3cecfbee95d6e497e8ad716269ce77dd77c917 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Mon, 1 Jun 2020 23:54:34 +0900 Subject: [PATCH 182/533] add section 'Upgrade Bash' --- .../ja/docs/tasks/tools/install-kubectl.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index 69d94a1096..7928e1abe9 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -383,6 +383,27 @@ Bashにおけるkubectlの補完スクリプトは`kubectl completion bash`コ bash-completionにはv1とv2のバージョンがあり、v1はBash 3.2(macOSのデフォルト)用で、v2はBash 4.1以降向けです。kubectlの補完スクリプトはbash-completionのv1とBash 3.2では正しく**動作しません**。**bash-completion v2**および**Bash 4.1**が必要になります。したがって、macOSで正常にkubectlの補完を使用するには、Bash 4.1以降をインストールする必要があります([*手順*](https://itnext.io/upgrading-bash-on-macos-7138bd1066ba))。以下の手順では、Bash4.1以降(Bashのバージョンが4.1またはそれより新しいことを指します)を使用することを前提とします。 {{< /warning >}} +### bashのアップグレード + +ここではBash 4.1以降の使用を前提としています。Bashのバージョンは下記のコマンドで調べることができます。 + +```shell +echo $BASH_VERSION +``` + +バージョンが古い場合、Homebrewを使用してインストールもしくはアップグレードできます。 + +```shell +brew install bash +``` + +シェルをリロードし、希望するバージョンを使用していることを確認してください。 + +```shell +echo $BASH_VERSION $SHELL +``` + +Homebrewは通常、`/usr/local/bin/bash`フォルダ下でインストールを行います。 ### bash-completionをインストールする From 926b0d778d9cded11b53dfed3eabac7da07f6bfc Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Tue, 2 Jun 2020 11:01:42 +0900 Subject: [PATCH 183/533] fix wording --- content/ja/docs/tasks/tools/install-kubectl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index 7928e1abe9..59997650c8 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -403,7 +403,7 @@ brew install bash echo $BASH_VERSION $SHELL ``` -Homebrewは通常、`/usr/local/bin/bash`フォルダ下でインストールを行います。 +Homebrewは通常、`/usr/local/bin/bash`フォルダ下にインストールします。 ### bash-completionをインストールする From d31a5f7d5bd9502bcfe72ff1e05185ecb4b03813 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:57:52 +0900 Subject: [PATCH 184/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index f9145405cc..6b1570d0fd 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -173,7 +173,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 ## TCPによるLiveness Probeを定義する {#define-a-tcp-liveness-probe} -3つ目のLiveness Probeは、TCPソケットを使用するタイプです。 +3つ目のLiveness ProbeはTCPソケットを使用するタイプです。 この構成においては、kubeletは指定したコンテナのソケットを開くことを試みます。 コネクションを確立できる場合、コンテナを正常とみなし、失敗する場合は、異常とみなします。 From 654469b9461d287878d2edba4466c5a12a33bf67 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:58:07 +0900 Subject: [PATCH 185/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 6b1570d0fd..3b00a17439 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -174,7 +174,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 ## TCPによるLiveness Probeを定義する {#define-a-tcp-liveness-probe} 3つ目のLiveness ProbeはTCPソケットを使用するタイプです。 -この構成においては、kubeletは指定したコンテナのソケットを開くことを試みます。 +この構成において、kubeletは指定したコンテナのソケットを開くことを試みます。 コネクションを確立できる場合、コンテナを正常とみなし、失敗する場合は、異常とみなします。 {{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} From 83e84db0c8cf2a75ff8b9c5c884959dfef7e0a9e Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:58:20 +0900 Subject: [PATCH 186/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 3b00a17439..554678263c 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -175,7 +175,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 3つ目のLiveness ProbeはTCPソケットを使用するタイプです。 この構成において、kubeletは指定したコンテナのソケットを開くことを試みます。 -コネクションを確立できる場合、コンテナを正常とみなし、失敗する場合は、異常とみなします。 +コネクションが確立できる場合はコンテナを正常とみなし、失敗する場合は異常とみなします。 {{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} From 6bf95a25a4b4cfc1fb8e0f734322d816b057263c Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:58:31 +0900 Subject: [PATCH 187/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 554678263c..22dcbb8f7a 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -179,7 +179,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 {{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} -見ての通り、TCPによるチェックの構成は、HTTPによるチェックと非常に似ています。 +見ての通り、TCPによるチェックの構成はHTTPによるチェックと非常に似ています。 この例では、Readiness ProbeとLiveness Probeを両方使用しています。 kubeletは、コンテナが起動してから5秒後に、最初のReadiness Probeを開始します。 これは、`goproxy`コンテナの8080ポートに対して、接続を試みます。 From 8dac42316c412ca7d85deb86427b82c4d0c2852a Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:58:41 +0900 Subject: [PATCH 188/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 22dcbb8f7a..5ece134ff1 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -181,7 +181,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 見ての通り、TCPによるチェックの構成はHTTPによるチェックと非常に似ています。 この例では、Readiness ProbeとLiveness Probeを両方使用しています。 -kubeletは、コンテナが起動してから5秒後に、最初のReadiness Probeを開始します。 +kubeletは、コンテナが起動してから5秒後に最初のReadiness Probeを開始します。 これは、`goproxy`コンテナの8080ポートに対して、接続を試みます。 このProbeが成功すると、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 From bda8d89e4f075084d68c402b7f813c667a699c53 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:58:53 +0900 Subject: [PATCH 189/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 5ece134ff1..32e6923776 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -186,7 +186,7 @@ kubeletは、コンテナが起動してから5秒後に最初のReadiness Probe このProbeが成功すると、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 この構成では、Readiness Probeに加えて、Liveness Probeが含まれています。 -kubeletは、コンテナが起動してから15秒後に、最初のLiveness Probeを行います。 +kubeletは、コンテナが起動してから15秒後に最初のLiveness Probeを実行します。 Readiness Probeと同様に、これは`goproxy`コンテナの8080ポートに対して、接続を試みます。 Liveness Probeが失敗した場合、コンテナは再起動されます。 From caeada95d0057dbc78d4b21a2e61a8b6a9c46876 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:59:10 +0900 Subject: [PATCH 190/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 32e6923776..90a9d22a38 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -222,7 +222,7 @@ livenessProbe: ## Startup Probeを使用して、起動の遅いコンテナを保護する {#define-startup-probes} 場合によっては、最初の初期化において、追加の起動時間が必要になるようなレガシーアプリケーションを扱う必要があります。 -そのような場合において、デッドロックに対する迅速な反応を損なうことなく、Liveness Probeのパラメーターを設定することは難しい場合があります。 +そのような場合、デッドロックに対する迅速な反応を損なうことなくLiveness Probeのパラメーターを設定することは難しい場合があります。 これに対する解決策の一つは、Liveness Probeと同じ構成のコマンド、HTTPまたはTCPによるチェックを使用した、Startup Probeをセットアップすることです。 その際、`failureThreshold * periodSeconds`で計算される時間を、起動時間として想定される最も遅いケースをカバーできる十分な長さに設定します。 From 36fdde75a1c6b4da51d77baf298782261c7b29e3 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:59:26 +0900 Subject: [PATCH 191/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 90a9d22a38..8581a013c1 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -224,7 +224,7 @@ livenessProbe: 場合によっては、最初の初期化において、追加の起動時間が必要になるようなレガシーアプリケーションを扱う必要があります。 そのような場合、デッドロックに対する迅速な反応を損なうことなくLiveness Probeのパラメーターを設定することは難しい場合があります。 -これに対する解決策の一つは、Liveness Probeと同じ構成のコマンド、HTTPまたはTCPによるチェックを使用した、Startup Probeをセットアップすることです。 +これに対する解決策の一つは、Liveness Probeと同じ構成のコマンドを用いるか、HTTPまたはTCPによるチェックを使用したStartup Probeをセットアップすることです。 その際、`failureThreshold * periodSeconds`で計算される時間を、起動時間として想定される最も遅いケースをカバーできる十分な長さに設定します。 上記の例は、次のようになります: From d29759e4d2012e5fe0fe77d96c22d1bdd55d479b Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:59:40 +0900 Subject: [PATCH 192/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 8581a013c1..3199299b2d 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -259,7 +259,7 @@ Startup Probeが成功しない場合、コンテナは300秒後に終了し、 アプリケーションは、一時的にトラフィックを処理できないことが起こり得ます。 例えば、アプリケーションは、起動時に大きなデータまたは構成ファイルを読み込む必要がある場合や、起動後に外部サービスに依存する可能性があります。 このような場合、アプリケーションを終了させたくありませんが、リクエストを受けたくないと思います。 -Kubernetesは、これらの状況を検知して緩和するための機能として、Readiness Probeを提供します。 +Kubernetesは、これらの状況を検知して緩和するための機能としてReadiness Probeを提供します。 準備できていないことを報告するコンテナを含むPodは、KubernetesのServiceからトラフィックを受信しないようにできます。 {{< note >}} From 20ff93a8ccd3975773b4560d043cba0ce6b09843 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 12:59:53 +0900 Subject: [PATCH 193/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 3199299b2d..4cd8b6741a 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -187,7 +187,7 @@ kubeletは、コンテナが起動してから5秒後に最初のReadiness Probe この構成では、Readiness Probeに加えて、Liveness Probeが含まれています。 kubeletは、コンテナが起動してから15秒後に最初のLiveness Probeを実行します。 -Readiness Probeと同様に、これは`goproxy`コンテナの8080ポートに対して、接続を試みます。 +Readiness Probeと同様に、これは`goproxy`コンテナの8080ポートに対して接続を試みます。 Liveness Probeが失敗した場合、コンテナは再起動されます。 TCPのチェックによるLiveness Probeを試すには、以下のようにPodを作成します: From eb27845b81052e16a984139432518a613cc8dd04 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:00:10 +0900 Subject: [PATCH 194/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 4cd8b6741a..85135ca0e6 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -182,7 +182,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 見ての通り、TCPによるチェックの構成はHTTPによるチェックと非常に似ています。 この例では、Readiness ProbeとLiveness Probeを両方使用しています。 kubeletは、コンテナが起動してから5秒後に最初のReadiness Probeを開始します。 -これは、`goproxy`コンテナの8080ポートに対して、接続を試みます。 +これは、`goproxy`コンテナの8080ポートに対して接続を試みます。 このProbeが成功すると、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 この構成では、Readiness Probeに加えて、Liveness Probeが含まれています。 From e45724f0732f829d7bbf2edc533a283afce09a51 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:00:27 +0900 Subject: [PATCH 195/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 85135ca0e6..afdf7e279a 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -185,7 +185,7 @@ kubeletは、コンテナが起動してから5秒後に最初のReadiness Probe これは、`goproxy`コンテナの8080ポートに対して接続を試みます。 このProbeが成功すると、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 -この構成では、Readiness Probeに加えて、Liveness Probeが含まれています。 +この構成では、Readiness Probeに加えてLiveness Probeが含まれています。 kubeletは、コンテナが起動してから15秒後に最初のLiveness Probeを実行します。 Readiness Probeと同様に、これは`goproxy`コンテナの8080ポートに対して接続を試みます。 Liveness Probeが失敗した場合、コンテナは再起動されます。 From 20aeadccd94a841a41d9aa04a7152d1cc7a9fc61 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:15:40 +0900 Subject: [PATCH 196/533] Update expressions --- .../configure-liveness-readiness-startup-probes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index afdf7e279a..fc92b9c8ab 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -161,15 +161,15 @@ HTTPリクエストのチェックによるLiveness Probeを試すには、以 kubectl apply -f https://k8s.io/examples/pods/probe/http-liveness.yaml ``` -10秒後、Podのイベントを表示し、Liveness Probeが失敗し、コンテナが再起動されていることを確認します。 +10秒後、Podのイベントを表示して、Liveness Probeが失敗し、コンテナが再起動されていることを確認します。 ```shell kubectl describe pod liveness-http ``` -v1.13以前(v1.13を含む)のリリースにおいては、Podが起動しているノードにおいて、環境変数`http_proxy` -(または `HTTP_PROXY`)が設定されている場合、HTTPリクエストのLiveness Probeは、設定されたプロキシを使用します。 -v1.13より後のリリースにおいては、ローカルHTTPプロキシ環境変数の設定は、HTTPリクエストのLiveness Probeに影響しません。 +v1.13以前(v1.13を含む)のリリースにおいては、Podが起動しているノードに環境変数`http_proxy` +(または `HTTP_PROXY`)が設定されている場合、HTTPリクエストのLiveness Probeは設定されたプロキシを使用します。 +v1.13より後のリリースにおいては、ローカルHTTPプロキシ環境変数の設定はHTTPリクエストのLiveness Probeに影響しません。 ## TCPによるLiveness Probeを定義する {#define-a-tcp-liveness-probe} From 281325a24f7536a6050fa8cdaa293f8d0a07a2d9 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:28:08 +0900 Subject: [PATCH 197/533] Update expression in #configure-probes --- ...figure-liveness-readiness-startup-probes.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index fc92b9c8ab..bc9c5749e5 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -291,7 +291,7 @@ Eventually, some of this section could be moved to a concept topic. {{< /comment >}} [Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) には、 -Liveness ProbeおよびReadiness Probeのチェック動作を、より正確に制御するために使用できるいくつかのフィールドがあります: +Liveness ProbeおよびReadiness Probeのチェック動作をより正確に制御するために使用できるフィールドがあります: * `initialDelaySeconds`: コンテナが起動してから、Liveness ProbeまたはReadiness Probeが開始されるまでの秒数。デフォルトは0秒。最小値は0。 * `periodSeconds`: Probeが実行される頻度(秒数)。デフォルトは10秒。最小値は1。 @@ -299,11 +299,11 @@ Liveness ProbeおよびReadiness Probeのチェック動作を、より正確に * `successThreshold`: 一度Probeが失敗した後、次のProbeが成功したとみなされるための最小連続成功数。 デフォルトは1。Liveness Probeには、1にする必要があります。最小値は1。 * `failureThreshold`: Podが開始してProbeが失敗した場合、Kubernetesは`failureThreshold`に設定した回数までProbeを試行します。 -Liveness Probeにおいて、試行回数に到達することは、コンテナを再起動することを意味します。 +Liveness Probeにおいて、試行回数に到達することはコンテナを再起動することを意味します。 Readiness Probeの場合は、Podが準備できていない状態として通知されます。デフォルトは3。最小値は1。 [HTTPによるProbe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#httpgetaction-v1-core) -は、`httpGet`にて設定できる複数の追加フィールドがあります: +には、`httpGet`にて設定できる追加のフィールドがあります: * `host`: 接続先ホスト名。デフォルトはPod IP。おそらくはこのフィールドの代わりに`httpHeaders`内の"Host"を代わりに使用することになります。 * `scheme`: ホストへの接続で使用するスキーマ(HTTP または HTTPS)。デフォルトは HTTP。 @@ -311,12 +311,12 @@ Readiness Probeの場合は、Podが準備できていない状態として通 * `httpHeaders`: リクエスト内のカスタムヘッダー。HTTPでは重複したヘッダーが許可されています。 * `port`: コンテナにアクセスする際のポートの名前または番号。ポート番号の場合、1から65535の範囲内である必要があります。 -HTTPによるProbeの場合、kubeletは、指定したパスとポートに対するHTTPリクエストを送ることで、チェックを行います。 -kubeletは、`httpGet`のオプションである`host`フィールドでアドレスが上書きされない限り、PodのIPアドレスに対してProbeを送ります。 -`scheme`フィールドに`HTTPS`がセットされている場合、kubeletは、証明書の検証を行わずに、HTTPSリクエストを送ります。 -ほとんどのシナリオにおいては、`host`フィールドを使用する必要はありません。次のシナリオは、使用する場合の一例です。 -仮に、コンテナが127.0.0.1をリッスンしており、かつPodの`hostNetwork`フィールドがtrueだとします。 -その場合では、`httpGet`フィールド内の`host`には、127.0.0.1をセットする必要があります。 +HTTPによるProbeの場合、kubeletは指定したパスとポートに対するHTTPリクエストを送ることでチェックを行います。 +`httpGet`のオプションである`host`フィールドでアドレスが上書きされない限り、kubeletはPodのIPアドレスに対してProbeを送ります。 +`scheme`フィールドに`HTTPS`がセットされている場合、kubeletは証明書の検証を行わずにHTTPSリクエストを送ります。 +ほとんどのシナリオにおいては、`host`フィールドを使用する必要はありません。次のシナリオは使用する場合の一例です。 +仮にコンテナが127.0.0.1をリッスンしており、かつPodの`hostNetwork`フィールドがtrueだとします。 +その場合においては、`httpGet`フィールド内の`host`には127.0.0.1をセットする必要があります。 より一般的なケースにおいてPodが仮想ホストに依存している場合は、おそらく`host`フィールドではなく、`httpHeaders`フィールド内の`Host`ヘッダーを使用する必要があります。 TCPによるProbeの場合、kubeletはPodの中ではなく、ノードに対してコネクションを確立するProbeを実行します。 From 321b7f53a8a78a3e3f2978a72b98a80222b1560a Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:36:13 +0900 Subject: [PATCH 198/533] Update expression in #define-a-liveness-command --- .../configure-liveness-readiness-startup-probes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index bc9c5749e5..48a0408f8f 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -35,8 +35,8 @@ Readiness Probeによるチェックを無効にし、これらがアプリケ ## コマンド実行によるLiveness Probeを定義する {#define-a-liveness-command} -多くのアプリケーションは、長期間実行されている場合に、再起動されるまで回復できないような異常な状態になることがあります。 -Kubernetesは、このような状況を検知し、回復するためのLiveness Probeを提供します。 +長期間実行されているアプリケーションの多くは、再起動されるまで回復できないような異常な状態になることがあります。 +Kubernetesはこのような状況を検知し、回復するためのLiveness Probeを提供します。 この演習では、`k8s.gcr.io/busybox`イメージのコンテナを起動するPodを作成します。 Podの構成ファイルは次の通りです。 @@ -50,7 +50,7 @@ Probeの動作としては、kubeletは`cat /tmp/healthy`を対象のコンテ このコマンドが成功し、リターンコード0が返ると、kubeletはコンテナが問題なく動いていると判断します。 リターンコードとして0以外の値が返ると、kubeletはコンテナを終了し、再起動を行います。 -コンテナが起動すると、次のコマンドを実行します: +このコンテナは、起動すると次のコマンドを実行します: ```shell /bin/sh -c "touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600" @@ -90,7 +90,7 @@ FirstSeen LastSeen Count From SubobjectPath Type kubectl describe pod liveness-exec ``` -出力結果の最後に、Liveness Probeが失敗していることを示すメッセージが表示され、コンテナが強制終了して再作成されています。 +出力結果の最後に、Liveness Probeが失敗していることを示すメッセージが表示されます。これによりコンテナは強制終了し、再作成されました。 ``` FirstSeen LastSeen Count From SubobjectPath Type Reason Message From b4fcbc705ca19884adf3fd1c379ae1b4e50941fe Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:42:01 +0900 Subject: [PATCH 199/533] Update expression in #define-a-tcp-liveness-probe --- .../configure-liveness-readiness-startup-probes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 48a0408f8f..00fa1ed1ab 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -174,7 +174,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 ## TCPによるLiveness Probeを定義する {#define-a-tcp-liveness-probe} 3つ目のLiveness ProbeはTCPソケットを使用するタイプです。 -この構成において、kubeletは指定したコンテナのソケットを開くことを試みます。 +この構成においては、kubeletは指定したコンテナのソケットを開くことを試みます。 コネクションが確立できる場合はコンテナを正常とみなし、失敗する場合は異常とみなします。 {{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} @@ -182,7 +182,7 @@ v1.13より後のリリースにおいては、ローカルHTTPプロキシ環 見ての通り、TCPによるチェックの構成はHTTPによるチェックと非常に似ています。 この例では、Readiness ProbeとLiveness Probeを両方使用しています。 kubeletは、コンテナが起動してから5秒後に最初のReadiness Probeを開始します。 -これは、`goproxy`コンテナの8080ポートに対して接続を試みます。 +これは`goproxy`コンテナの8080ポートに対して接続を試みます。 このProbeが成功すると、Podは準備ができていると通知されます。kubeletはこのチェックを10秒ごとに行います。 この構成では、Readiness Probeに加えてLiveness Probeが含まれています。 From 14e3318bcfa2bee4be5cb17ed725cc9ac4a50475 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:55:25 +0900 Subject: [PATCH 200/533] Update expression in #define-readiness-probes --- .../configure-liveness-readiness-startup-probes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 00fa1ed1ab..ac196403a3 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -256,11 +256,11 @@ Startup Probeが成功しない場合、コンテナは300秒後に終了し、 ## Readiness Probeを定義する {#define-readiness-probes} -アプリケーションは、一時的にトラフィックを処理できないことが起こり得ます。 -例えば、アプリケーションは、起動時に大きなデータまたは構成ファイルを読み込む必要がある場合や、起動後に外部サービスに依存する可能性があります。 -このような場合、アプリケーションを終了させたくありませんが、リクエストを受けたくないと思います。 +アプリケーションは一時的にトラフィックを処理できないことが起こり得ます。 +例えば、アプリケーションは起動時に大きなデータまたは構成ファイルを読み込む必要がある場合や、起動後に外部サービスに依存している場合があります。 +このような場合、アプリケーション自体を終了させたくはありませんが、このアプリケーションに対してリクエストも送信したくないと思います。 Kubernetesは、これらの状況を検知して緩和するための機能としてReadiness Probeを提供します。 -準備できていないことを報告するコンテナを含むPodは、KubernetesのServiceからトラフィックを受信しないようにできます。 +これにより、準備ができていないことを報告するコンテナを含むPodは、KubernetesのServiceを通してトラフィックを受信しないようになります。 {{< note >}} Readiness Probeは、コンテナの全てのライフサイクルにおいて実行されます。 From af98e9eb59824f4920c359c877806ee132f026cf Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 13:58:48 +0900 Subject: [PATCH 201/533] Update expression in #define-startup-probes --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index ac196403a3..ccc8e84c87 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -221,7 +221,7 @@ livenessProbe: ## Startup Probeを使用して、起動の遅いコンテナを保護する {#define-startup-probes} -場合によっては、最初の初期化において、追加の起動時間が必要になるようなレガシーアプリケーションを扱う必要があります。 +場合によっては、最初の初期化において追加の起動時間が必要になるようなレガシーアプリケーションを扱う必要があります。 そのような場合、デッドロックに対する迅速な反応を損なうことなくLiveness Probeのパラメーターを設定することは難しい場合があります。 これに対する解決策の一つは、Liveness Probeと同じ構成のコマンドを用いるか、HTTPまたはTCPによるチェックを使用したStartup Probeをセットアップすることです。 From ec319820615c99dbd1b9bb9d98488506811dca34 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 14:02:14 +0900 Subject: [PATCH 202/533] Update expression in #define-readiness-probes --- .../configure-liveness-readiness-startup-probes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index ccc8e84c87..99b117d8f6 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -266,8 +266,8 @@ Kubernetesは、これらの状況を検知して緩和するための機能と Readiness Probeは、コンテナの全てのライフサイクルにおいて実行されます。 {{< /note >}} -Readiness Probeは、Liveness Probeと同様に構成します。 -唯一の違いは、`readinessProbe`フィールドを`livenessProbe`フィールドの代わりに利用することだけです。 +Readiness ProbeはLiveness Probeと同様に構成します。 +唯一の違いは`readinessProbe`フィールドを`livenessProbe`フィールドの代わりに利用することだけです。 ```yaml readinessProbe: @@ -279,9 +279,9 @@ readinessProbe: periodSeconds: 5 ``` -HTTPおよびTCPによるReadiness Probeの構成も、Liveness Probeと同じです。 +HTTPおよびTCPによるReadiness Probeの構成もLiveness Probeと同じです。 -Readiness ProbeとLiveness Probeは、同じコンテナで同時に使用できます。 +Readiness ProbeとLiveness Probeは同じコンテナで同時に使用できます。 両方使用することで、準備できていないコンテナへのトラフィックが到達しないようにし、コンテナが失敗したときに再起動することができます。 ## Probeの構成 {#configure-probes} From 76797f659ab496035b47b509bd53e90f7578e1af Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 14:09:05 +0900 Subject: [PATCH 203/533] Update expression in #configure-probes --- .../configure-liveness-readiness-startup-probes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 99b117d8f6..c619290083 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -297,9 +297,9 @@ Liveness ProbeおよびReadiness Probeのチェック動作をより正確に制 * `periodSeconds`: Probeが実行される頻度(秒数)。デフォルトは10秒。最小値は1。 * `timeoutSeconds`: Probeがタイムアウトになるまでの秒数。デフォルトは1秒。最小値は1。 * `successThreshold`: 一度Probeが失敗した後、次のProbeが成功したとみなされるための最小連続成功数。 -デフォルトは1。Liveness Probeには、1にする必要があります。最小値は1。 +デフォルトは1。Liveness Probeには1を設定する必要があります。最小値は1。 * `failureThreshold`: Podが開始してProbeが失敗した場合、Kubernetesは`failureThreshold`に設定した回数までProbeを試行します。 -Liveness Probeにおいて、試行回数に到達することはコンテナを再起動することを意味します。 +Liveness Probeにおいて試行回数に到達することは、コンテナを再起動することを意味します。 Readiness Probeの場合は、Podが準備できていない状態として通知されます。デフォルトは3。最小値は1。 [HTTPによるProbe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#httpgetaction-v1-core) From dd2c7d3fba4f41c44d057c5deef0e64555fad403 Mon Sep 17 00:00:00 2001 From: jinu Date: Tue, 2 Jun 2020 16:21:40 +0900 Subject: [PATCH 204/533] Update expression content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md Co-authored-by: inductor(Kohei) --- .../configure-liveness-readiness-startup-probes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index c619290083..ddb9c6d5af 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -299,7 +299,7 @@ Liveness ProbeおよびReadiness Probeのチェック動作をより正確に制 * `successThreshold`: 一度Probeが失敗した後、次のProbeが成功したとみなされるための最小連続成功数。 デフォルトは1。Liveness Probeには1を設定する必要があります。最小値は1。 * `failureThreshold`: Podが開始してProbeが失敗した場合、Kubernetesは`failureThreshold`に設定した回数までProbeを試行します。 -Liveness Probeにおいて試行回数に到達することは、コンテナを再起動することを意味します。 +Liveness Probeにおいて、試行回数に到達することはコンテナを再起動することを意味します。 Readiness Probeの場合は、Podが準備できていない状態として通知されます。デフォルトは3。最小値は1。 [HTTPによるProbe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#httpgetaction-v1-core) From 444cf3d623426fee69e63d2be655ea307a1f252a Mon Sep 17 00:00:00 2001 From: Shohei Ihaya Date: Tue, 2 Jun 2020 20:52:34 +0900 Subject: [PATCH 205/533] ja: Make docs/concepts/workloads/pods/pod-overview.md follow v1.17 of the original text --- content/ja/docs/concepts/workloads/pods/pod-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-overview.md b/content/ja/docs/concepts/workloads/pods/pod-overview.md index 05f68c1e60..7eec0541c5 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-overview.md +++ b/content/ja/docs/concepts/workloads/pods/pod-overview.md @@ -28,7 +28,7 @@ Kubernetesクラスター内でのPodは2つの主な方法で使うことがで * **協調して稼働させる必要がある複数のコンテナを稼働させるPod** : 単一のPodは、リソースを共有する必要があるような、密接に連携した複数の同じ環境にあるコンテナからなるアプリケーションをカプセル化することもできます。 これらの同じ環境にあるコンテナ群は、サービスの結合力の強いユニットを構成することができます。 -- 1つのコンテナが、共有されたボリュームからファイルをパブリックな場所に送信し、一方では分割された*サイドカー* コンテナがそれらのファイルを更新します。そのPodはそれらのコンテナとストレージリソースを、単一の管理可能なエンティティとしてまとめます。 -[Kubernetes Blog](http://kubernetes.io/blog)にて、Podのユースケースに関するいくつかの追加情報を見ることができます。さらなる情報を得たい場合は、下記のページを参照ください。 +[Kubernetes Blog](https://kubernetes.io/blog)にて、Podのユースケースに関するいくつかの追加情報を見ることができます。さらなる情報を得たい場合は、下記のページを参照ください。 * [The Distributed System Toolkit: Patterns for Composite Containers](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns) * [Container Design Patterns](https://kubernetes.io/blog/2016/06/container-design-patterns) From 4457b5a161d52b377391498fcc996ba87e7aec83 Mon Sep 17 00:00:00 2001 From: Shohei Ihaya Date: Tue, 2 Jun 2020 21:16:12 +0900 Subject: [PATCH 206/533] ja: Make docs/reference/_index.md follow v1.17 of the original text --- content/ja/docs/reference/_index.md | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/content/ja/docs/reference/_index.md b/content/ja/docs/reference/_index.md index 7cbe46514b..2a41ebf925 100644 --- a/content/ja/docs/reference/_index.md +++ b/content/ja/docs/reference/_index.md @@ -17,12 +17,7 @@ content_template: templates/concept ## APIリファレンス * [Kubernetes API概要](/docs/reference/using-api/api-overview/) - Kubernetes APIの概要です。 -* Kubernetes APIバージョン - * [1.17](/docs/reference/generated/kubernetes-api/v1.17/) - * [1.16](/docs/reference/generated/kubernetes-api/v1.16/) - * [1.15](/docs/reference/generated/kubernetes-api/v1.15/) - * [1.14](/docs/reference/generated/kubernetes-api/v1.14/) - * [1.13](/docs/reference/generated/kubernetes-api/v1.13/) +* [Kubernetes APIリファレンス {{< latest-version >}}](/docs/reference/generated/kubernetes-api/{{< latest-version >}}/) ## APIクライアントライブラリー @@ -35,18 +30,17 @@ content_template: templates/concept ## CLIリファレンス -* [kubectl](/docs/user-guide/kubectl-overview) - コマンドの実行やKubernetesクラスターの管理に使う主要なCLIツールです。 - * [JSONPath](/docs/user-guide/jsonpath/) - kubectlで[JSONPath記法](http://goessner.net/articles/JsonPath/)を使うための構文ガイドです。 -* [kubeadm](/docs/admin/kubeadm/) - セキュアなKubernetesクラスターを簡単にプロビジョニングするためのCLIツールです。 -* [kubefed](/docs/admin/kubefed/) - 連合型クラスターを管理するのに役立つCLIツールです。 +* [kubectl](/docs/reference/kubectl/overview/) - コマンドの実行やKubernetesクラスターの管理に使う主要なCLIツールです。 + * [JSONPath](/docs/reference/kubectl/jsonpath/) - kubectlで[JSONPath記法](http://goessner.net/articles/JsonPath/)を使うための構文ガイドです。 +* [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) - セキュアなKubernetesクラスターを簡単にプロビジョニングするためのCLIツールです。 ## 設定リファレンス -* [kubelet](/docs/admin/kubelet/) - 各ノード上で動作する最も重要なノードエージェントです。kubeletは一通りのPodSpecを受け取り、コンテナーが実行中で正常であることを確認します。 -* [kube-apiserver](/docs/admin/kube-apiserver/) - Pod、Service、Replication Controller等、APIオブジェクトのデータを検証・設定するREST APIサーバーです。 -* [kube-controller-manager](/docs/admin/kube-controller-manager/) - Kubernetesに同梱された、コアのコントロールループを埋め込むデーモンです。 -* [kube-proxy](/docs/admin/kube-proxy/) - 単純なTCP/UDPストリームのフォワーディングや、一連のバックエンド間でTCP/UDPのラウンドロビンでのフォワーディングを実行できます。 -* [kube-scheduler](/docs/admin/kube-scheduler/) - 可用性、パフォーマンス、およびキャパシティを管理するスケジューラーです。 +* [kubelet](/docs/reference/command-line-tools-reference/kubelet/) - 各ノード上で動作する最も重要なノードエージェントです。kubeletは一通りのPodSpecを受け取り、コンテナーが実行中で正常であることを確認します。 +* [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) - Pod、Service、Replication Controller等、APIオブジェクトのデータを検証・設定するREST APIサーバーです。 +* [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/) - Kubernetesに同梱された、コアのコントロールループを埋め込むデーモンです。 +* [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) - 単純なTCP/UDPストリームのフォワーディングや、一連のバックエンド間でTCP/UDPのラウンドロビンでのフォワーディングを実行できます。 +* [kube-scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/) - 可用性、パフォーマンス、およびキャパシティを管理するスケジューラーです。 ## 設計のドキュメント From a3a18fdf6964f9adea7bb2fb64d5ae8600e27833 Mon Sep 17 00:00:00 2001 From: esakat Date: Tue, 2 Jun 2020 22:07:11 +0900 Subject: [PATCH 207/533] ja: Make /docs/tasks/access-application-cluster/connecting-frontend-backend/ follow v1.17 of the original text --- .../connecting-frontend-backend.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md b/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md index 9ff0a60455..1e9047cee6 100644 --- a/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md +++ b/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md @@ -34,7 +34,7 @@ weight: 70 {{% capture lessoncontent %}} -### Deploymentを使用したバックエンドの作成 +## Deploymentを使用したバックエンドの作成 バックエンドは、単純な挨拶マイクロサービスです。 バックエンドのDeploymentの構成ファイルは次のとおりです: @@ -90,7 +90,7 @@ Events: ... ``` -### バックエンドServiceオブジェクトの作成 +## バックエンドServiceオブジェクトの作成 フロントエンドをバックエンドに接続する鍵は、バックエンドServiceです。 Serviceは、バックエンドマイクロサービスに常に到達できるように、永続的なIPアドレスとDNS名のエントリを作成します。 @@ -110,7 +110,7 @@ kubectl apply -f https://k8s.io/examples/service/access/hello-service.yaml この時点で、バックエンドのDeploymentが実行され、そちらにトラフィックをルーティングできるServiceがあります。 -### フロントエンドの作成 +## フロントエンドの作成 バックエンドができたので、バックエンドに接続するフロントエンドを作成できます。 フロントエンドは、バックエンドServiceに指定されたDNS名を使用して、バックエンドワーカーPodに接続します。 @@ -144,7 +144,7 @@ nginxの構成は、[コンテナイメージ](/examples/service/access/Dockerfi これを行うためのより良い方法は、[ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/)を使用して、構成をより簡単に変更できるようにすることです。 {{< /note >}} -### フロントエンドServiceと対話 +## フロントエンドServiceと対話 LoadBalancerタイプのServiceを作成したら、このコマンドを使用して外部IPを見つけることができます: @@ -169,7 +169,7 @@ frontend LoadBalancer 10.51.252.116 XXX.XXX.XXX.XXX 80/TCP 1m このIPを使用して、クラスターの外部から`frontend` Serviceとやり取りできるようになりました。 -### フロントエンドを介するトラフィック送信 +## フロントエンドを介するトラフィック送信 フロントエンドとバックエンドが接続されました。 フロントエンドServiceの外部IPに対してcurlコマンドを使用して、エンドポイントにアクセスできます。 From 4da98ec65c21e96522bd6cc9f946ea79ee51022b Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 2 Jun 2020 22:30:40 +0900 Subject: [PATCH 208/533] Update content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md Co-authored-by: nasa9084 --- .../docs/tasks/access-application-cluster/web-ui-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md index af6050c3fa..f2fd37e2de 100644 --- a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -32,7 +32,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-b ## ダッシュボードUIへのアクセス -クラスタデータを保護するために、ダッシュボードはデフォルトで最小限のRBAC構成でデプロイします。現在、ダッシュボードはBearer Tokenによるログインのみをサポートしています。このデモ用のトークンを作成するには、[サンプルユーザーの作成](https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md)ガイドに従ってください。 +クラスターデータを保護するために、ダッシュボードはデフォルトで最小限のRBAC構成でデプロイします。現在、ダッシュボードはBearer Tokenによるログインのみをサポートしています。このデモ用のトークンを作成するには、[サンプルユーザーの作成](https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md)ガイドに従ってください。 {{< warning >}} チュートリアルで作成されたサンプルユーザーには管理者権限が与えられ、教育目的のみに使用されます。 From 02e84e976de7610b7b5fa5a8f29e88df25df4802 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 2 Jun 2020 22:31:00 +0900 Subject: [PATCH 209/533] Update content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md Co-authored-by: nasa9084 --- .../docs/tasks/access-application-cluster/web-ui-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md index f2fd37e2de..48c005fd8b 100644 --- a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -75,7 +75,7 @@ Kubeconfigの認証方法は、外部IDプロバイダーやx509証明書ベー - **Container image** (必須): 任意のレジストリ上の公開Docker[コンテナイメージ](/docs/concepts/containers/images/)、またはプライベートイメージ(一般的にはGoogle Container RegistryやDocker Hub上でホストされている)のURLです。コンテナイメージの指定はコロンで終わらせる必要があります。 -- **Number of pods** (必須): アプリケーションをデプロイするPodのターゲット数です。値は正の整数である必要があります。 +- **Number of pods** (必須): アプリケーションをデプロイするPodの数です。値は正の整数である必要があります。 クラスタ全体で必要な数のPodを維持するために、[Deployment](/ja/docs/concepts/workloads/controllers/deployment/)が作成されます。 From d834022dc51c0d992837ce34fd65e63e0b3ddf9d Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 2 Jun 2020 22:31:13 +0900 Subject: [PATCH 210/533] Update content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md Co-authored-by: nasa9084 --- .../docs/tasks/access-application-cluster/web-ui-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md index 48c005fd8b..237160bb91 100644 --- a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -79,7 +79,7 @@ Kubeconfigの認証方法は、外部IDプロバイダーやx509証明書ベー クラスタ全体で必要な数のPodを維持するために、[Deployment](/ja/docs/concepts/workloads/controllers/deployment/)が作成されます。 -- **Service** (任意): アプリケーションのいくつかの部分(たとえばフロントエンド)では、[Service](/ja/docs/concepts/services-networking/service/)をクラスター外の外部、おそらくパブリックIPアドレス(外部サービス)に公開したいと思うかもしれません。外部サービスの場合は、そのために1つ以上のポートを開放する必要があるかもしれません。詳細は[こちら](/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/)を参照してください。 +- **Service** (任意): アプリケーションのいくつかの部分(たとえばフロントエンド)では、[Service](/ja/docs/concepts/services-networking/service/)をクラスター外の外部、おそらくパブリックIPアドレス(外部サービス)に公開したいと思うかもしれません。外部サービスの場合は、そのために1つ以上のポートを開放する必要があるでしょう。詳細は[こちら](/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/)を参照してください。 クラスター内部からしか見えないその他のサービスは、内部サービスと呼ばれます。 From 1faaa8aba8ef54d0ef3e698cc58c6b320f10a381 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 2 Jun 2020 22:31:25 +0900 Subject: [PATCH 211/533] Update content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md Co-authored-by: nasa9084 --- .../docs/tasks/access-application-cluster/web-ui-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md index 237160bb91..26f6fdc76f 100644 --- a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -107,7 +107,7 @@ track=stable 名前空間の作成に成功した場合は、デフォルトで選択されます。作成に失敗した場合は、最初の名前空間が選択されます。 -- **Image Pull Secret**: 指定されたDockerコンテナイメージがプライベートの場合、[pull secret](/docs/concepts/configuration/secret/)の認証情報が必要になる場合があります。 +- **Image Pull Secret**: 指定されたDockerコンテナイメージが非公開の場合、[pull secret](/docs/concepts/configuration/secret/)の認証情報が必要になる場合があります。 ダッシュボードでは、利用可能なすべてのSecretがドロップダウンリストに表示され、新しいSecretを作成できます。Secret名は DNSドメイン名の構文に従う必要があります。たとえば、`new.image-pull.secret`です。Secretの内容はbase64エンコードされ、[`.dockercfg`](/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod)ファイルで指定されている必要があります。Secret名は最大253文字で構成されます。 From c79f75bb987ad9ca3f38b6238efa7bef6825192e Mon Sep 17 00:00:00 2001 From: mochizuki-pg Date: Tue, 2 Jun 2020 21:05:05 +0900 Subject: [PATCH 212/533] Markdown code blocks described in Shell --- .../ja/docs/concepts/workloads/pods/podpreset.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/podpreset.md b/content/ja/docs/concepts/workloads/pods/podpreset.md index 1af2514c12..29b4ddbda6 100644 --- a/content/ja/docs/concepts/workloads/pods/podpreset.md +++ b/content/ja/docs/concepts/workloads/pods/podpreset.md @@ -6,7 +6,7 @@ weight: 50 --- {{% capture overview %}} -このページではPodPresetについて概観します。PodPresetは、Podの作成時にそのPodに対して、Secret、Volume、VolumeMountや環境変数など、特定の情報を注入するためのオブジェクトです。 +このページではPodPresetについて概観します。PodPresetは、Podの作成時にそのPodに対して、Secret、Volume、VolumeMountや環境変数など、特定の情報を注入するためのオブジェクトです。 {{% /capture %}} @@ -16,14 +16,14 @@ weight: 50 `PodPreset`はPodの作成時に追加のランタイム要求を注入するためのAPIリソースです。 ユーザーはPodPresetを適用する対象のPodを指定するために、[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/#label-selectors)を使用します。 -PodPresetの使用により、Podテンプレートの作者はPodにおいて、全ての情報を明示的に指定する必要がなくなります。 +PodPresetの使用により、Podテンプレートの作者はPodにおいて、全ての情報を明示的に指定する必要がなくなります。 この方法により、特定のServiceを使っているPodテンプレートの作者は、そのServiceについて全ての詳細を知る必要がなくなります。 PodPresetの内部についてのさらなる情報は、[PodPresetのデザインプロポーザル](https://git.k8s.io/community/contributors/design-proposals/service-catalog/pod-preset.md)を参照してください。 ## PodPresetはどのように動くか -Kubernetesは`PodPreset`に対する管理用コントローラーを提供し、これが有効になっている時、コントローラーはリクエストされたPod作成要求に対してPodPresetを適用します。 +Kubernetesは`PodPreset`に対する管理用コントローラーを提供し、これが有効になっている時、コントローラーはリクエストされたPod作成要求に対してPodPresetを適用します。 Pod作成要求が発生した時、Kubernetesシステムは下記の処理を行います。 1. 使用可能な全ての`PodPreset`を取得する。 @@ -40,7 +40,7 @@ Pod作成要求が発生した時、Kubernetesシステムは下記の処理を ### 特定のPodに対するPodPresetを無効にする -PodPresetによるPodの変更を受け付けたくないようなインスタンスがある場合があります。このようなケースでは、ユーザーはそのPodのSpec内に次のような形式のアノテーションを追加できます。 +PodPresetによるPodの変更を受け付けたくないようなインスタンスがある場合があります。このようなケースでは、ユーザーはそのPodのSpec内に次のような形式のアノテーションを追加できます。 `podpreset.admission.kubernetes.io/exclude: "true"` ## PodPresetを有効にする @@ -48,7 +48,12 @@ PodPresetによるPodの変更を受け付けたくないようなインスタ ユーザーのクラスター内でPodPresetを使うためには、クラスター内の以下の項目をご確認ください。 1. `settings.k8s.io/v1alpha1/podpreset`というAPIを有効にします。例えば、これはAPI Serverの `--runtime-config`オプションに`settings.k8s.io/v1alpha1=true`を含むことで可能になります。Minikubeにおいては、クラスターの起動時に`--extra-config=apiserver.runtime-config=settings.k8s.io/v1alpha1=true`をつけることで可能です。 -1. `PodPreset`に対する管理コントローラーを有効にします。これを行うための1つの方法として、API Serverの`--enable-admission-plugins`オプションの値に`PodPreset`を含む方法があります。Minikubeにおいては、クラスターの起動時に`--extra-config=apiserver.enable-admission-plugins=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset`を追加することで可能になります。 +1. `PodPreset`に対する管理コントローラーを有効にします。これを行うための1つの方法として、API Serverの`--enable-admission-plugins`オプションの値に`PodPreset`を含む方法があります。Minikubeにおいては、クラスターの起動時に + ```shell + --extra-config=apiserver.enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset + ``` + +を追加することで可能になります。 1. ユーザーが使う予定のNamespaceにおいて、`PodPreset`オブジェクトを作成することによりPodPresetを定義します。 {{% /capture %}} From 3cd2db9c2b3593c187a3cd6e53b860cb0ded832b Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Tue, 2 Jun 2020 22:35:08 +0900 Subject: [PATCH 213/533] translate forgotten phrase --- .../docs/tasks/access-application-cluster/web-ui-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md index 26f6fdc76f..2846ceec67 100644 --- a/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ja/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -65,7 +65,7 @@ Kubeconfigの認証方法は、外部IDプロバイダーやx509証明書ベー 任意のページの右上にある**CREATE**ボタンをクリックして開始します。 -### Specifying application details +### アプリケーションの詳細の指定 デプロイウィザードでは、以下の情報を入力する必要があります: From a291eb26e0fa7167987e75a1e9ab5b4f6ba5d9f5 Mon Sep 17 00:00:00 2001 From: mochizuki-pg Date: Tue, 2 Jun 2020 22:36:15 +0900 Subject: [PATCH 214/533] Add one blank line --- content/ja/docs/concepts/workloads/pods/podpreset.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/ja/docs/concepts/workloads/pods/podpreset.md b/content/ja/docs/concepts/workloads/pods/podpreset.md index 29b4ddbda6..0432924bbb 100644 --- a/content/ja/docs/concepts/workloads/pods/podpreset.md +++ b/content/ja/docs/concepts/workloads/pods/podpreset.md @@ -49,6 +49,7 @@ PodPresetによるPodの変更を受け付けたくないようなインスタ 1. `settings.k8s.io/v1alpha1/podpreset`というAPIを有効にします。例えば、これはAPI Serverの `--runtime-config`オプションに`settings.k8s.io/v1alpha1=true`を含むことで可能になります。Minikubeにおいては、クラスターの起動時に`--extra-config=apiserver.runtime-config=settings.k8s.io/v1alpha1=true`をつけることで可能です。 1. `PodPreset`に対する管理コントローラーを有効にします。これを行うための1つの方法として、API Serverの`--enable-admission-plugins`オプションの値に`PodPreset`を含む方法があります。Minikubeにおいては、クラスターの起動時に + ```shell --extra-config=apiserver.enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset ``` From 33c00a596e8addb4228a1cc089a9bd7bf410e8fc Mon Sep 17 00:00:00 2001 From: mochizuki-pg Date: Tue, 2 Jun 2020 22:40:40 +0900 Subject: [PATCH 215/533] fix indent --- content/ja/docs/concepts/workloads/pods/podpreset.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/podpreset.md b/content/ja/docs/concepts/workloads/pods/podpreset.md index 0432924bbb..e14db1c071 100644 --- a/content/ja/docs/concepts/workloads/pods/podpreset.md +++ b/content/ja/docs/concepts/workloads/pods/podpreset.md @@ -50,11 +50,11 @@ PodPresetによるPodの変更を受け付けたくないようなインスタ 1. `settings.k8s.io/v1alpha1/podpreset`というAPIを有効にします。例えば、これはAPI Serverの `--runtime-config`オプションに`settings.k8s.io/v1alpha1=true`を含むことで可能になります。Minikubeにおいては、クラスターの起動時に`--extra-config=apiserver.runtime-config=settings.k8s.io/v1alpha1=true`をつけることで可能です。 1. `PodPreset`に対する管理コントローラーを有効にします。これを行うための1つの方法として、API Serverの`--enable-admission-plugins`オプションの値に`PodPreset`を含む方法があります。Minikubeにおいては、クラスターの起動時に - ```shell - --extra-config=apiserver.enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset - ``` + ```shell + --extra-config=apiserver.enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset + ``` -を追加することで可能になります。 + を追加することで可能になります。 1. ユーザーが使う予定のNamespaceにおいて、`PodPreset`オブジェクトを作成することによりPodPresetを定義します。 {{% /capture %}} From 67778d609b1f959d3df1395103838f80ace788f4 Mon Sep 17 00:00:00 2001 From: mochizuki-pg Date: Tue, 2 Jun 2020 22:58:00 +0900 Subject: [PATCH 216/533] fix blank space --- content/ja/docs/concepts/workloads/pods/podpreset.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/podpreset.md b/content/ja/docs/concepts/workloads/pods/podpreset.md index e14db1c071..4c76bd3a0c 100644 --- a/content/ja/docs/concepts/workloads/pods/podpreset.md +++ b/content/ja/docs/concepts/workloads/pods/podpreset.md @@ -6,7 +6,7 @@ weight: 50 --- {{% capture overview %}} -このページではPodPresetについて概観します。PodPresetは、Podの作成時にそのPodに対して、Secret、Volume、VolumeMountや環境変数など、特定の情報を注入するためのオブジェクトです。 +このページではPodPresetについて概観します。PodPresetは、Podの作成時にそのPodに対して、Secret、Volume、VolumeMountや環境変数など、特定の情報を注入するためのオブジェクトです。 {{% /capture %}} @@ -16,14 +16,14 @@ weight: 50 `PodPreset`はPodの作成時に追加のランタイム要求を注入するためのAPIリソースです。 ユーザーはPodPresetを適用する対象のPodを指定するために、[ラベルセレクター](/ja/docs/concepts/overview/working-with-objects/labels/#label-selectors)を使用します。 -PodPresetの使用により、Podテンプレートの作者はPodにおいて、全ての情報を明示的に指定する必要がなくなります。 +PodPresetの使用により、Podテンプレートの作者はPodにおいて、全ての情報を明示的に指定する必要がなくなります。 この方法により、特定のServiceを使っているPodテンプレートの作者は、そのServiceについて全ての詳細を知る必要がなくなります。 PodPresetの内部についてのさらなる情報は、[PodPresetのデザインプロポーザル](https://git.k8s.io/community/contributors/design-proposals/service-catalog/pod-preset.md)を参照してください。 ## PodPresetはどのように動くか -Kubernetesは`PodPreset`に対する管理用コントローラーを提供し、これが有効になっている時、コントローラーはリクエストされたPod作成要求に対してPodPresetを適用します。 +Kubernetesは`PodPreset`に対する管理用コントローラーを提供し、これが有効になっている時、コントローラーはリクエストされたPod作成要求に対してPodPresetを適用します。 Pod作成要求が発生した時、Kubernetesシステムは下記の処理を行います。 1. 使用可能な全ての`PodPreset`を取得する。 @@ -40,7 +40,7 @@ Pod作成要求が発生した時、Kubernetesシステムは下記の処理を ### 特定のPodに対するPodPresetを無効にする -PodPresetによるPodの変更を受け付けたくないようなインスタンスがある場合があります。このようなケースでは、ユーザーはそのPodのSpec内に次のような形式のアノテーションを追加できます。 +PodPresetによるPodの変更を受け付けたくないようなインスタンスがある場合があります。このようなケースでは、ユーザーはそのPodのSpec内に次のような形式のアノテーションを追加できます。 `podpreset.admission.kubernetes.io/exclude: "true"` ## PodPresetを有効にする From 3dd4a31ebd711d04c5153eea7df4bf366ffafe3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Martins?= Date: Tue, 2 Jun 2020 16:37:58 +0200 Subject: [PATCH 217/533] Update Cilium related docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Martins --- .../tools/kubeadm/create-cluster-kubeadm.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index 2d38666386..5835d11d38 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -312,12 +312,11 @@ kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml {{% /tab %}} {{% tab name="Cilium" %}} -For Cilium to work correctly, you must pass `--pod-network-cidr=10.217.0.0/16` to `kubeadm init`. To deploy Cilium you just need to run: ```shell -kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.6/install/kubernetes/quick-install.yaml +kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.8/install/kubernetes/quick-install.yaml ``` Once all Cilium Pods are marked as `READY`, you start using your cluster. From 0a6ddff5527a36a67dff162928f0fd5a08b1122a Mon Sep 17 00:00:00 2001 From: akitok Date: Wed, 3 Jun 2020 00:08:29 +0900 Subject: [PATCH 218/533] Update tutorials/configuration/configure-redis-using-configmap.md to follow v1.17 of the original (Englist) text. --- .../configuration/configure-redis-using-configmap.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md index a113679775..722e143088 100644 --- a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -21,7 +21,8 @@ content_template: templates/tutorial {{% capture prerequisites %}} -* {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + * この例は、バージョン1.14以上での動作を確認しています。 * [ConfigMapを使ったコンテナの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)を読んで理解しておいてください。 @@ -68,7 +69,7 @@ kustomizationディレクトリを反映して、ConfigMapオブジェクトとP kubectl apply -k . ``` -Examine the created objects by +作成されたオブジェクトを確認します ```shell > kubectl get -k . NAME DATA AGE @@ -95,6 +96,11 @@ kubectl exec -it redis redis-cli 2) "allkeys-lru" ``` +作成したPodを削除してください: +```shell +kubectl delete pod redis +``` + {{% /capture %}} {{% capture whatsnext %}} @@ -103,4 +109,3 @@ kubectl exec -it redis redis-cli {{% /capture %}} - From a6640e70d2c10aa38f112bed6f64ca0432665040 Mon Sep 17 00:00:00 2001 From: arisgi Date: Wed, 3 Jun 2020 00:17:13 +0900 Subject: [PATCH 219/533] Remove description of expose option --- .../tutorials/kubernetes-basics/expose/expose-intro.html | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/content/ja/docs/tutorials/kubernetes-basics/expose/expose-intro.html b/content/ja/docs/tutorials/kubernetes-basics/expose/expose-intro.html index c1ad09aa2d..ea39fbd94e 100644 --- a/content/ja/docs/tutorials/kubernetes-basics/expose/expose-intro.html +++ b/content/ja/docs/tutorials/kubernetes-basics/expose/expose-intro.html @@ -79,13 +79,8 @@ weight: 10
  • バージョンタグを埋め込む
  • タグを使用してオブジェクトを分類する
  • +
    -
    -
    -
    -

    kubectlの
    --expose を使用して、Deploymentの作成と同時にServiceを作成できます。

    -
    -

    From 2cb01ae562571193fe9c4e8dae431f979805cae4 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Wed, 3 Jun 2020 08:31:06 +0900 Subject: [PATCH 220/533] fix section 'bash-completion install' --- content/ja/docs/tasks/tools/install-kubectl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index 59997650c8..b020581521 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -403,7 +403,7 @@ brew install bash echo $BASH_VERSION $SHELL ``` -Homebrewは通常、`/usr/local/bin/bash`フォルダ下にインストールします。 +Homebrewは通常、`/usr/local/bin/bash`にインストールします。 ### bash-completionをインストールする From 5321aed7fd94f51d47477aa044f28218b1eca779 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Wed, 3 Jun 2020 16:15:33 +0900 Subject: [PATCH 221/533] add tabs tag back --- content/ja/docs/tasks/tools/install-kubectl.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index b020581521..afa28c8a77 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -98,6 +98,7 @@ brew install kubectl kubectl version ``` {{% /tab %}} +{{< /tabs >}} ## macOSへkubectlをインストールする {#install-kubectl-on-macos} From 26ceb76eb92731fe3c8cca06e16c655dba9c8c99 Mon Sep 17 00:00:00 2001 From: Keita Akutsu Date: Sun, 24 May 2020 01:15:31 +0900 Subject: [PATCH 222/533] ja-trans: Translate concepts/policy/resource-quotas.md into Japanese #19282 --- content/ja/docs/concepts/policy/_index.md | 5 + .../docs/concepts/policy/resource-quotas.md | 554 ++++++++++++++++++ 2 files changed, 559 insertions(+) create mode 100755 content/ja/docs/concepts/policy/_index.md create mode 100644 content/ja/docs/concepts/policy/resource-quotas.md diff --git a/content/ja/docs/concepts/policy/_index.md b/content/ja/docs/concepts/policy/_index.md new file mode 100755 index 0000000000..1fa1c815ba --- /dev/null +++ b/content/ja/docs/concepts/policy/_index.md @@ -0,0 +1,5 @@ +--- +title: "リソースのポリシー" +weight: 90 +--- + diff --git a/content/ja/docs/concepts/policy/resource-quotas.md b/content/ja/docs/concepts/policy/resource-quotas.md new file mode 100644 index 0000000000..e11feb50c7 --- /dev/null +++ b/content/ja/docs/concepts/policy/resource-quotas.md @@ -0,0 +1,554 @@ +--- +reviewers: +title: リソースクォータ +content_template: templates/concept +weight: 10 +--- + +{{% capture overview %}} + +複数のユーザーやチームが決められた数のノードを持つクラスターを共有しているとき、1つのチームが公平に使えるリソース量を超えて使用するといった問題が出てきます。 + +リソースクォータはこの問題に対処するための管理者向けツールです。 + +{{% /capture %}} + + +{{% capture body %}} + +`ResourceQuota`オブジェクトによって定義されるリソースクォータは、名前空間ごとの総リソース消費を制限するための制約を提供します。リソースクォータは同じ名前空間のクラスター内でタイプごとに作成できるオブジェクト数や、プロジェクト内のリソースによって消費されるコンピュートリソースの総量を制限できます。 + +リソースクォータは下記のように働きます。 + +- 異なる名前空間のクラスターで異なるチームが存在するとき。現時点ではこれは自主的なものですが、将来的にはACLsを介してリソースクォータの設定を強制するように計画されています。 +- 管理者は各名前空間において1つの`ResourceQuota`を作成します。 +- ユーザーが名前空間内でリソース(Pod, Serviceなど)を作成し、クォータシステムが`ResourceQuota`によって定義されたハードウェアリソースのリミットを超えないことを保証するために、リソースの使用量をトラッキングします。 +- リソースの作成や更新がクォータの制約に違反しているとき、そのリクエストはHTTPステータスコード`403 FORBIDDEN`で失敗し、違反した制約を説明するメッセージが表示されます。 +- `cpu`や`memory`といったコンピューターリソース対するクォータが名前空間内で有効になっているとき、ユーザーはそれらの値に対する`requests`や`limits`を設定する必要があります。設定しないとクォータシステムがPodの作成を拒否します。 ヒント: コンピュートリソースの要求を設定しないPodに対してデフォルト値を教養するために、`LimitRanger`という管理コントローラーを使用してください。この問題を解決する例は[walkthrough](/ja/docs/tasks/administer-cluster/quota-memory-cpu-namespace/)で参照できます。 + +名前空間とクォータを使用して作成できるポリシーの例は以下の通りです。 + +- 32GiB RAM、16コアのキャパシティーを持つクラスターで、Aチームに20GiB、10コアを割り当て、Bチームに10GiB、4コアを割り当て、将来の割り当てのために2GiB、2コアを予約しておく。 +- "testing"という名前空間に対して1コア、1GiB RAMの使用制限をかける。 "production"という名前空間は制限をかけない。 + +クラスターの総キャパシティーが、その名前空間のクォータの合計より少ない場合、リソースの競合が発生する場合があります。このとき、リソースの先着順で処理されます。 + +リソースの競合もクォータの変更も、作成済みのリソースには影響しません。 + +## リソースクォータを有効にする + +多くのKubernetesディストリビューションにおいてリソースクォータはデフォルトで有効になっています。APIサーバーで`--enable-admission-plugins=`の値に`ResourceQuota`が含まれるときも有効になります。 + +特定の名前空間に`ResourceQuota`があるとき、そのリソースクォータはその特定の名前空間に適用されます。 + +## リソースクォータの計算 + +特定の名前空間において、[コンピュートリソース](/ja/docs/user-guide/compute-resources)の合計に上限を設定できます。 + +下記のリソースタイプがサポートされています。 + + +| リソース名 | 説明 | +| --------------------- | ----------------------------------------------------------- | +| `limits.cpu` | 停止していない状態の全てのPodで、CPUリミットの合計がこの値を超えることができません。 | +| `limits.memory` | 停止していない状態の全てのPodで、メモリの合計がこの値を超えることができません。 | +| `requests.cpu` | 停止していない状態の全てのPodで、CPUリクエストの合計がこの値を超えることができません。 | +| `requests.memory` | 停止していない状態の全てのPodで、メモリリクエストの合計がこの値を超えることができません。 | + +### 拡張リソースのためのリソースクォータ + +上記で取り上げたリソースに加えて、Kubernetes v1.10において、[拡張リソース](/ja/docs/concepts/configuration/manage-compute-resources-container/#extended-resources)のためのリソースクォータのサポートが追加されました。 + +拡張リソースに対するオーバーコミットが禁止されているのと同様に、リソースクォータで拡張リソース用に`requests`と`lmits`の両方を指定しても意味がありません。現在、拡張リソースに対しては`requests.`というプレフィックスのついたクォータアイテムのみ設定できます。 + +GPUリソースを例にすると、もしリソース名が`nvidia.com/gpu`で、ユーザーが名前空間内でリクエストされるGPUの上限を4に指定するとき、下記のようにリソースクォータを定義します。 + +* `requests.nvidia.com/gpu: 4` + +さらなる詳細は[リソースクォータの確認と設定](#viewing-and-setting-quotas)を参照してください。 + + +## ストレージのリソースクォータ + +特定の名前空間において[ストレージリソース](/ja/docs/concepts/storage/persistent-volumes/)の総数に上限をかけることができます。 + +さらに、関連するストレージクラスに基づいて、ストレージリソースの消費量に上限をかけることもできます。 + +| リソース名 | 説明 | +| --------------------- | ----------------------------------------------------------- | +| `requests.storage` | 全てのPersistentVolumeClaimにおいて、ストレージのリクエストの合計がこの値を超えないようにします。 | +| `persistentvolumeclaims` | 特定の名前空間内で作成可能な[PersistentVolumeClaim](/ja/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)の総数。 | +| `.storageclass.storage.k8s.io/requests.storage` | ストレージクラス名に関連する全てのPersistentVolumeClaimにおいて、ストレージリクエストの合計がこの値を超えないようにします。 | +| `.storageclass.storage.k8s.io/persistentvolumeclaims` | ストレージクラス名に関連する全てのPersistentVolumeClaimにおいて、特定の名前空間内で作成可能な[PersistentVolumeClaim](/ja/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)の総数。 | + +例えば、もし管理者が`gold`ストレージクラスを`bronze`ストレージクラスと分けてリソースクォータを設定するとき、管理者はリソースクォータを下記のように指定できます。 + +* `gold.storageclass.storage.k8s.io/requests.storage: 500Gi` +* `bronze.storageclass.storage.k8s.io/requests.storage: 100Gi` + +Kubernetes v1.8において、ローカルのエフェメラルストレージに対するリソースクォータのサポートがα版の機能として追加されました。 + +| リソース名 | 説明 | +| ------------------------------- |----------------------------------------------------------- | +| `requests.ephemeral-storage` | 名前空間内の全てのPodで、ローカルのエフェメラルストレージのリクエストの合計がこの値を超えないようにします。 | +| `limits.ephemeral-storage` | 名前空間内の全てのPodで、ローカルのエフェメラルストレージのリミットの合計がこの値を超えないようにします。 | + +## オブジェクト数に対するクォータ Object Count Quota + +Kubernetes v1.9では下記のシンタックスを使用して、名前空間に紐づいた全ての標準リソースタイプに対するリソースクォータのサポートが追加されました。 + +* `count/.` + +オブジェクト数に対するクォータでユーザーが設定するリソースの例は下記の通りです。 + +* `count/persistentvolumeclaims` +* `count/services` +* `count/secrets` +* `count/configmaps` +* `count/replicationcontrollers` +* `count/deployments.apps` +* `count/replicasets.apps` +* `count/statefulsets.apps` +* `count/jobs.batch` +* `count/cronjobs.batch` +* `count/deployments.extensions` + +Kubernetes v1.15において、同一のシンタックスを使用して、カスタムリソースに対するサポートが追加されました。例えば、`example.com`というAPIグループ内の`widgets`というカスタムリソースのリソースクォータを設定するには`count/widgets.example.com`と記述します。 + +`count/*`リソースクォータの使用において、オブジェクトがサーバーストレージに存在するときオブジェクトはクォータの計算対象となります。このようなタイプのリソースクォータはストレージリソース浪費の防止に有効です。例えば、もしSecretが大量に存在するとき、そのSecretリソースの総数に対してリソースクォータの制限をかけたい場合です。クラスター内でSecretが大量にあると、サーバーとコントローラーの起動を妨げることになります!また、適切に設定されていないCronJobが名前空間内で大量のJobを作成し、サービスが利用不可能になることを防ぐためにリソースクォータを設定できます。 + +Kubernetes v1.9より前のバージョンでは、限定されたリソースのセットにおいて汎用オブジェクトカウントのリソースクォータを実行可能でした。さらに、特定のリソースに対するリソースクォータを種類ごとに制限することができます。 + +下記のタイプのリソースがサポートされています。 + +| リソース名 | 説明 | +| ------------------------------- | ------------------------------------------------- | +| `configmaps` | 名前空間内で存在可能なConfigMapの総数。 | +| `persistentvolumeclaims` | 名前空間内で存在可能な[PersistentVolumeClaim](/ja/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)の総数。 | +| `pods` | 名前空間内で存在可能な停止していないPodの総数。`.status.phase in (Failed, Succeeded)`がtrueのとき、Podは停止状態にあります。 | +| `replicationcontrollers` | 名前空間内で存在可能なReplicationControlerの総数。 | +| `resourcequotas` | 名前空間内で存在可能な[リソースクォータ](/ja/docs/reference/access-authn-authz/admission-controllers/#resourcequota)の総数。 | +| `services` | 名前空間内で存在可能なServiceの総数。 | +| `services.loadbalancers` | 名前空間内で存在可能なtype:LoadBalancerであるServiceの総数。 | +| `services.nodeports` | 名前空間内で存在可能なtype:NodePortであるServiceの総数。 | +| `secrets` | 名前空間内で存在可能なSecretの総数。 | + +例えば、`Pod`のリソースクォータは`Pod`の総数をカウントし、特定の名前空間内で作成された`Pod`の総数の最大数を設定します。またユーザーが多くのPodを作成し、クラスターのPodのIPが枯渇する状況を避けるために`Pod`のリソースクォータを設定したい場合があります。 + +## クォータのスコープについて + +各リソースクォータには関連するスコープのセットを関連づけることができます。クォータは、列挙されたスコープの共通部分と一致する場合にのみリソースの使用量を計測します。 + +スコープがリソースクォータに追加されると、サポートするリソースの数がスコープに関連するリソースに制限されます。許可されたセットに以外のリソースクォータ上でリソースを指定するとバリデーションエラーになります。 + +| スコープ | 説明 | +| ----- | ----------- | +| `Terminating` | `.spec.activeDeadlineSeconds >= 0`であるPodに一致します。 | +| `NotTerminating` | `.spec.activeDeadlineSecondsがnil`であるPodに一致します。 | +| `BestEffort` | ベストエフォート型のサービス品質のPodに一致します。 | +| `NotBestEffort` | ベストエフォート型のサービス品質でないPodに一致します。 | + +`BestEffort`スコープはリソースクォータを次のリソースに対するトラッキングのみに制限します: `Pod` + +`Terminating`, `NotTerminating`, `NotBestEffort`スコープは、リソースクォータを次のリソースに対するトラッキングのみに制限します: + +* `cpu` +* `limits.cpu` +* `limits.memory` +* `memory` +* `pods` +* `requests.cpu` +* `requests.memory` + +### PriorityClass毎のリソースクォータ + +{{< feature-state for_k8s_version="1.12" state="beta" >}} + +Podは特定の[Podの優先度](/ja/docs/concepts/configuration/pod-priority-preemption/#pod-priority)で作成されます。リソースクォータのSpec内にある`scopeSelector`フィールドを使用して、Podの優先度に基づいてPodのシステムリソースの消費をコントロールできます。 + +リソースクォータのSpec内の`scopeSelector`によってPodが選択されたときのみ、そのリソースクォータが一致し、消費されます。 + +この例ではリソースクォータのオブジェクトを作成し、特定の優先度を持つPodに一致させます。この例は下記のように動作します。 + +- クラスター内のPodは3つの優先度クラスのうち1つをもちます。それは"low", "medium", "high"です。 +- 1つのリソースクォータのオブジェクトは優先度毎に作成されます。 + +下記のYAMLを`quota.yml`というファイルに保存します。 + +```yaml +apiVersion: v1 +kind: List +items: +- apiVersion: v1 + kind: ResourceQuota + metadata: + name: pods-high + spec: + hard: + cpu: "1000" + memory: 200Gi + pods: "10" + scopeSelector: + matchExpressions: + - operator : In + scopeName: PriorityClass + values: ["high"] +- apiVersion: v1 + kind: ResourceQuota + metadata: + name: pods-medium + spec: + hard: + cpu: "10" + memory: 20Gi + pods: "10" + scopeSelector: + matchExpressions: + - operator : In + scopeName: PriorityClass + values: ["medium"] +- apiVersion: v1 + kind: ResourceQuota + metadata: + name: pods-low + spec: + hard: + cpu: "5" + memory: 10Gi + pods: "10" + scopeSelector: + matchExpressions: + - operator : In + scopeName: PriorityClass + values: ["low"] +``` + +`kubectl create`を実行してYAMLの内容を適用させます。 + +```shell +kubectl create -f ./quota.yml +``` + +```shell +resourcequota/pods-high created +resourcequota/pods-medium created +resourcequota/pods-low created +``` + +`kubectl describe quota`を実行して`Used`クォータが`0`であることを確認します。 + +```shell +kubectl describe quota +``` + +```shell +Name: pods-high +Namespace: default +Resource Used Hard +-------- ---- ---- +cpu 0 1k +memory 0 200Gi +pods 0 10 + + +Name: pods-low +Namespace: default +Resource Used Hard +-------- ---- ---- +cpu 0 5 +memory 0 10Gi +pods 0 10 + + +Name: pods-medium +Namespace: default +Resource Used Hard +-------- ---- ---- +cpu 0 10 +memory 0 20Gi +pods 0 10 +``` + +プライオリティーが"high"であるPodを作成します。下記の内容を`high-priority-pod.yml`というファイルに記述します。 + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: high-priority +spec: + containers: + - name: high-priority + image: ubuntu + command: ["/bin/sh"] + args: ["-c", "while true; do echo hello; sleep 10;done"] + resources: + requests: + memory: "10Gi" + cpu: "500m" + limits: + memory: "10Gi" + cpu: "500m" + priorityClassName: high +``` + +`kubectl create`を使ってマニフェストを適用させます。 + +```shell +kubectl create -f ./high-priority-pod.yml +``` + +`pods-high`という名前のプライオリティーが"high"のクォータにおける"Used"項目の値が変更され、それ以外の2つの値は変更されていないことを確認してください。 + +```shell +kubectl describe quota +``` + +```shell +Name: pods-high +Namespace: default +Resource Used Hard +-------- ---- ---- +cpu 500m 1k +memory 10Gi 200Gi +pods 1 10 + + +Name: pods-low +Namespace: default +Resource Used Hard +-------- ---- ---- +cpu 0 5 +memory 0 10Gi +pods 0 10 + + +Name: pods-medium +Namespace: default +Resource Used Hard +-------- ---- ---- +cpu 0 10 +memory 0 20Gi +pods 0 10 +``` + +`scopeSelector`は`operator`フィールドにおいて下記の値をサポートしています。 + +* `In` +* `NotIn` +* `Exist` +* `DoesNotExist` + +## リクエスト vs リミット + +コンピュートリソースを分配する際に、各コンテナはCPUとメモリーそれぞれのリクエストとリミット値を指定します。クォータはそれぞれの値を設定できます。 + +`requests.cpu`もしくは`requests.memory`に対するクォータを指定したとき、コンテナはそれらのリソースに対する明示的な要求を行います。同様に、`limits.cpu`もしくは`limits.memory`に対するクォータを指定したとき、コンテナはそれらのリソースに対する明示的な制限を行います。 + +## クォータの確認と設定 {#viewing-and-setting-quotas} + +kubectlでは、クォータの作成、更新、確認をサポートしています。 + +```shell +kubectl create namespace myspace +``` + +```shell +cat < compute-resources.yaml +apiVersion: v1 +kind: ResourceQuota +metadata: + name: compute-resources +spec: + hard: + requests.cpu: "1" + requests.memory: 1Gi + limits.cpu: "2" + limits.memory: 2Gi + requests.nvidia.com/gpu: 4 +EOF +``` + +```shell +kubectl create -f ./compute-resources.yaml --namespace=myspace +``` + +```shell +cat < object-counts.yaml +apiVersion: v1 +kind: ResourceQuota +metadata: + name: object-counts +spec: + hard: + configmaps: "10" + persistentvolumeclaims: "4" + pods: "4" + replicationcontrollers: "20" + secrets: "10" + services: "10" + services.loadbalancers: "2" +EOF +``` + +```shell +kubectl create -f ./object-counts.yaml --namespace=myspace +``` + +```shell +kubectl get quota --namespace=myspace +``` + +```shell +NAME AGE +compute-resources 30s +object-counts 32s +``` + +```shell +kubectl describe quota compute-resources --namespace=myspace +``` + +```shell +Name: compute-resources +Namespace: myspace +Resource Used Hard +-------- ---- ---- +limits.cpu 0 2 +limits.memory 0 2Gi +requests.cpu 0 1 +requests.memory 0 1Gi +requests.nvidia.com/gpu 0 4 +``` + +```shell +kubectl describe quota object-counts --namespace=myspace +``` + +```shell +Name: object-counts +Namespace: myspace +Resource Used Hard +-------- ---- ---- +configmaps 0 10 +persistentvolumeclaims 0 4 +pods 0 4 +replicationcontrollers 0 20 +secrets 1 10 +services 0 10 +services.loadbalancers 0 2 +``` + +また、kubectlは`count/.`というシンタックスを用いることにより、名前空間に依存した全ての主要なリソースに対するオブジェクト数のクォータをサポートしています。 + +```shell +kubectl create namespace myspace +``` + +```shell +kubectl create quota test --hard=count/deployments.extensions=2,count/replicasets.extensions=4,count/pods=3,count/secrets=4 --namespace=myspace +``` + +```shell +kubectl run nginx --image=nginx --replicas=2 --namespace=myspace +``` + +```shell +kubectl describe quota --namespace=myspace +``` + +```shell +Name: test +Namespace: myspace +Resource Used Hard +-------- ---- ---- +count/deployments.extensions 1 2 +count/pods 2 3 +count/replicasets.extensions 1 4 +count/secrets 1 4 +``` + +## クォータとクラスター容量 + +`ResourceQuotas`はクラスター容量に依存しません。それはユニット数の絶対値で表されます。そのためクラスターにノードを追加した時、`ResourceQuotas`は各名前空間においてさらなるリソース消費を行う能力を自動で追加*しません* + +下記のようなより複雑なポリシーが必要な状況があります。 + + - 複数チーム間でクラスターリソースの総量を分けあう。 + - 各テナントが必要な時にリソース使用量を増やせるようにするが、偶発的なリソースの枯渇を防ぐために上限を設定する。 + - 1つの名前空間に対してリソース消費の需要を検出し、ノードを追加し、クォータを増加させる。 + +このようなポリシーは、クォータの使用量の監視と、他のシグナルにしたがってクォータのハードの制限を調整する"コントローラー"を記述することにより、`ResourceQuotas`をビルディングブロックのように使用して実装できます。 + +リソースクォータは集約されたクラスターリソースを分割するが、ノードに対して何の制限も行わないことを注意して下さい。例: 複数の名前空間のPodは同一のノード上で稼働する可能性があります。 + +## デフォルトで優先度クラスの消費を制限する + +特定の優先度を持つPod、例えば"cluster-services"は、条件に一致するクォータオブジェクトが存在するときのみ名前空間上でのPodの使用を許可したい場合があります。 + +このメカニズムにおいて、オペレーターは限られた数の名前空間に対して、一定以上の高い優先度クラスの使用を制限することができ、デフォルトではこのような優先度クラスを全ての名前空間は使用することができません。 + +これを強制するために、kube-apiserverの`--admission-control-config-file`というフラグを使って下記の設定ファイルに対してパスを渡す必要がります。 + +{{< tabs name="example1" >}} +{{% tab name="apiserver.config.k8s.io/v1" %}} +```yaml +apiVersion: apiserver.config.k8s.io/v1 +kind: AdmissionConfiguration +plugins: +- name: "ResourceQuota" + configuration: + apiVersion: apiserver.config.k8s.io/v1 + kind: ResourceQuotaConfiguration + limitedResources: + - resource: pods + matchScopes: + - scopeName: PriorityClass + operator: In + values: ["cluster-services"] +``` +{{% /tab %}} +{{% tab name="apiserver.k8s.io/v1alpha1" %}} +```yaml +# v1.17では非推奨になり、apiserver.config.k8s.io/v1の使用を推奨します。 +apiVersion: apiserver.k8s.io/v1alpha1 +kind: AdmissionConfiguration +plugins: +- name: "ResourceQuota" + configuration: + # v1.17では非推奨になり、apiserver.config.k8s.io/v1、ResourceQuotaConfigurationの使用を推奨します。 + apiVersion: resourcequota.admission.k8s.io/v1beta1 + kind: Configuration + limitedResources: + - resource: pods + matchScopes: + - scopeName: PriorityClass + operator: In + values: ["cluster-services"] +``` +{{% /tab %}} +{{< /tabs >}} + +なお、"cluster-services"Podは、条件に一致する`scopeSelector`を持つクォータオブジェクトが存在する名前空間において存在可能です。 + +```yaml + scopeSelector: + matchExpressions: + - scopeName: PriorityClass + operator: In + values: ["cluster-services"] +``` + +さらなる情報は、[LimitedResources](https://github.com/kubernetes/kubernetes/pull/36765)と[優先度クラスに対するクォータサポートの design doc](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/pod-priority-resourcequota.md)を参照してください。 + +## 例 + +[リソースクォータの使用方法の例](/docs/tasks/administer-cluster/quota-api-object/)を参照してください。 + +{{% /capture %}} + +{{% capture whatsnext %}} + +さらなる情報は[リソースクォータの design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md)を参照してください。 + +{{% /capture %}} From 086fd58a53deebaf050bca7119f353007163797e Mon Sep 17 00:00:00 2001 From: Keita Akutsu Date: Wed, 27 May 2020 23:38:16 +0900 Subject: [PATCH 223/533] ja-trans: Improve Japanese translation in concepts/policy/resource-quotas.md #19282 --- content/ja/docs/concepts/policy/resource-quotas.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/policy/resource-quotas.md b/content/ja/docs/concepts/policy/resource-quotas.md index e11feb50c7..d8611fb677 100644 --- a/content/ja/docs/concepts/policy/resource-quotas.md +++ b/content/ja/docs/concepts/policy/resource-quotas.md @@ -93,7 +93,7 @@ Kubernetes v1.8において、ローカルのエフェメラルストレージ | `requests.ephemeral-storage` | 名前空間内の全てのPodで、ローカルのエフェメラルストレージのリクエストの合計がこの値を超えないようにします。 | | `limits.ephemeral-storage` | 名前空間内の全てのPodで、ローカルのエフェメラルストレージのリミットの合計がこの値を超えないようにします。 | -## オブジェクト数に対するクォータ Object Count Quota +## オブジェクト数に対するクォータ Kubernetes v1.9では下記のシンタックスを使用して、名前空間に紐づいた全ての標準リソースタイプに対するリソースクォータのサポートが追加されました。 @@ -345,7 +345,7 @@ pods 0 10 `requests.cpu`もしくは`requests.memory`に対するクォータを指定したとき、コンテナはそれらのリソースに対する明示的な要求を行います。同様に、`limits.cpu`もしくは`limits.memory`に対するクォータを指定したとき、コンテナはそれらのリソースに対する明示的な制限を行います。 -## クォータの確認と設定 {#viewing-and-setting-quotas} +## リソースクォータの確認と設定 {#viewing-and-setting-quotas} kubectlでは、クォータの作成、更新、確認をサポートしています。 From ebd0b4c8319cb2dc366de8502add8162dba69ad1 Mon Sep 17 00:00:00 2001 From: Keita Akutsu Date: Wed, 3 Jun 2020 00:31:17 +0900 Subject: [PATCH 224/533] ja-trans: Improve Japanese translation in concepts/policy/resource-quotas.md #19282 --- .../docs/concepts/policy/resource-quotas.md | 66 ++++++++++--------- .../concepts/storage/persistent-volumes.md | 2 +- 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/content/ja/docs/concepts/policy/resource-quotas.md b/content/ja/docs/concepts/policy/resource-quotas.md index d8611fb677..cd8296f23c 100644 --- a/content/ja/docs/concepts/policy/resource-quotas.md +++ b/content/ja/docs/concepts/policy/resource-quotas.md @@ -20,16 +20,18 @@ weight: 10 リソースクォータは下記のように働きます。 -- 異なる名前空間のクラスターで異なるチームが存在するとき。現時点ではこれは自主的なものですが、将来的にはACLsを介してリソースクォータの設定を強制するように計画されています。 -- 管理者は各名前空間において1つの`ResourceQuota`を作成します。 -- ユーザーが名前空間内でリソース(Pod, Serviceなど)を作成し、クォータシステムが`ResourceQuota`によって定義されたハードウェアリソースのリミットを超えないことを保証するために、リソースの使用量をトラッキングします。 +- 異なる名前空間で異なるチームが存在するとき。現時点ではこれは自主的なものですが、将来的にはACLsを介してリソースクォータの設定を強制するように計画されています。 +- 管理者は各名前空間で1つの`ResourceQuota`を作成します。 +- ユーザーが名前空間内でリソース(Pod、Serviceなど)を作成し、クォータシステムが`ResourceQuota`によって定義されたハードリソースリミットを超えないことを保証するために、リソースの使用量をトラッキングします。 - リソースの作成や更新がクォータの制約に違反しているとき、そのリクエストはHTTPステータスコード`403 FORBIDDEN`で失敗し、違反した制約を説明するメッセージが表示されます。 -- `cpu`や`memory`といったコンピューターリソース対するクォータが名前空間内で有効になっているとき、ユーザーはそれらの値に対する`requests`や`limits`を設定する必要があります。設定しないとクォータシステムがPodの作成を拒否します。 ヒント: コンピュートリソースの要求を設定しないPodに対してデフォルト値を教養するために、`LimitRanger`という管理コントローラーを使用してください。この問題を解決する例は[walkthrough](/ja/docs/tasks/administer-cluster/quota-memory-cpu-namespace/)で参照できます。 +- `cpu`や`memory`といったコンピューターリソースに対するクォータが名前空間内で有効になっているとき、ユーザーはそれらの値に対する`requests`や`limits`を設定する必要があります。設定しないとクォータシステムがPodの作成を拒否します。 ヒント: コンピュートリソースの要求を設定しないPodに対してデフォルト値を強制するために、`LimitRanger`アドミッションコントローラーを使用してください。この問題を解決する例は[walkthrough](/docs/tasks/administer-cluster/quota-memory-cpu-namespace/)で参照できます。 + +`ResourceQuota`のオブジェクト名は、有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります. 名前空間とクォータを使用して作成できるポリシーの例は以下の通りです。 - 32GiB RAM、16コアのキャパシティーを持つクラスターで、Aチームに20GiB、10コアを割り当て、Bチームに10GiB、4コアを割り当て、将来の割り当てのために2GiB、2コアを予約しておく。 -- "testing"という名前空間に対して1コア、1GiB RAMの使用制限をかける。 "production"という名前空間は制限をかけない。 +- "testing"という名前空間に対して1コア、1GiB RAMの使用制限をかけ、"production"という名前空間には制限をかけない。 クラスターの総キャパシティーが、その名前空間のクォータの合計より少ない場合、リソースの競合が発生する場合があります。このとき、リソースの先着順で処理されます。 @@ -37,13 +39,13 @@ weight: 10 ## リソースクォータを有効にする -多くのKubernetesディストリビューションにおいてリソースクォータはデフォルトで有効になっています。APIサーバーで`--enable-admission-plugins=`の値に`ResourceQuota`が含まれるときも有効になります。 +多くのKubernetesディストリビューションにおいてリソースクォータはデフォルトで有効になっています。APIサーバーで`--enable-admission-plugins=`の値に`ResourceQuota`が含まれるときに有効になります。 -特定の名前空間に`ResourceQuota`があるとき、そのリソースクォータはその特定の名前空間に適用されます。 +特定の名前空間に`ResourceQuota`があるとき、そのリソースクォータはその名前空間に適用されます。 ## リソースクォータの計算 -特定の名前空間において、[コンピュートリソース](/ja/docs/user-guide/compute-resources)の合計に上限を設定できます。 +特定の名前空間において、[コンピュートリソース](/docs/concepts/configuration/manage-resources-containers/)の合計に上限を設定できます。 下記のリソースタイプがサポートされています。 @@ -51,13 +53,13 @@ weight: 10 | リソース名 | 説明 | | --------------------- | ----------------------------------------------------------- | | `limits.cpu` | 停止していない状態の全てのPodで、CPUリミットの合計がこの値を超えることができません。 | -| `limits.memory` | 停止していない状態の全てのPodで、メモリの合計がこの値を超えることができません。 | +| `limits.memory` | 停止していない状態の全てのPodで、メモリーの合計がこの値を超えることができません。 | | `requests.cpu` | 停止していない状態の全てのPodで、CPUリクエストの合計がこの値を超えることができません。 | -| `requests.memory` | 停止していない状態の全てのPodで、メモリリクエストの合計がこの値を超えることができません。 | +| `requests.memory` | 停止していない状態の全てのPodで、メモリーリクエストの合計がこの値を超えることができません。 | ### 拡張リソースのためのリソースクォータ -上記で取り上げたリソースに加えて、Kubernetes v1.10において、[拡張リソース](/ja/docs/concepts/configuration/manage-compute-resources-container/#extended-resources)のためのリソースクォータのサポートが追加されました。 +上記で取り上げたリソースに加えて、Kubernetes v1.10において、[拡張リソース](/docs/concepts/configuration/manage-compute-resources-container/#extended-resources)のためのリソースクォータのサポートが追加されました。 拡張リソースに対するオーバーコミットが禁止されているのと同様に、リソースクォータで拡張リソース用に`requests`と`lmits`の両方を指定しても意味がありません。現在、拡張リソースに対しては`requests.`というプレフィックスのついたクォータアイテムのみ設定できます。 @@ -65,7 +67,7 @@ GPUリソースを例にすると、もしリソース名が`nvidia.com/gpu`で * `requests.nvidia.com/gpu: 4` -さらなる詳細は[リソースクォータの確認と設定](#viewing-and-setting-quotas)を参照してください。 +さらなる詳細は[クォータの確認と設定](#viewing-and-setting-quotas)を参照してください。 ## ストレージのリソースクォータ @@ -115,7 +117,7 @@ Kubernetes v1.9では下記のシンタックスを使用して、名前空間 Kubernetes v1.15において、同一のシンタックスを使用して、カスタムリソースに対するサポートが追加されました。例えば、`example.com`というAPIグループ内の`widgets`というカスタムリソースのリソースクォータを設定するには`count/widgets.example.com`と記述します。 -`count/*`リソースクォータの使用において、オブジェクトがサーバーストレージに存在するときオブジェクトはクォータの計算対象となります。このようなタイプのリソースクォータはストレージリソース浪費の防止に有効です。例えば、もしSecretが大量に存在するとき、そのSecretリソースの総数に対してリソースクォータの制限をかけたい場合です。クラスター内でSecretが大量にあると、サーバーとコントローラーの起動を妨げることになります!また、適切に設定されていないCronJobが名前空間内で大量のJobを作成し、サービスが利用不可能になることを防ぐためにリソースクォータを設定できます。 +`count/*`リソースクォータの使用において、オブジェクトがサーバーストレージに存在するときオブジェクトはクォータの計算対象となります。このようなタイプのリソースクォータはストレージリソース浪費の防止に有効です。例えば、もしSecretが大量に存在するとき、そのSecretリソースの総数に対してリソースクォータの制限をかけたい場合です。クラスター内でSecretが大量にあると、サーバーとコントローラーの起動を妨げることになります!また、適切に設定されていないCronJobが名前空間内で大量のJobを作成し、サービスが利用不可能になることを防ぐためにリソースクォータを設定できます。 Kubernetes v1.9より前のバージョンでは、限定されたリソースのセットにおいて汎用オブジェクトカウントのリソースクォータを実行可能でした。さらに、特定のリソースに対するリソースクォータを種類ごとに制限することができます。 @@ -127,19 +129,19 @@ Kubernetes v1.9より前のバージョンでは、限定されたリソース | `persistentvolumeclaims` | 名前空間内で存在可能な[PersistentVolumeClaim](/ja/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)の総数。 | | `pods` | 名前空間内で存在可能な停止していないPodの総数。`.status.phase in (Failed, Succeeded)`がtrueのとき、Podは停止状態にあります。 | | `replicationcontrollers` | 名前空間内で存在可能なReplicationControlerの総数。 | -| `resourcequotas` | 名前空間内で存在可能な[リソースクォータ](/ja/docs/reference/access-authn-authz/admission-controllers/#resourcequota)の総数。 | +| `resourcequotas` | 名前空間内で存在可能な[リソースクォータ](/docs/reference/access-authn-authz/admission-controllers/#resourcequota)の総数。 | | `services` | 名前空間内で存在可能なServiceの総数。 | | `services.loadbalancers` | 名前空間内で存在可能なtype:LoadBalancerであるServiceの総数。 | | `services.nodeports` | 名前空間内で存在可能なtype:NodePortであるServiceの総数。 | | `secrets` | 名前空間内で存在可能なSecretの総数。 | -例えば、`Pod`のリソースクォータは`Pod`の総数をカウントし、特定の名前空間内で作成された`Pod`の総数の最大数を設定します。またユーザーが多くのPodを作成し、クラスターのPodのIPが枯渇する状況を避けるために`Pod`のリソースクォータを設定したい場合があります。 +例えば、`pods`のリソースクォータは`Pod`の総数をカウントし、特定の名前空間内で作成された`Pod`の総数の最大数を設定します。またユーザーが多くのPodを作成し、クラスターのPodのIPが枯渇する状況を避けるために`pods`のリソースクォータを名前空間に設定したい場合があります。 ## クォータのスコープについて 各リソースクォータには関連するスコープのセットを関連づけることができます。クォータは、列挙されたスコープの共通部分と一致する場合にのみリソースの使用量を計測します。 -スコープがリソースクォータに追加されると、サポートするリソースの数がスコープに関連するリソースに制限されます。許可されたセットに以外のリソースクォータ上でリソースを指定するとバリデーションエラーになります。 +スコープがクォータに追加されると、サポートするリソースの数がスコープに関連するリソースに制限されます。許可されたセット以外のクォータ上でリソースを指定するとバリデーションエラーになります。 | スコープ | 説明 | | ----- | ----------- | @@ -148,9 +150,9 @@ Kubernetes v1.9より前のバージョンでは、限定されたリソース | `BestEffort` | ベストエフォート型のサービス品質のPodに一致します。 | | `NotBestEffort` | ベストエフォート型のサービス品質でないPodに一致します。 | -`BestEffort`スコープはリソースクォータを次のリソースに対するトラッキングのみに制限します: `Pod` +`BestEffort`スコープはリソースクォータを次のリソースに対するトラッキングのみに制限します: `pods` -`Terminating`, `NotTerminating`, `NotBestEffort`スコープは、リソースクォータを次のリソースに対するトラッキングのみに制限します: +`Terminating`、`NotTerminating`、`NotBestEffort`スコープは、リソースクォータを次のリソースに対するトラッキングのみに制限します: * `cpu` * `limits.cpu` @@ -164,13 +166,13 @@ Kubernetes v1.9より前のバージョンでは、限定されたリソース {{< feature-state for_k8s_version="1.12" state="beta" >}} -Podは特定の[Podの優先度](/ja/docs/concepts/configuration/pod-priority-preemption/#pod-priority)で作成されます。リソースクォータのSpec内にある`scopeSelector`フィールドを使用して、Podの優先度に基づいてPodのシステムリソースの消費をコントロールできます。 +Podは特定の[優先度](/docs/concepts/configuration/pod-priority-preemption/#pod-priority)で作成されます。リソースクォータのSpec内にある`scopeSelector`フィールドを使用して、Podの優先度に基づいてPodのシステムリソースの消費をコントロールできます。 リソースクォータのSpec内の`scopeSelector`によってPodが選択されたときのみ、そのリソースクォータが一致し、消費されます。 この例ではリソースクォータのオブジェクトを作成し、特定の優先度を持つPodに一致させます。この例は下記のように動作します。 -- クラスター内のPodは3つの優先度クラスのうち1つをもちます。それは"low", "medium", "high"です。 +- クラスター内のPodは"low"、"medium"、"high"の3つの優先度クラスのうち1つをもちます。 - 1つのリソースクォータのオブジェクトは優先度毎に作成されます。 下記のYAMLを`quota.yml`というファイルに保存します。 @@ -223,7 +225,7 @@ items: values: ["low"] ``` -`kubectl create`を実行してYAMLの内容を適用させます。 +`kubectl create`を実行してYAMLの内容を適用します。 ```shell kubectl create -f ./quota.yml @@ -269,7 +271,7 @@ memory 0 20Gi pods 0 10 ``` -プライオリティーが"high"であるPodを作成します。下記の内容を`high-priority-pod.yml`というファイルに記述します。 +プライオリティーが"high"であるPodを作成します。下記の内容を`high-priority-pod.yml`というファイルに保存します。 ```yaml apiVersion: v1 @@ -292,7 +294,7 @@ spec: priorityClassName: high ``` -`kubectl create`を使ってマニフェストを適用させます。 +`kubectl create`でマニフェストを適用します。 ```shell kubectl create -f ./high-priority-pod.yml @@ -343,7 +345,7 @@ pods 0 10 コンピュートリソースを分配する際に、各コンテナはCPUとメモリーそれぞれのリクエストとリミット値を指定します。クォータはそれぞれの値を設定できます。 -`requests.cpu`もしくは`requests.memory`に対するクォータを指定したとき、コンテナはそれらのリソースに対する明示的な要求を行います。同様に、`limits.cpu`もしくは`limits.memory`に対するクォータを指定したとき、コンテナはそれらのリソースに対する明示的な制限を行います。 +クォータに`requests.cpu`や`requests.memory`の値が指定されている場合は、コンテナはそれらのリソースに対する明示的な要求を行います。同様に、クォータに`limits.cpu`や`limits.memory`の値が指定されている場合は、コンテナはそれらのリソースに対する明示的な制限を行います。 ## リソースクォータの確認と設定 {#viewing-and-setting-quotas} @@ -480,15 +482,15 @@ count/secrets 1 4 このようなポリシーは、クォータの使用量の監視と、他のシグナルにしたがってクォータのハードの制限を調整する"コントローラー"を記述することにより、`ResourceQuotas`をビルディングブロックのように使用して実装できます。 -リソースクォータは集約されたクラスターリソースを分割するが、ノードに対して何の制限も行わないことを注意して下さい。例: 複数の名前空間のPodは同一のノード上で稼働する可能性があります。 +リソースクォータは集約されたクラスターリソースを分割しますが、ノードに対しては何の制限も行わないことに注意して下さい。例: 複数の名前空間のPodは同一のノード上で稼働する可能性があります。 ## デフォルトで優先度クラスの消費を制限する -特定の優先度を持つPod、例えば"cluster-services"は、条件に一致するクォータオブジェクトが存在するときのみ名前空間上でのPodの使用を許可したい場合があります。 +例えば"cluster-services"のように、条件に一致するクォータオブジェクトが存在する場合に限り、特定の優先度のPodを名前空間で許可することが望ましい場合があります。 -このメカニズムにおいて、オペレーターは限られた数の名前空間に対して、一定以上の高い優先度クラスの使用を制限することができ、デフォルトではこのような優先度クラスを全ての名前空間は使用することができません。 +このメカニズムにより、オペレーターは特定の高優先度クラスの使用を限られた数の名前空間に制限することができ、全ての名前空間でこれらの優先度クラスをデフォルトで使用することはできなくなります。 -これを強制するために、kube-apiserverの`--admission-control-config-file`というフラグを使って下記の設定ファイルに対してパスを渡す必要がります。 +これを実施するには、kube-apiserverの`--admission-control-config-file`というフラグを使い、下記の設定ファイルに対してパスを渡す必要がります。 {{< tabs name="example1" >}} {{% tab name="apiserver.config.k8s.io/v1" %}} @@ -503,7 +505,7 @@ plugins: limitedResources: - resource: pods matchScopes: - - scopeName: PriorityClass + - scopeName: PriorityClass operator: In values: ["cluster-services"] ``` @@ -522,14 +524,14 @@ plugins: limitedResources: - resource: pods matchScopes: - - scopeName: PriorityClass + - scopeName: PriorityClass operator: In values: ["cluster-services"] ``` {{% /tab %}} {{< /tabs >}} -なお、"cluster-services"Podは、条件に一致する`scopeSelector`を持つクォータオブジェクトが存在する名前空間において存在可能です。 +なお、"cluster-services"Podは、条件に一致する`scopeSelector`を持つクォータオブジェクトが存在する名前空間でのみ許可されます。 ```yaml scopeSelector: @@ -549,6 +551,6 @@ plugins: {{% capture whatsnext %}} -さらなる情報は[リソースクォータの design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md)を参照してください。 +さらなる情報は[クォータの design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md)を参照してください。 {{% /capture %}} diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index 3e55db7066..e8aeb996f3 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -400,7 +400,7 @@ PVは[ノードアフィニティ](/docs/reference/generated/kubernetes-api/{{< CLIにはPVに紐付いているPVCの名前が表示されます。 -## 永続ボリューム要求 +## 永続ボリューム要求 {#persistentvolumeclaims} 各PVCにはspecとステータスが含まれます。これは、仕様とクレームのステータスです。 From 74655522d1e24a44a9cfb47374921b0171ffc239 Mon Sep 17 00:00:00 2001 From: Keita Akutsu Date: Wed, 3 Jun 2020 00:33:19 +0900 Subject: [PATCH 225/533] ja-trans: Improve Japanese translation in concepts/policy/resource-quotas.md #19282 --- content/ja/docs/concepts/policy/resource-quotas.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/policy/resource-quotas.md b/content/ja/docs/concepts/policy/resource-quotas.md index cd8296f23c..8b09a53c6c 100644 --- a/content/ja/docs/concepts/policy/resource-quotas.md +++ b/content/ja/docs/concepts/policy/resource-quotas.md @@ -347,7 +347,7 @@ pods 0 10 クォータに`requests.cpu`や`requests.memory`の値が指定されている場合は、コンテナはそれらのリソースに対する明示的な要求を行います。同様に、クォータに`limits.cpu`や`limits.memory`の値が指定されている場合は、コンテナはそれらのリソースに対する明示的な制限を行います。 -## リソースクォータの確認と設定 {#viewing-and-setting-quotas} +## クォータの確認と設定 {#viewing-and-setting-quotas} kubectlでは、クォータの作成、更新、確認をサポートしています。 @@ -472,7 +472,7 @@ count/secrets 1 4 ## クォータとクラスター容量 -`ResourceQuotas`はクラスター容量に依存しません。それはユニット数の絶対値で表されます。そのためクラスターにノードを追加した時、`ResourceQuotas`は各名前空間においてさらなるリソース消費を行う能力を自動で追加*しません* +`ResourceQuotas`はクラスター容量に依存しません。またユニット数の絶対値で表されます。そのためクラスターにノードを追加したことにより、各名前空間が自動的により多くのリソースを消費するような機能が提供されるわけでは*ありません*。 下記のようなより複雑なポリシーが必要な状況があります。 From 94228a9a81e1bfba8fe25c8a6a2efac5da0720b4 Mon Sep 17 00:00:00 2001 From: Keita Akutsu Date: Wed, 3 Jun 2020 22:39:11 +0900 Subject: [PATCH 226/533] ja-trans: Fix Japanese translation in concepts/policy/_index.md #19282 --- content/ja/docs/concepts/policy/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/policy/_index.md b/content/ja/docs/concepts/policy/_index.md index 1fa1c815ba..c4990938e1 100755 --- a/content/ja/docs/concepts/policy/_index.md +++ b/content/ja/docs/concepts/policy/_index.md @@ -1,5 +1,5 @@ --- -title: "リソースのポリシー" +title: "ポリシー" weight: 90 --- From 3903fcc9bdda4fad37cd04168c15d078ff04bdf0 Mon Sep 17 00:00:00 2001 From: Keita Akutsu Date: Wed, 3 Jun 2020 22:43:57 +0900 Subject: [PATCH 227/533] ja-trans: Fix page link in ja/docs/concepts/policy/_index.md #19282 --- content/ja/docs/concepts/policy/resource-quotas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/policy/resource-quotas.md b/content/ja/docs/concepts/policy/resource-quotas.md index 8b09a53c6c..ea73d05832 100644 --- a/content/ja/docs/concepts/policy/resource-quotas.md +++ b/content/ja/docs/concepts/policy/resource-quotas.md @@ -26,7 +26,7 @@ weight: 10 - リソースの作成や更新がクォータの制約に違反しているとき、そのリクエストはHTTPステータスコード`403 FORBIDDEN`で失敗し、違反した制約を説明するメッセージが表示されます。 - `cpu`や`memory`といったコンピューターリソースに対するクォータが名前空間内で有効になっているとき、ユーザーはそれらの値に対する`requests`や`limits`を設定する必要があります。設定しないとクォータシステムがPodの作成を拒否します。 ヒント: コンピュートリソースの要求を設定しないPodに対してデフォルト値を強制するために、`LimitRanger`アドミッションコントローラーを使用してください。この問題を解決する例は[walkthrough](/docs/tasks/administer-cluster/quota-memory-cpu-namespace/)で参照できます。 -`ResourceQuota`のオブジェクト名は、有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります. +`ResourceQuota`のオブジェクト名は、有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります. 名前空間とクォータを使用して作成できるポリシーの例は以下の通りです。 From cc703ed761e34f079711d93bec722538414bd186 Mon Sep 17 00:00:00 2001 From: akitok Date: Wed, 3 Jun 2020 23:27:13 +0900 Subject: [PATCH 228/533] Update content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md Co-authored-by: Naoki Oketani --- .../tutorials/configuration/configure-redis-using-configmap.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md index 722e143088..db88c90b58 100644 --- a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -24,7 +24,7 @@ content_template: templates/tutorial {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * この例は、バージョン1.14以上での動作を確認しています。 -* [ConfigMapを使ったコンテナの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)を読んで理解しておいてください。 +* [ConfigMapを使ったコンテナの設定](/ja/docs/tasks/configure-pod-container/configure-pod-configmap/)を読んで理解しておいてください。 {{% /capture %}} @@ -108,4 +108,3 @@ kubectl delete pod redis * [ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/)について学ぶ {{% /capture %}} - From 73452d1eed413ba431c38f50df8d05c50a9937a8 Mon Sep 17 00:00:00 2001 From: akitok Date: Wed, 3 Jun 2020 23:28:14 +0900 Subject: [PATCH 229/533] Update tutorials/configuration/configure-redis-using-configmap.md --- .../configuration/configure-redis-using-configmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md index 722e143088..1e2ded1937 100644 --- a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -24,7 +24,7 @@ content_template: templates/tutorial {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * この例は、バージョン1.14以上での動作を確認しています。 -* [ConfigMapを使ったコンテナの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)を読んで理解しておいてください。 +* [ConfigMapを使ったコンテナの設定](/ja/docs/tasks/configure-pod-container/configure-pod-configmap/)を読んで理解しておいてください。 {{% /capture %}} @@ -96,7 +96,7 @@ kubectl exec -it redis redis-cli 2) "allkeys-lru" ``` -作成したPodを削除してください: +作成したPodを削除します: ```shell kubectl delete pod redis ``` From 1fb30939fca26b7a39fd3f3ddc1baa301ef94a1c Mon Sep 17 00:00:00 2001 From: kondo takeshi Date: Wed, 3 Jun 2020 23:38:48 +0900 Subject: [PATCH 230/533] Follow upstream/release-1.16 to upstream/release-1.17 in Japanese --- .../ja/docs/reference/kubectl/cheatsheet.md | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 10827f6762..47b023755c 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -38,7 +38,7 @@ complete -F __start_kubectl k ```bash source <(kubectl completion zsh) # 現在のzshシェルでコマンド補完を設定します -echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~/.zshrc # zshシェルでのコマンド補完を永続化するために.zshrcに追記します。 +echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # zshシェルでのコマンド補完を永続化するために.zshrcに追記します。 ``` ## Kubectlコンテキストの設定 @@ -84,7 +84,7 @@ kubectl config unset users.foo # ユーザーfooを削除します ## Objectの作成 -Kubernetesのマニフェストファイルは、jsonまたはyamlで定義できます。ファイル拡張子として、`.yaml`や`.yml`、`.json`が使えます。 +Kubernetesのマニフェストファイルは、JSONまたはYAMLで定義できます。ファイル拡張子として、`.yaml`や`.yml`、`.json`が使えます。 ```bash kubectl apply -f ./my-manifest.yaml # リソースを作成します @@ -92,7 +92,7 @@ kubectl apply -f ./my1.yaml -f ./my2.yaml # 複数のファイルからリ kubectl apply -f ./dir # dirディレクトリ内のすべてのマニフェストファイルからリソースを作成します kubectl apply -f https://git.io/vPieo # urlで公開されているファイルからリソースを作成します kubectl create deployment nginx --image=nginx # 単一のnginx Deploymentを作成します -kubectl explain pods,svc # PodおよびServiceマニフェストのドキュメントを取得します +kubectl explain pods,svc # Podマニフェストのドキュメントを取得します # 標準入力から複数のYAMLオブジェクトを作成します @@ -147,7 +147,6 @@ kubectl get pods -o wide # 現在のネームスペース kubectl get deployment my-dep # 特定のDeploymentを表示します kubectl get pods # 現在のネームスペース上にあるすべてのPodのリストを表示します kubectl get pod my-pod -o yaml # PodのYAMLを表示します -kubectl get pod my-pod -o yaml --export # クラスター固有の情報を除いたPodのマニフェストをYAMLで表示します # Describeコマンドで詳細な情報を確認します kubectl describe nodes my-node @@ -159,8 +158,8 @@ kubectl get services --sort-by=.metadata.name # Restartカウント順にPodのリストを表示します kubectl get pods --sort-by='.status.containerStatuses[0].restartCount' -# capacity順にソートしたtestネームスペースに存在するPodのリストを表示します -kubectl get pods -n test --sort-by=.spec.capacity.storage +# capacity順にソートしたPersistentVolumeのリストを表示します +kubectl get pv --sort-by=.spec.capacity.storage # app=cassandraラベルのついたすべてのPodのversionラベルを表示します kubectl get pods --selector=app=cassandra -o \ @@ -195,9 +194,16 @@ JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.ty kubectl get pods -o json | jq '.items[].spec.containers[].env[]?.valueFrom.secretKeyRef.name' | grep -v null | sort | uniq +# すべてのPodのInitContainerのコンテナIDのリストを表示します +# initContainerの削除を回避しながら、停止したコンテナを削除するときに役立つでしょう +kubectl get pods --all-namespaces -o jsonpath='{range .items[*].status.initContainerStatuses[*]}{.containerID}{"\n"}{end}' | cut -d/ -f3 + # タイムスタンプでソートされたEventのリストを表示します kubectl get events --sort-by=.metadata.creationTimestamp + +# クラスターの現在の状態を、マニフェストが適用された場合のクラスターの状態と比較します。 +kubectl diff -f ./my-manifest.yaml ``` ## リソースのアップデート @@ -210,6 +216,7 @@ kubectl rollout history deployment/frontend # frontend Depl kubectl rollout undo deployment/frontend # 1つ前のDeploymentにロールバックします kubectl rollout undo deployment/frontend --to-revision=2 # 特定のバージョンにロールバックします kubectl rollout status -w deployment/frontend # frontend Deploymentのローリングアップデートを状態をwatchします +kubectl rollout restart deployment/frontend # frontend Deployment を再起動します # これらのコマンドは1.11から廃止されました @@ -341,7 +348,7 @@ kubectl api-resources --api-group=extensions # "extensions" APIグループの ### 出力のフォーマット -特定の形式で端末ウィンドウに詳細を出力するには、サポートされている`kubectl`コマンドに`-o`または`--output`フラグを追加します。 +特定の形式で端末ウィンドウに詳細を出力するには、サポートされている`kubectl`コマンドに`-o (または`--output`)フラグを追加します。 出力フォーマット | 説明 ---------------- | ----------- From 1fe3861a64fdbfb8bd851883bbd0969513f0d6be Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Thu, 4 Jun 2020 10:45:52 +0900 Subject: [PATCH 231/533] Update replicaset.md for v1.17 Update document to follow the original document of 1.17 --- .../workloads/controllers/replicaset.md | 81 ++++++++++--------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index dbbba89a8e..a939558454 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -20,7 +20,7 @@ ReplicaSetは、ReplicaSetが対象とするPodをどう特定するかを示す ReplicaSetがそのPod群と連携するためのリンクは、Podの[metadata.ownerReferences](/ja/docs/concepts/workloads/controllers/garbage-collection/#owners-and-dependents)というフィールド(現在のオブジェクトが所有されているリソースを指定する)を介して作成されます。ReplicaSetによって所持された全てのPodは、それらの`ownerReferences`フィールドにReplicaSetを特定する情報を保持します。このリンクを通じて、ReplicaSetは管理しているPodの状態を把握したり、その後の実行計画を立てます。 -ReplicaSetは、そのセレクターを使用することにより、所有するための新しいPodを特定します。もし`ownerReference`フィールドの値を持たないPodか、`ownerReference`フィールドの値がコントローラーでないPodで、そのPodがReplicaSetのセレクターとマッチした場合に、そのPodは即座にそのReplicaSetによって所有されます。 +ReplicaSetは、そのセレクターを使用することにより、所有するための新しいPodを特定します。もし`ownerReference`フィールドの値を持たないPodか、`ownerReference`フィールドの値が {{< glossary_tooltip term_id="controller" >}} でないPodで、そのPodがReplicaSetのセレクターとマッチした場合に、そのPodは即座にそのReplicaSetによって所有されます。 ## ReplicaSetを使うとき @@ -59,51 +59,48 @@ kubectl describe rs/frontend ```shell Name: frontend Namespace: default -Selector: tier=frontend,tier in (frontend) +Selector: tier=frontend Labels: app=guestbook tier=frontend -Annotations: +Annotations: kubectl.kubernetes.io/last-applied-configuration: + {"apiVersion":"apps/v1","kind":"ReplicaSet","metadata":{"annotations":{},"labels":{"app":"guestbook","tier":"frontend"},"name":"frontend",... Replicas: 3 current / 3 desired Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed Pod Template: - Labels: app=guestbook - tier=frontend + Labels: tier=frontend Containers: php-redis: - Image: gcr.io/google_samples/gb-frontend:v3 - Port: 80/TCP - Requests: - cpu: 100m - memory: 100Mi - Environment: - GET_HOSTS_FROM: dns - Mounts: - Volumes: + Image: gcr.io/google_samples/gb-frontend:v3 + Port: + Host Port: + Environment: + Mounts: + Volumes: Events: - FirstSeen LastSeen Count From SubobjectPath Type Reason Message - --------- -------- ----- ---- ------------- -------- ------ ------- - 1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-qhloh - 1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-dnjpy - 1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-9si5l + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal SuccessfulCreate 117s replicaset-controller Created pod: frontend-wtsmm + Normal SuccessfulCreate 116s replicaset-controller Created pod: frontend-b2zdv + Normal SuccessfulCreate 116s replicaset-controller Created pod: frontend-vcmts ``` そして最後に、ユーザーはReplicaSetによって作成されたPodもチェックできます。 ```shell -kubectl get Pods +kubectl get pods ``` 表示されるPodに関する情報は以下のようになります。 ```shell -NAME READY STATUS RESTARTS AGE -frontend-9si5l 1/1 Running 0 1m -frontend-dnjpy 1/1 Running 0 1m -frontend-qhloh 1/1 Running 0 1m +NAME READY STATUS RESTARTS AGE +frontend-b2zdv 1/1 Running 0 6m36s +frontend-vcmts 1/1 Running 0 6m36s +frontend-wtsmm 1/1 Running 0 6m36s ``` ユーザーはまた、それらのPodの`ownerReferences`が`frontend`ReplicaSetに設定されていることも確認できます。 これを確認するためには、稼働しているPodの中のどれかのyamlファイルを取得します。 ```shell -kubectl get pods frontend-9si5l -o yaml +kubectl get pods frontend-b2zdv -o yaml ``` その表示結果は、以下のようになります。その`frontend`ReplicaSetの情報が`metadata`の`ownerReferences`フィールドにセットされています。 @@ -111,19 +108,19 @@ kubectl get pods frontend-9si5l -o yaml apiVersion: v1 kind: Pod metadata: - creationTimestamp: 2019-01-31T17:20:41Z + creationTimestamp: "2020-02-12T07:06:16Z" generateName: frontend- labels: tier: frontend - name: frontend-9si5l + name: frontend-b2zdv namespace: default ownerReferences: - - apiVersion: extensions/v1beta1 + - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: frontend - uid: 892a2330-257c-11e9-aecd-025000000001 + uid: f391f6db-bb9b-4c09-ae74-6a1f77f3d5cf ... ``` @@ -148,16 +145,17 @@ kubectl apply -f http://k8s.io/examples/pods/pod-rs.yaml 下記のコマンドでPodを取得できます。 ```shell -kubectl get Pods +kubectl get pods ``` その表示結果で、新しいPodがすでに削除済みか、削除中のステータスになっているのを確認できます。 ```shell NAME READY STATUS RESTARTS AGE -frontend-9si5l 1/1 Running 0 1m -frontend-dnjpy 1/1 Running 0 1m -frontend-qhloh 1/1 Running 0 1m -pod2 0/1 Terminating 0 4s +frontend-b2zdv 1/1 Running 0 10m +frontend-vcmts 1/1 Running 0 10m +frontend-wtsmm 1/1 Running 0 10m +pod1 0/1 Terminating 0 1s +pod2 0/1 Terminating 0 1s ``` もしユーザーがそのPodを最初に作成する場合 @@ -173,15 +171,15 @@ kubectl apply -f http://k8s.io/examples/controllers/frontend.yaml ユーザーはそのReplicaSetが作成したPodを所有し、さらにもともと存在していたPodと今回新たに作成されたPodの数が、理想のレプリカ数になるまでPodを作成するのを確認できます。 ここでまたPodの状態を取得します。 ```shell -kubectl get Pods +kubectl get pods ``` 取得結果は下記のようになります。 ```shell NAME READY STATUS RESTARTS AGE -frontend-pxj4r 1/1 Running 0 5s -pod1 1/1 Running 0 13s -pod2 1/1 Running 0 13s +frontend-hmmj2 1/1 Running 0 9s +pod1 1/1 Running 0 36s +pod2 1/1 Running 0 36s ``` この方法で、ReplicaSetはテンプレートで指定されたもの以外のPodを所有することができます。 @@ -192,6 +190,9 @@ pod2 1/1 Running 0 13s ReplicaSetでは、`kind`フィールドの値は`ReplicaSet`です。 Kubernetes1.9において、ReplicaSetは`apps/v1`というAPIバージョンが現在のバージョンで、デフォルトで有効です。`apps/v1beta2`というAPIバージョンは廃止されています。先ほど作成した`frontend.yaml`ファイルの最初の行を参考にしてください。 +ReplicaSetオブジェクトの名前は、有効な +[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + また、ReplicaSetは[`.spec` セクション](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status)も必須です。 ### Pod テンプレート @@ -234,7 +235,7 @@ REST APIもしくは`client-go`ライブラリーを使用するとき、ユー 例えば下記のように実行します。 ```shell kubectl proxy --port=8080 -curl -X DELETE 'localhost:8080/apis/extensions/v1beta1/namespaces/default/replicasets/frontend' \ +curl -X DELETE 'localhost:8080/apis/apps/v1/namespaces/default/replicasets/frontend' \ > -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Foreground"}' \ > -H "Content-Type: application/json" ``` @@ -245,7 +246,7 @@ curl -X DELETE 'localhost:8080/apis/extensions/v1beta1/namespaces/default/repli REST APIもしくは`client-go`ライブラリーを使用するとき、ユーザーは`-d`オプションで`propagationPolicy`を`Orphan`と指定しなくてはなりません。 ```shell kubectl proxy --port=8080 -curl -X DELETE 'localhost:8080/apis/extensions/v1beta1/namespaces/default/replicasets/frontend' \ +curl -X DELETE 'localhost:8080/apis/apps/v1/namespaces/default/replicasets/frontend' \ > -d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Orphan"}' \ > -H "Content-Type: application/json" ``` From 8c79145985afbca0758196d14c8371183bcbbba9 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 14:42:23 +0900 Subject: [PATCH 232/533] Update ttlafterfinished.md for v1.17 --- .../docs/concepts/workloads/controllers/ttlafterfinished.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md index 3c28fe25ea..335fa26e7f 100644 --- a/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -9,10 +9,10 @@ weight: 65 {{< feature-state for_k8s_version="v1.12" state="alpha" >}} -TTLコントローラーは実行を終えたリソースオブジェクトのライフタイムを制御するためのTTLメカニズムを提供します。 +TTLコントローラーは実行を終えたリソースオブジェクトのライフタイムを制御するためのTTL (time to live) メカニズムを提供します。 TTLコントローラーは現在[Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)のみ扱っていて、将来的にPodやカスタムリソースなど、他のリソースの実行終了を扱えるように拡張される予定です。 -α版の免責事項: この機能は現在α版の機能で、[Feature Gate](/docs/reference/command-line-tools-reference/feature-gates/)の`TTLAfterFinished`を有効にすることで使用可能です。 +α版の免責事項: この機能は現在α版の機能で、kube-apiserverとkube-controller-managerの[Feature Gate](/docs/reference/command-line-tools-reference/feature-gates/)の`TTLAfterFinished`を有効にすることで使用可能です。 {{% /capture %}} @@ -51,6 +51,6 @@ Kubernetesにおいてタイムスキューを避けるために、全てのNode [Jobの自動クリーンアップ](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically) -[設計ドキュメント](https://github.com/kubernetes/community/blob/master/keps/sig-apps/0026-ttl-after-finish.md) +[設計ドキュメント](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md) {{% /capture %}} From f6d59f2c3b071ec4e29bc062c4346b68e1842cfd Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Thu, 4 Jun 2020 14:56:51 +0900 Subject: [PATCH 233/533] Translate glossary_tooltip Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/controllers/replicaset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index a939558454..4ac56f17a4 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -20,7 +20,7 @@ ReplicaSetは、ReplicaSetが対象とするPodをどう特定するかを示す ReplicaSetがそのPod群と連携するためのリンクは、Podの[metadata.ownerReferences](/ja/docs/concepts/workloads/controllers/garbage-collection/#owners-and-dependents)というフィールド(現在のオブジェクトが所有されているリソースを指定する)を介して作成されます。ReplicaSetによって所持された全てのPodは、それらの`ownerReferences`フィールドにReplicaSetを特定する情報を保持します。このリンクを通じて、ReplicaSetは管理しているPodの状態を把握したり、その後の実行計画を立てます。 -ReplicaSetは、そのセレクターを使用することにより、所有するための新しいPodを特定します。もし`ownerReference`フィールドの値を持たないPodか、`ownerReference`フィールドの値が {{< glossary_tooltip term_id="controller" >}} でないPodで、そのPodがReplicaSetのセレクターとマッチした場合に、そのPodは即座にそのReplicaSetによって所有されます。 +ReplicaSetは、そのセレクターを使用することにより、所有するための新しいPodを特定します。もし`ownerReference`フィールドの値を持たないPodか、`ownerReference`フィールドの値が {{< glossary_tooltip text="コントローラー" term_id="controller" >}}でないPodで、そのPodがReplicaSetのセレクターとマッチした場合に、そのPodは即座にそのReplicaSetによって所有されます。 ## ReplicaSetを使うとき From f154650360c0b4c3e3fbedeb20100d3379b4ef41 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Thu, 4 Jun 2020 14:57:33 +0900 Subject: [PATCH 234/533] change docs link to japanese version Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/controllers/replicaset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index 4ac56f17a4..7e988f5d80 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -191,7 +191,7 @@ ReplicaSetでは、`kind`フィールドの値は`ReplicaSet`です。 Kubernetes1.9において、ReplicaSetは`apps/v1`というAPIバージョンが現在のバージョンで、デフォルトで有効です。`apps/v1beta2`というAPIバージョンは廃止されています。先ほど作成した`frontend.yaml`ファイルの最初の行を参考にしてください。 ReplicaSetオブジェクトの名前は、有効な -[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 また、ReplicaSetは[`.spec` セクション](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status)も必須です。 From bdb2636fde609e9b0a9fdc45b4e527c03d80c142 Mon Sep 17 00:00:00 2001 From: mochizuki-pg Date: Thu, 4 Jun 2020 15:43:20 +0900 Subject: [PATCH 235/533] Change the way the RegisterCloudProvider function references the defined line --- .../administer-cluster/developing-cloud-controller-manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md b/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md index ea15264c78..a5358f5bd0 100644 --- a/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md +++ b/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md @@ -13,7 +13,7 @@ content_template: templates/concept 独自のクラウドコントローラーマネージャーを構築する方法を説明する前に、クラウドコントローラーマネージャーがKubernetesの内部でどのように機能するかに関する背景を知っておくと役立ちます。 クラウドコントローラーマネージャーはGoインターフェースを利用する`kube-controller-manager`のコードで、任意のクラウドの実装をプラグインとして利用できるようになっています。スキャフォールディングと汎用のコントローラー実装の大部分はKubernetesのコアになりますが、[クラウドプロバイダーのインターフェイス](https://github.com/kubernetes/cloud-provider/blob/master/cloud.go#L42-L62)が満たされていれば提供されているクラウドプロバイダーのインターフェイスが実行されるようになります。 -実装の詳細をもう少し掘り下げてみましょう。すべてのクラウドコントローラーマネージャーはKubernetesコアからパッケージをインポートします。唯一の違いは、各プロジェクトが利用可能なクラウドプロバイダーの情報(グローバル変数)が更新される場所である[cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/master/plugins.go#L56-L66)を呼び出すことによって独自のクラウドプロバイダーを登録する点です。 +実装の詳細をもう少し掘り下げてみましょう。すべてのクラウドコントローラーマネージャーはKubernetesコアからパッケージをインポートします。唯一の違いは、各プロジェクトが利用可能なクラウドプロバイダーの情報(グローバル変数)が更新される場所である[cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/6371aabbd7a7726f4b358444cca40def793950c2/plugins.go#L55-L63)を呼び出すことによって独自のクラウドプロバイダーを登録する点です。 {{% /capture %}} From 7e0d4d5045138c2f3c5d020a698b4344116261ec Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Thu, 4 Jun 2020 14:47:24 +0900 Subject: [PATCH 236/533] Update install-minikube --- .../ja/docs/tasks/tools/install-minikube.md | 66 +++++++++++++++++-- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index fa98a198be..2b455bd8b9 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -75,12 +75,22 @@ kubectlがインストールされていることを確認してください。 • [VirtualBox](https://www.virtualbox.org/wiki/Downloads) -{{< note >}} -minikubeは、VMではなくホストでKubernetesコンポーネントを実行する`--vm-driver=none`オプションもサポートしています。 +Minikubeは、VMではなくホストでKubernetesコンポーネントを実行する`--vm-driver=none`オプションもサポートしています。 このドライバーを使用するには、[Docker](https://www.docker.com/products/docker-desktop)とLinux環境が必要ですが、ハイパーバイザーは不要です。 -noneドライバーを使用する場合は、[Docker](https://www.docker.com/products/docker-desktop)からdockerのaptインストールを使用することをおすすめします。 -dockerのsnapインストールは、minikubeでは機能しません。 -{{< /note >}} + +Debianもしくはその派生で`none`ドライバーを使用する場合は、snapパッケージではなくDockerの`.deb`パッケージを使用してください。snapパッケージはMinikubeでは機能しません。 +[Docker](https://www.docker.com/products/docker-desktop) から`.deb`パッケージをダウンロードできます。 + +{{< caution >}} +`none`VMドライバーは、セキュリティとデータ損失の問題を引き起こす可能性があります。 +`--vm-driver=none`を使用する前に、詳細について[このドキュメント](https://minikube.sigs.k8s.io/docs/reference/drivers/none/) を参照してください。 +{{< /caution >}} + +MinikubeはDockerドライバーと似たような`vm-driver=podman`もサポートしています。Podmanを特権ユーザー権限(root user)で実行することは、コンテナがシステム上の利用可能な機能へ完全にアクセスするための最もよい方法です。 + +{{< caution >}} +`podman`ドライバーは、rootでコンテナを実行する必要があります。これは、通常ユーザーアカウントが、コンテナの実行に必要とされるすべてのOS機能への完全なアクセスを持っていないためです。 +{{< /caution >}} ### パッケージを利用したMinikubeのインストール @@ -105,8 +115,16 @@ sudo mkdir -p /usr/local/bin/ sudo install minikube /usr/local/bin/ ``` +### Homebrewを利用したMinikubeのインストール + +別の選択肢として、Linux [Homebrew](https://docs.brew.sh/Homebrew-on-Linux)を利用してインストールできます。 + +```shell +brew install minikube +``` + {{% /tab %}} -{{% tab name="macOS" %}} +n{{% tab name="macOS" %}} ### kubectlのインストール kubectlがインストールされていることを確認してください。 @@ -190,6 +208,42 @@ WindowsにMinikubeを手動でインストールするには、[`minikube-window {{% /capture %}} +## インストールの確認 + +ハイパーバイザーとMinikube両方のインストール成功を確認するため、以下のコマンドをローカルKubernetesクラスターを起動するために実行してください: + +{{< note >}} + +`minikube start`で`--vm-driver`の設定をするため、次の``の部分では、インストールしたハイパーバイザーの名前を小文字で入力してください。`--vm-driver`値のすべてのリストは、[specifying the VM driver documentation](https://kubernetes.io/docs/setup/learning-environment/minikube/#specifying-the-vm-driver)で確認できます。 + +{{< /note >}} + +```shell +minikube start --vm-driver= +``` + +`mnikube start`が完了した場合、次のコマンドを実行してクラスターの状態を確認します。 + +```shell +minikube status +``` + +クラスターが起動していると、`minikube status`の出力はこのようになります。 + +``` +host: Running +kubelet: Running +apiserver: Running +kubeconfig: Configured +``` + +選択したハイパーバイザーでMinikubeが動作しているかどうか確認した後は、Minikubeを使い続けるか、クラスターを停止できます。クラスター +を停止するためには、次を実行してください。 + +```shell +minikube stop +``` + ## ローカル状態のクリーンアップ {#cleanup-local-state} もし以前に Minikubeをインストールしていたら、以下のコマンドを実行します。 From 0b5271a731a584ae7287e7f8980d4b0e1a81b97e Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Thu, 4 Jun 2020 14:51:56 +0900 Subject: [PATCH 237/533] Update install-minikube --- content/ja/docs/tasks/tools/install-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 2b455bd8b9..46e19282a7 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -124,7 +124,7 @@ brew install minikube ``` {{% /tab %}} -n{{% tab name="macOS" %}} +{{% tab name="macOS" %}} ### kubectlのインストール kubectlがインストールされていることを確認してください。 From b72c35d9dde7369bcfeca36e41dea04456627ca9 Mon Sep 17 00:00:00 2001 From: yu-kasuya Date: Thu, 4 Jun 2020 15:52:42 +0900 Subject: [PATCH 238/533] Update content/ja/docs/tasks/tools/install-minikube.md Co-authored-by: inductor(Kohei) --- content/ja/docs/tasks/tools/install-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 46e19282a7..35072e26d6 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -78,7 +78,7 @@ kubectlがインストールされていることを確認してください。 Minikubeは、VMではなくホストでKubernetesコンポーネントを実行する`--vm-driver=none`オプションもサポートしています。 このドライバーを使用するには、[Docker](https://www.docker.com/products/docker-desktop)とLinux環境が必要ですが、ハイパーバイザーは不要です。 -Debianもしくはその派生で`none`ドライバーを使用する場合は、snapパッケージではなくDockerの`.deb`パッケージを使用してください。snapパッケージはMinikubeでは機能しません。 +Debian系のLinuxで`none`ドライバーを使用する場合は、snapパッケージではなく`.deb`パッケージを使用してDockerをインストールください。snapパッケージはMinikubeでは機能しません。 [Docker](https://www.docker.com/products/docker-desktop) から`.deb`パッケージをダウンロードできます。 {{< caution >}} From ec221cb57124360a2a2fbc6b8b8f4142f2021137 Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Thu, 4 Jun 2020 16:12:17 +0900 Subject: [PATCH 239/533] update to follow requested change --- content/ja/docs/tasks/tools/install-minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 46e19282a7..35072e26d6 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -78,7 +78,7 @@ kubectlがインストールされていることを確認してください。 Minikubeは、VMではなくホストでKubernetesコンポーネントを実行する`--vm-driver=none`オプションもサポートしています。 このドライバーを使用するには、[Docker](https://www.docker.com/products/docker-desktop)とLinux環境が必要ですが、ハイパーバイザーは不要です。 -Debianもしくはその派生で`none`ドライバーを使用する場合は、snapパッケージではなくDockerの`.deb`パッケージを使用してください。snapパッケージはMinikubeでは機能しません。 +Debian系のLinuxで`none`ドライバーを使用する場合は、snapパッケージではなく`.deb`パッケージを使用してDockerをインストールください。snapパッケージはMinikubeでは機能しません。 [Docker](https://www.docker.com/products/docker-desktop) から`.deb`パッケージをダウンロードできます。 {{< caution >}} From bdc7ab86ecd8059e304c968fed234eab8d36a599 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 16:14:29 +0900 Subject: [PATCH 240/533] Update pod-lifecycle.md for v1.17 --- .../concepts/workloads/pods/pod-lifecycle.md | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index f15348f443..be38978d6a 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -53,7 +53,6 @@ PodCondition配列の各要素には、次の6つのフィールドがありま * `PodScheduled`: PodがNodeにスケジュールされました。 * `Ready`: Podはリクエストを処理でき、一致するすべてのサービスの負荷分散プールに追加されます。 * `Initialized`: すべての[init containers](/docs/concepts/workloads/pods/init-containers)が正常に実行されました。 - * `Unschedulable`: リソースの枯渇やその他の理由で、Podがスケジュールできない状態です。 * `ContainersReady`: Pod内のすべてのコンテナが準備できた状態です。 @@ -80,7 +79,7 @@ Handlerには次の3つの種類があります: * Failure: コンテナの診断が失敗しました。 * Unknown: コンテナの診断が失敗し、取れるアクションがありません。 -Kubeletは2種類のProbeを実行中のコンテナで行い、また反応することができます: +Kubeletは3種類のProbeを実行中のコンテナで行い、また反応することができます: * `livenessProbe`: コンテナが動いているかを示します。 livenessProbe に失敗すると、kubeletはコンテナを殺します、そしてコンテナは[restart policy](#restart-policy)に従います。 @@ -91,7 +90,14 @@ Kubeletは2種類のProbeを実行中のコンテナで行い、また反応す initial delay前のデフォルトのreadinessProbeの初期値は`Failure`です。 コンテナにreadinessProbeが設定されていない場合、デフォルトの状態は`Success`です。 -### livenessProbeとreadinessProbeをいつ使うべきか? {#when-should-you-use-a-liveness-probe} +* `startupProbe`: コンテナ内のアプリケーションが起動したかどうかを示します。 + startupProbeが設定された場合、完了するまでその他のすべてのProbeは無効になります。 + startupProbeに失敗すると、kubeletはコンテナを殺します、そしてコンテナは[restart policy](#restart-policy)に従います。 + コンテナにstartupProbeが設定されていない場合、デフォルトの状態は`Success`です。 + +### livenessProbeをいつ使うべきか? {#when-should-you-use-a-liveness-probe} + +{{< feature-state for_k8s_version="v1.0" state="stable" >}} コンテナ自体に問題が発生した場合や状態が悪くなった際にクラッシュすることができれば livenessProbeは不要です。この場合kubeletが自動でPodの`restartPolicy`に基づいたアクションを実行します。 @@ -99,6 +105,10 @@ livenessProbeは不要です。この場合kubeletが自動でPodの`restartPoli Probeに失敗したときにコンテナを殺したり再起動させたりするには、 livenessProbeを設定し`restartPolicy`をAlwaysまたはOnFailureにします。 +### readinessProbeをいつ使うべきか? {#when-should-you-use-a-readiness-probe} + +{{< feature-state for_k8s_version="v1.0" state="stable" >}} + Probeが成功したときにのみPodにトラフィックを送信したい場合は、readinessProbeを指定します。 この場合readinessProbeはlivenessProbeと同じになる可能性がありますが、 readinessProbeが存在するということは、Podがトラフィックを受けずに開始され、Probe成功が開始した後でトラフィックを受け始めることになります。 @@ -111,8 +121,17 @@ Podが削除されたときにリクエストを来ないようにするため Podの削除時にはreadinessProbeが存在するかどうかに関係なくPodは自動的に自身をunhealthyにします。 Pod内のコンテナが停止するのを待つ間Podはunhealthyのままです。 -livenessProbeまたはreadinessProbeを設定する方法の詳細については、 -[Configure Liveness and Readiness Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)を参照してください +### startupProbeをいつ使うべきか? {#when-should-you-use-a-startup-probe} + +{{< feature-state for_k8s_version="v1.16" state="alpha" >}} + +コンテナの起動時間が `initialDelaySeconds + failureThreshold × periodSeconds` よりも長い場合は、livenessProveと同じエンドポイントをチェックするためにstartupProbeを指定します。 +`periodSeconds`のデフォルトは30秒です。 + +`failureThreshold` は、livenessProbeのデフォルト値を変更せずに、コンテナが起動するのに十分な値に設定します。これによりデッドロックを防ぐことができます。 + +livenessProbe、readinessProbeまたはstartupProbeを設定する方法の詳細については、 +[Configure Liveness, Readiness and Startup Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)を参照してください。 ## Podとコンテナのステータス {#pod-and-container-status} @@ -137,7 +156,7 @@ Pod内のコンテナごとにStateの項目として表示されます。 ... ``` -* `Running`: コンテナが問題なく実行されていることを示します。コンテナがRunningに入ると`postStart`フック(もしあれば)が実行されます。この状態にはコンテナが実行中状態に入った時刻も表示されます。 +* `Running`: コンテナが問題なく実行されていることを示します。コンテナがRunning状態に入る前に`postStart`フック(もしあれば)が実行されます。この状態にはコンテナが実行中状態に入った時刻も表示されます。 ```yaml ... @@ -201,10 +220,6 @@ status: PodのReadinessの評価へのこの変更を容易にするために、新しいPod Conditionである`ContainersReady`が導入され、古いPodの`Ready`条件を取得します。 -K8s 1.1ではAlpha機能のため"Pod Ready++" 機能は`PodReadinessGates` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)にて明示的に指定する必要があります。 - -K8s 1.12ではこの機能はデフォルトで有効になっています。 - ## RestartPolicy {#restart-policy} PodSpecには、Always、OnFailure、またはNeverのいずれかの値を持つ`restartPolicy`フィールドがあります。 @@ -324,7 +339,7 @@ spec: * [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)のハンズオンをやってみる -* [configuring liveness and readiness probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)のハンズオンをやってみる +* [Configure Liveness, Readiness and Startup Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)のハンズオンをやってみる * [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/)についてもっと学ぶ From ee11f4aaa892b188afec8e7dc80df8fb9dcd352a Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Thu, 4 Jun 2020 17:08:40 +0900 Subject: [PATCH 241/533] typo of livenessProbe Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/pods/pod-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index be38978d6a..19acaec982 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -125,7 +125,7 @@ Pod内のコンテナが停止するのを待つ間Podはunhealthyのままで {{< feature-state for_k8s_version="v1.16" state="alpha" >}} -コンテナの起動時間が `initialDelaySeconds + failureThreshold × periodSeconds` よりも長い場合は、livenessProveと同じエンドポイントをチェックするためにstartupProbeを指定します。 +コンテナの起動時間が `initialDelaySeconds + failureThreshold × periodSeconds` よりも長い場合は、livenessProbeと同じエンドポイントをチェックするためにstartupProbeを指定します。 `periodSeconds`のデフォルトは30秒です。 `failureThreshold` は、livenessProbeのデフォルト値を変更せずに、コンテナが起動するのに十分な値に設定します。これによりデッドロックを防ぐことができます。 From e0e9b1e46f18f939964f017cc0c2ef41ab7eb37c Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Thu, 4 Jun 2020 17:09:23 +0900 Subject: [PATCH 242/533] link docs to japanese version Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/pods/pod-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index 19acaec982..cfd8fcb859 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -131,7 +131,7 @@ Pod内のコンテナが停止するのを待つ間Podはunhealthyのままで `failureThreshold` は、livenessProbeのデフォルト値を変更せずに、コンテナが起動するのに十分な値に設定します。これによりデッドロックを防ぐことができます。 livenessProbe、readinessProbeまたはstartupProbeを設定する方法の詳細については、 -[Configure Liveness, Readiness and Startup Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)を参照してください。 +[Configure Liveness, Readiness and Startup Probes](/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)を参照してください。 ## Podとコンテナのステータス {#pod-and-container-status} From 386623edd2893bd2efaec8f76d7641149332c204 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Thu, 4 Jun 2020 17:09:31 +0900 Subject: [PATCH 243/533] link docs to japanese version Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/pods/pod-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index cfd8fcb859..08c1f572ee 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -339,7 +339,7 @@ spec: * [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)のハンズオンをやってみる -* [Configure Liveness, Readiness and Startup Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)のハンズオンをやってみる +* [Configure Liveness, Readiness and Startup Probes](/ja/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)のハンズオンをやってみる * [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/)についてもっと学ぶ From a3fde1051a499b5f86da5d302e96277424628f57 Mon Sep 17 00:00:00 2001 From: KJ Date: Thu, 4 Jun 2020 17:28:21 +0900 Subject: [PATCH 244/533] Make docs/concepts/workloads/pods/pod.md follow v1.17 of the original text --- content/ja/docs/concepts/workloads/pods/pod.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index e0d9c951b4..81f109cb4f 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -141,7 +141,7 @@ Podは、クラスター内のNodeで実行中のプロセスを表すため、 1. クライアントのコマンドに表示されたとき、Podは「終了中」と表示される 1. (3と同時に)Kubeletは、2の期間が設定されたためにPodが終了中となったことを認識すると、Podのシャットダウン処理を開始する 1. Pod内のコンテナの1つが[preStopフック](/docs/concepts/containers/container-lifecycle-hooks/#hook-details)を定義している場合は、コンテナの内側で呼び出される。 - 猶予期間が終了した後も `preStop` フックがまだ実行されている場合は、次に、短い延長された猶予期間(2秒)でステップ2が呼び出される + 猶予期間が終了した後も `preStop`フックがまだ実行されている場合は、一度だけ猶予期間を延長して(2秒)、ステップ2が呼び出される。`preStop`フックが完了するまでにより長い時間が必要な場合は、`terminationGracePeriodSeconds`を修正する必要がある。 1. コンテナにTERMシグナルが送信される。Pod内のすべてのコンテナが同時にTERMシグナルを受信するわけではなく、シャットダウンの順序が問題になる場合はそれぞれに `preStop` フックが必要になることがある 1. (3と同時に)Podはサービスを提供するエンドポイントのリストから削除され、ReplicationControllerの実行中のPodの一部とは見なされなくなる。 ゆっくりとシャットダウンするPodは、(サービスプロキシのような)ロードバランサーがローテーションからそれらを削除するので、トラフィックを処理し続けることはできない @@ -157,7 +157,7 @@ kubectlのバージョン1.5以降では、強制削除を実行するために ### Podの強制削除 Podの強制削除は、クラスターの状態やetcdからPodを直ちに削除することと定義されます。 -強制削除が実行されると、apiserverは、Podが実行されていたNode上でPodが停止されたというkubeletからの確認を待ちません。 +強制削除が実行されると、API serverは、Podが実行されていたNode上でPodが停止されたというkubeletからの確認を待ちません。 API内のPodは直ちに削除されるため、新しいPodを同じ名前で作成できるようになります。 Node上では、すぐに終了するように設定されるPodは、強制終了される前にわずかな猶予期間が与えられます。 From 9e48b31aad358ffeed6bb83bd8e1a628cc7e6560 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 17:55:34 +0900 Subject: [PATCH 245/533] Update pod-lifecycle.md for typo --- content/ja/docs/concepts/workloads/pods/pod-lifecycle.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index 08c1f572ee..d6f82e099e 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -118,8 +118,8 @@ readinessProbeが存在するということは、Podがトラフィックを受 livenessProbeとは異なる、特定のエンドポイントを確認するreadinessProbeを指定することができます。 Podが削除されたときにリクエストを来ないようにするためには必ずしもreadinessProbeが必要というわけではありません。 -Podの削除時にはreadinessProbeが存在するかどうかに関係なくPodは自動的に自身をunhealthyにします。 -Pod内のコンテナが停止するのを待つ間Podはunhealthyのままです。 +Podの削除時にはreadinessProbeが存在するかどうかに関係なくPodは自動的に自身をunreadyにします。 +Pod内のコンテナが停止するのを待つ間Podはunreadyのままです。 ### startupProbeをいつ使うべきか? {#when-should-you-use-a-startup-probe} @@ -165,7 +165,7 @@ Pod内のコンテナごとにStateの項目として表示されます。 ... ``` -* `Terminated`: コンテナの実行が完了しコンテナの実行が停止したことを示します。コンテナは実行が正常に完了したときまたは何らかの理由で失敗したときにこの状態になります。いずれにせよ理由と終了コード、コンテナの開始時刻と終了時刻が表示されます。コンテナがTerminatedに入る前に`preStop`フックがあればあれば実行されます。 +* `Terminated`: コンテナの実行が完了しコンテナの実行が停止したことを示します。コンテナは実行が正常に完了したときまたは何らかの理由で失敗したときにこの状態になります。いずれにせよ理由と終了コード、コンテナの開始時刻と終了時刻が表示されます。コンテナがTerminatedに入る前に`preStop`フックがあれば実行されます。 ```yaml ... From f6afad446befff30310b5ca5845ae66c71c75f3e Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Thu, 4 Jun 2020 18:19:05 +0900 Subject: [PATCH 246/533] add a space after driver names --- content/ja/docs/tasks/tools/install-minikube.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 35072e26d6..207215a95f 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -82,14 +82,14 @@ Debian系のLinuxで`none`ドライバーを使用する場合は、snapパッ [Docker](https://www.docker.com/products/docker-desktop) から`.deb`パッケージをダウンロードできます。 {{< caution >}} -`none`VMドライバーは、セキュリティとデータ損失の問題を引き起こす可能性があります。 +`none` VMドライバーは、セキュリティとデータ損失の問題を引き起こす可能性があります。 `--vm-driver=none`を使用する前に、詳細について[このドキュメント](https://minikube.sigs.k8s.io/docs/reference/drivers/none/) を参照してください。 {{< /caution >}} MinikubeはDockerドライバーと似たような`vm-driver=podman`もサポートしています。Podmanを特権ユーザー権限(root user)で実行することは、コンテナがシステム上の利用可能な機能へ完全にアクセスするための最もよい方法です。 {{< caution >}} -`podman`ドライバーは、rootでコンテナを実行する必要があります。これは、通常ユーザーアカウントが、コンテナの実行に必要とされるすべてのOS機能への完全なアクセスを持っていないためです。 +`podman` ドライバーは、rootでコンテナを実行する必要があります。これは、通常ユーザーアカウントが、コンテナの実行に必要とされるすべてのOS機能への完全なアクセスを持っていないためです。 {{< /caution >}} ### パッケージを利用したMinikubeのインストール From d1620ac74c937d1e706cada2590bff558776a4f8 Mon Sep 17 00:00:00 2001 From: Takeshi Kondo <10370988+chaspy@users.noreply.github.com> Date: Thu, 4 Jun 2020 18:50:31 +0900 Subject: [PATCH 247/533] Update content/ja/docs/reference/kubectl/cheatsheet.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/kubectl/cheatsheet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 47b023755c..304a473317 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -92,7 +92,7 @@ kubectl apply -f ./my1.yaml -f ./my2.yaml # 複数のファイルからリ kubectl apply -f ./dir # dirディレクトリ内のすべてのマニフェストファイルからリソースを作成します kubectl apply -f https://git.io/vPieo # urlで公開されているファイルからリソースを作成します kubectl create deployment nginx --image=nginx # 単一のnginx Deploymentを作成します -kubectl explain pods,svc # Podマニフェストのドキュメントを取得します +kubectl explain pods # Podマニフェストのドキュメントを取得します # 標準入力から複数のYAMLオブジェクトを作成します From d76e7a98633038b82f68dca19e5b44f44c6937c1 Mon Sep 17 00:00:00 2001 From: Takeshi Kondo <10370988+chaspy@users.noreply.github.com> Date: Thu, 4 Jun 2020 18:50:38 +0900 Subject: [PATCH 248/533] Update content/ja/docs/reference/kubectl/cheatsheet.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/kubectl/cheatsheet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 304a473317..449e3d43ff 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -348,7 +348,7 @@ kubectl api-resources --api-group=extensions # "extensions" APIグループの ### 出力のフォーマット -特定の形式で端末ウィンドウに詳細を出力するには、サポートされている`kubectl`コマンドに`-o (または`--output`)フラグを追加します。 +特定の形式で端末ウィンドウに詳細を出力するには、サポートされている`kubectl`コマンドに`-o(または`--output`)フラグを追加します。 出力フォーマット | 説明 ---------------- | ----------- From e132feddefbef612119a65c8954c34b100bf0b67 Mon Sep 17 00:00:00 2001 From: jinu Date: Thu, 4 Jun 2020 18:55:37 +0900 Subject: [PATCH 249/533] Update expression in content/ja/docs/concepts/workloads/pods/pod.md Co-authored-by: bells17 --- content/ja/docs/concepts/workloads/pods/pod.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index 81f109cb4f..e994c61693 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -141,7 +141,7 @@ Podは、クラスター内のNodeで実行中のプロセスを表すため、 1. クライアントのコマンドに表示されたとき、Podは「終了中」と表示される 1. (3と同時に)Kubeletは、2の期間が設定されたためにPodが終了中となったことを認識すると、Podのシャットダウン処理を開始する 1. Pod内のコンテナの1つが[preStopフック](/docs/concepts/containers/container-lifecycle-hooks/#hook-details)を定義している場合は、コンテナの内側で呼び出される。 - 猶予期間が終了した後も `preStop`フックがまだ実行されている場合は、一度だけ猶予期間を延長して(2秒)、ステップ2が呼び出される。`preStop`フックが完了するまでにより長い時間が必要な場合は、`terminationGracePeriodSeconds`を修正する必要がある。 + 猶予期間が終了した後も `preStop`フックがまだ実行されている場合は、一度だけ猶予期間を延長して(2秒)、ステップ2が呼び出される。`preStop`フックが完了するまでにより長い時間が必要な場合は、`terminationGracePeriodSeconds`を変更する必要がある。 1. コンテナにTERMシグナルが送信される。Pod内のすべてのコンテナが同時にTERMシグナルを受信するわけではなく、シャットダウンの順序が問題になる場合はそれぞれに `preStop` フックが必要になることがある 1. (3と同時に)Podはサービスを提供するエンドポイントのリストから削除され、ReplicationControllerの実行中のPodの一部とは見なされなくなる。 ゆっくりとシャットダウンするPodは、(サービスプロキシのような)ロードバランサーがローテーションからそれらを削除するので、トラフィックを処理し続けることはできない From 4fdd219f5ae2aa240c4495295ddbb0142437673d Mon Sep 17 00:00:00 2001 From: Takeshi Kondo <10370988+chaspy@users.noreply.github.com> Date: Thu, 4 Jun 2020 19:47:09 +0900 Subject: [PATCH 250/533] Update content/ja/docs/reference/kubectl/cheatsheet.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/kubectl/cheatsheet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 449e3d43ff..504b266583 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -348,7 +348,7 @@ kubectl api-resources --api-group=extensions # "extensions" APIグループの ### 出力のフォーマット -特定の形式で端末ウィンドウに詳細を出力するには、サポートされている`kubectl`コマンドに`-o(または`--output`)フラグを追加します。 +特定の形式で端末ウィンドウに詳細を出力するには、サポートされている`kubectl`コマンドに`-o`(または`--output`)フラグを追加します。 出力フォーマット | 説明 ---------------- | ----------- From 325b993f67cb5bd34740252b393a48ca6be91dbb Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 21:18:18 +0900 Subject: [PATCH 251/533] Update persistent-volumes.md for v1.17 --- .../concepts/storage/persistent-volumes.md | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index e8aeb996f3..2efb692b84 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -54,7 +54,7 @@ APIサーバーのコマンドラインフラグの詳細については[kube-ap ### バインディング -ユーザは、特定のサイズのストレージとアクセスモードを指定した上で`PersistentVolumeClaim`を作成します(動的プロビジョニングの場合は、すでに作られています)。マスター内のコントロールループは、新しく作られるPVCをウォッチして、それにマッチするPVが見つかったときに、それらを紐付けます。PVが新しいPVC用に動的プロビジョニングされた場合、コントロールループは常にPVをそのPVCに紐付けます。そうでない場合、ユーザーは常に少なくとも要求したサイズ以上のボリュームを取得しますが、ボリュームは要求されたサイズを超えている可能性があります。一度紐付けされると、どのように紐付けられたかに関係なく`PersistentVolumeClaim`の紐付けは排他的(決められた特定のPVとしか結びつかない状態)になります。PVCからPVへの紐付けは1対1です。 +ユーザは、特定のサイズのストレージとアクセスモードを指定した上でPersistentVolumeClaimを作成します(動的プロビジョニングの場合は、すでに作られています)。マスター内のコントロールループは、新しく作られるPVCをウォッチして、それにマッチするPVが見つかったときに、それらを紐付けます。PVが新しいPVC用に動的プロビジョニングされた場合、コントロールループは常にPVをそのPVCに紐付けます。そうでない場合、ユーザーは常に少なくとも要求したサイズ以上のボリュームを取得しますが、ボリュームは要求されたサイズを超えている可能性があります。一度紐付けされると、どのように紐付けられたかに関係なくPersistentVolumeClaimの紐付けは排他的(決められた特定のPVとしか結びつかない状態)になります。PVCからPVへの紐付けは1対1で、ClaimRefを使用したPersistentVolumeとPersistentVolumeClaim間の双方向の紐付けです。 一致するボリュームが存在しない場合、クレームはいつまでも紐付けされないままになります。一致するボリュームが利用可能になると、クレームがバインドされます。たとえば、50GiのPVがいくつもプロビジョニングされているクラスターだとしても、100Giを要求するPVCとは一致しません。100GiのPVがクラスターに追加されると、PVCを紐付けできます。 @@ -99,7 +99,7 @@ Labels: type=local Annotations: Finalizers: [kubernetes.io/pv-protection] StorageClass: standard -Status: Available +Status: Terminating Claim: Reclaim Policy: Delete Access Modes: RWO @@ -260,6 +260,8 @@ EBSの拡張は時間がかかる操作です。また変更は、ボリュー ## 永続ボリューム 各PVには、仕様とボリュームのステータスが含まれているspecとstatusが含まれています。 +PersistentVolumeオブジェクトの名前は、有効な +[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 ```yaml apiVersion: v1 @@ -282,6 +284,11 @@ spec: server: 172.17.0.2 ``` +{{< note >}} +クラスター内でPersistentVolumeを使用するには、ボリュームタイプに関連するヘルパープログラムが必要な場合があります。 +この例では、PersistentVolumeはNFSタイプで、NFSファイルシステムのマウントをサポートするためにヘルパープログラム /sbin/mount.nfs が必要になります。 +{{< /note >}} + ### 容量 通常、PVには特定のストレージ容量があります。これはPVの`capacity`属性を使用して設定されます。容量によって期待される単位を理解するためには、Kubernetesの[リソースモデル](https://git.k8s.io/community/contributors/design-proposals/scheduling/resources.md)を参照してください。 @@ -404,6 +411,9 @@ CLIにはPVに紐付いているPVCの名前が表示されます。 各PVCにはspecとステータスが含まれます。これは、仕様とクレームのステータスです。 +PersistentVolumeClaimオブジェクトの名前は、有効な +[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + ```yaml apiVersion: v1 kind: PersistentVolumeClaim @@ -594,7 +604,7 @@ Podにrawブロックデバイスを追加する場合は、マウントパス ## ボリュームのスナップショットとスナップショットからのボリュームの復元のサポート -{{< feature-state for_k8s_version="v1.12" state="alpha" >}} +{{< feature-state for_k8s_version="v1.17" state="beta" >}} ボリュームスナップショット機能は、CSIボリュームプラグインのみをサポートするために追加されました。詳細については、[ボリュームのスナップショット](/docs/concepts/storage/volume-snapshots/)を参照してください。 @@ -659,3 +669,16 @@ spec: - ツールがPVCを監視し、しばらくしてもバインドされないことをユーザーに表示する。これはクラスターが動的ストレージをサポートしない(この場合ユーザーは対応するPVを作成するべき)、もしくはクラスターがストレージシステムを持っていない(この場合ユーザーはPVCを必要とする設定をデプロイできない)可能性があることを示す。 {{% /capture %}} + {{% capture whatsnext %}} + +* [Creating a Persistent Volume](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume)について学ぶ +* [Creating a Persistent Volume Claim](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim)について学ぶ +* [Persistent Storage design document](https://git.k8s.io/community/contributors/design-proposals/storage/persistent-storage.md)を読む + +### リファレンス + +* [PersistentVolume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolume-v1-core) +* [PersistentVolumeSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumespec-v1-core) +* [PersistentVolumeClaim](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) +* [PersistentVolumeClaimSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaimspec-v1-core) + {{% /capture %}} \ No newline at end of file From 98b03d44c6aed44864ca602a45c53eefad633dff Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 21:39:56 +0900 Subject: [PATCH 252/533] Update cron-jobs.md for v1.17 --- .../concepts/workloads/controllers/cron-jobs.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md index 0520b8a97b..f7cae6411c 100644 --- a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md @@ -6,14 +6,21 @@ weight: 80 {{% capture overview %}} +{{< feature-state for_k8s_version="v1.8" state="beta" >}} + _CronJob_ は時刻ベースのスケジュールによって[Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)を作成します。 _CronJob_ オブジェクトとは _crontab_ (cron table)ファイルでみられる一行のようなものです。 [Cron](https://ja.wikipedia.org/wiki/Cron)形式で記述された指定のスケジュールの基づき、定期的にジョブが実行されます。 -{{< note >}} -すべての**CronJob**`スケジュール`: 時刻はジョブが開始されたマスタータイムゾーンに基づいています。 -{{< /note >}} +{{< caution >}} +すべての**CronJob**`スケジュール`: 時刻はジョブが開始された{{< glossary_tooltip term_id="kube-controller-manager" text="kube-controller-manager" >}}のタイムゾーンに基づいています。 + +コントロールプレーンがkube-controller-managerをPodもしくは素のコンテナで実行している場合、kube-controller-manager コンテナに設定されたタイムゾーンは、cron ジョブコントローラーが使用するタイムゾーンを決定します。 +{{< /caution >}} + +cronジョブリソースのためのマニフェストを作成する場合、その名前が有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)か確認してください。 +名前は52文字を超えることはできません。これはcronジョブコントローラーが自動的に11文字のジョブ名を追加し、ジョブ名の最大長は63文字以内という制約があるためです。 cronジョブを作成し、実行するインストラクション、または、cronジョブ仕様ファイルのサンプルについては、[Running automated tasks with cron jobs](/docs/tasks/job/automated-tasks-with-cron-jobs)をご覧ください。 @@ -27,7 +34,7 @@ cronジョブは一度のスケジュール実行につき、 _おおよそ_ 1 `startingDeadlineSeconds`が大きな値、もしくは設定されていない(デフォルト)、そして、`concurrencyPolicy`を`Allow`に設定している場合には、少なくとも一度、ジョブが実行されることを保証します。 -最後にスケジュールされた時刻から現在までの間に、CronJobコントローラーはどれだけスケジュールが間に合わなかったのかをCronJobごとにチェックします。もし、100回以上スケジュールが失敗していると、ジョブは開始されずに、ログにエラーが記録されます。 +最後にスケジュールされた時刻から現在までの間に、CronJob{{< glossary_tooltip term_id="controller" text="コントローラー">}}はどれだけスケジュールが間に合わなかったのかをCronJobごとにチェックします。もし、100回以上スケジュールが失敗していると、ジョブは開始されずに、ログにエラーが記録されます。 ```` Cannot determine if job needs to be started. Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew. From 0fc7cafdbde61408dac391832514610d52b9a9e6 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 21:54:07 +0900 Subject: [PATCH 253/533] Update daemonset.md for v1.17 --- .../docs/concepts/workloads/controllers/daemonset.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/daemonset.md b/content/ja/docs/concepts/workloads/controllers/daemonset.md index ddd5089c02..9b73db731d 100644 --- a/content/ja/docs/concepts/workloads/controllers/daemonset.md +++ b/content/ja/docs/concepts/workloads/controllers/daemonset.md @@ -12,8 +12,8 @@ _DaemonSet_ は全て(またはいくつか)のNodeが単一のPodのコピー DaemonSetのいくつかの典型的な使用例は以下の通りです。 - `glusterd`や`ceph`のようなクラスターのストレージデーモンを各Node上で稼働させる。 -- `fluentd`や`logstash`のようなログ集計デーモンを各Node上で稼働させる。 -- [Prometheus Node Exporter](https://github.com/prometheus/node_exporter)や[Flowmill](https://github.com/Flowmill/flowmill-k8s/)、[Sysdig Agent](https://docs.sysdig.com)、`collectd`、[Dynatrace OneAgent](https://www.dynatrace.com/technologies/kubernetes-monitoring/)、 [AppDynamics Agent](https://docs.appdynamics.com/display/CLOUD/Container+Visibility+with+Kubernetes)、 [Datadog agent](https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/)、 [New Relic agent](https://docs.newrelic.com/docs/integrations/kubernetes-integration/installation/kubernetes-installation-configuration)、Gangliaの`gmond`やInstana agentなどのようなNodeのモニタリングデーモンを各Node上で稼働させる。 +- `fluentd`や`filebeat`のようなログ集計デーモンを各Node上で稼働させる。 +- [Prometheus Node Exporter](https://github.com/prometheus/node_exporter)や[Flowmill](https://github.com/Flowmill/flowmill-k8s/)、[Sysdig Agent](https://docs.sysdig.com)、`collectd`、[Dynatrace OneAgent](https://www.dynatrace.com/technologies/kubernetes-monitoring/)、 [AppDynamics Agent](https://docs.appdynamics.com/display/CLOUD/Container+Visibility+with+Kubernetes)、 [Datadog agent](https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/)、 [New Relic agent](https://docs.newrelic.com/docs/integrations/kubernetes-integration/installation/kubernetes-installation-configuration)、Gangliaの`gmond`、[Instana Agent](https://www.instana.com/supported-integrations/kubernetes-monitoring/)や[Elastic Metricbeat](https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-kubernetes.html)などのようなNodeのモニタリングデーモンを各Node上で稼働させる。 シンプルなケースとして、各タイプのデーモンにおいて、全てのNodeをカバーする1つのDaemonSetが使用されるケースがあります。 さらに複雑な設定では、単一のタイプのデーモン用ですが、異なるフラグや、異なるハードウェアタイプに対するメモリー、CPUリクエストを要求する複数のDaemonSetを使用するケースもあります。 @@ -32,7 +32,8 @@ DaemonSetのいくつかの典型的な使用例は以下の通りです。 {{< codenew file="controllers/daemonset.yaml" >}} -* YAMLファイルに基づいてDaemonSetを作成します。 +YAMLファイルに基づいてDaemonSetを作成します。 + ``` kubectl apply -f https://k8s.io/examples/controllers/daemonset.yaml ``` @@ -42,6 +43,9 @@ kubectl apply -f https://k8s.io/examples/controllers/daemonset.yaml 他の全てのKubernetesの設定と同様に、DaemonSetは`apiVersion`、`kind`と`metadata`フィールドが必須となります。 設定ファイルの活用法に関する一般的な情報は、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナの設定](/ja/docs/tasks/)、[kubectlを用いたオブジェクトの管理](/ja/docs/concepts/overview/working-with-objects/object-management/)といったドキュメントを参照ください。 +DaemonSetオブジェクトの名前は、有効な +[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + また、DaemonSetにおいて[`.spec`](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status)セクションも必須となります。 ### Podテンプレート @@ -80,7 +84,7 @@ selector](/ja/docs/concepts/configuration/assign-pod-node/)にマッチするPod ## Daemon Podがどのようにスケジューリングされるか -### デフォルトスケジューラーによってスケジューリングされる場合(Kubernetes1.12からデフォルトで有効) +### デフォルトスケジューラーによってスケジューリングされる場合 {{< feature-state state="stable" for-kubernetes-version="1.17" >}} From cff14841b179f28ddd6bb50b2dfd9f804c183300 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Thu, 4 Jun 2020 22:08:17 +0900 Subject: [PATCH 254/533] Update debug-pod-replication-controller.md --- .../debug-pod-replication-controller.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md b/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md index 406466cc1c..94af1da0ce 100644 --- a/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md +++ b/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md @@ -113,6 +113,8 @@ kubectl exec ${POD_NAME} -c ${CONTAINER_NAME} -- ${CMD} ${ARG1} ${ARG2} ... ${AR kubectl exec cassandra -- cat /var/log/cassandra/system.log ``` +クラスターで有効にしていれば、 [エフェメラルコンテナ](/docs/concepts/workloads/pods/ephemeral-containers/) を既存のPodに追加することもできます。 新しい一時的なコンテナを利用して、たとえばPod内の問題の診断のために任意のコマンドを実行することができます。利用できる機能を含む詳細については、 [エフェメラルコンテナ](/docs/concepts/workloads/pods/ephemeral-containers/) のページを参照してください。 + これらのアプローチがいずれも機能しない場合、Podが実行されているホストマシンを見つけて、そのホストにSSH接続することができます。 ## ReplicationControllerのデバッグ From fb5793cd0eae85be20385a57bbfbce05d5a71789 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Fri, 5 Jun 2020 08:01:46 +0900 Subject: [PATCH 255/533] ja: Make docs/concepts/overview/working-with-objects/labels.md follow v1.17 of the original text --- .../overview/working-with-objects/labels.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index ec6f9f7201..33e30771b0 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -59,6 +59,26 @@ _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキ 正しいラベル値は63文字以下の長さで、空文字か、もしくは開始と終了が英数字(`[a-z0-9A-Z]`)で、文字列の間がダッシュ(`-`)、アンダースコア(`_`)、ドット(`.`)と英数字である文字列を使うことができます。 +例えば、`environment: production`と`app: nginx`の2つのラベルを持つPodのconfigファイルは下記のようになります。 + +```yaml + +apiVersion: v1 +kind: Pod +metadata: + name: label-demo + labels: + environment: production + app: nginx +spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 + +``` + ## ラベルセレクター {#label-selectors} [名前とUID](/docs/user-guide/identifiers)とは異なり、ラベルはユニーク性を提供しません。通常、多くのオブジェクトが同じラベルを保持することを想定します。 From 0342000e728d681601cafdb71b0902b184259766 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Fri, 5 Jun 2020 08:13:44 +0900 Subject: [PATCH 256/533] add caution to 'Label selectors' section --- .../ja/docs/concepts/overview/working-with-objects/labels.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index 33e30771b0..5926e3b9e3 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -97,6 +97,10 @@ Kubernetes APIは現在2タイプのセレクターをサポートしていま ReplicaSetなど、いくつかのAPIタイプにおいて、2つのインスタンスのラベルセレクターは単一の名前空間において重複してはいけません。重複していると、コントローラがそれらのラベルセレクターがコンフリクトした操作とみなし、どれだけの数のレプリカを稼働させるべきか決めることができなくなります。 {{< /note >}} +{{< caution >}} +等価ベース、集合ベースともに、論理OR (`||`) オペレーターは存在しません。フィルターステートメントが構造化されていることを適宜確認してください。 +{{< /caution >}} + ### *等価ベース(Equality-based)* の要件(requirement) *等価ベース(Equality-based)* もしくは*不等ベース(Inequality-based)* の要件は、ラベルキーとラベル値によるフィルタリングを可能にします。 From e3a09dbd3ffb2eda4aac80aa8f96f4211cb7bc85 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 08:34:11 +0900 Subject: [PATCH 257/533] Update content/ja/docs/concepts/workloads/controllers/cron-jobs.md Co-authored-by: nasa9084 --- content/ja/docs/concepts/workloads/controllers/cron-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md index f7cae6411c..b678a07c5c 100644 --- a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md @@ -19,7 +19,7 @@ _CronJob_ オブジェクトとは _crontab_ (cron table)ファイルでみら コントロールプレーンがkube-controller-managerをPodもしくは素のコンテナで実行している場合、kube-controller-manager コンテナに設定されたタイムゾーンは、cron ジョブコントローラーが使用するタイムゾーンを決定します。 {{< /caution >}} -cronジョブリソースのためのマニフェストを作成する場合、その名前が有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)か確認してください。 +CronJobリソースのためのマニフェストを作成する場合、その名前が有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)か確認してください。 名前は52文字を超えることはできません。これはcronジョブコントローラーが自動的に11文字のジョブ名を追加し、ジョブ名の最大長は63文字以内という制約があるためです。 cronジョブを作成し、実行するインストラクション、または、cronジョブ仕様ファイルのサンプルについては、[Running automated tasks with cron jobs](/docs/tasks/job/automated-tasks-with-cron-jobs)をご覧ください。 From 3ae504eed163605c98faccdc2a599ca5124484e3 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 08:34:38 +0900 Subject: [PATCH 258/533] Update content/ja/docs/concepts/workloads/controllers/cron-jobs.md Co-authored-by: nasa9084 --- content/ja/docs/concepts/workloads/controllers/cron-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md index b678a07c5c..a4ada8793f 100644 --- a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md @@ -20,7 +20,7 @@ _CronJob_ オブジェクトとは _crontab_ (cron table)ファイルでみら {{< /caution >}} CronJobリソースのためのマニフェストを作成する場合、その名前が有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)か確認してください。 -名前は52文字を超えることはできません。これはcronジョブコントローラーが自動的に11文字のジョブ名を追加し、ジョブ名の最大長は63文字以内という制約があるためです。 +名前は52文字を超えることはできません。これはCronJobコントローラーが自動的に、与えられたジョブ名に11文字を追加し、ジョブ名の長さは最大で63文字以内という制約があるためです。 cronジョブを作成し、実行するインストラクション、または、cronジョブ仕様ファイルのサンプルについては、[Running automated tasks with cron jobs](/docs/tasks/job/automated-tasks-with-cron-jobs)をご覧ください。 From 8837c13333572b2a762723f79914594b60dbd684 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 09:09:21 +0900 Subject: [PATCH 259/533] Quote path with code block --- content/ja/docs/concepts/storage/persistent-volumes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index 2efb692b84..73fa76bedd 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -286,7 +286,7 @@ spec: {{< note >}} クラスター内でPersistentVolumeを使用するには、ボリュームタイプに関連するヘルパープログラムが必要な場合があります。 -この例では、PersistentVolumeはNFSタイプで、NFSファイルシステムのマウントをサポートするためにヘルパープログラム /sbin/mount.nfs が必要になります。 +この例では、PersistentVolumeはNFSタイプで、NFSファイルシステムのマウントをサポートするためにヘルパープログラム`/sbin/mount.nfs`が必要になります。 {{< /note >}} ### 容量 @@ -681,4 +681,4 @@ spec: * [PersistentVolumeSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumespec-v1-core) * [PersistentVolumeClaim](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * [PersistentVolumeClaimSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaimspec-v1-core) - {{% /capture %}} \ No newline at end of file + {{% /capture %}} From cc0aeb95991ed7a0d1a5755926b04602c4045aa5 Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Fri, 5 Jun 2020 09:35:39 +0900 Subject: [PATCH 260/533] update following reviewr comments --- content/ja/docs/tasks/tools/install-minikube.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 207215a95f..161dc26825 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -78,8 +78,8 @@ kubectlがインストールされていることを確認してください。 Minikubeは、VMではなくホストでKubernetesコンポーネントを実行する`--vm-driver=none`オプションもサポートしています。 このドライバーを使用するには、[Docker](https://www.docker.com/products/docker-desktop)とLinux環境が必要ですが、ハイパーバイザーは不要です。 -Debian系のLinuxで`none`ドライバーを使用する場合は、snapパッケージではなく`.deb`パッケージを使用してDockerをインストールください。snapパッケージはMinikubeでは機能しません。 -[Docker](https://www.docker.com/products/docker-desktop) から`.deb`パッケージをダウンロードできます。 +Debian系のLinuxで`none`ドライバーを使用する場合は、snapパッケージではなく`.deb`パッケージを使用してDockerをインストールしてください。snapパッケージはMinikubeでは機能しません。 +[Docker](https://www.docker.com/products/docker-desktop)から`.deb`パッケージをダウンロードできます。 {{< caution >}} `none` VMドライバーは、セキュリティとデータ損失の問題を引き起こす可能性があります。 @@ -89,7 +89,7 @@ Debian系のLinuxで`none`ドライバーを使用する場合は、snapパッ MinikubeはDockerドライバーと似たような`vm-driver=podman`もサポートしています。Podmanを特権ユーザー権限(root user)で実行することは、コンテナがシステム上の利用可能な機能へ完全にアクセスするための最もよい方法です。 {{< caution >}} -`podman` ドライバーは、rootでコンテナを実行する必要があります。これは、通常ユーザーアカウントが、コンテナの実行に必要とされるすべてのOS機能への完全なアクセスを持っていないためです。 +`podman` ドライバーは、rootでコンテナを実行する必要があります。これは、通常のユーザーアカウントが、コンテナの実行に必要とされるすべてのOS機能への完全なアクセスを持っていないためです。 {{< /caution >}} ### パッケージを利用したMinikubeのインストール @@ -222,7 +222,7 @@ WindowsにMinikubeを手動でインストールするには、[`minikube-window minikube start --vm-driver= ``` -`mnikube start`が完了した場合、次のコマンドを実行してクラスターの状態を確認します。 +`minikube start`が完了した場合、次のコマンドを実行してクラスターの状態を確認します。 ```shell minikube status @@ -237,7 +237,7 @@ apiserver: Running kubeconfig: Configured ``` -選択したハイパーバイザーでMinikubeが動作しているかどうか確認した後は、Minikubeを使い続けるか、クラスターを停止できます。クラスター +選択したハイパーバイザーでMinikubeが動作しているか確認した後は、Minikubeを使い続けるか、クラスターを停止できます。クラスター を停止するためには、次を実行してください。 ```shell From a1cb7008fa3446ada7dec7da6c492cb0cf6ba1ff Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 09:55:08 +0900 Subject: [PATCH 261/533] Update kube-scheduler.md for v1.17 --- content/ja/docs/concepts/scheduling/kube-scheduler.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/scheduling/kube-scheduler.md b/content/ja/docs/concepts/scheduling/kube-scheduler.md index 53fd5c67b7..a6af30f763 100644 --- a/content/ja/docs/concepts/scheduling/kube-scheduler.md +++ b/content/ja/docs/concepts/scheduling/kube-scheduler.md @@ -106,13 +106,16 @@ kube-schedulerは、デフォルトで用意されているスケジューリン - `ServiceSpreadingPriority`: このポリシーの目的は、特定のServiceに対するバックエンドのPodが、それぞれ異なるNodeで実行されるようにすることです。このポリシーではServiceのバックエンドのPodが既に実行されていないNode上にスケジュールするように優先します。これによる結果として、Serviceは単体のNode障害に対してより耐障害性が高まります。 -- `CalculateAntiAffinityPriorityMap`: このポリシーは[PodのAnti-Affinity](https://kubernetes.io/ja/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity)の実装に役立ちます。 +- `CalculateAntiAffinityPriorityMap`: このポリシーは[PodのAnti-Affinity](/ja/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity)の実装に役立ちます。 - `EqualPriorityMap`: 全てのNodeに対して等しい重みを与えます。 {{% /capture %}} {{% capture whatsnext %}} * [スケジューラーのパフォーマンスチューニング](/docs/concepts/scheduling/scheduler-perf-tuning/)を参照してください。 +* [Podトポロジーの分散制約](/docs/concepts/workloads/pods/pod-topology-spread-constraints/)を参照してください。 * kube-schedulerの[リファレンスドキュメント](/docs/reference/command-line-tools-reference/kube-scheduler/)を参照してください。 -* [複数のスケジューラーの設定](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/)について学んでください。 +* [複数のスケジューラーの設定](/docs/tasks/administer-cluster/configure-multiple-schedulers/)について学んでください。 +* [トポロジー管理ポリシー](/docs/tasks/administer-cluster/topology-manager/)について学んでください。 +* [Podのオーバーヘッド](/docs/concepts/configuration/pod-overhead/)について学んでください。 {{% /capture %}} From fae6668fd6fdba2d52ab1ea823d200d31591a63f Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 10:20:07 +0900 Subject: [PATCH 262/533] Update content/ja/docs/concepts/workloads/controllers/cron-jobs.md Co-authored-by: nasa9084 --- content/ja/docs/concepts/workloads/controllers/cron-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md index a4ada8793f..85575c57bb 100644 --- a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md @@ -16,7 +16,7 @@ _CronJob_ オブジェクトとは _crontab_ (cron table)ファイルでみら {{< caution >}} すべての**CronJob**`スケジュール`: 時刻はジョブが開始された{{< glossary_tooltip term_id="kube-controller-manager" text="kube-controller-manager" >}}のタイムゾーンに基づいています。 -コントロールプレーンがkube-controller-managerをPodもしくは素のコンテナで実行している場合、kube-controller-manager コンテナに設定されたタイムゾーンは、cron ジョブコントローラーが使用するタイムゾーンを決定します。 +コントロールプレーンがkube-controller-managerをPodもしくは素のコンテナで実行している場合、cronジョブコントローラーのタイムゾーンとして、kube-controller-managerコンテナに設定されたタイムゾーンを使用します。 {{< /caution >}} CronJobリソースのためのマニフェストを作成する場合、その名前が有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)か確認してください。 From 46d998658cbe67da238b22317689b63451f18a55 Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Fri, 5 Jun 2020 10:47:11 +0900 Subject: [PATCH 263/533] change url to japanese page --- .../ja/docs/concepts/overview/working-with-objects/labels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index 5926e3b9e3..255d039041 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -198,7 +198,7 @@ kubectl get pods -l 'environment,environment notin (frontend)' ``` ### APIオブジェクトに参照を設定する -[`Service`](/docs/user-guide/services) と [`ReplicationController`](/docs/user-guide/replication-controller)のような、いくつかのKubernetesオブジェクトでは、ラベルセレクターを[Pod](/docs/user-guide/pods)のような他のリソースのセットを指定するのにも使われます。 +[`Service`](/ja/docs/user-guide/services) と [`ReplicationController`](/docs/user-guide/replication-controller)のような、いくつかのKubernetesオブジェクトでは、ラベルセレクターを[Pod](/docs/user-guide/pods)のような他のリソースのセットを指定するのにも使われます。 #### ServiceとReplicationController `Service`が対象とするPodの集合は、ラベルセレクターによって定義されます。 From ba0cf849d702028928f2161b1ac2f5185083eb95 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 11:06:12 +0900 Subject: [PATCH 264/533] change the expression of CronJob controller --- content/ja/docs/concepts/workloads/controllers/cron-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md index 85575c57bb..ca73516682 100644 --- a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md @@ -16,7 +16,7 @@ _CronJob_ オブジェクトとは _crontab_ (cron table)ファイルでみら {{< caution >}} すべての**CronJob**`スケジュール`: 時刻はジョブが開始された{{< glossary_tooltip term_id="kube-controller-manager" text="kube-controller-manager" >}}のタイムゾーンに基づいています。 -コントロールプレーンがkube-controller-managerをPodもしくは素のコンテナで実行している場合、cronジョブコントローラーのタイムゾーンとして、kube-controller-managerコンテナに設定されたタイムゾーンを使用します。 +コントロールプレーンがkube-controller-managerをPodもしくは素のコンテナで実行している場合、CronJobコントローラーのタイムゾーンとして、kube-controller-managerコンテナに設定されたタイムゾーンを使用します。 {{< /caution >}} CronJobリソースのためのマニフェストを作成する場合、その名前が有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)か確認してください。 From 7451ebae7a76dbdaee6d44c72024065940e1fb2c Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 12:18:38 +0900 Subject: [PATCH 265/533] Change the expression of topology management policy Co-authored-by: bells17 --- content/ja/docs/concepts/scheduling/kube-scheduler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/scheduling/kube-scheduler.md b/content/ja/docs/concepts/scheduling/kube-scheduler.md index a6af30f763..53fd6d26bb 100644 --- a/content/ja/docs/concepts/scheduling/kube-scheduler.md +++ b/content/ja/docs/concepts/scheduling/kube-scheduler.md @@ -116,6 +116,6 @@ kube-schedulerは、デフォルトで用意されているスケジューリン * [Podトポロジーの分散制約](/docs/concepts/workloads/pods/pod-topology-spread-constraints/)を参照してください。 * kube-schedulerの[リファレンスドキュメント](/docs/reference/command-line-tools-reference/kube-scheduler/)を参照してください。 * [複数のスケジューラーの設定](/docs/tasks/administer-cluster/configure-multiple-schedulers/)について学んでください。 -* [トポロジー管理ポリシー](/docs/tasks/administer-cluster/topology-manager/)について学んでください。 +* [トポロジーの管理ポリシー](/docs/tasks/administer-cluster/topology-manager/)について学んでください。 * [Podのオーバーヘッド](/docs/concepts/configuration/pod-overhead/)について学んでください。 {{% /capture %}} From 70f585823fce2dffa9bf6c2455e02d4d61900e97 Mon Sep 17 00:00:00 2001 From: nishipy Date: Fri, 5 Jun 2020 12:47:23 +0900 Subject: [PATCH 266/533] Update configure-access-multiple-clusters.md --- .../configure-access-multiple-clusters.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index fd5784a093..cfe066e646 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -73,7 +73,9 @@ kubectl config --kubeconfig=config-demo set-credentials experimenter --username= ``` {{< note >}} -`kubectl config unset users.`を実行すると、ユーザーを削除することができます。 +`kubectl --kubeconfig=config-demo config unset users.`を実行すると、ユーザーを削除することができます。 +`kubectl --kubeconfig=config-demo config unset clusters.`を実行すると、クラスターを除去することができます。 +`kubectl --kubeconfig=config-demo config unset contexts.`を実行すると、context情報を除去することができます。 {{< /note >}} context情報を設定ファイルに追加してください: From 451bbf4568ecd67a7a7ca81a18dc64f9ab1cccb1 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 13:15:44 +0900 Subject: [PATCH 267/533] Update service-access-application-cluster.md --- .../service-access-application-cluster.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md b/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md index 48be31fdb4..b6e346bd83 100644 --- a/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md +++ b/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md @@ -32,9 +32,14 @@ weight: 60 ## 2つのPodから成るアプリケーションのServiceを作成 +アプリケーションDeploymentの設定ファイルは以下の通りです: + +{{< codenew file="service/access/hello-application.yaml" >}} + 1. クラスタでHello Worldアプリケーションを稼働させます: + 上記のファイルを使用し、アプリケーションDeploymentを作成します: ```shell - kubectl run hello-world --replicas=2 --labels="run=load-balancer-example" --image=gcr.io/google-samples/node-hello:1.0 --port=8080 + kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml ``` このコマンドは [Deployment](/ja/docs/concepts/workloads/controllers/deployment/) From ba6375208f023f62f15b01e7c4955d6dd32f73e9 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 13:25:59 +0900 Subject: [PATCH 268/533] Update update-intro.html for v1.17 --- .../docs/tutorials/kubernetes-basics/update/update-intro.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/tutorials/kubernetes-basics/update/update-intro.html b/content/ja/docs/tutorials/kubernetes-basics/update/update-intro.html index 657c26a232..c4b27db8b2 100644 --- a/content/ja/docs/tutorials/kubernetes-basics/update/update-intro.html +++ b/content/ja/docs/tutorials/kubernetes-basics/update/update-intro.html @@ -9,8 +9,7 @@ weight: 10 - - +
    From b0d4e5a57de42edfcf2abebd600fb0455d377cb4 Mon Sep 17 00:00:00 2001 From: nishipy Date: Fri, 5 Jun 2020 13:27:59 +0900 Subject: [PATCH 269/533] Update configure-access-multiple-clusters.md --- .../configure-access-multiple-clusters.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index cfe066e646..2c26e33fff 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -10,7 +10,7 @@ card: {{% capture overview %}} -ここでは、設定ファイルを使って複数のクラスターにアクセスする方法を紹介します。クラスター、ユーザー、contextの情報を一つ以上の設定ファイルにまとめることで、`kubectl config use-context`のコマンドを使ってクラスターを素早く切り替えることができます。 +ここでは、設定ファイルを使って複数のクラスターにアクセスする方法を紹介します。クラスター、ユーザー、コンテキストの情報を一つ以上の設定ファイルにまとめることで、`kubectl config use-context`のコマンドを使ってクラスターを素早く切り替えることができます。 {{< note >}} クラスターへのアクセスを設定するファイルを、*kubeconfig* ファイルと呼ぶことがあります。これは設定ファイルの一般的な呼び方です。`kubeconfig`という名前のファイルが存在するわけではありません。 @@ -26,7 +26,7 @@ card: {{% capture steps %}} -## クラスター、ユーザー、contextを設定する +## クラスター、ユーザー、コンテキストを設定する 例として、開発用のクラスターが一つ、実験用のクラスターが一つ、計二つのクラスターが存在する場合を考えます。`development`と呼ばれる開発用のクラスター内では、フロントエンドの開発者は`frontend`というnamespace内で、ストレージの開発者は`storage`というnamespace内で作業をします。`scratch`と呼ばれる実験用のクラスター内では、開発者はデフォルトのnamespaceで作業をするか、状況に応じて追加のnamespaceを作成します。開発用のクラスターは証明書を通しての認証を必要とします。実験用のクラスターはユーザーネームとパスワードを通しての認証を必要とします。 @@ -56,7 +56,7 @@ contexts: name: exp-scratch ``` -設定ファイルには、クラスター、ユーザー、contextの情報が含まれています。上記の`config-demo`設定ファイルには、二つのクラスター、二人のユーザー、三つのcontextの情報が含まれています。 +設定ファイルには、クラスター、ユーザー、コンテキストの情報が含まれています。上記の`config-demo`設定ファイルには、二つのクラスター、二人のユーザー、三つのコンテキストの情報が含まれています。 `config-exercise`ディレクトリに移動してください。クラスター情報を設定ファイルに追加するために、以下のコマンドを実行してください: @@ -75,10 +75,10 @@ kubectl config --kubeconfig=config-demo set-credentials experimenter --username= {{< note >}} `kubectl --kubeconfig=config-demo config unset users.`を実行すると、ユーザーを削除することができます。 `kubectl --kubeconfig=config-demo config unset clusters.`を実行すると、クラスターを除去することができます。 -`kubectl --kubeconfig=config-demo config unset contexts.`を実行すると、context情報を除去することができます。 +`kubectl --kubeconfig=config-demo config unset contexts.`を実行すると、コンテキスト情報を除去することができます。 {{< /note >}} -context情報を設定ファイルに追加してください: +コンテキスト情報を設定ファイルに追加してください: ```shell kubectl config --kubeconfig=config-demo set-context dev-frontend --cluster=development --namespace=frontend --user=developer @@ -92,7 +92,7 @@ kubectl config --kubeconfig=config-demo set-context exp-scratch --cluster=scratc kubectl config --kubeconfig=config-demo view ``` -出力には、二つのクラスター、二人のユーザー、三つのcontextが表示されます: +出力には、二つのクラスター、二人のユーザー、三つのコンテキストが表示されます: ```shell apiVersion: v1 @@ -139,23 +139,23 @@ users: 証明書ファイルのパスの代わりにbase64にエンコードされたデータを使用したい場合は、キーに`-data`の接尾辞を加えてください。例えば、`certificate-authority-data`、`client-certificate-data`、`client-key-data`とできます。 -それぞれのcontextは、クラスター、ユーザー、namespaceの三つ組からなっています。例えば、`dev-frontend`contextは、`developer`ユーザーの認証情報を使って`development`クラスターの`frontend`namespaceへのアクセスを意味しています。 +それぞれのコンテキストは、クラスター、ユーザー、namespaceの三つ組からなっています。例えば、`dev-frontend`コンテキストは、`developer`ユーザーの認証情報を使って`development`クラスターの`frontend`namespaceへのアクセスを意味しています。 -現在のcontextを設定してください: +現在のコンテキストを設定してください: ```shell kubectl config --kubeconfig=config-demo use-context dev-frontend ``` -これ以降実行される`kubectl`コマンドは、`dev-frontend`contextに設定されたクラスターとnamespaceに適用されます。また、`dev-frontend`contextに設定されたユーザーの認証情報を使用します。 +これ以降実行される`kubectl`コマンドは、`dev-frontend`コンテキストに設定されたクラスターとnamespaceに適用されます。また、`dev-frontend`コンテキストに設定されたユーザーの認証情報を使用します。 -現在のcontextの設定情報のみを確認するには、`--minify`フラグを使用してください。 +現在のコンテキストの設定情報のみを確認するには、`--minify`フラグを使用してください。 ```shell kubectl config --kubeconfig=config-demo view --minify ``` -出力には、`dev-frontend`contextの設定情報が表示されます: +出力には、`dev-frontend`コンテキストの設定情報が表示されます: ```shell apiVersion: v1 @@ -182,15 +182,15 @@ users: 今度は、実験用のクラスター内でしばらく作業する場合を考えます。 -現在のcontextを`exp-scratch`に切り替えてください: +現在のコンテキストを`exp-scratch`に切り替えてください: ```shell kubectl config --kubeconfig=config-demo use-context exp-scratch ``` -これ以降実行される`kubectl`コマンドは、`scratch`クラスター内のデフォルトnamespaceに適用されます。また、`exp-scratch`contextに設定されたユーザーの認証情報を使用します。 +これ以降実行される`kubectl`コマンドは、`scratch`クラスター内のデフォルトnamespaceに適用されます。また、`exp-scratch`コンテキストに設定されたユーザーの認証情報を使用します。 -新しく切り替えた`exp-scratch`contextの設定を確認してください。 +新しく切り替えた`exp-scratch`コンテキストの設定を確認してください。 ```shell kubectl config --kubeconfig=config-demo view --minify @@ -198,13 +198,13 @@ kubectl config --kubeconfig=config-demo view --minify 最後に、`development`クラスター内の`storage`namespaceでしばらく作業する場合を考えます。 -現在のcontextを`dev-storage`に切り替えてください: +現在のコンテキストを`dev-storage`に切り替えてください: ```shell kubectl config --kubeconfig=config-demo use-context dev-storage ``` -新しく切り替えた`dev-storage`contextの設定を確認してください。 +新しく切り替えた`dev-storage`コンテキストの設定を確認してください。 ```shell kubectl config --kubeconfig=config-demo view --minify @@ -227,7 +227,7 @@ contexts: name: dev-ramp-up ``` -上記の設定ファイルは、`dev-ramp-up`というcontextを表します。 +上記の設定ファイルは、`dev-ramp-up`というコンテキストを表します。 ## KUBECONFIG環境変数を設定する @@ -261,7 +261,7 @@ $Env:KUBECONFIG=("config-demo;config-demo-2") kubectl config view ``` -出力には、`KUBECONFIG`環境変数に含まれる全てのファイルの情報がまとめて表示されます。`config-demo-2`ファイルに設定された`dev-ramp-up`contextの情報と、`config-demo`ファイルに設定された三つのcontextの情報がまとめてあることに注目してください: +出力には、`KUBECONFIG`環境変数に含まれる全てのファイルの情報がまとめて表示されます。`config-demo-2`ファイルに設定された`dev-ramp-up`コンテキストの情報と、`config-demo`ファイルに設定された三つのコンテキストの情報がまとめてあることに注目してください: ```shell contexts: From 1703f94241cc68650443ef8b38305d1e981166b0 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 13:31:02 +0900 Subject: [PATCH 270/533] Update content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md Co-authored-by: inductor(Kohei) --- .../service-access-application-cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md b/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md index b6e346bd83..a2d31896db 100644 --- a/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md +++ b/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md @@ -37,7 +37,7 @@ weight: 60 {{< codenew file="service/access/hello-application.yaml" >}} 1. クラスタでHello Worldアプリケーションを稼働させます: - 上記のファイルを使用し、アプリケーションDeploymentを作成します: + 上記のファイルを使用し、アプリケーションのDeploymentを作成します: ```shell kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml ``` From 7160e01209c6a38d7241bd073255ad87a2177c35 Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Fri, 5 Jun 2020 13:44:43 +0900 Subject: [PATCH 271/533] update uncomfortable translation --- content/ja/docs/tasks/tools/install-minikube.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 161dc26825..3e8d125d60 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -237,8 +237,7 @@ apiserver: Running kubeconfig: Configured ``` -選択したハイパーバイザーでMinikubeが動作しているか確認した後は、Minikubeを使い続けるか、クラスターを停止できます。クラスター -を停止するためには、次を実行してください。 +選択したハイパーバイザーでMinikubeが動作しているか確認した後は、そのままMinikubeを使い続けることもできます。また、クラスターを停止することもできます。クラスターを停止するためには、次を実行してください。 ```shell minikube stop From 5b0eb965076e06ae2c16ba0ed2aefe24f93c7b29 Mon Sep 17 00:00:00 2001 From: hiyokotaisa Date: Fri, 5 Jun 2020 14:31:34 +0900 Subject: [PATCH 272/533] Update content/ja/docs/concepts/storage/persistent-volumes.md Co-authored-by: inductor(Kohei) --- content/ja/docs/concepts/storage/persistent-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index 73fa76bedd..ef1f6b01a6 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -54,7 +54,7 @@ APIサーバーのコマンドラインフラグの詳細については[kube-ap ### バインディング -ユーザは、特定のサイズのストレージとアクセスモードを指定した上でPersistentVolumeClaimを作成します(動的プロビジョニングの場合は、すでに作られています)。マスター内のコントロールループは、新しく作られるPVCをウォッチして、それにマッチするPVが見つかったときに、それらを紐付けます。PVが新しいPVC用に動的プロビジョニングされた場合、コントロールループは常にPVをそのPVCに紐付けます。そうでない場合、ユーザーは常に少なくとも要求したサイズ以上のボリュームを取得しますが、ボリュームは要求されたサイズを超えている可能性があります。一度紐付けされると、どのように紐付けられたかに関係なくPersistentVolumeClaimの紐付けは排他的(決められた特定のPVとしか結びつかない状態)になります。PVCからPVへの紐付けは1対1で、ClaimRefを使用したPersistentVolumeとPersistentVolumeClaim間の双方向の紐付けです。 +ユーザは、特定のサイズのストレージとアクセスモードを指定した上でPersistentVolumeClaimを作成します(動的プロビジョニングの場合は、すでに作られています)。マスター内のコントロールループは、新しく作られるPVCをウォッチして、それにマッチするPVが見つかったときに、それらを紐付けます。PVが新しいPVC用に動的プロビジョニングされた場合、コントロールループは常にPVをそのPVCに紐付けます。そうでない場合、ユーザーは常に少なくとも要求したサイズ以上のボリュームを取得しますが、ボリュームは要求されたサイズを超えている可能性があります。一度紐付けされると、どのように紐付けられたかに関係なくPersistentVolumeClaimの紐付けは排他的(決められた特定のPVとしか結びつかない状態)になります。PVCからPVへの紐付けは、PersistentVolumeとPersistentVolumeClaim間の双方向の紐付けであるClaimRefを使用した1対1のマッピングになっています。 一致するボリュームが存在しない場合、クレームはいつまでも紐付けされないままになります。一致するボリュームが利用可能になると、クレームがバインドされます。たとえば、50GiのPVがいくつもプロビジョニングされているクラスターだとしても、100Giを要求するPVCとは一致しません。100GiのPVがクラスターに追加されると、PVCを紐付けできます。 From e0eed19740e7369eecffafc7210b30902e022610 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:41:14 +0900 Subject: [PATCH 273/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 2c26e33fff..b69b358871 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -139,7 +139,7 @@ users: 証明書ファイルのパスの代わりにbase64にエンコードされたデータを使用したい場合は、キーに`-data`の接尾辞を加えてください。例えば、`certificate-authority-data`、`client-certificate-data`、`client-key-data`とできます。 -それぞれのコンテキストは、クラスター、ユーザー、namespaceの三つ組からなっています。例えば、`dev-frontend`コンテキストは、`developer`ユーザーの認証情報を使って`development`クラスターの`frontend`namespaceへのアクセスを意味しています。 +それぞれのコンテキストは、クラスター、ユーザー、namespaceの三つ組からなっています。例えば、`dev-frontend`は、`developer`ユーザーの認証情報を使って`development`クラスターの`frontend`namespaceへのアクセスを意味しています。 現在のコンテキストを設定してください: @@ -334,4 +334,4 @@ $Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED * [kubeconfigファイルを使ってクラスターへのアクセスを管理する](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} \ No newline at end of file +{{% /capture %}} From 0bfd7e55cfcb3dadfc7932a0adb98996dd2705a0 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:41:39 +0900 Subject: [PATCH 274/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index b69b358871..4439bc6cce 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -147,7 +147,7 @@ users: kubectl config --kubeconfig=config-demo use-context dev-frontend ``` -これ以降実行される`kubectl`コマンドは、`dev-frontend`コンテキストに設定されたクラスターとnamespaceに適用されます。また、`dev-frontend`コンテキストに設定されたユーザーの認証情報を使用します。 +これ以降実行される`kubectl`コマンドは、`dev-frontend`に設定されたクラスターとnamespaceに適用されます。また、`dev-frontend`に設定されたユーザーの認証情報を使用します。 現在のコンテキストの設定情報のみを確認するには、`--minify`フラグを使用してください。 From f655d9cbfc5d281cf35678f4a6a5fd72de158c13 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:41:48 +0900 Subject: [PATCH 275/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 4439bc6cce..537746b15d 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -155,7 +155,7 @@ kubectl config --kubeconfig=config-demo use-context dev-frontend kubectl config --kubeconfig=config-demo view --minify ``` -出力には、`dev-frontend`コンテキストの設定情報が表示されます: +出力には、`dev-frontend`の設定情報が表示されます: ```shell apiVersion: v1 From ff41b4d049089529a97195d470336e3613e2d2ad Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:41:56 +0900 Subject: [PATCH 276/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 537746b15d..6becb6ba33 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -188,7 +188,7 @@ users: kubectl config --kubeconfig=config-demo use-context exp-scratch ``` -これ以降実行される`kubectl`コマンドは、`scratch`クラスター内のデフォルトnamespaceに適用されます。また、`exp-scratch`コンテキストに設定されたユーザーの認証情報を使用します。 +これ以降実行される`kubectl`コマンドは、`scratch`クラスター内のデフォルトnamespaceに適用されます。また、`exp-scratch`に設定されたユーザーの認証情報を使用します。 新しく切り替えた`exp-scratch`コンテキストの設定を確認してください。 From 08740da815c09d7b3deb5af32f4582a47e361b84 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:42:09 +0900 Subject: [PATCH 277/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 6becb6ba33..a44de63779 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -190,7 +190,7 @@ kubectl config --kubeconfig=config-demo use-context exp-scratch これ以降実行される`kubectl`コマンドは、`scratch`クラスター内のデフォルトnamespaceに適用されます。また、`exp-scratch`に設定されたユーザーの認証情報を使用します。 -新しく切り替えた`exp-scratch`コンテキストの設定を確認してください。 +新しく切り替えた`exp-scratch`の設定を確認してください。 ```shell kubectl config --kubeconfig=config-demo view --minify From 77838dbd2e5600745a5709d3d3402e0274a22178 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:42:15 +0900 Subject: [PATCH 278/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index a44de63779..9b24c07c1e 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -204,7 +204,7 @@ kubectl config --kubeconfig=config-demo view --minify kubectl config --kubeconfig=config-demo use-context dev-storage ``` -新しく切り替えた`dev-storage`コンテキストの設定を確認してください。 +新しく切り替えた`dev-storage`の設定を確認してください。 ```shell kubectl config --kubeconfig=config-demo view --minify From cbd20f482c8c832ce1eb04c4970a02965968a6c8 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:42:39 +0900 Subject: [PATCH 279/533] Update content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md Co-authored-by: inductor(Kohei) --- .../configure-access-multiple-clusters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 9b24c07c1e..eb040b3eb9 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -261,7 +261,7 @@ $Env:KUBECONFIG=("config-demo;config-demo-2") kubectl config view ``` -出力には、`KUBECONFIG`環境変数に含まれる全てのファイルの情報がまとめて表示されます。`config-demo-2`ファイルに設定された`dev-ramp-up`コンテキストの情報と、`config-demo`ファイルに設定された三つのコンテキストの情報がまとめてあることに注目してください: +出力には、`KUBECONFIG`環境変数に含まれる全てのファイルの情報がまとめて表示されます。`config-demo-2`ファイルに設定された`dev-ramp-up`の情報と、`config-demo`に設定された三つのコンテキストの情報がまとめてあることに注目してください: ```shell contexts: From e8fd2ebad471bc8fd31376e099de4860eb3d86da Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Fri, 5 Jun 2020 17:07:51 +0900 Subject: [PATCH 280/533] fix wording --- .../ja/docs/concepts/overview/working-with-objects/labels.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index 255d039041..b1160d440c 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -59,7 +59,7 @@ _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキ 正しいラベル値は63文字以下の長さで、空文字か、もしくは開始と終了が英数字(`[a-z0-9A-Z]`)で、文字列の間がダッシュ(`-`)、アンダースコア(`_`)、ドット(`.`)と英数字である文字列を使うことができます。 -例えば、`environment: production`と`app: nginx`の2つのラベルを持つPodのconfigファイルは下記のようになります。 +例えば、`environment: production`と`app: nginx`の2つのラベルを持つPodの設定ファイルは下記のようになります。 ```yaml @@ -98,7 +98,7 @@ ReplicaSetなど、いくつかのAPIタイプにおいて、2つのインスタ {{< /note >}} {{< caution >}} -等価ベース、集合ベースともに、論理OR (`||`) オペレーターは存在しません。フィルターステートメントが構造化されていることを適宜確認してください。 +等価ベース、集合ベースともに、論理OR (`||`) オペレーターは存在しません。フィルターステートメントが意図した通りになっていることを確認してください。 {{< /caution >}} ### *等価ベース(Equality-based)* の要件(requirement) From bee08c56f2cac9b785f5a2b8c1522ef8d74eb17c Mon Sep 17 00:00:00 2001 From: Ryoko Tominaga Date: Fri, 5 Jun 2020 17:09:36 +0900 Subject: [PATCH 281/533] fix URLs --- .../ja/docs/concepts/overview/working-with-objects/labels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index b1160d440c..3a5cf6f7eb 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -198,7 +198,7 @@ kubectl get pods -l 'environment,environment notin (frontend)' ``` ### APIオブジェクトに参照を設定する -[`Service`](/ja/docs/user-guide/services) と [`ReplicationController`](/docs/user-guide/replication-controller)のような、いくつかのKubernetesオブジェクトでは、ラベルセレクターを[Pod](/docs/user-guide/pods)のような他のリソースのセットを指定するのにも使われます。 +[`Service`](/ja/docs/concepts/services-networking/service/) と [`ReplicationController`](/docs/concepts/workloads/controllers/replicationcontroller/)のような、いくつかのKubernetesオブジェクトでは、ラベルセレクターを[Pod](/ja/docs/concepts/workloads/pods/pod/)のような他のリソースのセットを指定するのにも使われます。 #### ServiceとReplicationController `Service`が対象とするPodの集合は、ラベルセレクターによって定義されます。 From d1352337a5aa591d243421164a580990a389462b Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 17:55:33 +0900 Subject: [PATCH 282/533] Update field-selectors.md for v1.17 --- .../concepts/overview/working-with-objects/field-selectors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md b/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md index 3247f1b8da..ddf947212d 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md +++ b/content/ja/docs/concepts/overview/working-with-objects/field-selectors.md @@ -43,7 +43,7 @@ Error from server (BadRequest): Unable to find "ingresses" that match label sele 例として、下記の`kubectl`コマンドは`default`ネームスペースに属していない全てのKubernetes Serviceを選択します。 ```shell -kubectl get services --field-selector metadata.namespace!=default +kubectl get services --all-namespaces --field-selector metadata.namespace!=default ``` ## 連結されたセレクター @@ -51,7 +51,7 @@ kubectl get services --field-selector metadata.namespace!=default 下記の`kubectl`コマンドは、`status.phase`が`Runnning`でなく、かつ`spec.restartPolicy`フィールドが`Always`に等しいような全てのPodを選択します。 ```shell -kubectl get pods --field-selector=status.phase!=Running,spec.restartPolicy=Always +kubectl get statefulsets,services --all-namespaces --field-selector metadata.namespace!=default ``` ## 複数のリソースタイプ From 5ed0d961060ec4a7ece1fe65ed0099f0bef06aa1 Mon Sep 17 00:00:00 2001 From: Raoni Timo de Castro Cambiaghi Date: Fri, 5 Jun 2020 19:07:19 +1000 Subject: [PATCH 283/533] Fixing broken link to Certificate Management with kubeadm A missing '/' on the link will lead to a 404 error. Fixing it. --- .../docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index f0368ecaf9..20e4a2ab57 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -148,7 +148,7 @@ Find the latest stable 1.18 version: {{< note >}} `kubeadm upgrade` also automatically renews the certificates that it manages on this node. To opt-out of certificate renewal the flag `--certificate-renewal=false` can be used. -For more information see the [certificate management guide](/docs/tasks/administer-cluster/kubeadmkubeadm-certs). +For more information see the [certificate management guide](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs). {{}} - Choose a version to upgrade to, and run the appropriate command. For example: @@ -441,4 +441,4 @@ and post-upgrade manifest file for a certain component, a backup file for it wil `kubeadm upgrade node` does the following on worker nodes: - Fetches the kubeadm `ClusterConfiguration` from the cluster. -- Upgrades the kubelet configuration for this node. \ No newline at end of file +- Upgrades the kubelet configuration for this node. From d4028abb9c2c953a045cfff0557d0e803cd3c8fb Mon Sep 17 00:00:00 2001 From: YukiKasuya Date: Fri, 5 Jun 2020 18:41:31 +0900 Subject: [PATCH 284/533] add hello-application.yaml file under ja directory --- .../service/access/hello-application.yaml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 content/ja/examples/service/access/hello-application.yaml diff --git a/content/ja/examples/service/access/hello-application.yaml b/content/ja/examples/service/access/hello-application.yaml new file mode 100644 index 0000000000..1cf41313c5 --- /dev/null +++ b/content/ja/examples/service/access/hello-application.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hello-world +spec: + selector: + matchLabels: + run: load-balancer-example + replicas: 2 + template: + metadata: + labels: + run: load-balancer-example + spec: + containers: + - name: hello-world + image: gcr.io/google-samples/node-hello:1.0 + ports: + - containerPort: 8080 + protocol: TCP From b9b688828361e57219b8d66ff6801bb0abda10ee Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 19:03:53 +0900 Subject: [PATCH 285/533] Update dns-pod-service.md for v1.17 --- .../services-networking/dns-pod-service.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/dns-pod-service.md b/content/ja/docs/concepts/services-networking/dns-pod-service.md index 2700b92ea8..1a5cf81e45 100644 --- a/content/ja/docs/concepts/services-networking/dns-pod-service.md +++ b/content/ja/docs/concepts/services-networking/dns-pod-service.md @@ -27,11 +27,11 @@ Kubernetesの`bar`というネームスペース内で`foo`という名前のSer ## Service {#services} -### Aレコード +### A/AAAAレコード -"通常の"(Headlessでない)Serviceは、`my-svc.my-namespace.svc.cluster.local`という形式のDNS Aレコードを割り当てられます。このAレコードはそのServiceのClusterIPへと名前解決されます。 +"通常の"(Headlessでない)Serviceは、`my-svc.my-namespace.svc.cluster.local`という形式のDNS A(AAAA)レコードを割り当てられます。このAレコードはそのServiceのClusterIPへと名前解決されます。 -"Headless"(ClusterIPなしの)Serviceもまた`my-svc.my-namespace.svc.cluster.local`という形式のDNS Aレコードを割り当てられます。通常のServiceとは異なり、このAレコードはServiceによって選択されたPodのIPの一覧へと名前解決されます。クライアントはこの一覧のIPを使うか、その一覧から標準のラウンドロビン方式によって選択されたIPを使います… +"Headless"(ClusterIPなしの)Serviceもまた`my-svc.my-namespace.svc.cluster.local`という形式のDNS A(AAAA)レコードを割り当てられます。通常のServiceとは異なり、このレコードはServiceによって選択されたPodのIPの一覧へと名前解決されます。クライアントはこの一覧のIPを使うか、その一覧から標準のラウンドロビン方式によって選択されたIPを使います。 ### SRVレコード @@ -42,12 +42,6 @@ Headless Serviceに対しては、このSRVレコードは複数の結果を返 ## Pod -### Aレコード - -DNSが有効なとき、Podは"`pod-ip-address.my-namespace.pod.cluster.local`"という形式のAレコードを割り当てられます。 - -例えば、`default`ネームスペース内で`cluster.local`というDNS名を持ち、`1.2.3.4`というIPを持ったPodは次の形式のエントリーを持ちます。: `1-2-3-4.default.pod.cluster.local`。 - ### Podのhostnameとsubdomainフィールド 現在、Podが作成されたとき、そのPodのホスト名はPodの`metadata.name`フィールドの値となります。 @@ -105,13 +99,13 @@ spec: name: busybox ``` -もしそのPodと同じネームスペース内で、同じサブドメインを持ったHeadless Serviceが存在していた場合、クラスターのKubeDNSサーバーもまた、そのPodの完全修飾ドメイン名(FQDN)に対するAレコードを返します。 -例えば、"`busybox-1`"というホスト名で、"`default-subdomain`"というサブドメインを持ったPodと、そのPodと同じネームスペース内にある"`default-subdomain`"という名前のHeadless Serviceがあると考えると、そのPodは自身の完全修飾ドメイン名(FQDN)を"`busybox-1.default-subdomain.my-namespace.svc.cluster.local`"として扱います。DNSはそのPodのIPを指し示すAレコードを返します。"`busybox1`"と"`busybox2`"の両方のPodはそれぞれ独立したAレコードを持ちます。 +もしそのPodと同じネームスペース内で、同じサブドメインを持ったHeadless Serviceが存在していた場合、クラスターのDNSサーバーもまた、そのPodの完全修飾ドメイン名(FQDN)に対するA(AAAA)レコードを返します。 +例えば、"`busybox-1`"というホスト名で、"`default-subdomain`"というサブドメインを持ったPodと、そのPodと同じネームスペース内にある"`default-subdomain`"という名前のHeadless Serviceがあると考えると、そのPodは自身の完全修飾ドメイン名(FQDN)を"`busybox-1.default-subdomain.my-namespace.svc.cluster.local`"として扱います。DNSはサービスのIPバージョンに応じてそのPodのIPを指し示すA(AAAA)レコードを返します。"`busybox1`"と"`busybox2`"の両方のPodはそれぞれ独立したA(AAAA)レコードを持ちます。 そのエンドポイントオブジェクトはそのIPに加えて`hostname`を任意のエンドポイントアドレスに対して指定できます。 {{< note >}} -AレコードはPodの名前に対して作成されないため、`hostname`はPodのAレコードが作成されるために必須となります。`hostname`を持たないが`subdomain`を持つようなPodは、そのPodのIPアドレスを指し示すHeadless Service(`default-subdomain.my-namespace.svc.cluster.local`)に対するAレコードのみ作成します。 +A(AAAA)レコードはPodの名前に対して作成されないため、`hostname`はPodのA(AAAA)レコードが作成されるために必須となります。`hostname`を持たないが`subdomain`を持つようなPodは、そのPodのIPアドレスを指し示すHeadless Service(`default-subdomain.my-namespace.svc.cluster.local`)に対するA(AAAA)レコードのみ作成します。 {{< /note >}} ### PodのDNSポリシー From 698f77cfbce1a511528cfef966298f0ec333623f Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 19:38:35 +0900 Subject: [PATCH 286/533] Update _index.md for v1.17 --- content/ja/docs/setup/_index.md | 63 ++------------------------------- 1 file changed, 2 insertions(+), 61 deletions(-) diff --git a/content/ja/docs/setup/_index.md b/content/ja/docs/setup/_index.md index 0508e24afa..aa28e4d2d3 100644 --- a/content/ja/docs/setup/_index.md +++ b/content/ja/docs/setup/_index.md @@ -37,77 +37,18 @@ Kubernetesについて学んでいる場合、Dockerベースのソリューシ |コミュニティ |エコシステム | | ------------ | -------- | | [Minikube](/ja/docs/setup/learning-environment/minikube/) | [CDK on LXD](https://www.ubuntu.com/kubernetes/docs/install-local) | -| [kind (Kubernetes IN Docker)](https://github.com/kubernetes-sigs/kind) | [Docker Desktop](https://www.docker.com/products/docker-desktop)| +| [kind (Kubernetes IN Docker)](/docs/setup/learning-environment/kind/) | [Docker Desktop](https://www.docker.com/products/docker-desktop)| | | [Minishift](https://docs.okd.io/latest/minishift/)| | | [MicroK8s](https://microk8s.io/)| | | [IBM Cloud Private-CE (Community Edition)](https://github.com/IBM/deploy-ibm-cloud-private) | | | [IBM Cloud Private-CE (Community Edition) on Linux Containers](https://github.com/HSBawa/icp-ce-on-linux-containers)| | | [k3s](https://k3s.io)| -| | [Ubuntu on LXD](/docs/getting-started-guides/ubuntu/)| ## 本番環境 本番環境用のソリューションを評価する際には、Kubernetesクラスター(または抽象レイヤ)の運用においてどの部分を自分で管理し、どの部分をプロバイダーに任せるのかを考慮してください。 -Kubernetesクラスタにおける抽象レイヤには {{< glossary_tooltip text="アプリケーション" term_id="applications" >}}、 {{< glossary_tooltip text="データプレーン" term_id="data-plane" >}}、 {{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}、 {{< glossary_tooltip text="クラスターインフラ" term_id="cluster-infrastructure" >}}、 {{< glossary_tooltip text="そして、クラスター運用" term_id="cluster-operations" >}}があります。 - -次の図は、Kubernetesクラスターの抽象レイヤ一覧と、それぞれの抽象レイヤを自分で管理するのか、プロバイダによって管理されているのかを示しています。 - -本番環境のソリューション![Production environment solutions](/images/docs/KubernetesSolutions.svg) - -{{< table caption="Production environment solutions table lists the providers and the solutions." >}} -次の表は、各プロバイダーとそれらが提供するソリューションを一覧にしたものです。 - -|プロバイダー | マネージド | 即時利用可能 | オンプレDC | カスタム(クラウド) | カスタム(オンプレVM)| カスタム(ベアメタル) | -| --------- | ------ | ------ | ------ | ------ | ------ | ----- | -| [Agile Stacks](https://www.agilestacks.com/products/kubernetes)| | ✔ | ✔ | | | -| [Alibaba Cloud](https://www.alibabacloud.com/product/kubernetes)| | ✔ | | | | -| [Amazon](https://aws.amazon.com) | [Amazon EKS](https://aws.amazon.com/eks/) |[Amazon EC2](https://aws.amazon.com/ec2/) | | | | -| [AppsCode](https://appscode.com/products/pharmer/) | ✔ | | | | | -| [APPUiO](https://appuio.ch/)  | ✔ | ✔ | ✔ | | | | -| [Banzai Cloud Pipeline Kubernetes Engine (PKE)](https://banzaicloud.com/products/pke/) | | ✔ | | ✔ | ✔ | ✔ | -| [CenturyLink Cloud](https://www.ctl.io/) | | ✔ | | | | -| [Cisco Container Platform](https://cisco.com/go/containers) | | | ✔ | | | -| [Cloud Foundry Container Runtime (CFCR)](https://docs-cfcr.cfapps.io/) | | | | ✔ |✔ | -| [CloudStack](https://cloudstack.apache.org/) | | | | | ✔| -| [Canonical](https://ubuntu.com/kubernetes) | ✔ | ✔ | ✔ | ✔ |✔ | ✔ -| [Containership](https://containership.io) | ✔ |✔ | | | | -| [D2iQ](https://d2iq.com/) | | [Kommander](https://d2iq.com/solutions/ksphere) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | -| [Digital Rebar](https://provision.readthedocs.io/en/tip/README.html) | | | | | | ✔ -| [DigitalOcean](https://www.digitalocean.com/products/kubernetes/) | ✔ | | | | | -| [Docker Enterprise](https://www.docker.com/products/docker-enterprise) | |✔ | ✔ | | | ✔ -| [Fedora (Multi Node)](https://kubernetes.io/docs/getting-started-guides/fedora/flannel_multi_node_cluster/)  | | | | | ✔ | ✔ -| [Fedora (Single Node)](https://kubernetes.io/docs/getting-started-guides/fedora/fedora_manual_config/)  | | | | | | ✔ -| [Gardener](https://gardener.cloud/) | ✔ | ✔ | ✔ | ✔ | ✔ | [Custom Extensions](https://github.com/gardener/gardener/blob/master/docs/extensions/overview.md) | -| [Giant Swarm](https://www.giantswarm.io/) | ✔ | ✔ | ✔ | | -| [Google](https://cloud.google.com/) | [Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine/) | [Google Compute Engine (GCE)](https://cloud.google.com/compute/)|[GKE On-Prem](https://cloud.google.com/gke-on-prem/) | | | | | | | | -| [IBM](https://www.ibm.com/in-en/cloud) | [IBM Cloud Kubernetes Service](https://cloud.ibm.com/kubernetes/catalog/cluster)| |[IBM Cloud Private](https://www.ibm.com/in-en/cloud/private) | | -| [Ionos](https://www.ionos.com/enterprise-cloud) | [Ionos Managed Kubernetes](https://www.ionos.com/enterprise-cloud/managed-kubernetes) | [Ionos Enterprise Cloud](https://www.ionos.com/enterprise-cloud) | | -| [Kontena Pharos](https://www.kontena.io/pharos/) | |✔| ✔ | | | -| [KubeOne](https://kubeone.io/) | | ✔ | ✔ | ✔ | ✔ | ✔ | -| [Kubermatic](https://kubermatic.io/) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [KubeSail](https://kubesail.com/) | ✔ | | | | | -| [Kubespray](https://kubespray.io/#/) | | | |✔ | ✔ | ✔ | -| [Kublr](https://kublr.com/) |✔ | ✔ |✔ |✔ |✔ |✔ | -| [Microsoft Azure](https://azure.microsoft.com) | [Azure Kubernetes Service (AKS)](https://azure.microsoft.com/en-us/services/kubernetes-service/) | | | | | -| [Mirantis Cloud Platform](https://www.mirantis.com/software/kubernetes/) | | | ✔ | | | -| [Nirmata](https://www.nirmata.com/) | | ✔ | ✔ | | | -| [Nutanix](https://www.nutanix.com/en) | [Nutanix Karbon](https://www.nutanix.com/products/karbon) | [Nutanix Karbon](https://www.nutanix.com/products/karbon) | | | [Nutanix AHV](https://www.nutanix.com/products/acropolis/virtualization) | -| [OpenNebula](https://www.opennebula.org) |[OpenNebula Kubernetes](https://marketplace.opennebula.systems/docs/service/kubernetes.html) | | | | | -| [OpenShift](https://www.openshift.com) |[OpenShift Dedicated](https://www.openshift.com/products/dedicated/) and [OpenShift Online](https://www.openshift.com/products/online/) | | [OpenShift Container Platform](https://www.openshift.com/products/container-platform/) | | [OpenShift Container Platform](https://www.openshift.com/products/container-platform/) |[OpenShift Container Platform](https://www.openshift.com/products/container-platform/) -| [Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)](https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm) | ✔ | ✔ | | | | -| [oVirt](https://www.ovirt.org/) | | | | | ✔ | -| [Pivotal](https://pivotal.io/) | | [Enterprise Pivotal Container Service (PKS)](https://pivotal.io/platform/pivotal-container-service) | [Enterprise Pivotal Container Service (PKS)](https://pivotal.io/platform/pivotal-container-service) | | | -| [Platform9](https://platform9.com/) | [Platform9 Managed Kubernetes](https://platform9.com/managed-kubernetes/) | | [Platform9 Managed Kubernetes](https://platform9.com/managed-kubernetes/) | ✔ | ✔ | ✔ -| [Rancher](https://rancher.com/) | | [Rancher 2.x](https://rancher.com/docs/rancher/v2.x/en/) | | [Rancher Kubernetes Engine (RKE)](https://rancher.com/docs/rke/latest/en/) | | [k3s](https://k3s.io/) -| [StackPoint](https://stackpoint.io/)  | ✔ | ✔ | | | | -| [Supergiant](https://supergiant.io/) | |✔ | | | | -| [SUSE](https://www.suse.com/) | | ✔ | | | | -| [SysEleven](https://www.syseleven.io/) | ✔ | | | | | -| [Tencent Cloud](https://intl.cloud.tencent.com/) | [Tencent Kubernetes Engine](https://intl.cloud.tencent.com/product/tke) | ✔ | ✔ | | | ✔ | -| [VEXXHOST](https://vexxhost.com/) | ✔ | ✔ | | | | -| [VMware](https://cloud.vmware.com/) | [VMware Cloud PKS](https://cloud.vmware.com/vmware-cloud-pks) |[VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | |[VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) -| [Z.A.R.V.I.S.](https://zarvis.ai/) | ✔ | | | | | | +[Certified Kubernetes](https://github.com/cncf/k8s-conformance/#certified-kubernetes)プロバイダーの一覧については、"[Partners](https://kubernetes.io/partners/#conformance)"を参照してください。 {{% /capture %}} From 443ba046faa3e358b1a5f619b992de3b6fd96450 Mon Sep 17 00:00:00 2001 From: Kento Yagisawa Date: Fri, 5 Jun 2020 23:08:41 +0900 Subject: [PATCH 287/533] modify the incorrect update --- .../ja/docs/concepts/services-networking/dns-pod-service.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/dns-pod-service.md b/content/ja/docs/concepts/services-networking/dns-pod-service.md index 1a5cf81e45..07d06a8edc 100644 --- a/content/ja/docs/concepts/services-networking/dns-pod-service.md +++ b/content/ja/docs/concepts/services-networking/dns-pod-service.md @@ -29,9 +29,9 @@ Kubernetesの`bar`というネームスペース内で`foo`という名前のSer ### A/AAAAレコード -"通常の"(Headlessでない)Serviceは、`my-svc.my-namespace.svc.cluster.local`という形式のDNS A(AAAA)レコードを割り当てられます。このAレコードはそのServiceのClusterIPへと名前解決されます。 +"通常の"(Headlessでない)Serviceは、`my-svc.my-namespace.svc.cluster.local`という形式のDNS A(AAAA)レコードを、ServiceのIPバージョンに応じて割り当てられます。このAレコードはそのServiceのClusterIPへと名前解決されます。 -"Headless"(ClusterIPなしの)Serviceもまた`my-svc.my-namespace.svc.cluster.local`という形式のDNS A(AAAA)レコードを割り当てられます。通常のServiceとは異なり、このレコードはServiceによって選択されたPodのIPの一覧へと名前解決されます。クライアントはこの一覧のIPを使うか、その一覧から標準のラウンドロビン方式によって選択されたIPを使います。 +"Headless"(ClusterIPなしの)Serviceもまた`my-svc.my-namespace.svc.cluster.local`という形式のDNS A(AAAA)レコードを、ServiceのIPバージョンに応じて割り当てられます。通常のServiceとは異なり、このレコードはServiceによって選択されたPodのIPの一覧へと名前解決されます。クライアントはこの一覧のIPを使うか、その一覧から標準のラウンドロビン方式によって選択されたIPを使います。 ### SRVレコード @@ -100,7 +100,7 @@ spec: ``` もしそのPodと同じネームスペース内で、同じサブドメインを持ったHeadless Serviceが存在していた場合、クラスターのDNSサーバーもまた、そのPodの完全修飾ドメイン名(FQDN)に対するA(AAAA)レコードを返します。 -例えば、"`busybox-1`"というホスト名で、"`default-subdomain`"というサブドメインを持ったPodと、そのPodと同じネームスペース内にある"`default-subdomain`"という名前のHeadless Serviceがあると考えると、そのPodは自身の完全修飾ドメイン名(FQDN)を"`busybox-1.default-subdomain.my-namespace.svc.cluster.local`"として扱います。DNSはサービスのIPバージョンに応じてそのPodのIPを指し示すA(AAAA)レコードを返します。"`busybox1`"と"`busybox2`"の両方のPodはそれぞれ独立したA(AAAA)レコードを持ちます。 +例えば、"`busybox-1`"というホスト名で、"`default-subdomain`"というサブドメインを持ったPodと、そのPodと同じネームスペース内にある"`default-subdomain`"という名前のHeadless Serviceがあると考えると、そのPodは自身の完全修飾ドメイン名(FQDN)を"`busybox-1.default-subdomain.my-namespace.svc.cluster.local`"として扱います。DNSはそのPodのIPを指し示すA(AAAA)レコードを返します。"`busybox1`"と"`busybox2`"の両方のPodはそれぞれ独立したA(AAAA)レコードを持ちます。 そのエンドポイントオブジェクトはそのIPに加えて`hostname`を任意のエンドポイントアドレスに対して指定できます。 From 2ba23bdb9ed04d3fe96eec4645cc5d11a177c9df Mon Sep 17 00:00:00 2001 From: hikkie3110 <3110hikaru326@gmail.com> Date: Fri, 5 Jun 2020 23:12:21 +0900 Subject: [PATCH 288/533] Update statefulset.md for v1.17 --- .../concepts/workloads/controllers/statefulset.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index dba8b807f7..f079d1821b 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -9,10 +9,6 @@ weight: 40 StatefulSetはステートフルなアプリケーションを管理するためのワークロードAPIです。 -{{< note >}} -StatefulSetはKubernetes1.9において利用可能(GA)です。 -{{< /note >}} - {{< glossary_definition term_id="statefulset" length="all" >}} {{% /capture %}} @@ -28,12 +24,11 @@ StatefulSetは下記の1つ以上の項目を要求するアプリケーショ * 規則的で自動化されたローリングアップデート 上記において安定とは、Podのスケジュール(または再スケジュール)をまたいでも永続的であることと同義です。 -もしアプリケーションが安定したネットワーク識別子と規則的なデプロイや削除、スケーリングを全く要求しない場合、ユーザーはステートレスなレプリカのセットを提供するコントローラーを使ってアプリケーションをデプロイするべきです。 +もしアプリケーションが安定したネットワーク識別子と規則的なデプロイや削除、スケーリングを全く要求しない場合、ユーザーはステートレスなレプリカのセットを提供するワークロードを使ってアプリケーションをデプロイするべきです。 [Deployment](/ja/docs/concepts/workloads/controllers/deployment/)や[ReplicaSet](/ja/docs/concepts/workloads/controllers/replicaset/)のようなコントローラーはこのようなステートレスな要求に対して最適です。 ## 制限事項 -* StatefuleSetはKubernetes1.9より以前のバージョンではβ版のリソースであり、1.5より前のバージョンでは利用できません。 * 提供されたPodのストレージは、要求された`storage class`にもとづいて[PersistentVolume Provisioner](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/staging/persistent-volume-provisioning/README.md)によってプロビジョンされるか、管理者によって事前にプロビジョンされなくてはなりません。 * StatefulSetの削除もしくはスケールダウンをすることにより、StatefulSetに関連したボリュームは削除*されません* 。 これはデータ安全性のためで、関連するStatefulSetのリソース全てを自動的に削除するよりもたいてい有効です。 * StatefulSetは現在、Podのネットワークアイデンティティーに責務をもつために[Headless Service](/ja/docs/concepts/services-networking/service/#headless-service)を要求します。ユーザーはこのServiceを作成する責任があります。 @@ -100,6 +95,7 @@ spec: * nginxという名前のHeadlessServiceは、ネットワークドメインをコントロールするために使われます。 * webという名前のStatefulSetは、specで3つのnginxコンテナのレプリカを持ち、そのコンテナはそれぞれ別のPodで稼働するように設定されています。 * volumeClaimTemplatesは、PersistentVolumeプロビジョナーによってプロビジョンされた[PersistentVolume](/docs/concepts/storage/persistent-volumes/)を使って安定したストレージを提供します。 +* StatefulSetの名前は有効な[名前](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 ## Podセレクター ユーザーは、StatefulSetの`.spec.template.metadata.labels`のラベルと一致させるため、StatefulSetの`.spec.selector`フィールドをセットしなくてはなりません。Kubernetes1.8以前では、`.spec.selector`フィールドは省略された場合デフォルト値になります。Kubernetes1.8とそれ以降のバージョンでは、ラベルに一致するPodセレクターの指定がない場合はStatefulSetの作成時にバリデーションエラーになります。 @@ -142,7 +138,7 @@ Kubernetesは各VolumeClaimTemplateに対して、1つの[PersistentVolume](/doc ### Podのネームラベル -StatefulSetのコントローラーがPodを作成したとき、Podの名前として、`statefulset.kubernetes.io/pod-name`にラベルを追加します。このラベルによってユーザーはServiceにStatefulSet内の指定したPodを割り当てることができます。 +StatefulSet {{< glossary_tooltip term_id="controller" >}} がPodを作成したとき、Podの名前として、`statefulset.kubernetes.io/pod-name`にラベルを追加します。このラベルによってユーザーはServiceにStatefulSet内の指定したPodを割り当てることができます。 ## デプロイとスケーリングの保証 @@ -199,6 +195,7 @@ Kubernetes1.7とそれ以降のバージョンにおいて、StatefulSetの`.spe * [ステートフルなアプリケーションのデプロイ](/docs/tutorials/stateful-application/basic-stateful-set/)の例を参考にしてください。 * [StatefulSetを使ったCassandraのデプロイ](/docs/tutorials/stateful-application/cassandra/)の例を参考にしてください。 +* [レプリカを持つステートフルアプリケーションを実行する](/docs/tasks/run-application/run-replicated-stateful-application/)の例を参考にしてください。 {{% /capture %}} From 39339c96bedc79197f6aa10ee38e54dcee16be7a Mon Sep 17 00:00:00 2001 From: hikkie3110 <3110hikaru326@gmail.com> Date: Fri, 5 Jun 2020 23:35:12 +0900 Subject: [PATCH 289/533] Update content/ja/docs/concepts/workloads/controllers/statefulset.md Co-authored-by: inductor(Kohei) --- content/ja/docs/concepts/workloads/controllers/statefulset.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index f079d1821b..311dd663dc 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -138,7 +138,7 @@ Kubernetesは各VolumeClaimTemplateに対して、1つの[PersistentVolume](/doc ### Podのネームラベル -StatefulSet {{< glossary_tooltip term_id="controller" >}} がPodを作成したとき、Podの名前として、`statefulset.kubernetes.io/pod-name`にラベルを追加します。このラベルによってユーザーはServiceにStatefulSet内の指定したPodを割り当てることができます。 +StatefulSet {{< glossary_tooltip text="コントローラー" term_id="controller" >}} がPodを作成したとき、Podの名前として、`statefulset.kubernetes.io/pod-name`にラベルを追加します。このラベルによってユーザーはServiceにStatefulSet内の指定したPodを割り当てることができます。 ## デプロイとスケーリングの保証 @@ -198,4 +198,3 @@ Kubernetes1.7とそれ以降のバージョンにおいて、StatefulSetの`.spe * [レプリカを持つステートフルアプリケーションを実行する](/docs/tasks/run-application/run-replicated-stateful-application/)の例を参考にしてください。 {{% /capture %}} - From eabda5beb94986bc1b177a994f1ac82045f5895b Mon Sep 17 00:00:00 2001 From: akitok Date: Sat, 6 Jun 2020 03:20:34 +0900 Subject: [PATCH 290/533] Update /docs/tasks/configure-pod-container/quality-service-pod/ follow v1.17 of the original text --- .../docs/tasks/configure-pod-container/quality-service-pod.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md index 346ce57a92..f21ac9d680 100644 --- a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md @@ -231,7 +231,7 @@ kubectl delete namespace qos-example * [コンテナおよびPodへのメモリーリソースの割り当て](/ja/docs/tasks/configure-pod-container/assign-memory-resource/) -* [コンテナとPodにCPUリソースを割り当てる](/docs/tasks/configure-pod-container/assign-cpu-resource/) +* [コンテナとPodにCPUリソースを割り当てる](/ja/docs/tasks/configure-pod-container/assign-cpu-resource/) ### クラスター管理者向け @@ -248,6 +248,8 @@ kubectl delete namespace qos-example * [NamespaceにPodのクォータを設定する](/docs/tasks/administer-cluster/quota-pod-namespace/) * [APIオブジェクトのクォータを設定する](/docs/tasks/administer-cluster/quota-api-object/) + +* [ノードのトポロジー管理ポリシーを制御する](/docs/tasks/administer-cluster/topology-manager/) {{% /capture %}} From 1743f9980813efccfa003466db6e641f6e345adf Mon Sep 17 00:00:00 2001 From: Zhi Feng Date: Sat, 2 May 2020 12:38:07 -0700 Subject: [PATCH 291/533] Specify verbs in admission controller doc --- .../access-authn-authz/admission-controllers.md | 2 ++ .../access-authn-authz/controlling-access.md | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/content/en/docs/reference/access-authn-authz/admission-controllers.md b/content/en/docs/reference/access-authn-authz/admission-controllers.md index a19d492d54..3b849be98c 100644 --- a/content/en/docs/reference/access-authn-authz/admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/admission-controllers.md @@ -32,6 +32,8 @@ which are configured in the API. Admission controllers may be "validating", "mutating", or both. Mutating controllers may modify the objects they admit; validating controllers may not. +Admission controllers limit requests to create, delete, modify or connect to (proxy). They do not support read requests. + The admission control process proceeds in two phases. In the first phase, mutating admission controllers are run. In the second phase, validating admission controllers are run. Note again that some of the controllers are diff --git a/content/en/docs/reference/access-authn-authz/controlling-access.md b/content/en/docs/reference/access-authn-authz/controlling-access.md index 21c08447ff..9a86509408 100644 --- a/content/en/docs/reference/access-authn-authz/controlling-access.md +++ b/content/en/docs/reference/access-authn-authz/controlling-access.md @@ -63,9 +63,9 @@ users in its object store. ## Authorization -After the request is authenticated as coming from a specific user, the request must be authorized. This is shown as step **2** in the diagram. +After the request is authenticated as coming from a specific user, the request must be authorized. This is shown as step **2** in the diagram. -A request must include the username of the requester, the requested action, and the object affected by the action. The request is authorized if an existing policy declares that the user has permissions to complete the requested action. +A request must include the username of the requester, the requested action, and the object affected by the action. The request is authorized if an existing policy declares that the user has permissions to complete the requested action. For example, if Bob has the policy below, then he can read pods only in the namespace `projectCaribou`: @@ -97,7 +97,7 @@ If Bob makes the following request, the request is authorized because he is allo } } ``` -If Bob makes a request to write (`create` or `update`) to the objects in the `projectCaribou` namespace, his authorization is denied. If Bob makes a request to read (`get`) objects in a different namespace such as `projectFish`, then his authorization is denied. +If Bob makes a request to write (`create` or `update`) to the objects in the `projectCaribou` namespace, his authorization is denied. If Bob makes a request to read (`get`) objects in a different namespace such as `projectFish`, then his authorization is denied. Kubernetes authorization requires that you use common REST attributes to interact with existing organization-wide or cloud-provider-wide access control systems. It is important to use REST formatting because these control systems might interact with other APIs besides the Kubernetes API. @@ -110,10 +110,11 @@ To learn more about Kubernetes authorization, including details about creating p Admission Control Modules are software modules that can modify or reject requests. In addition to the attributes available to Authorization Modules, Admission -Control Modules can access the contents of the object that is being created or updated. -They act on objects being created, deleted, updated or connected (proxy), but not reads. +Control Modules can access the contents of the object that is being created or modified. -Multiple admission controllers can be configured. Each is called in order. +Admission controllers act on requests that create, modify, delete, or connect to (proxy) an object. +Admission controllers do not act on requests that merely read objects. +When multiple admission controllers are configured, they are called in order. This is shown as step **3** in the diagram. From 838d1b180cf75f8f4f0be1f1cb75beabf7c71ea2 Mon Sep 17 00:00:00 2001 From: "giri.kuncoro" Date: Sat, 6 Jun 2020 08:04:18 +0700 Subject: [PATCH 292/533] Localize liveness readiness startu probes page into Bahasa Indonesia --- ...igure-liveness-readiness-startup-probes.md | 374 ++++++++++++++++++ 1 file changed, 374 insertions(+) create mode 100644 content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md diff --git a/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md new file mode 100644 index 0000000000..231d235ed0 --- /dev/null +++ b/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -0,0 +1,374 @@ +--- +title: Mengatur Probe Liveness, Readiness dan Startup +content_template: templates/task +weight: 110 +--- + +{{% capture overview %}} + +Laman ini memperlihatkan bagaimana cara untuk mengatur _probe liveness_, _readiness_, dan +_startup_ untuk Container. + +[kubelet](/docs/admin/kubelet/) menggunakan _probe liveness_ untuk mengetahui +kapan perlu mengulang kembali (_restart_) sebuah Container. Sebagai contoh, _probe liveness_ +dapat mendeteksi _deadlock_, ketika aplikasi sedang berjalan tapi tidak dapat berfungsi dengan baik. +Mengulang Container dengan _state_ tersebut dapat membantu ketersediaan aplikasi lebih baik +walaupun ada kekutu (_bug_). + +kubelet menggunakan _probe readiness_ untuk mengetahui kapan sebuah Container telah siap untuk +menerima lalu lintas jaringan. Suatu Pod dianggap siap saat semua Container di dalamnya telah +siap. Sinyal ini berguna untuk mengontrol Pod-Pod mana yang digunakan sebagai _backend_ dari Service. +Ketika Pod dalam kondisi tidak siap, Pod tersebut dihapus dari _load balancer_ Service. + +kubelet menggunakan _probe startup_ untuk mengetahui kapan sebuah aplikasi Container telah mulai berjalan. +Jika _probe_ tersebut dinyalakan, _probe_ akan menonaktifkan pemeriksaan _liveness_ dan _readiness_ sampai +berhasil, kamu harus memastikan _probe_ tersebut tidak mengganggu _startup_ dari aplikasi. +Mekanisme ini dapat digunakan untuk mengadopsi pemeriksaan _liveness_ saat memulai Container yang lambat, +sehingga bisa terhindar dimatikan oleh kubelet sebelum Container mulai dan berjalan. + +{{% /capture %}} + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + +{{% capture steps %}} + +## Mendefinisikan perintah liveness + +Kebanyakan aplikasi yang telah berjalan dalam waktu lama pada akhirnya akan +bertransisi ke _state_ yang rusak, dan tidak dapat pulih selain diulang kembali. +Kubernetes menyediakan _probe liveness_ untuk mendeteksi dan memperbaiki situasi tersebut. + +Pada latihan ini, kamu akan membuat Pod yang menjalankan Container dari image +`k8s.gcr.io/busybox`. Berikut ini adalah berkas konfigurasi untuk Pod tersebut: + +{{< codenew file="pods/probe/exec-liveness.yaml" >}} + +Pada berkas konfigurasi di atas, kamu dapat melihat bahwa Pod memiliki satu `Container`. +_Field_ `periodSeconds` menentukan bahwa kubelet harus melakukan _probe liveness_ setiap 5 detik. +_Field_ `initialDelaySeconds` memberitahu kubelet untuk menunggu 5 detik sebelum mengerjakan +_probe_ yang pertama. Untuk mengerjakan _probe_, kubelet menjalankan perintah `cat /tmp/healthy` +pada Container tujuan. Jika perintah berhasil, kode 0 akan dikembalikan, dan kubelet menganggap +Container sedang dalam kondisi hidup (_alive_) dan sehat (_healthy_). Jika perintah mengembalikan +kode selain 0, maka kubelet akan mematikan Container dan mengulangnya. + +Saat dimulai, Container akan menjalankan perintah berikut: + +```shell +/bin/sh -c "touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600" +``` + +Container memiliki berkas `/tmp/healthy` pada 30 detik pertama saat dijalankan. +Perintah `cat /tmp/healthy` mengembalikan kode sukses. Setelah 30 detik berlalu, +`cat /tmp/healthy` mengembalikan kode gagal. + +Buat sebuah Pod: + +```shell +kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml +``` + +Dalam 30 detik pertama, lihat _event_ dari Pod: + +```shell +kubectl describe pod liveness-exec +``` + +Keluaran dari perintah tersebut memperlihatkan bahwa belum ada _probe liveness_ yang gagal: + +``` +FirstSeen LastSeen Count From SubobjectPath Type Reason Message +--------- -------- ----- ---- ------------- -------- ------ ------- +24s 24s 1 {default-scheduler } Normal Scheduled Successfully assigned liveness-exec to worker0 +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Pulling pulling image "k8s.gcr.io/busybox" +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Pulled Successfully pulled image "k8s.gcr.io/busybox" +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Created Created container with docker id 86849c15382e; Security:[seccomp=unconfined] +23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Started Started container with docker id 86849c15382e +``` + +Setelah 35 detik, lihat lagi _event_ Pod tersebut: + +```shell +kubectl describe pod liveness-exec +``` + +Baris terakhir dari keluaran tersebut memperlihatkan pesan bahwa _probe liveness_ +mengalami kegagalan, dan Container telah dimatikan dan dibuat ulang. + +``` +FirstSeen LastSeen Count From SubobjectPath Type Reason Message +--------- -------- ----- ---- ------------- -------- ------ ------- +37s 37s 1 {default-scheduler } Normal Scheduled Successfully assigned liveness-exec to worker0 +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Pulling pulling image "k8s.gcr.io/busybox" +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Pulled Successfully pulled image "k8s.gcr.io/busybox" +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Created Created container with docker id 86849c15382e; Security:[seccomp=unconfined] +36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Started Started container with docker id 86849c15382e +2s 2s 1 {kubelet worker0} spec.containers{liveness} Warning Unhealthy Liveness probe failed: cat: can't open '/tmp/healthy': No such file or directory +``` + +Tunggu 30 detik lagi, dan verifikasi bahwa Container telah diulang kembali: + +```shell +kubectl get pod liveness-exec +``` + +Keluaran perintah tersebut memperlihatkan bahwa jumlah `RESTARTS` meningkat: + +``` +NAME READY STATUS RESTARTS AGE +liveness-exec 1/1 Running 1 1m +``` + +## Mendefinisikan probe liveness dengan permintaan HTTP + +Jenis kedua dari _probe liveness_ menggunakan sebuah permintaan GET HTTP. Berikut ini +berkas konfigurasi untuk Pod yang menjalankan Container dari image `k8s.gcr.io/liveness`. + +{{< codenew file="pods/probe/http-liveness.yaml" >}} + +Pada berkas konfigurasi tersebut, kamu dapat melihat Pod memiliki satu buah Container. +_Field_ `periodSeconds` menentukan bahwa kubelet harus mengerjakan _probe liveness_ setiap 3 detik. +_Field_ `initialDelaySeconds` memberitahu kubelet untuk menunggu 3 detik sebelum mengerjakan +_probe_ yang pertama. Untuk mengerjakan _probe_ tersebut, kubelet mengirimkan sebuah permintaan +GET HTTP ke server yang sedang berjalan di dalam Container dan mendengarkan (_listen_) pada porta 8080. +Jika _handler path_ `/healthz` yang dimiliki server mengembalikan kode sukses, kubelet menganggap +Container sedang dalam kondisi hidup dan sehat. Jika _handler_ mengembalikan kode gagal, +kubelet mematikan Container dan mengulangnya. + +Kode yang lebih besar atau sama dengan 200 dan kurang dari 400 mengindikasikan kesuksesan. +Kode selain ini mengindikasikan kegagalan. + +Kamu dapat melihat kode program untuk server ini pada [server.go](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/test/images/agnhost/liveness/server.go). + +Untuk 10 detik pertama setelah Container hidup, _handler_ `/healthz` mengembalikan +status 200. Setelah ini, _handler_ mengembalikan status 500. + +```go +http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + duration := time.Now().Sub(started) + if duration.Seconds() > 10 { + w.WriteHeader(500) + w.Write([]byte(fmt.Sprintf("error: %v", duration.Seconds()))) + } else { + w.WriteHeader(200) + w.Write([]byte("ok")) + } +}) +``` + +kubelet mulai memeriksa kesehatan (_health check_) 3 detik setelah Container dimulai, +sehingga beberapa pemeriksaaan pertama akan berhasil. Namun setelah 10 detik, +pemeriksaan akan gagal, dan kubelet akan mematikan dan mengulang Container. + +Untuk mencoba pemeriksaan _liveness_ HTTP, mari membuat sebuah Pod: + +```shell +kubectl apply -f https://k8s.io/examples/pods/probe/http-liveness.yaml +``` + +Setelah 10 detik, lihat _event_ Pod untuk memverifikasi bahwa _probe liveness_ +telah gagal dan Container telah diulang kembali: + +```shell +kubectl describe pod liveness-http +``` + +Untuk rilis sebelum v1.13 (termasuk v1.13), jika variabel lingkungan +`http_proxy` (atau `HTTP_PROXY`) telah diatur pada Node dimana Pod +berjalan, _probe liveness_ HTTP akan menggunakan proksi tersebut. +Untuk rilis setelah v1.13, pengaturan variabel lingkungan pada proksi HTTP lokal +tidak mempengaruhi _probe liveness) HTTP. + +## Mendefinisikan probe liveness TCP + +Jenis ketiga dari _probe liveness_ menggunakaan sebuah soket TCP. Dengan konfigurasi ini, +kubelet akan mencoba untuk membuka soket pada Container kamu dengan porta tertentu. +Jika koneksi dapat sukses terbentuk, maka Container dianggap dalam kondisi sehat. +Namun jika tidak berhasil terbentuk, maka Container dianggap gagal. + +{{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} + +Seperti yang terlihat, konfigurasi untuk pemeriksaan TCP cukup mirip dengan +pemeriksaan HTTP. Contoh ini menggunakan _probe readiness_ dan _liveness_. +kubelet akan mengirimkan _probe readiness_ yang pertama, 5 detik setelah +Container mulai dijalankan. kubelet akan mencoba untuk terhubung dengan Container +`goproxy` pada porta 8080. Jika _probe_ berhasil, maka Pod akan ditandai menjadi +_siap_. kubelet akan lanjut mengerjakan pemeriksaan ini setiap 10 detik. + +Selain _probe readiness_, _probe liveness_ juga termasuk di dalam konfigurasi. +kubelet akan menjalankan _probe liveness_ yang pertama, 15 detik setelah Container +mulai dijalankan. Sama seperti _probe readiness_, kubelet akan mencoba untuk +terhubung dengan Container `goproxy` pada porta 8080. Jika _probe liveness_ gagal, +maka Container akan diulang kembali. + +Untuk mencoba pemeriksaan _liveness_ TCP, mari membuat sebuah Pod: + +```shell +kubectl apply -f https://k8s.io/examples/pods/probe/tcp-liveness-readiness.yaml +``` + +Setelah 15 detik, lihat _event_ Pod untuk memverifikasi _probe liveness_ tersebut: + +```shell +kubectl describe pod goproxy +``` + +## Menggunakan sebuah porta dengan nama + +Kamu dapat menggunakan +[ContainerPort](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#containerport-v1-core) +dengan nama untuk melakukan pemeriksaan _liveness_ HTTP atau TCP: + +```yaml +ports: +- name: liveness-port + containerPort: 8080 + hostPort: 8080 + +livenessProbe: + httpGet: + path: /healthz + port: liveness-port +``` + +## Melindungi Container yang lambat untuk dimulai dengan probe startup {#mendefinisikan-probe-startup} + +Terkadang kamu harus berurusan dengan aplikasi peninggalan (_legacy_) yang +memerlukan waktu tambahan untuk mulai berjalan pada saat pertama kali diinisialisasi. +Pada kasus ini, cukup rumit untuk mengatur parameter _probe liveness_ tanpa +mengkompromikan respons yang cepat terhadap _deadlock_ yang memotivasi digunakannya +_probe_ tersebut. Triknya adalah untuk mengatur _probe startup_ dengan perintah yang sama, +pemeriksaan HTTP ataupun TCP, dengan `failureThreshold * periodSeconds` yang +mencukupi untuk kemungkinan waktu memulai yang terburuk. + +Jadi, contoh sebelumnya menjadi: + +```yaml +ports: +- name: liveness-port + containerPort: 8080 + hostPort: 8080 + +livenessProbe: + httpGet: + path: /healthz + port: liveness-port + failureThreshold: 1 + periodSeconds: 10 + +startupProbe: + httpGet: + path: /healthz + port: liveness-port + failureThreshold: 30 + periodSeconds: 10 +``` + +Berkat _probe startup_, aplikasi akan memiliki paling lambat 5 menit (30 * 10 = 300 detik) +untuk selesai memulai. +Ketika _probe startup_ telah berhasil satu kali, maka _probe liveness_ akan +mengambil alih untuk menyediakan respons cepat terhadap _deadlock_ Container. +Jika _probe startup_ tidak pernah berhasil, maka Container akan dimatikan setelah +300 detik dan perilakunya akan bergantung pada `restartPolicy` yang dimiliki Pod. + +## Mendefinisikan probe readiness + +Terkadang aplikasi tidak dapat melayani lalu lintas jaringan (_traffic_) sementara. +Contohnya, aplikasi mungkin perlu untuk memuat data besar atau berkas konfigurasi +saat dimulai, atau aplikasi bergantung pada layanan eksternal setelah dimulai. +Pada kasus-kasus ini, kamu tidak ingin mematikan aplikasi, tetapi kamu tidak +ingin juga mengirimkan permintaan ke aplikasi tersebut. Kubernetes menyediakan +_probe readiness_ sebagai solusinya. Sebuah Pod dengan Container yang melaporkan +dirinya tidak siap, tidak akan menerima lalu lintas jaringan dari Kubernetes Service. + +{{< note >}} +_Probe readiness_ dijalankan di dalam Container selama siklus hidupnya. +{{< /note >}} + +_Probe readiness_ memiliki pengaturan yang mirip dengan _probe liveness_. Perbedaan +satu-satunya adalah kamu menggunakan _field_ `readinessProbe`, bukan _field_ `livenessProbe`. + +```yaml +readinessProbe: + exec: + command: + - cat + - /tmp/healthy + initialDelaySeconds: 5 + periodSeconds: 5 +``` + +Pengaturan untuk _probe readiness_ untuk HTTP dan TCP juga sama persis dengan +pengaturan untuk _probe liveness_. + +_Probe readiness_ dan _liveness_ dapat digunakan secara bersamaan untuk +Container yang sama. Apabila keduanya digunakan sekaligus, lalu lintas jaringan +tidak akan sampai ke Container yang belum siap, dan Container akan diulang kembali +(_restart_) saat mengalami kegagalan. + +## Mengatur Probe + +{{< comment >}} +Nantinya beberapa bagian dari bab ini dapat berpindah ke topik konsep. +{{< /comment >}} + +[Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) memiliki +beberapa _field_ yang dapat digunakan untuk mengendalikan pemeriksaan _liveness_ dan _readiness_ +secara presisi. + +* `initialDelaySeconds`: Durasi dalam detik setelah Container dimulai, +sebelum _probe liveness_ atau _readiness_ diinisiasi. Nilai bawaannya adalah 0 detik. Nilai minimalnya adalah 0. +* `periodSeconds`: Seberapa sering (dalam detik) _probe_ dijalankan. Nilai bawaannya adalah 10 detik. +Nilai minimalnya adalah 0. +* `timeoutSeconds`: Durasi dalam detik setelah _probe_ mengalami _timeout_. Nilai bawaannya adalah 1 detik. +Nilai minimalnya adalah 0. +* `successThreshold`: Jumlah minimal sukses yang berurutan untuk _probe_ dianggap berhasil +setelah mengalami kegagalan. Nilai bawaannya adalah 1. Nilanya harus 1 untuk _liveness_. +Nilai minimalnya adalah 1. +* `failureThreshold`: Ketika sebuah Pod dimulai dan _probe_ mengalami kegagalan, Kubernetes +akan mencoba beberapa kali sesuai nilai `failureThreshold` sebelum menyerah. Menyerah karena +kasus _probe liveness_ akan membuat Container diulang kembali. Untuk _probe readiness_, menyerah +akaan menandai Pod menjadi "tidak siap" (Unready). Nilai bawaannya adalah 3. Nilai minimalnya adalah 1. + +[_Probe_ HTTP](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#httpgetaction-v1-core) +memiliki _field-field_ tambahan yang bisa diatur melalui `httpGet`: + +* `host`: Nama dari host yang akan terhubung, nilai bawaannya adalah IP dari Pod. Kamu mungkin +juga ingin mengatur "Host" pada httpHeaders. +* `scheme`: Skema yang digunakan untuk terhubung pada host (HTTP atau HTTPS). Nilai bawaannya adalah HTTP. +* `path`: _Path_ untuk mengakses server HTTP. +* `httpHeaders`: _Header_ khusus yang diatur melalui permintaan. HTTP memperbolehkan _header_ yang berulang. +* `port`: Nama atau angka dari porta untuk mengakses Container. Angkanya harus ada di antara 1 sampai 65535. + +Untuk sebuah _probe_ HTTP, kubelet mengirimkan permintaan HTTP untuk _path_ yang ditentukan +dan porta untuk mengerjakan pemeriksaan. kubelet mengirimkan _probe_ untuk alamat IP Pod, +kecuali saat alamat digantikan oleh _field_ opsional pada `httpGet`. Jika _field_ `scheme` +diatur menjadi `HTTPS`, maka kubelet mengirimkan permintaan HTTPS dan melewati langkah verifikasi +sertifikat. Pada skenario kebanyakan, kamu tidak menginginkan _field_ `host`. +Berikut satu skenario yang memerlukan `host`. Misalkan Container mendengarkan permintaan +melalui 127.0.0.1 dan _field_ `hostNetwork` pada Pod bernilai true. Kemudian `host`, melalui +`httpGet`, harus diatur menjadi 127.0.0.1. Jika Pod kamu bergantung pada host virtual, dimana +untuk kasus-kasus umum, kamu tidak perlu menggunakan `host`, tetapi perlu mengaatur _header_ +`Host` pada `httpHeaders`. + +Untuk _probe_ TCP, kubelet membuat koneksi _probe_ pada Node, tidak pada Pod, yang berarti bahwa +kamu tidak menggunakan nama Service di dalam parameter `host` karena kubelet tidak bisa +me-_resolve_-nya. + +{{% /capture %}} + +{{% capture whatsnext %}} + +* Pelajari lebih lanjut tentang +[Probe Container](/id/docs/concepts/workloads/pods/pod-lifecycle/#container-probes). + +Kamu juga dapat membaca rujukan API untuk: + +* [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core) +* [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) +* [Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) + +{{% /capture %}} From e990e46f633f328b6b5fed97190907c8d76009f9 Mon Sep 17 00:00:00 2001 From: Weiping Cai Date: Sat, 6 Jun 2020 15:45:54 +0800 Subject: [PATCH 293/533] deprecated kubectl run command flag replicas for en Signed-off-by: Weiping Cai --- .../reference/kubectl/docker-cli-to-kubectl.md | 14 +++++++------- .../en/docs/tasks/administer-cluster/namespaces.md | 14 +++++--------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md b/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md index 7def04e04c..1cca592a3d 100644 --- a/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md +++ b/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md @@ -13,7 +13,7 @@ You can use the Kubernetes command line tool kubectl to interact with the API Se {{% capture body %}} ## docker run -To run an nginx Deployment and expose the Deployment, see [kubectl run](/docs/reference/generated/kubectl/kubectl-commands/#run). +To run an nginx Pod and expose the Pod, see [kubectl run](/docs/reference/generated/kubectl/kubectl-commands/#run). docker: @@ -39,22 +39,22 @@ kubectl: kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster" ``` ``` -deployment "nginx-app" created +pod/nginx-app created ``` {{< note >}} -`kubectl` commands print the type and name of the resource created or mutated, which can then be used in subsequent commands. You can expose a new Service after a Deployment is created. +`kubectl` commands print the type and name of the resource created or mutated, which can then be used in subsequent commands. You can expose a new Service after a Pod is created. {{< /note >}} ```shell # expose a port through with a service -kubectl expose deployment nginx-app --port=80 --name=nginx-http +kubectl expose pod nginx-app --port=80 --name=nginx-http ``` ``` service "nginx-http" exposed ``` -By using kubectl, you can create a [Deployment](/docs/concepts/workloads/controllers/deployment/) to ensure that N pods are running nginx, where N is the number of replicas stated in the spec and defaults to 1. You can also create a [service](/docs/concepts/services-networking/service/) with a selector that matches the pod labels. For more information, see [Use a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster). +By using kubectl, you can create a [Pod](/docs/concepts/workloads/pods/pod/) to ensure that pod are running nginx. You can also create a [service](/docs/concepts/services-networking/service/) with a selector that matches the pod labels. For more information, see [Use a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster). By default images run in the background, similar to `docker run -d ...`. To run things in the foreground, use: @@ -65,8 +65,8 @@ kubectl run [-i] [--tty] --attach --image= Unlike `docker run ...`, if you specify `--attach`, then you attach `stdin`, `stdout` and `stderr`. You cannot control which streams are attached (`docker -a ...`). To detach from the container, you can type the escape sequence Ctrl+P followed by Ctrl+Q. -Because the kubectl run command starts a Deployment for the container, the Deployment restarts if you terminate the attached process by using Ctrl+C, unlike `docker run -it`. -To destroy the Deployment and its pods you need to run `kubectl delete deployment `. +Because the kubectl run command starts a Pod for the container, the Pod restarts if you terminate the attached process by using Ctrl+C, unlike `docker run -it`. +To destroy the pod you need to run `kubectl delete pod `. ## docker ps diff --git a/content/en/docs/tasks/administer-cluster/namespaces.md b/content/en/docs/tasks/administer-cluster/namespaces.md index 076f81d9b9..1d67d7a73f 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces.md +++ b/content/en/docs/tasks/administer-cluster/namespaces.md @@ -226,13 +226,13 @@ This delete is asynchronous, so for a time you will see the namespace in the `Te Production likes to run cattle, so let's create some cattle pods. ```shell - kubectl run cattle --image=k8s.gcr.io/serve_hostname --replicas=5 -n=production + kubectl run cattle --image=k8s.gcr.io/serve_hostname -n=production - kubectl get deployment -n=production + kubectl get pods -n=production ``` ``` - NAME READY UP-TO-DATE AVAILABLE AGE - cattle 5/5 5 5 10s + NAME READY STATUS RESTARTS AGE + cattle 1/1 Running 0 3s ``` ```shell @@ -240,11 +240,7 @@ This delete is asynchronous, so for a time you will see the namespace in the `Te ``` ``` NAME READY STATUS RESTARTS AGE - cattle-2263376956-41xy6 1/1 Running 0 34s - cattle-2263376956-kw466 1/1 Running 0 34s - cattle-2263376956-n4v97 1/1 Running 0 34s - cattle-2263376956-p5p3i 1/1 Running 0 34s - cattle-2263376956-sxpth 1/1 Running 0 34s + cattle 1/1 Running 0 34s ``` At this point, it should be clear that the resources users create in one namespace are hidden from the other namespace. From 9cb190a82bb8004864ce2bd246c76a973aa09b29 Mon Sep 17 00:00:00 2001 From: "giri.kuncoro" Date: Sat, 6 Jun 2020 18:08:13 +0700 Subject: [PATCH 294/533] Add probe yaml examples --- .../id/examples/pods/probe/exec-liveness.yaml | 21 ++++++++++++++++++ .../id/examples/pods/probe/http-liveness.yaml | 21 ++++++++++++++++++ .../pods/probe/tcp-liveness-readiness.yaml | 22 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 content/id/examples/pods/probe/exec-liveness.yaml create mode 100644 content/id/examples/pods/probe/http-liveness.yaml create mode 100644 content/id/examples/pods/probe/tcp-liveness-readiness.yaml diff --git a/content/id/examples/pods/probe/exec-liveness.yaml b/content/id/examples/pods/probe/exec-liveness.yaml new file mode 100644 index 0000000000..07bf75f85c --- /dev/null +++ b/content/id/examples/pods/probe/exec-liveness.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Pod +metadata: + labels: + test: liveness + name: liveness-exec +spec: + containers: + - name: liveness + image: k8s.gcr.io/busybox + args: + - /bin/sh + - -c + - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600 + livenessProbe: + exec: + command: + - cat + - /tmp/healthy + initialDelaySeconds: 5 + periodSeconds: 5 diff --git a/content/id/examples/pods/probe/http-liveness.yaml b/content/id/examples/pods/probe/http-liveness.yaml new file mode 100644 index 0000000000..670af18399 --- /dev/null +++ b/content/id/examples/pods/probe/http-liveness.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Pod +metadata: + labels: + test: liveness + name: liveness-http +spec: + containers: + - name: liveness + image: k8s.gcr.io/liveness + args: + - /server + livenessProbe: + httpGet: + path: /healthz + port: 8080 + httpHeaders: + - name: Custom-Header + value: Awesome + initialDelaySeconds: 3 + periodSeconds: 3 diff --git a/content/id/examples/pods/probe/tcp-liveness-readiness.yaml b/content/id/examples/pods/probe/tcp-liveness-readiness.yaml new file mode 100644 index 0000000000..08fb77ff0f --- /dev/null +++ b/content/id/examples/pods/probe/tcp-liveness-readiness.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Pod +metadata: + name: goproxy + labels: + app: goproxy +spec: + containers: + - name: goproxy + image: k8s.gcr.io/goproxy:0.1 + ports: + - containerPort: 8080 + readinessProbe: + tcpSocket: + port: 8080 + initialDelaySeconds: 5 + periodSeconds: 10 + livenessProbe: + tcpSocket: + port: 8080 + initialDelaySeconds: 15 + periodSeconds: 20 From b6174a6563e61eb991a9ed26fcca608826812684 Mon Sep 17 00:00:00 2001 From: hikkie3110 <3110hikaru326@gmail.com> Date: Sat, 6 Jun 2020 21:29:17 +0900 Subject: [PATCH 295/533] Update content/ja/docs/concepts/workloads/controllers/statefulset.md Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/controllers/statefulset.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index 311dd663dc..cc0646cf4d 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -95,7 +95,8 @@ spec: * nginxという名前のHeadlessServiceは、ネットワークドメインをコントロールするために使われます。 * webという名前のStatefulSetは、specで3つのnginxコンテナのレプリカを持ち、そのコンテナはそれぞれ別のPodで稼働するように設定されています。 * volumeClaimTemplatesは、PersistentVolumeプロビジョナーによってプロビジョンされた[PersistentVolume](/docs/concepts/storage/persistent-volumes/)を使って安定したストレージを提供します。 -* StatefulSetの名前は有効な[名前](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + +StatefulSetの名前は有効な[名前](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 ## Podセレクター ユーザーは、StatefulSetの`.spec.template.metadata.labels`のラベルと一致させるため、StatefulSetの`.spec.selector`フィールドをセットしなくてはなりません。Kubernetes1.8以前では、`.spec.selector`フィールドは省略された場合デフォルト値になります。Kubernetes1.8とそれ以降のバージョンでは、ラベルに一致するPodセレクターの指定がない場合はStatefulSetの作成時にバリデーションエラーになります。 From b197b6cdf8775e2fcf0bd356e00553b5a48476cf Mon Sep 17 00:00:00 2001 From: hikkie3110 <3110hikaru326@gmail.com> Date: Sat, 6 Jun 2020 21:29:24 +0900 Subject: [PATCH 296/533] Update content/ja/docs/concepts/workloads/controllers/statefulset.md Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/workloads/controllers/statefulset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index cc0646cf4d..d8d2c3d687 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -196,6 +196,6 @@ Kubernetes1.7とそれ以降のバージョンにおいて、StatefulSetの`.spe * [ステートフルなアプリケーションのデプロイ](/docs/tutorials/stateful-application/basic-stateful-set/)の例を参考にしてください。 * [StatefulSetを使ったCassandraのデプロイ](/docs/tutorials/stateful-application/cassandra/)の例を参考にしてください。 -* [レプリカを持つステートフルアプリケーションを実行する](/docs/tasks/run-application/run-replicated-stateful-application/)の例を参考にしてください。 +* [レプリカを持つステートフルアプリケーションを実行する](/ja/docs/tasks/run-application/run-replicated-stateful-application/)の例を参考にしてください。 {{% /capture %}} From a6a8bea8c1758bc7b7a543739cbc433b7248e098 Mon Sep 17 00:00:00 2001 From: "giri.kuncoro" Date: Sat, 6 Jun 2020 20:24:04 +0700 Subject: [PATCH 297/533] Cleanup task title for Indonesian page --- content/id/docs/tasks/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/id/docs/tasks/_index.md b/content/id/docs/tasks/_index.md index 9e213d5a99..ba42debd16 100644 --- a/content/id/docs/tasks/_index.md +++ b/content/id/docs/tasks/_index.md @@ -1,5 +1,5 @@ --- -title: Tugas (Tasks) +title: Tugas main_menu: true weight: 50 content_template: templates/concept From c39457fffbae51a3a790086cfebc6acb87325be8 Mon Sep 17 00:00:00 2001 From: Giri Kuncoro Date: Sat, 6 Jun 2020 20:29:32 +0700 Subject: [PATCH 298/533] Cleanup tutorial title because singular is preferred --- content/id/docs/tutorials/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/id/docs/tutorials/_index.md b/content/id/docs/tutorials/_index.md index 5645744c39..7f3298bf53 100644 --- a/content/id/docs/tutorials/_index.md +++ b/content/id/docs/tutorials/_index.md @@ -1,5 +1,5 @@ --- -title: Tutorials +title: Tutorial main_menu: true weight: 60 content_template: templates/concept From 8cf54798b501d6e591bb9a4a863fdfc23bec4330 Mon Sep 17 00:00:00 2001 From: nishipy Date: Sat, 6 Jun 2020 22:35:37 +0900 Subject: [PATCH 299/533] Update docs/concepts/services-networking/service.md --- .../concepts/services-networking/service.md | 29 +++++-------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index 3328dd5536..b9d1ce772a 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -49,7 +49,7 @@ Serviceによる抽象化は、クライアントからバックエンドのPod ## Serviceの定義 -KubernetesのServiceはPodと同様にRESTのオブジェクトです。他のRESTオブジェクトと同様に、ユーザーはServiceの新しいインスタンスを作成するためにAPIサーバーに対してServiceの定義を`POST`できます。 +KubernetesのServiceはPodと同様にRESTのオブジェクトです。他のRESTオブジェクトと同様に、ユーザーはServiceの新しいインスタンスを作成するためにAPIサーバーに対してServiceの定義を`POST`できます。Serviceオブジェクトの名前は、有効なDNSラベル名である必要があります。 例えば、TCPで9376番ポートで待ち受けていて、`app=Myapp`というラベルをもつPodのセットがあるとします。 @@ -123,6 +123,8 @@ subsets: - port: 9376 ``` +Endpointsオブジェクトの名前は、有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 + {{< note >}} Endpointsのipは、loopback (127.0.0.0/8 for IPv4, ::1/128 for IPv6), や link-local (169.254.0.0/16 and 224.0.0.0/24 for IPv4, fe80::/64 for IPv6)に設定することができません。 @@ -345,7 +347,7 @@ Kubernetesの`ServiceTypes`によって、ユーザーがどのような種類 * [`ExternalName`](#externalname): `CNAME`レコードを返すことにより、`externalName`フィールドに指定したコンテンツ(例: `foo.bar.example.com`)とServiceを紐づけます。しかし、いかなる種類のプロキシーも設定されません。 {{< note >}} - `ExternalName`タイプのServiceを利用するためには、CoreDNSのバージョン1.7以上が必要となります。 + `ExternalName`タイプのServiceを利用するためには、kube-dnsのバージョン1.7かCoreDNSのバージョン0.08以上が必要となります。 {{< /note >}} また、Serviceを公開するために[Ingress](/docs/concepts/services-networking/ingress/)も利用可能です。IngressはServiceのタイプではありませんが、クラスターに対するエントリーポイントとして動作します。 @@ -397,7 +399,9 @@ status: - ip: 192.0.2.127 ``` -外部のロードバランサーからのトラフィックはバックエンドのPodに直接転送されます。クラウドプロバイダーはどのようにそのリクエストをバランシングするかを決めます。 +外部のロードバランサーからのトラフィックはバックエンドのPodに直接転送されます。クラウドプロバイダーはどのようにそのリクエストをバランシングするかを決めます。 + +LoadBalancerタイプのサービスで複数のポートが定義されている場合、すべてのポートが同じプロトコルである必要があり、さらにそのプロトコルは`TCP`、`UDP`、`SCTP`のいずれかである必要があります。 いくつかのクラウドプロバイダーにおいて、`loadBalancerIP`の設定をすることができます。このようなケースでは、そのロードバランサーはユーザーが指定した`loadBalancerIP`に対してロードバランサーを作成します。 もし`loadBalancerIP`フィールドの値が指定されていない場合、そのロードバランサーはエフェメラルなIPアドレスに対して作成されます。もしユーザーが`loadBalancerIP`を指定したが、使っているクラウドプロバイダーがその機能をサポートしていない場合、その`loadBalancerIP`フィールドに設定された値は無視されます。 @@ -860,20 +864,14 @@ ServiceはKubernetesのREST APIにおいてトップレベルのリソースで ### TCP -{{< feature-state for_k8s_version="v1.0" state="stable" >}} - ユーザーはどの種類のServiceにおいてもTCPを利用できます。これはデフォルトのネットワークプロトコルです。 ### UDP -{{< feature-state for_k8s_version="v1.0" state="stable" >}} - ユーザーは多くのServiceにおいてUDPを利用できます。 type=LoadBalancerのServiceにおいては、UDPのサポートはこの機能を提供しているクラウドプロバイダーに依存しています。 ### HTTP -{{< feature-state for_k8s_version="v1.1" state="stable" >}} - もしクラウドプロバイダーがサポートしている場合、ServiceのEndpointsに転送される外部のHTTP/HTTPSでのリバースプロキシーをセットアップするために、LoadBalancerモードでServiceを作成可能です。 {{< note >}} @@ -882,8 +880,6 @@ ServiceはKubernetesのREST APIにおいてトップレベルのリソースで ### PROXY プロトコル -{{< feature-state for_k8s_version="v1.1" state="stable" >}} - もしクラウドプロバイダーがサポートしている場合(例: [AWS](/docs/concepts/cluster-administration/cloud-providers/#aws))、Kubernetesクラスターの外部のロードバランサーを設定するためにLoadBalancerモードでServiceを利用できます。これは[PROXY protocol](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)がついた接続を転送します。 ロードバランサーは、最初の一連のオクテットを送信します。 @@ -932,21 +928,12 @@ SCTPはWindowsベースのNodeではサポートされていません。 kube-proxyはuserspaceモードにおいてSCTPアソシエーションの管理をサポートしません。 {{< /warning >}} -## Future work - -将来的に、Serviceのプロキシーポリシーはシンプルなラウンドロビンのバランシングだけでなく、もっと細かな設定が可能になります。例えば、Masterによって選択されるものや、水平シャーディングされたりするようになります。 -我々もまた、いくつかのServiceが"実際の"ロードバランサーを備えることを想定します。その場合、仮想IPは単純にパケットをそのロードバランサーに転送します。 - -Kubernetesプロジェクトは、L7 (HTTP) Serviceへのサポートをもっと発展させようとしています。 - -Kubernetesプロジェクトは、現在利用可能なClusterIP、NodePortやLoadBalancerタイプのServiceに対して、より柔軟なIngressのモードを追加する予定です。 - {{% /capture %}} {{% capture whatsnext %}} * [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)を参照してください。 * [Ingress](/docs/concepts/services-networking/ingress/)を参照してください。 -* [Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/)を参照してください。 +* [EndpointSlices](/docs/concepts/services-networking/endpoint-slices/)を参照してください。 {{% /capture %}} From 582884b548bef68b39b811a93623cb872d44d870 Mon Sep 17 00:00:00 2001 From: nishipy Date: Sat, 6 Jun 2020 22:42:25 +0900 Subject: [PATCH 300/533] Fix typo --- content/ja/docs/concepts/services-networking/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index b9d1ce772a..853f0e6d45 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -347,7 +347,7 @@ Kubernetesの`ServiceTypes`によって、ユーザーがどのような種類 * [`ExternalName`](#externalname): `CNAME`レコードを返すことにより、`externalName`フィールドに指定したコンテンツ(例: `foo.bar.example.com`)とServiceを紐づけます。しかし、いかなる種類のプロキシーも設定されません。 {{< note >}} - `ExternalName`タイプのServiceを利用するためには、kube-dnsのバージョン1.7かCoreDNSのバージョン0.08以上が必要となります。 + `ExternalName`タイプのServiceを利用するためには、kube-dnsのバージョン1.7かCoreDNSのバージョン0.0.8以上が必要となります。 {{< /note >}} また、Serviceを公開するために[Ingress](/docs/concepts/services-networking/ingress/)も利用可能です。IngressはServiceのタイプではありませんが、クラスターに対するエントリーポイントとして動作します。 From bc7567f4a4060b67567fd3e3df6d2eda5627867f Mon Sep 17 00:00:00 2001 From: akitok Date: Sun, 7 Jun 2020 00:41:38 +0900 Subject: [PATCH 301/533] Make docs/contribute/_index.md follow v1.17 of the original text --- content/ja/docs/contribute/_index.md | 63 +++++++++++++--------------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/content/ja/docs/contribute/_index.md b/content/ja/docs/contribute/_index.md index 2f6f64fac2..21f5dcf43d 100644 --- a/content/ja/docs/contribute/_index.md +++ b/content/ja/docs/contribute/_index.md @@ -11,49 +11,35 @@ weight: 80 ドキュメントやウェブサイトに貢献したい方、ご協力お待ちしています。 はじめての方、久しぶりの方、開発者でもエンドユーザでも、はたまたタイポを見逃せない方でもどなたでも貢献可能です。 -ドキュメントのスタイルガイドについては[こちら](/docs/contribute/style/style-guide/)。 +{{% /capture %}} {{% capture body %}} -## コントリビューターの種類 +## はじめに -- _メンバー_ は、すでに [CLA に署名](/docs/contribute/start#sign-the-cla)しており、本プロジェクトに何度も貢献している方です。 - [Community membership](https://github.com/kubernetes/community/blob/master/community-membership.md)を読んで、会員規約をご確認ください。 -- _レビュアー_ は、ドキュメントのPRレビューへ関心を示しており、承認者によりすでにGitHubグループ、およびGitHubレポジトリーの`OWNERS`ファイルに追加されているメンバーです。 -- _承認者_ は、本プロジェクトに継続してコミットできているメンバーです。Kubernetes organizationを代表して、PRをマージしたり、コンテンツを公開することができます。 - また、Kubernetes コミュニティにおいて、SIG Docsを代表することもできますが、リリースの調整などのように、相応の時間をコミットすることも求められます。 +どなたでも、問題を説明するissueや、ドキュメントの改善を求めるissueを作成し、プルリクエスト(PR)を用いて変更に貢献することができます。 +一部のタスクでは、Kubernetes organizationで、より多くの信頼とアクセスが必要です。 +役割と権限についての詳細は、[SIGドキュメントへの参加](/docs/contribute/participating/)を参照してください。 -## ドキュメントへの貢献方法 +Kubernetesのドキュメントは、GitHubのリポジトリにあります。 +どなたからの貢献も歓迎しますが、Kubernetesコミュニティの効果的な運用のためには、gitとGitHubを基本的に使いこなせる必要があります。 -以下に挙げたものは、どなたでも可能なこと、Kubernetes organizationメンバーであれば可能なこと、SIG Docsのプロセスにアクセスでき、かつ慣れていないとできないことにわかれています。 -継続的に貢献していけば、ノウハウや組織的決断を理解する手助けとなるでしょう。 +ドキュメンテーションに関わるには: -これがKubernetesドキュメントへ貢献する方法の全てではないですが、手始めには良いでしょう。 +1. CNCFの[Contributor License Agreement](https://github.com/kubernetes/community/blob/master/CLA.md)にサインしてください。 +2. [documentation repository](https://github.com/kubernetes/website)と、ウェブサイトの[static site generator](https://gohugo.io)に慣れ親しんでください。 +3. [コンテンツの改善](https://kubernetes.io/docs/contribute/start/#improve-existing-content)と[変更レビュー](https://kubernetes.io/docs/contribute/start/#review-docs-pull-requests)の基本的なプロセスを理解していることを確認してください。 -- [どなたでも](/docs/contribute/start/) - - issue を作成する -- [メンバー](/docs/contribute/start/) - - 既存のドキュメントを改善する - - 改善のアイデアを[Slack](http://slack.k8s.io/)もしくは[SIG docs mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)に投げる - - ドキュメントのアクセシビリティを改善する - - PRにフィードバックをする - - 事例やブロクを書く -- [レビュアー](/docs/contribute/intermediate/) - - 新機能のドキュメントを作成する - - issueの選別、分類をする - - PRをレビューする - - 図表や、グラフィック資産、埋め込み可能な動画などを作成する - - 多言語対応 - - ドキュメントの代表者として別のレポジトリに貢献する - - コード内にある、ユーザが使う文字列を編集する - - コードのコメントやGodocを改善する -- [承認者](/docs/contribute/advanced/) - - PRを承認、マージすることでコントリビューターが作成したコンテンツを公開する - - Kubernetesのリリースチームに、ドキュメントを代表して参加する - - スタイルガイドの改善を提案する - - ドキュメントテストの改善を提案する - - Kubernetesのウェブサイトやその他ツールの改善を提案する +## 貢献するためのベストプラクティス +- 明快で意味のあるGitコミットメッセージを書いてください。 +- PRがマージされたときにissueを参照し、自動的にissueをクローズする_Github Special Keywords_を必ず含めるようにしてください。 +- タイプミスの修正や、スタイルの変更、文法の変更などのような小さな変更をPRに加える場合は、必ず _Github Special Keywords_ を含めるようにしてください。比較的小さな変更のために多くのコミットを得ることがないように、コミットはまとめてください。 +- あなたがコードを変更をした理由を示し、レビュアーがあなたのPRを理解するのに十分な情報を確保した適切なPR説明を、必ず含めるようにしてください。 +- 追加文献 : + - [chris.beams.io/posts/git-commit/](https://chris.beams.io/posts/git-commit/) + - [github.com/blog/1506-closing-issues-via-pull-requests ](https://github.com/blog/1506-closing-issues-via-pull-requests ) + - [davidwalsh.name/squash-commits-git ](https://davidwalsh.name/squash-commits-git ) ## その他の貢献方法 @@ -61,3 +47,12 @@ weight: 80 - 機能開発に貢献したい方は、まずはじめに[Kubernetesコントリビューターチートシート](https://github.com/kubernetes/community/blob/master/contributors/guide/contributor-cheatsheet/README-ja.md)を読んでください。 {{% /capture %}} + +{{% capture whatsnext %}} + +- ドキュメントへの貢献の基本について、さらに知りたい場合は、[貢献の開始](/docs/contribute/start/)を参照してください。 +- 変更を提案をする際は、[Kubernetesドキュメンテーションスタイルガイド](/docs/contribute/style/style-guide/)に従ってください。 +- SIG Docsについて、さらに知りたい場合は、[SIGドキュメントへの参加](/docs/contribute/participating/)を参照してください。 +- Kubernetesドキュメントのローカライズについて、さらに知りたい場合は、[Kubernetesドキュメントのローカライズ](/docs/contribute/localization/)を参照してください。 + +{{% /capture %}} From 4bd73bee2306be0067f63700d93857cd371d6f67 Mon Sep 17 00:00:00 2001 From: wawa Date: Sun, 7 Jun 2020 10:50:25 +0800 Subject: [PATCH 302/533] Update define-environment-variable-container.md Enhanced environment variable application notes --- .../define-environment-variable-container.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md index 5dd5aa92e0..de27dcb03a 100644 --- a/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -84,6 +84,11 @@ The environment variables set using the `env` or `envFrom` field override any environment variables specified in the container image. {{< /note >}} +{{< note >}} +The environment variables can reference each other, and cycles are possible, +pay attention to the order before using +{{< /note >}} + ## Using environment variables inside of your config Environment variables that you define in a Pod's configuration can be used From a01ea635e23fbccc38d8259b4e1e4ef200e3ba03 Mon Sep 17 00:00:00 2001 From: Weiping Cai Date: Sun, 7 Jun 2020 10:53:21 +0800 Subject: [PATCH 303/533] deprecated kubectl run command flag replicas and add note Signed-off-by: Weiping Cai --- content/en/docs/reference/kubectl/docker-cli-to-kubectl.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md b/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md index 1cca592a3d..ac4776fd64 100644 --- a/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md +++ b/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md @@ -43,9 +43,11 @@ pod/nginx-app created ``` {{< note >}} -`kubectl` commands print the type and name of the resource created or mutated, which can then be used in subsequent commands. You can expose a new Service after a Pod is created. +Pods are considered to be relatively ephemeral (rather than durable) entities,so you should use Deployment instead to make sure that your container are available throughout the cluster,see [kubectl create deployment](/docs/reference/generated/kubectl/kubectl-commands/#-em-deployment-em-),or [assign this pod to Node](/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). {{< /note >}} +You can expose a new Service after a Pod is created. + ```shell # expose a port through with a service kubectl expose pod nginx-app --port=80 --name=nginx-http @@ -54,7 +56,7 @@ kubectl expose pod nginx-app --port=80 --name=nginx-http service "nginx-http" exposed ``` -By using kubectl, you can create a [Pod](/docs/concepts/workloads/pods/pod/) to ensure that pod are running nginx. You can also create a [service](/docs/concepts/services-networking/service/) with a selector that matches the pod labels. For more information, see [Use a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster). +By using kubectl, you can create a [Pod](/docs/concepts/workloads/pods/pod/) that pod are running nginx. You can also create a [service](/docs/concepts/services-networking/service/) with a selector that matches the pod labels. For more information, see [Use a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster). By default images run in the background, similar to `docker run -d ...`. To run things in the foreground, use: From 5c5a77dac32fe23e1bdae927e55ddd0b65800d93 Mon Sep 17 00:00:00 2001 From: wawa Date: Sun, 7 Jun 2020 10:53:30 +0800 Subject: [PATCH 304/533] Update define-environment-variable-container.md Clarify the explanation when environment variables refer to each other --- .../define-environment-variable-container.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/zh/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/zh/docs/tasks/inject-data-application/define-environment-variable-container.md index 53795cf0d6..159db58334 100644 --- a/content/zh/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/zh/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -133,6 +133,10 @@ will override any environment variables specified in the container image. 通过 `env` 或 `envFrom` 字段设置的环境变量将覆盖容器镜像中指定的所有环境变量。 {{< /note >}} +{{< note >}} +环境变量之间可能出现互相依赖或者循环引用的情况,使用之前需注意引用顺序 +{{< /note >}} + -`admin.conf`ファイルはユーザーにクラスタに対する _特権ユーザー_ の権限を与えます。そのため、このファイルを使うのは控えめにしなければなりません。通常のユーザーには、権限をホワイトリストに加えるユニークなクレデンシャルを生成することを推奨します。これには、`kubeadm alpha kubeconfig user --client-name `コマンドが使えます。このコマンドを実行すると、KubeConfigファイルがSTDOUTに出力されるので、ファイルに保存してユーザーに配布します。その後、`kubectl create (cluster)rolebinding`コマンドを使って権限をホワイトリストに加えます。 +`admin.conf`ファイルはユーザーにクラスターに対する _特権ユーザー_ の権限を与えます。そのため、このファイルを使うのは控えめにしなければなりません。通常のユーザーには、一部の権限をホワイトリストに加えたユニークなクレデンシャルを生成することを推奨します。これには、`kubeadm alpha kubeconfig user --client-name `コマンドが使えます。このコマンドを実行すると、KubeConfigファイルがSTDOUTに出力されるので、ファイルに保存してユーザーに配布します。その後、`kubectl create (cluster)rolebinding`コマンドを使って権限をホワイトリストに加えます。 {{< /note >}} ### (オプション)APIサーバーをlocalhostへプロキシする @@ -491,7 +490,7 @@ ipvsadm -C ## バージョン互換ポリシー {#version-skew-policy} -バージョンvX.Yの`kubeadm`ツールは、バージョンvX.YまたはvX.(Y-1)のコントロールプレーンを持つクラスターをデプロイできます。また、`kubeadm` vX.Yは、kubeadmで構築された既存のvX.(Y-1)のクラスタをアップグレートできます。 +バージョンvX.Yの`kubeadm`ツールは、バージョンvX.YまたはvX.(Y-1)のコントロールプレーンを持つクラスターをデプロイできます。また、`kubeadm` vX.Yは、kubeadmで構築された既存のvX.(Y-1)のクラスターをアップグレートできます。 未来を見ることはできないため、kubeadm CLI vX.YはvX.(Y+1)をデプロイすることはできません。 From cdcf9c1ac18d577eaf0bc4292a02dd88c9e73d4f Mon Sep 17 00:00:00 2001 From: KJ Date: Sun, 7 Jun 2020 13:49:51 +0900 Subject: [PATCH 306/533] Make docs/concepts/workloads/pods/init-containers.md follow v1.17 of the original text --- .../workloads/pods/init-containers.md | 221 ++++++++---------- 1 file changed, 100 insertions(+), 121 deletions(-) diff --git a/content/ja/docs/concepts/workloads/pods/init-containers.md b/content/ja/docs/concepts/workloads/pods/init-containers.md index 0f25a656b2..00641aa33b 100644 --- a/content/ja/docs/concepts/workloads/pods/init-containers.md +++ b/content/ja/docs/concepts/workloads/pods/init-containers.md @@ -5,93 +5,72 @@ weight: 40 --- {{% capture overview %}} -このページでは、Initコンテナについて概観します。Initコンテナとは、アプリケーションコンテナの前に実行され、アプリケーションコンテナのイメージに存在しないセットアップスクリプトやユーティリティーを含んだ特別なコンテナです。 +このページでは、Initコンテナについて概観します。Initコンテナとは、{{< glossary_tooltip text="Pod" term_id="pod" >}}内でアプリケーションコンテナの前に実行される特別なコンテナです。 +Initコンテナにはアプリケーションコンテナのイメージに存在しないセットアップスクリプトやユーティリティーを含めることができます。 + +Initコンテナは、Podの仕様のうち`containers`という配列(これがアプリケーションコンテナを示します)と並べて指定します。 {{% /capture %}} -この機能はKubernetes1.6からβ版の機能として存在しています。InitコンテナはPodSpec内で、アプリケーションの`containers`という配列と並べて指定されます。そのベータ版のアノテーション値はまだ扱われ、PodSpecのフィールド値を上書きします。しかしながら、それらはKubernetesバージョン1.6と1.7において廃止されました。Kubernetesバージョン1.8からはそのアノテーション値はサポートされず、PodSpecフィールドの値に変換する必要があります。 - {{% capture body %}} -## Initコンテナを理解する +## Initコンテナを理解する {#understanding-init-containers} -単一の[Pod](/ja/docs/concepts/workloads/pods/pod-overview/)は、Pod内に複数のコンテナを稼働させることができますが、Initコンテナもまた、アプリケーションコンテナが稼働する前に1つまたは複数稼働できます。 +単一の{{< glossary_tooltip text="Pod" term_id="pod" >}}は、Pod内にアプリケーションを実行している複数のコンテナを持つことができますが、同様に、アプリケーションコンテナが起動する前に実行されるInitコンテナも1つ以上持つことができます。 Initコンテナは下記の項目をのぞいて、通常のコンテナと全く同じものとなります。 * Initコンテナは常に完了するまで稼働します。 * 各Initコンテナは、次のInitコンテナが稼働する前に正常に完了しなくてはなりません。 -もしあるPodの単一のInitコンテナが失敗した場合、KubernetesはInitコンテナが成功するまで何度もそのPodを再起動します。しかし、もしそのPodの`restartPolicy`が`Never`の場合、再起動されません。 +もしあるPodの単一のInitコンテナが失敗した場合、KubernetesはInitコンテナが成功するまで何度もそのPodを再起動します。しかし、もしそのPodの`restartPolicy`がNeverの場合、再起動されません。 -単一のコンテナをInitコンテナとして指定するためには、PodSpecにそのアプリケーションの`containers`配列と並べて、`initContainers`フィールドを[Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)型のオブジェクトのJSON配列として指定してください。 +PodにInitコンテナを指定するためには、Podの仕様にそのアプリケーションの`containers`配列と並べて、`initContainers`フィールドを[Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)型のオブジェクトの配列として指定してください。 Initコンテナのステータスは、`.status.initContainerStatuses`フィールドにコンテナのステータスの配列として返されます(`.status.containerStatuses`と同様)。 -### 通常のコンテナとの違い +### 通常のコンテナとの違い {#differences-from-regular-containers} -Initコンテナは、リソースリミット、ボリューム、セキュリティ設定などのアプリケーションコンテナの全てのフィールドと機能をサポートしています。しかし、Initコンテナに対するリソースリクエストやリソースリミットの扱いは微妙に異なり、下記の[Resources](#resources)にて説明します。また、InitコンテナはそのPodの準備ができる前に完了しなくてはならないため、`readinessProbe`をサポートしていません。 +Initコンテナは、リソースリミット、ボリューム、セキュリティ設定などのアプリケーションコンテナの全てのフィールドと機能をサポートしています。しかし、Initコンテナに対するリソースリクエストやリソースリミットの扱いは異なります。[リソース](#resources)にて説明します。 -もし複数のInitコンテナが単一のPodに対して指定された場合、それらのInitコンテナは1つずつ順番に実行されます。各Initコンテナは次のコンテナが完了できる前に完了しなくてはなりません。全てのInitコンテナが実行完了した時、KubernetesはPodを初期化し、通常通りアプリケーションコンテナを稼働させます。 +また、InitコンテナはそのPodの準備ができる前に完了しなくてはならないため、`readinessProbe`をサポートしていません。 -## Initコンテナは何に使用できるか? +もし複数のInitコンテナを単一のPodに対して指定した場合、KubeletはそれらのInitコンテナは1つずつ順番に実行します。各Initコンテナは、次のInitコンテナが稼働する前に正常終了しなくてはなりません。全てのInitコンテナの実行が完了すると、KubeletはPodのアプリケーションコンテナを初期化し、通常通り実行します。 + +## Initコンテナを使用する {#using-init-containers} Initコンテナはアプリケーションコンテナのイメージとは分離されているため、コンテナの起動に関連したコードにおいていくつかの利点があります。 -* セキュリティの理由からアプリケーションコンテナのイメージに含めたくないユーティリティーを含んだり実行できます。 -* アプリケーションのイメージに存在していないセットアップ用のユーティリティーやカスタムコードを含むことができます。例えば、セットアップ中に`sed`、`awk`、`python`や、`dig`のようなツールを使うための他のイメージから、アプリケーションのイメージを作る必要がなくなります。 -* アプリケーションイメージをひとまとめにしてビルドすることなく、アプリケーションのイメージ作成と、デプロイ処理を独立して行うことができます。 -* アプリケーションコンテナと別のファイルシステムビューを持つために、Linuxの名前空間を使用します。その結果、アプリケーションコンテナがアクセスできない箇所へのシークレットなアクセス権限を得ることができます。 -* Initコンテナはアプリケーションコンテナの実行の前に完了しますが、その一方で、複数のアプリケーションコンテナは並列に実行されます。そのためInitコンテナはいくつかの前提条件をセットされるまで、アプリケーションコンテナの起動をブロックしたり遅らせることができます。 +* Initコンテナはアプリケーションのイメージに存在しないセットアップ用のユーティリティーやカスタムコードを含むことができます。例えば、セットアップ中に`sed`、`awk`、`python`や、`dig`のようなツールを使うためだけに、別のイメージを元にしてアプリケーションイメージを作る必要がなくなります。 +* アプリケーションイメージをビルドする役割とデプロイする役割は、共同で単一のアプリケーションイメージをビルドする必要がないため、それぞれ独立して実施することができます。 +* Initコンテナは同一Pod内のアプリケーションコンテナと別のファイルシステムビューで稼働することができます。その結果、アプリケーションコンテナがアクセスできない{{< glossary_tooltip text="Secret" term_id="secret" >}}に対するアクセス権限を得ることができます。 +* Initコンテナはアプリケーションコンテナが開始する前に完了するまで実行されるため、Initコンテナを使用することで、特定の前提条件が満たされるまでアプリケーションコンテナの起動をブロックしたり遅らせることができます。前提条件が満たされると、Pod内の全てのアプリケーションコンテナを並行して起動することができます。 +* Initコンテナはアプリケーションコンテナイメージの安全性を低下させるようなユーティリティーやカスタムコードを安全に実行することができます。不必要なツールを分離しておくことで、アプリケーションコンテナイメージの攻撃面を制限することができます。 -### 使用例 +### 例 {#examples} -ここではInitコンテナの使用例を挙げます。 +Initコンテナを活用する方法について、いくつかのアイデアを次に示します。 -* シェルコマンドを使って単一のServiceが作成されるのを待機します。 +* シェルコマンドを使って単一の{{< glossary_tooltip text="Service" term_id="service">}}が作成されるのを待機する。 + ```shell + for i in {1..100}; do sleep 1; if dig myservice; then exit 0; fi; done; exit 1 + ``` - for i in {1..100}; do sleep 1; if dig myservice; then exit 0; fi; done; exit 1 +* 以下のようなコマンドを使って下位のAPIからPodの情報をリモートサーバに登録する。 + ```shell + curl -X POST http://$MANAGEMENT_SERVICE_HOST:$MANAGEMENT_SERVICE_PORT/register -d 'instance=$()&ip=$()' + ``` -* コマンドを使って下位のAPIからこのPodをリモートサーバに登録します。 +* 以下のようなコマンドを使ってアプリケーションコンテナの起動を待機する。 + ```shell + sleep 60 + ``` - `curl -X POST http://$MANAGEMENT_SERVICE_HOST:$MANAGEMENT_SERVICE_PORT/register -d 'instance=$()&ip=$()'` +* gitリポジトリを{{< glossary_tooltip text="Volume" term_id="volume" >}}にクローンする。 -* `sleep 60`のようなコマンドを使ってアプリケーションコンテナが起動する前に待機します。 -* ボリュームにあるgitリポジトリをクローンします。 -* メインのアプリケーションコンテナのための設定ファイルを動的に生成するために、いくつかの値を設定ファイルに移してテンプレートツールを稼働させます。例えば、設定ファイルにそのPodのPOD_IPを移して、Jinjaを使ってメインのアプリケーションコンテナの設定ファイルを生成します。 +* いくつかの値を設定ファイルに配置し、メインのアプリケーションコンテナのための設定ファイルを動的に生成するためのテンプレートツールを実行する。例えば、そのPodの`POD_IP`の値を設定ファイルに配置し、Jinjaを使ってメインのアプリケーションコンテナの設定ファイルを生成する。 -さらに詳細な使用例は、[StatefulSetsのドキュメント](/ja/docs/concepts/workloads/controllers/statefulset/)と[Production Pods guide](/docs/tasks/configure-pod-container/configure-pod-initialization/)にまとまっています。 +#### Initコンテナの具体的な使用方法 {#init-containers-in-use} -### Initコンテナの使用 - -下記のKubernetes1.5用のyamlファイルは、2つのInitコンテナを含む単一のシンプルなポッドの概要となります。 -最初のInitコンテナの例は、`myservies`、2つ目のInitコンテナは`mydb`の起動をそれぞれ待ちます。2つのコンテナの実行が完了するとPodの起動が始まります。 - -```yaml -apiVersion: v1 -kind: Pod -metadata: - name: myapp-pod - labels: - app: myapp - annotations: - pod.beta.kubernetes.io/init-containers: '[ - { - "name": "init-myservice", - "image": "busybox:1.28", - "command": ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"] - }, - { - "name": "init-mydb", - "image": "busybox:1.28", - "command": ['sh', '-c', "until nslookup mydb.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for mydb; sleep 2; done"] - } - ]' -spec: - containers: - - name: myapp-container - image: busybox:1.28 - command: ['sh', '-c', 'echo The app is running! && sleep 3600'] -``` - -古いアノテーション構文がKubernetes1.6と1.7において有効ですが、1.6では新しい構文にも対応しています。Kubernetes1.8以降では新しい構文を使用する必要があります。KubernetesではInitコンテナの宣言を`spec`に移行させました。 +下記の例は2つのInitコンテナを含むシンプルなPodを定義しています。 +1つ目のInitコンテナは`myservies`の起動を、2つ目のInitコンテナは`mydb`の起動をそれぞれ待ちます。両方のInitコンテナの実行が完了すると、Podは`spec`セクションにあるアプリケーションコンテナを実行します。 ```yaml apiVersion: v1 @@ -108,39 +87,13 @@ spec: initContainers: - name: init-myservice image: busybox:1.28 - command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] + command: ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"] - name: init-mydb image: busybox:1.28 - command: ['sh', '-c', 'until nslookup mydb; do echo waiting for mydb; sleep 2; done;'] + command: ['sh', '-c', "until nslookup mydb.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for mydb; sleep 2; done"] ``` -Kubernetes1.5での構文は1.6においても稼働しますが、1.6の構文の使用を推奨します。Kubernetes1.6において、API内でInitコンテナのフィールド作成されます。ベータ版のアノテーションはKubernetes1.6と1.7において有効ですが、1.8以降ではサポートされません。 - -下記のyamlファイルは`mydb`と`myservice`というServiceの概要です。 - -```yaml -kind: Service -apiVersion: v1 -metadata: - name: myservice -spec: - ports: - - protocol: TCP - port: 80 - targetPort: 9376 ---- -kind: Service -apiVersion: v1 -metadata: - name: mydb -spec: - ports: - - protocol: TCP - port: 80 - targetPort: 9377 -``` - -このPodは、下記のコマンドによって起動とデバッグすることが可能です。 +次のコマンドを実行して、このPodを開始できます。 ```shell kubectl apply -f myapp.yaml @@ -149,6 +102,7 @@ kubectl apply -f myapp.yaml pod/myapp-pod created ``` +そして次のコマンドでステータスを確認します。 ```shell kubectl get -f myapp.yaml ``` @@ -157,6 +111,7 @@ NAME READY STATUS RESTARTS AGE myapp-pod 0/1 Init:0/2 0 6m ``` +より詳細な情報は次のコマンドで確認します。 ```shell kubectl describe -f myapp.yaml ``` @@ -194,12 +149,41 @@ Events: 13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Created Created container with docker id 5ced34a04634; Security:[seccomp=unconfined] 13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Started Started container with docker id 5ced34a04634 ``` + +このPod内のInitコンテナのログを確認するためには、次のコマンドを実行します。 ```shell kubectl logs myapp-pod -c init-myservice # 1つ目のInitコンテナを調査する kubectl logs myapp-pod -c init-mydb # 2つ目のInitコンテナを調査する ``` -一度`mydq`と`myservice` Serviceを起動させると、Initコンテナが完了して`myapp-pod`が作成されるのを確認できます。 +この時点で、これらのInitコンテナは`mydb`と`myservice`という名前のServiceの検出を待機しています。 + +これらのServiceを検出させるための構成は以下の通りです。 + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: myservice +spec: + ports: + - protocol: TCP + port: 80 + targetPort: 9376 +--- +apiVersion: v1 +kind: Service +metadata: + name: mydb +spec: + ports: + - protocol: TCP + port: 80 + targetPort: 9377 +``` + +`mydb`および`myservice`というServiceを作成するために、以下のコマンドを実行します。 ```shell kubectl apply -f services.yaml @@ -209,68 +193,63 @@ service/myservice created service/mydb created ``` +Initコンテナが完了し、`myapp-pod`というPodがRunning状態に移行したことが確認できます。 + ```shell kubectl get -f myapp.yaml NAME READY STATUS RESTARTS AGE myapp-pod 1/1 Running 0 9m ``` -この例は非常にシンプルですが、ユーザー独自のInitコンテナを作成するためのインスピレーションを提供するでしょう。 +このシンプルな例を独自のInitコンテナを作成する際の参考にしてください。[次の項目](#what-s-next)にさらに詳細な使用例に関するリンクがあります。 -## Initコンテナのふるまいに関する詳細 +## Initコンテナのふるまいに関する詳細 {#Detailed behavior} -単一のPodが起動している間、ネットワークとボリュームが初期化されたのちに、Initコンテナは順番に起動されます。各Initコンテナは次のInitコンテナが起動する前に完了しなくてはなりません。もしあるInitコンテナがランタイムもしくはエラーにより起動失敗した場合、そのPodの`restartPolicy`の値をもとにリトライされます。しかし、もしPodの`restartPolicy`が`Always`に設定されていた場合、そのInitコンテナの`restartPolicy`は`OnFailure`となります。 +Podの起動時において、各Initコンテナはネットワークとボリュームが初期化されたのちに順番に起動します。各Initコンテナは次のInitコンテナが起動する前に正常に終了しなくてはなりません。もしあるInitコンテナがランタイムもしくはエラーにより起動失敗した場合、そのPodの`restartPolicy`の値に従ってリトライされます。しかし、もしPodの`restartPolicy`が`Always`に設定されていた場合、Initコンテナの`restartPolicy`は`OnFailure`が適用されます。 -Podは全てのInitコンテナが完了するまで`Ready`状態となりません。Initコンテナ上のポートはServiceによって集約されません。初期化中のPodのステータスは`Pending`となりますが、`Initializing`という値はtrueとなります。 +Podは全てのInitコンテナが完了するまで`Ready`状態となりません。Initコンテナ上のポートはServiceによって集約されません。初期化中のPodのステータスは`Pending`となりますが、`Initialized`という値はtrueとなります。 -もしそのPodが[再起動](#pod-restart-reasons)されたとき、全てのInitコンテナは再度実行されなくてはなりません。 +もしそのPodが[再起動](#pod-restart-reasons)されたとき、全てのInitコンテナは必ず再度実行されます。 -Initコンテナのスペックに対する変更はコンテナのイメージフィールドのみに限定されます。 -Initコンテナのイメージフィールド値の変更は、そのPodの再起動することと等しいです。 +Initコンテナの仕様の変更は、コンテナイメージのフィールドのみに制限されています。 +Initコンテナのイメージフィールド値を変更すると、そのPodは再起動されます。 -Initコンテナは何度も再起動、リトライ可能なため、べき等(Idempotent)である必要があります。特に、`EmptyDirs`にファイルを書き込むコードは、書き込み先のファイルがすでに存在している可能性を考慮に入れるべきです。 +Initコンテナは何度も再起動およびリトライ可能なため、べき等(Idempotent)である必要があります。特に、`EmptyDirs`にファイルを書き込むコードは、書き込み先のファイルがすでに存在している可能性を考慮に入れる必要があります。 -Initコンテナはアプリケーションコンテナの全てのフィールドを持っています。しかしKubernetesは、Initコンテナが完了と異なる状態を定義できないため`readinessProbe`が使用されることを禁止しています。これはバリデーションの際に強要されます。 +Initコンテナはアプリケーションコンテナの全てのフィールドを持っています。しかしKubernetesは、Initコンテナが完了と異なる状態を定義できないため`readinessProbe`が使用されることを禁止しています。これはバリデーションの際に適用されます。 -Initコンテナがずっと失敗し続けたままの状態を防ぐために、Podに`activeDeadlineSeconds`、コンテナに`livenessProbe`の設定をそれぞれ使用してください。`activeDeadlineSeconds`の設定はInitコンテナにも適用されます。 +Initコンテナがずっと失敗し続けたままの状態を防ぐために、Podに`activeDeadlineSeconds`を、コンテナに`livenessProbe`をそれぞれ設定してください。`activeDeadlineSeconds`の設定はInitコンテナが実行中の時間にも適用されます。 -あるPod内の各アプリケーションコンテナとInitコンテナの名前はユニークである必要があります。他のコンテナと同じ名前を共有していた場合、バリデーションエラーが返されます。 +Pod内の各アプリケーションコンテナとInitコンテナの名前はユニークである必要があります。他のコンテナと同じ名前を共有していた場合、バリデーションエラーが返されます。 -### リソース +### リソース {#resources} Initコンテナの順序と実行を考えるとき、リソースの使用に関して下記のルールが適用されます。 -* 全てのInitコンテナの中で定義された最も高いリソースリクエストとリソースリミットが、*有効なInitリクエストとリミット* になります。 -* Podのリソースの*有効なリクエストとリミット* は、下記の2つの中のどちらか高い方となります。 - * そのリソースの全てのアプリケーションコンテナのリクエストとリミットの合計 - * そのリソースの有効なInitリクエストとリミット -* スケジューリングは有効なリクエストとリミットに基づいて実行されます。これはInitコンテナがそのPodの生存中に使われない初期化のためのリソースを保持することができることを意味しています。 -* Podの*有効なQosティアー* は、Initコンテナとアプリケーションコンテナで同様です。 +* 全てのInitコンテナの中で定義された最も高いリソースリクエストとリソースリミットが、*有効なinitリクエスト/リミット* になります。 +* Podのリソースの*有効なリクエスト/リミット* は、下記の2つの中のどちらか高い方となります。 + * リソースに対する全てのアプリケーションコンテナのリクエスト/リミットの合計 + * リソースに対する有効なinitリクエスト/リミット +* スケジューリングは有効なリクエスト/リミットに基づいて実行されます。つまり、InitコンテナはPodの生存中には使用されない初期化用のリソースを確保することができます。 +* Podの*有効なQos(quality of service)ティアー* は、Initコンテナとアプリケーションコンテナで同様です。 クォータとリミットは有効なPodリクエストとリミットに基づいて適用されます。 -Podレベルのcgroupsは、スケジューラーと同様に、有効なPodリクエストとリミットに基づいています。 +Podレベルのコントロールグループ(cgroups)は、スケジューラーと同様に、有効なPodリクエストとリミットに基づいています。 -### Podの再起動の理由 +### Podの再起動の理由 {#pod-restart-reasons} -単一のPodは再起動可能で、Initコンテナの再実行も引き起こします。それらは下記の理由によるものです。 +以下の理由によりPodは再起動し、Initコンテナの再実行も引き起こす可能性があります。 -* あるユーザーが、そのPodのInitコンテナのイメージを変更するようにPodSpecを更新する場合。アプリケーションコンテナのイメージの変更はそのアプリケーションコンテナの再起動のみ行われます。 +* ユーザーが、そのPodのInitコンテナのイメージを変更するようにPodの仕様を更新する場合。アプリケーションコンテナのイメージの変更はそのアプリケーションコンテナの再起動のみ行われます。 * そのPodのインフラストラクチャーコンテナが再起動された場合。これはあまり起きるものでなく、Nodeに対するルート権限を持ったユーザーにより行われることがあります。 -* `restartPolicy`が`Always`と設定されているとき、単一Pod内の全てのコンテナが停止され、再起動が行われた時と、ガーベージコレクションによりInitコンテナの完了記録が失われた場合。 - -## サポートと互換性 - -ApiServerのバージョン1.6.0かそれ以上のバージョンのクラスターは、`.spec.initContainers`フィールドを使ったInitコンテナの機能をサポートしています。 -それ以前のバージョンでは、α版かβ版のアノテーションを使ってInitコンテナを使用できます。また、`.spec.initContainers`フィールドは、Kubernetes1.3.0かそれ以上のバージョンでInitコンテナを使用できるようにするためと、ApiServerバージョン1.6において、1.5.xなどの古いバージョンにロールバックできるようにするために、α版かβ版のアノテーションにミラーされ、存在するPodのInitコンテナの機能が失われることが無いように安全にロールバックできるようにします。 - -ApiServerとKubeletバージョン1.8.0かそれ以上のバージョンでは、α版とβ版のアノテーションは削除されており、廃止されたアノテーションは`.spec.initContainers`フィールドへの移行が必須となります。 +* `restartPolicy`が`Always`と設定されているPod内の全てのコンテナが停止され、再起動が行われた場合。およびガーベージコレクションによりInitコンテナの完了記録が失われた場合。 {{% /capture %}} - {{% capture whatsnext %}} -* [Initコンテナを持っているPodの作成](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) +* [Initコンテナを含むPodの作成](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container)方法について学ぶ。 +* [Init Containerのデバッグ](/ja/docs/tasks/debug-application-cluster/debug-init-containers/)を行う方法について学ぶ。 {{% /capture %}} From 9e57f66d83990e04c31de20ba906e0275eed4e19 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Sun, 7 Jun 2020 17:22:33 +0900 Subject: [PATCH 307/533] Update content/ja/docs/concepts/services-networking/service.md Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/services-networking/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index 853f0e6d45..50cda0b3dc 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -49,7 +49,7 @@ Serviceによる抽象化は、クライアントからバックエンドのPod ## Serviceの定義 -KubernetesのServiceはPodと同様にRESTのオブジェクトです。他のRESTオブジェクトと同様に、ユーザーはServiceの新しいインスタンスを作成するためにAPIサーバーに対してServiceの定義を`POST`できます。Serviceオブジェクトの名前は、有効なDNSラベル名である必要があります。 +KubernetesのServiceはPodと同様にRESTのオブジェクトです。他のRESTオブジェクトと同様に、ユーザーはServiceの新しいインスタンスを作成するためにAPIサーバーに対してServiceの定義を`POST`できます。Serviceオブジェクトの名前は、有効な[DNSラベル名](/ja/docs/concepts/overview/working-with-objects/names#dns-label-names)である必要があります。 例えば、TCPで9376番ポートで待ち受けていて、`app=Myapp`というラベルをもつPodのセットがあるとします。 From 6d55257b2ac0429f7b424d521c77c58e7d192318 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Sun, 7 Jun 2020 17:22:41 +0900 Subject: [PATCH 308/533] Update content/ja/docs/concepts/services-networking/service.md Co-authored-by: Naoki Oketani --- content/ja/docs/concepts/services-networking/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index 50cda0b3dc..9927f479aa 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -123,7 +123,7 @@ subsets: - port: 9376 ``` -Endpointsオブジェクトの名前は、有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +Endpointsオブジェクトの名前は、有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 {{< note >}} Endpointsのipは、loopback (127.0.0.0/8 for IPv4, ::1/128 for IPv6), や From c00f694d7cf572a419a360f2d74e9056d0fd7a17 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Wed, 27 May 2020 21:58:38 +0100 Subject: [PATCH 309/533] Allow specifying container runtime for Makefile This commit lets you run, eg: DOCKER=podman make docker-image DOCKER=podman make docker-serve and spin up the website locally for testing, without using Docker or needing to have Docker installed. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c7756208cc..576b25eebf 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -DOCKER = docker +DOCKER ?= docker HUGO_VERSION = $(shell grep ^HUGO_VERSION netlify.toml | tail -n 1 | cut -d '=' -f 2 | tr -d " \"\n") DOCKER_IMAGE = kubernetes-hugo DOCKER_RUN = $(DOCKER) run --rm --interactive --tty --volume $(CURDIR):/src From 6e2386decb2230d8d95575096fc0ae9e6976a84f Mon Sep 17 00:00:00 2001 From: kondo takeshi Date: Sun, 7 Jun 2020 23:42:34 +0900 Subject: [PATCH 310/533] Follow "Update references to the patch release process" in Japanese --- content/ja/docs/setup/release/version-skew-policy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/setup/release/version-skew-policy.md b/content/ja/docs/setup/release/version-skew-policy.md index 4573e740a6..99ee0447b1 100644 --- a/content/ja/docs/setup/release/version-skew-policy.md +++ b/content/ja/docs/setup/release/version-skew-policy.md @@ -16,9 +16,9 @@ Kubernetesのバージョンは**x.y.z**の形式で表現され、**x**はメ Kubernetesプロジェクトでは、最新の3つのマイナーリリースについてリリースブランチを管理しています。 -セキュリティフィックスを含む適用可能な修正は、重大度や実行可能性によってはこれら3つのリリースブランチにバックポートされることもあります。パッチリリースは、定期的または必要に応じてこれらのブランチから分岐されます。[パッチリリースマネージャー](https://github.com/kubernetes/sig-release/blob/master/release-team/role-handbooks/patch-release-manager/README.md#release-timing)がこれを決定しています。パッチリリースマネージャーは[各リリースのリリースチーム](https://github.com/kubernetes/sig-release/tree/master/releases/)のメンバーです。 +セキュリティフィックスを含む適用可能な修正は、重大度や実行可能性によってはこれら3つのリリースブランチにバックポートされることもあります。パッチリリースは、[定期的](https://git.k8s.io/sig-release/releases/patch-releases.md#cadence)または必要に応じてこれらのブランチから分岐されます。[リリースマネージャー](https://git.k8s.io/sig-release/release-managers.md)グループがこれを決定しています。 -マイナーリリースは約3ヶ月ごとに行われるため、それぞれのリリースブランチは約9ヶ月間メンテナンスされます。 +詳細は、Kubernetes[パッチリリース](https://git.k8s.io/sig-release/releases/patch-releases.md)ページを参照してください。 ## サポートされるバージョンの差異 From a5225e83e90870c2782c3badb43b3ddad988876b Mon Sep 17 00:00:00 2001 From: Jintao Zhang Date: Mon, 8 Jun 2020 10:47:53 +0800 Subject: [PATCH 311/533] Bump docker recommended version to 19.03.11. CVE-2020-13401 xref: https://github.com/kubernetes/kubernetes/issues/91507 Signed-off-by: Jintao Zhang --- .../production-environment/container-runtimes.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/en/docs/setup/production-environment/container-runtimes.md b/content/en/docs/setup/production-environment/container-runtimes.md index 7db25e022b..5d0c4e11ae 100644 --- a/content/en/docs/setup/production-environment/container-runtimes.md +++ b/content/en/docs/setup/production-environment/container-runtimes.md @@ -64,7 +64,7 @@ is to drain the Node from its workloads, remove it from the cluster and re-join ## Docker On each of your machines, install Docker. -Version 19.03.8 is recommended, but 1.13.1, 17.03, 17.06, 17.09, 18.06 and 18.09 are known to work as well. +Version 19.03.11 is recommended, but 1.13.1, 17.03, 17.06, 17.09, 18.06 and 18.09 are known to work as well. Keep track of the latest verified Docker version in the Kubernetes release notes. Use the following commands to install Docker on your system: @@ -96,9 +96,9 @@ add-apt-repository \ ```shell # Install Docker CE apt-get update && apt-get install -y \ - containerd.io=1.2.13-1 \ - docker-ce=5:19.03.8~3-0~ubuntu-$(lsb_release -cs) \ - docker-ce-cli=5:19.03.8~3-0~ubuntu-$(lsb_release -cs) + containerd.io=1.2.13-2 \ + docker-ce=5:19.03.11~3-0~~ubuntu-$(lsb_release -cs) \ + docker-ce-cli=5:19.03.11~3-0~~ubuntu-$(lsb_release -cs) ``` ```shell @@ -144,8 +144,8 @@ yum-config-manager --add-repo \ # Install Docker CE yum update -y && yum install -y \ containerd.io-1.2.13 \ - docker-ce-19.03.8 \ - docker-ce-cli-19.03.8 + docker-ce-19.03.11 \ + docker-ce-cli-19.03.11 ``` ```shell From c1693b52936f70fc9012cac3e9603ada64064278 Mon Sep 17 00:00:00 2001 From: Quan Tian Date: Wed, 27 May 2020 09:52:06 -0700 Subject: [PATCH 312/533] Unify typical apiserver port in docs --- .../concepts/architecture/control-plane-node-communication.md | 2 +- .../en/docs/reference/access-authn-authz/controlling-access.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/concepts/architecture/control-plane-node-communication.md b/content/en/docs/concepts/architecture/control-plane-node-communication.md index 940b8faacc..d08ddd6d6c 100644 --- a/content/en/docs/concepts/architecture/control-plane-node-communication.md +++ b/content/en/docs/concepts/architecture/control-plane-node-communication.md @@ -19,7 +19,7 @@ This document catalogs the communication paths between the control plane (really {{% capture body %}} ## Node to Control Plane -All communication paths from the nodes to the control plane terminate at the apiserver (none of the other master components are designed to expose remote services). In a typical deployment, the apiserver is configured to listen for remote connections on a secure HTTPS port (443) with one or more forms of client [authentication](/docs/reference/access-authn-authz/authentication/) enabled. +Kubernetes has a "hub-and-spoke" API pattern. All API usage from nodes (or the pods they run) terminate at the apiserver (none of the other control plane components are designed to expose remote services). The apiserver is configured to listen for remote connections on a secure HTTPS port (typically 443) with one or more forms of client [authentication](/docs/reference/access-authn-authz/authentication/) enabled. One or more forms of [authorization](/docs/reference/access-authn-authz/authorization/) should be enabled, especially if [anonymous requests](/docs/reference/access-authn-authz/authentication/#anonymous-requests) or [service account tokens](/docs/reference/access-authn-authz/authentication/#service-account-tokens) are allowed. Nodes should be provisioned with the public root certificate for the cluster such that they can connect securely to the apiserver along with valid client credentials. For example, on a default GKE deployment, the client credentials provided to the kubelet are in the form of a client certificate. See [kubelet TLS bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) for automated provisioning of kubelet client certificates. diff --git a/content/en/docs/reference/access-authn-authz/controlling-access.md b/content/en/docs/reference/access-authn-authz/controlling-access.md index 21c08447ff..e945fa596b 100644 --- a/content/en/docs/reference/access-authn-authz/controlling-access.md +++ b/content/en/docs/reference/access-authn-authz/controlling-access.md @@ -23,7 +23,7 @@ following diagram: ## Transport Security -In a typical Kubernetes cluster, the API serves on port 6443. +In a typical Kubernetes cluster, the API serves on port 443. The API server presents a certificate. This certificate is often self-signed, so `$USER/.kube/config` on the user's machine typically contains the root certificate for the API server's certificate, which when specified From 673a7498350907c272ba769142b1d383562ab8ff Mon Sep 17 00:00:00 2001 From: Jonathan Arnett Date: Sat, 6 Jun 2020 18:18:10 -0400 Subject: [PATCH 313/533] Add documentation about Minikube and libvirt --- content/en/docs/tasks/tools/install-minikube.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/en/docs/tasks/tools/install-minikube.md b/content/en/docs/tasks/tools/install-minikube.md index 50e4436dec..48385f8caf 100644 --- a/content/en/docs/tasks/tools/install-minikube.md +++ b/content/en/docs/tasks/tools/install-minikube.md @@ -218,6 +218,10 @@ For setting the `--driver` with `minikube start`, enter the name of the hypervis {{< /note >}} +{{< caution >}} +When using KVM, note that libvirt's default QEMU URI under Debian and some other systems is `qemu:///session` whereas Minikube's default QEMU URI is `qemu:///system`. If this is the case for your system, you will need to pass `--kvm-qemu-uri qemu:///session` to `minikube start`. +{{< /caution >}} + ```shell minikube start --driver= ``` From 2baa76a1d03cb7124406b766db1362469cfed02b Mon Sep 17 00:00:00 2001 From: Soichiro KAWAMURA Date: Tue, 9 Jun 2020 00:46:20 +0900 Subject: [PATCH 314/533] follow ja:glossary/controller.md v1.17 --- content/ja/docs/reference/glossary/controller.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/reference/glossary/controller.md b/content/ja/docs/reference/glossary/controller.md index 6e49e3a6b6..7e8d7e4e77 100755 --- a/content/ja/docs/reference/glossary/controller.md +++ b/content/ja/docs/reference/glossary/controller.md @@ -2,7 +2,7 @@ title: Controller id: controller date: 2018-04-12 -full_link: /docs/admin/kube-controller-manager/ +full_link: /docs/concepts/architecture/controller/ short_description: > クラスターの状態をAPIサーバーから取得、見張る制御ループで、現在の状態を望ましい状態に移行するように更新します。 @@ -11,8 +11,11 @@ tags: - architecture - fundamental --- - クラスターの状態を{{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}}から取得して監視する制御ループで、現在の状態を望ましい状態に移行するように更新します。 +Kubernetesでは、コントローラーは{{< glossary_tooltip term_id="cluster" text="cluster" >}}の状態を監視し、必要に応じて変更を加えたり要求したりする制御ループです。それぞれのコントローラーは現在のクラスターの状態を望ましい状態に近づけるように動作します。 -現在Kubernetesに同梱されているコントローラーの例には、レプリケーションコントローラー、エンドポイントコントローラー、名前空間コントローラー、およびサービスアカウントコントローラーがあります。 +コントローラーはクラスターの状態を{{< glossary_tooltip term_id="control-plane" >}}の一部である{{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}}から取得します。 + +いくつかのコントロールプレーン内部で動くコントローラーは、Kubernetesの主要な操作に対する制御ループを提供します。 +例えば、Deploymentコントローラー、Daemonsetコントローラー、Namespaceコントローラー、Persistent Volumeコントローラー等は{{< glossary_tooltip term_id="kube-controller-manager" >}}の内部で動作します。 From b794063d1811c59e0d3935a99fe313ad1523469d Mon Sep 17 00:00:00 2001 From: translucens Date: Tue, 9 Jun 2020 01:36:21 +0900 Subject: [PATCH 315/533] Update content/ja/docs/reference/glossary/controller.md Co-authored-by: inductor(Kohei) --- content/ja/docs/reference/glossary/controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/controller.md b/content/ja/docs/reference/glossary/controller.md index 7e8d7e4e77..10989bb584 100755 --- a/content/ja/docs/reference/glossary/controller.md +++ b/content/ja/docs/reference/glossary/controller.md @@ -11,7 +11,7 @@ tags: - architecture - fundamental --- -Kubernetesでは、コントローラーは{{< glossary_tooltip term_id="cluster" text="cluster" >}}の状態を監視し、必要に応じて変更を加えたり要求したりする制御ループです。それぞれのコントローラーは現在のクラスターの状態を望ましい状態に近づけるように動作します。 +Kubernetesにおいて、コントローラーは{{< glossary_tooltip term_id="cluster" text="cluster" >}}の状態を監視し、必要に応じて変更を加えたり要求したりする制御ループです。それぞれのコントローラーは現在のクラスターの状態を望ましい状態に近づけるように動作します。 From e53627ddeca59efc24f428b25f736878ff154796 Mon Sep 17 00:00:00 2001 From: translucens Date: Tue, 9 Jun 2020 01:38:48 +0900 Subject: [PATCH 316/533] Update content/ja/docs/reference/glossary/controller.md Co-authored-by: inductor(Kohei) --- content/ja/docs/reference/glossary/controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/controller.md b/content/ja/docs/reference/glossary/controller.md index 10989bb584..7dfddb4e6d 100755 --- a/content/ja/docs/reference/glossary/controller.md +++ b/content/ja/docs/reference/glossary/controller.md @@ -15,7 +15,7 @@ Kubernetesにおいて、コントローラーは{{< glossary_tooltip term_id="c -コントローラーはクラスターの状態を{{< glossary_tooltip term_id="control-plane" >}}の一部である{{< glossary_tooltip text="apiserver" term_id="kube-apiserver" >}}から取得します。 +コントローラーはクラスターの状態を{{< glossary_tooltip term_id="control-plane" text="コントロールプレーン" >}}の一部である{{< glossary_tooltip text="kube-apiserver" term_id="kube-apiserver" >}}から取得します。 いくつかのコントロールプレーン内部で動くコントローラーは、Kubernetesの主要な操作に対する制御ループを提供します。 例えば、Deploymentコントローラー、Daemonsetコントローラー、Namespaceコントローラー、Persistent Volumeコントローラー等は{{< glossary_tooltip term_id="kube-controller-manager" >}}の内部で動作します。 From ebb5d8ed2aeee3357cd547d42b6afe2ac1a98d13 Mon Sep 17 00:00:00 2001 From: translucens Date: Tue, 9 Jun 2020 02:14:24 +0900 Subject: [PATCH 317/533] Update content/ja/docs/reference/glossary/controller.md --- content/ja/docs/reference/glossary/controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/controller.md b/content/ja/docs/reference/glossary/controller.md index 7dfddb4e6d..102f8855d4 100755 --- a/content/ja/docs/reference/glossary/controller.md +++ b/content/ja/docs/reference/glossary/controller.md @@ -18,4 +18,4 @@ Kubernetesにおいて、コントローラーは{{< glossary_tooltip term_id="c コントローラーはクラスターの状態を{{< glossary_tooltip term_id="control-plane" text="コントロールプレーン" >}}の一部である{{< glossary_tooltip text="kube-apiserver" term_id="kube-apiserver" >}}から取得します。 いくつかのコントロールプレーン内部で動くコントローラーは、Kubernetesの主要な操作に対する制御ループを提供します。 -例えば、Deploymentコントローラー、Daemonsetコントローラー、Namespaceコントローラー、Persistent Volumeコントローラー等は{{< glossary_tooltip term_id="kube-controller-manager" >}}の内部で動作します。 +例えば、Deploymentコントローラー、Daemonsetコントローラー、Namespaceコントローラー、Persistent Volumeコントローラー等は{{< glossary_tooltip term_id="kube-controller-manager" text="kube-controller-manager" >}}の内部で動作します。 From 37cb596724d18ad0c84794ef10a4df6b3aee6cd0 Mon Sep 17 00:00:00 2001 From: translucens Date: Tue, 9 Jun 2020 02:57:50 +0900 Subject: [PATCH 318/533] Update content/ja/docs/reference/glossary/controller.md Co-authored-by: inductor(Kohei) --- content/ja/docs/reference/glossary/controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/controller.md b/content/ja/docs/reference/glossary/controller.md index 102f8855d4..10c8446bd9 100755 --- a/content/ja/docs/reference/glossary/controller.md +++ b/content/ja/docs/reference/glossary/controller.md @@ -17,5 +17,5 @@ Kubernetesにおいて、コントローラーは{{< glossary_tooltip term_id="c コントローラーはクラスターの状態を{{< glossary_tooltip term_id="control-plane" text="コントロールプレーン" >}}の一部である{{< glossary_tooltip text="kube-apiserver" term_id="kube-apiserver" >}}から取得します。 -いくつかのコントロールプレーン内部で動くコントローラーは、Kubernetesの主要な操作に対する制御ループを提供します。 +コントロールプレーン内部で動くいくつかのコントローラーは、Kubernetesの主要な操作に対する制御ループを提供します。 例えば、Deploymentコントローラー、Daemonsetコントローラー、Namespaceコントローラー、Persistent Volumeコントローラー等は{{< glossary_tooltip term_id="kube-controller-manager" text="kube-controller-manager" >}}の内部で動作します。 From c759ae98008b3dee1e8232a8fc9b0eda0c1ea2f7 Mon Sep 17 00:00:00 2001 From: Arhell Date: Tue, 9 Jun 2020 00:03:21 +0300 Subject: [PATCH 319/533] localization for subscribe button --- i18n/fr.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/i18n/fr.toml b/i18n/fr.toml index 13d2bade6e..bd71ec1c6b 100644 --- a/i18n/fr.toml +++ b/i18n/fr.toml @@ -12,6 +12,9 @@ other = "Cleanup" [prerequisites_heading] other = "Pré-requis" +[subscribe_button] +other = "Souscrire" + [whatsnext_heading] other = "A suivre" From 6a565fd60c6d6a0a7978b80acb25bae892859a86 Mon Sep 17 00:00:00 2001 From: translucens Date: Tue, 9 Jun 2020 10:03:39 +0900 Subject: [PATCH 320/533] Update content/ja/docs/reference/glossary/controller.md Co-authored-by: Naoki Oketani --- content/ja/docs/reference/glossary/controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/reference/glossary/controller.md b/content/ja/docs/reference/glossary/controller.md index 10c8446bd9..d5ce544edd 100755 --- a/content/ja/docs/reference/glossary/controller.md +++ b/content/ja/docs/reference/glossary/controller.md @@ -11,7 +11,7 @@ tags: - architecture - fundamental --- -Kubernetesにおいて、コントローラーは{{< glossary_tooltip term_id="cluster" text="cluster" >}}の状態を監視し、必要に応じて変更を加えたり要求したりする制御ループです。それぞれのコントローラーは現在のクラスターの状態を望ましい状態に近づけるように動作します。 +Kubernetesにおいて、コントローラーは{{< glossary_tooltip term_id="cluster" text="クラスター" >}}の状態を監視し、必要に応じて変更を加えたり要求したりする制御ループです。それぞれのコントローラーは現在のクラスターの状態を望ましい状態に近づけるように動作します。 From f6eacdd40f17a5dac4b0255b36687c5a8c101199 Mon Sep 17 00:00:00 2001 From: Javi Sabalete Date: Tue, 9 Jun 2020 12:46:34 +0200 Subject: [PATCH 321/533] Update content/es/docs/concepts/workloads/pods/pod.md Co-authored-by: Victor Morales --- content/es/docs/concepts/workloads/pods/pod.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/es/docs/concepts/workloads/pods/pod.md b/content/es/docs/concepts/workloads/pods/pod.md index b2bee12852..4c6b5c7498 100644 --- a/content/es/docs/concepts/workloads/pods/pod.md +++ b/content/es/docs/concepts/workloads/pods/pod.md @@ -29,9 +29,9 @@ Las aplicaciones dentro de un Pod también tienen acceso a {{}} muere, los Pods programados para ese nodo se programan para su eliminación después de un período de tiempo de espera. Un Pod dado (defininido por su UID) no se "replanifica" a un nuevo nodo; en su lugar, puede reemplazarse por un Pod idéntico, con incluso el mismo nombre si lo desea, pero con un nuevo UID (consulte [controlador de replicación](/es/docs/concepts/workloads/controllers/replicationcontroller/) para obtener más detalles). +Al igual que los contenedores de aplicaciones individuales, los Pods se consideran entidades relativamente efímeras (en lugar de duraderas). Como se explica en [ciclo de vida del pod](/es/docs/concepts/workloads/pods/pod-lifecycle/), los Pods se crean, se les asigna un identificador único (UID) y se planifican en nodos donde permanecen hasta su finalización (según la política de reinicio) o supresión. Si un {{}} muere, los Pods programados para ese nodo se programan para su eliminación después de un período de tiempo de espera. Un Pod dado (definido por su UID) no se "replanifica" a un nuevo nodo; en su lugar, puede reemplazarse por un Pod idéntico, con incluso el mismo nombre si lo desea, pero con un nuevo UID (consulte [controlador de replicación](/es/docs/concepts/workloads/controllers/replicationcontroller/) para obtener más detalles). -Cuando se dice que algo tiene la misma vida útil que un Pod, como un volumen, significa que existe mientras exista ese Pod (con ese UID). Si ese Pod se elimina por cualquier motivo, incluso si se crea un reemplazo idéntico, la cosa relacionada (por ejemplo, el volumen) también se destruye y se crea de nuevo. +Cuando se dice que algo tiene la misma vida útil que un Pod, como un volumen, significa que existe mientras exista ese Pod (con ese UID). Si ese Pod se elimina por cualquier motivo, incluso si se crea un reemplazo idéntico, el recurso relacionado (por ejemplo, el volumen) también se destruye y se crea de nuevo. {{< figure src="/images/docs/pod.svg" title="diagrama de Pod" width="50%" >}} *Un Pod de múltiples contenedores que contiene un extractor de archivos y un servidor web que utiliza un volumen persistente para el almacenamiento compartido entre los contenedores.* @@ -96,10 +96,10 @@ Los Pods no están destinados a ser tratados como entidades duraderas. No sobrev En general, los usuarios no deberían necesitar crear Pods directamente, deberían usar siempre controladores incluso para Pods individuales, como por ejemplo, los [Deployments](/es/docs/concepts/workloads/controllers/deployment/). -Los controladores proporcionan autocuración con un alcance de clúster, así como replicación +Los controladores proporcionan autorecuperación con un alcance de clúster, así como replicación y gestión de despliegue. Otros controladores como los [StatefulSet](/es/docs/concepts/workloads/controllers/statefulset.md) -pueden tambien proporcionar soporte para Pods que necesiten persisitir el estado. +pueden tambien proporcionar soporte para Pods que necesiten persistir el estado. El uso de API colectivas como la principal primitiva de cara al usuario es relativamente común entre los sistemas de planificación de clúster, incluyendo [Borg](https://research.google.com/pubs/pub43438.html), [Marathon](https://mesosphere.github.io/marathon/docs/rest-api.html), [Aurora](http://aurora.apache.org/documentation/latest/reference/configuration/#job-schema), y [Tupperware](http://www.slideshare.net/Docker/aravindnarayanan-facebook140613153626phpapp02-37588997). @@ -114,7 +114,7 @@ El Pod se expone como primitiva para facilitar: ## Finalización de Pods -Debido a que los Pods representan procesos en ejecución en los nodos del clúster, es importante permitir que esos procesos finalicen de forma correcta cuando ya no se necesiten (en lugar de ser parados bruscamente con una señal de KILL). Los usuarios deben poder solicitar la eliminación y saber cuándo finalizan los procesos, pero también deben poder asegurarse de que las eliminaciones finalmente se completen. Cuando un usuario solicita la eliminación de un Pod, el sistema registra el período de gracia previsto antes de que el Pod pueda ser eliminado de forma forzada, y se envía una señal TERM al proceso principal en cada contenedor. Una vez que el período de gracia ha expirado, la señal KILL se envía a esos procesos y el Pod se elimina del servidor API. Si se reinicia Kubelet o el administrador de contenedores mientras se espera que finalicen los procesos, la terminación se volverá a intentar con el período de gracia completo. +Debido a que los Pods representan procesos en ejecución en los nodos del clúster, es importante permitir que esos procesos finalicen de forma correcta cuando ya no se necesiten (en lugar de ser detenidos bruscamente con una señal de KILL). Los usuarios deben poder solicitar la eliminación y saber cuándo finalizan los procesos, pero también deben poder asegurarse de que las eliminaciones finalmente se completen. Cuando un usuario solicita la eliminación de un Pod, el sistema registra el período de gracia previsto antes de que el Pod pueda ser eliminado de forma forzada, y se envía una señal TERM al proceso principal en cada contenedor. Una vez que el período de gracia ha expirado, la señal KILL se envía a esos procesos y el Pod se elimina del servidor API. Si se reinicia Kubelet o el administrador de contenedores mientras se espera que finalicen los procesos, la terminación se volverá a intentar con el período de gracia completo. Un ejemplo del ciclo de terminación de un Pod: From e480b8fc9635c4b938375d3a658c91ac4900b218 Mon Sep 17 00:00:00 2001 From: Giri Kuncoro Date: Tue, 9 Jun 2020 20:16:45 +0700 Subject: [PATCH 322/533] Rephrase kubelet sentence to avoid having it for opening --- ...igure-liveness-readiness-startup-probes.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 231d235ed0..1d36713f7f 100644 --- a/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/id/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -9,22 +9,22 @@ weight: 110 Laman ini memperlihatkan bagaimana cara untuk mengatur _probe liveness_, _readiness_, dan _startup_ untuk Container. -[kubelet](/docs/admin/kubelet/) menggunakan _probe liveness_ untuk mengetahui +_Probe liveness_ digunakan oleh [kubelet](/docs/admin/kubelet/) untuk mengetahui kapan perlu mengulang kembali (_restart_) sebuah Container. Sebagai contoh, _probe liveness_ dapat mendeteksi _deadlock_, ketika aplikasi sedang berjalan tapi tidak dapat berfungsi dengan baik. -Mengulang Container dengan _state_ tersebut dapat membantu ketersediaan aplikasi lebih baik +Mengulang Container dengan _state_ tersebut dapat membantu ketersediaan aplikasi yang lebih baik walaupun ada kekutu (_bug_). -kubelet menggunakan _probe readiness_ untuk mengetahui kapan sebuah Container telah siap untuk -menerima lalu lintas jaringan. Suatu Pod dianggap siap saat semua Container di dalamnya telah +_Probe readiness_ digunakan oleh kubelet untuk mengetahui kapan sebuah Container telah siap untuk +menerima lalu lintas jaringan (_traffic_). Suatu Pod dianggap siap saat semua Container di dalamnya telah siap. Sinyal ini berguna untuk mengontrol Pod-Pod mana yang digunakan sebagai _backend_ dari Service. -Ketika Pod dalam kondisi tidak siap, Pod tersebut dihapus dari _load balancer_ Service. +Ketika Pod dalam kondisi tidak siap, Pod tersebut dihapus dari Service _load balancer_. -kubelet menggunakan _probe startup_ untuk mengetahui kapan sebuah aplikasi Container telah mulai berjalan. +_Probe startup_ digunakan oleh kubelet untuk mengetahui kapan sebuah aplikasi Container telah mulai berjalan. Jika _probe_ tersebut dinyalakan, _probe_ akan menonaktifkan pemeriksaan _liveness_ dan _readiness_ sampai berhasil, kamu harus memastikan _probe_ tersebut tidak mengganggu _startup_ dari aplikasi. -Mekanisme ini dapat digunakan untuk mengadopsi pemeriksaan _liveness_ saat memulai Container yang lambat, -sehingga bisa terhindar dimatikan oleh kubelet sebelum Container mulai dan berjalan. +Mekanisme ini dapat digunakan untuk mengadopsi pemeriksaan _liveness_ pada saat memulai Container yang lambat, +untuk menghindari Container dimatikan oleh kubelet sebelum Container mulai dan berjalan. {{% /capture %}} @@ -39,7 +39,7 @@ sehingga bisa terhindar dimatikan oleh kubelet sebelum Container mulai dan berja ## Mendefinisikan perintah liveness Kebanyakan aplikasi yang telah berjalan dalam waktu lama pada akhirnya akan -bertransisi ke _state_ yang rusak, dan tidak dapat pulih selain diulang kembali. +bertransisi ke _state_ yang rusak (_broken_), dan tidak dapat pulih kecuali diulang kembali. Kubernetes menyediakan _probe liveness_ untuk mendeteksi dan memperbaiki situasi tersebut. Pada latihan ini, kamu akan membuat Pod yang menjalankan Container dari image @@ -53,7 +53,7 @@ _Field_ `initialDelaySeconds` memberitahu kubelet untuk menunggu 5 detik sebelum _probe_ yang pertama. Untuk mengerjakan _probe_, kubelet menjalankan perintah `cat /tmp/healthy` pada Container tujuan. Jika perintah berhasil, kode 0 akan dikembalikan, dan kubelet menganggap Container sedang dalam kondisi hidup (_alive_) dan sehat (_healthy_). Jika perintah mengembalikan -kode selain 0, maka kubelet akan mematikan Container dan mengulangnya. +kode selain 0, maka kubelet akan mematikan Container dan mengulangnya kembali. Saat dimulai, Container akan menjalankan perintah berikut: @@ -61,17 +61,17 @@ Saat dimulai, Container akan menjalankan perintah berikut: /bin/sh -c "touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600" ``` -Container memiliki berkas `/tmp/healthy` pada 30 detik pertama saat dijalankan. -Perintah `cat /tmp/healthy` mengembalikan kode sukses. Setelah 30 detik berlalu, +Container memiliki berkas `/tmp/healthy` pada saat 30 detik pertama setelah dijalankan. +Kemudian, perintah `cat /tmp/healthy` mengembalikan kode sukses. Namun setelah 30 detik, `cat /tmp/healthy` mengembalikan kode gagal. -Buat sebuah Pod: +Buatlah sebuah Pod: ```shell kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml ``` -Dalam 30 detik pertama, lihat _event_ dari Pod: +Dalam 30 detik pertama, lihatlah _event_ dari Pod: ```shell kubectl describe pod liveness-exec @@ -89,7 +89,7 @@ FirstSeen LastSeen Count From SubobjectPath Type 23s 23s 1 {kubelet worker0} spec.containers{liveness} Normal Started Started container with docker id 86849c15382e ``` -Setelah 35 detik, lihat lagi _event_ Pod tersebut: +Setelah 35 detik, lihatlah lagi _event_ Pod tersebut: ```shell kubectl describe pod liveness-exec @@ -115,7 +115,7 @@ Tunggu 30 detik lagi, dan verifikasi bahwa Container telah diulang kembali: kubectl get pod liveness-exec ``` -Keluaran perintah tersebut memperlihatkan bahwa jumlah `RESTARTS` meningkat: +Keluaran perintah tersebut memperlihatkan bahwa jumlah `RESTARTS` telah meningkat: ``` NAME READY STATUS RESTARTS AGE @@ -129,22 +129,22 @@ berkas konfigurasi untuk Pod yang menjalankan Container dari image `k8s.gcr.io/l {{< codenew file="pods/probe/http-liveness.yaml" >}} -Pada berkas konfigurasi tersebut, kamu dapat melihat Pod memiliki satu buah Container. +Pada berkas konfigurasi tersebut, kamu dapat melihat Pod memiliki sebuah Container. _Field_ `periodSeconds` menentukan bahwa kubelet harus mengerjakan _probe liveness_ setiap 3 detik. _Field_ `initialDelaySeconds` memberitahu kubelet untuk menunggu 3 detik sebelum mengerjakan _probe_ yang pertama. Untuk mengerjakan _probe_ tersebut, kubelet mengirimkan sebuah permintaan GET HTTP ke server yang sedang berjalan di dalam Container dan mendengarkan (_listen_) pada porta 8080. Jika _handler path_ `/healthz` yang dimiliki server mengembalikan kode sukses, kubelet menganggap Container sedang dalam kondisi hidup dan sehat. Jika _handler_ mengembalikan kode gagal, -kubelet mematikan Container dan mengulangnya. +kubelet mematikan Container dan mengulangnya kembali. Kode yang lebih besar atau sama dengan 200 dan kurang dari 400 mengindikasikan kesuksesan. Kode selain ini mengindikasikan kegagalan. Kamu dapat melihat kode program untuk server ini pada [server.go](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/test/images/agnhost/liveness/server.go). -Untuk 10 detik pertama setelah Container hidup, _handler_ `/healthz` mengembalikan -status 200. Setelah ini, _handler_ mengembalikan status 500. +Untuk 10 detik pertama setelah Container hidup (_alive_), _handler_ `/healthz` mengembalikan +status 200. Setelah itu, _handler_ mengembalikan status 500. ```go http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { @@ -159,17 +159,17 @@ http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { }) ``` -kubelet mulai memeriksa kesehatan (_health check_) 3 detik setelah Container dimulai, +Pemeriksaan kesehatan (_health check_) dilakukan kubelet 3 detik setelah Container dimulai, sehingga beberapa pemeriksaaan pertama akan berhasil. Namun setelah 10 detik, -pemeriksaan akan gagal, dan kubelet akan mematikan dan mengulang Container. +pemeriksaan akan gagal, dan kubelet akan mematikan dan mengulang Container kembali. -Untuk mencoba pemeriksaan _liveness_ HTTP, mari membuat sebuah Pod: +Untuk mencoba pemeriksaan _liveness_ HTTP, marilah membuat sebuah Pod: ```shell kubectl apply -f https://k8s.io/examples/pods/probe/http-liveness.yaml ``` -Setelah 10 detik, lihat _event_ Pod untuk memverifikasi bahwa _probe liveness_ +Setelah 10 detik, lihatlah _event_ Pod untuk memverifikasi bahwa _probe liveness_ telah gagal dan Container telah diulang kembali: ```shell @@ -180,37 +180,37 @@ Untuk rilis sebelum v1.13 (termasuk v1.13), jika variabel lingkungan `http_proxy` (atau `HTTP_PROXY`) telah diatur pada Node dimana Pod berjalan, _probe liveness_ HTTP akan menggunakan proksi tersebut. Untuk rilis setelah v1.13, pengaturan variabel lingkungan pada proksi HTTP lokal -tidak mempengaruhi _probe liveness) HTTP. +tidak mempengaruhi _probe liveness_ HTTP. ## Mendefinisikan probe liveness TCP Jenis ketiga dari _probe liveness_ menggunakaan sebuah soket TCP. Dengan konfigurasi ini, kubelet akan mencoba untuk membuka soket pada Container kamu dengan porta tertentu. -Jika koneksi dapat sukses terbentuk, maka Container dianggap dalam kondisi sehat. +Jika koneksi dapat terbentuk dengan sukses, maka Container dianggap dalam kondisi sehat. Namun jika tidak berhasil terbentuk, maka Container dianggap gagal. {{< codenew file="pods/probe/tcp-liveness-readiness.yaml" >}} Seperti yang terlihat, konfigurasi untuk pemeriksaan TCP cukup mirip dengan pemeriksaan HTTP. Contoh ini menggunakan _probe readiness_ dan _liveness_. -kubelet akan mengirimkan _probe readiness_ yang pertama, 5 detik setelah -Container mulai dijalankan. kubelet akan mencoba untuk terhubung dengan Container +_Probe readiness_ yang pertama akan dikirimkan oleh kubelet, 5 detik setelah +Container mulai dijalankan. Container akan coba dihubungkan oleh kubelet dengan `goproxy` pada porta 8080. Jika _probe_ berhasil, maka Pod akan ditandai menjadi -_siap_. kubelet akan lanjut mengerjakan pemeriksaan ini setiap 10 detik. +_ready_. Pemeriksaan ini akan dilanjutkan oleh kubelet setiap 10 detik. Selain _probe readiness_, _probe liveness_ juga termasuk di dalam konfigurasi. -kubelet akan menjalankan _probe liveness_ yang pertama, 15 detik setelah Container +_Probe liveness_ yang pertama akan dijalankan oleh kubelet, 15 detik setelah Container mulai dijalankan. Sama seperti _probe readiness_, kubelet akan mencoba untuk terhubung dengan Container `goproxy` pada porta 8080. Jika _probe liveness_ gagal, maka Container akan diulang kembali. -Untuk mencoba pemeriksaan _liveness_ TCP, mari membuat sebuah Pod: +Untuk mencoba pemeriksaan _liveness_ TCP, marilah membuat sebuah Pod: ```shell kubectl apply -f https://k8s.io/examples/pods/probe/tcp-liveness-readiness.yaml ``` -Setelah 15 detik, lihat _event_ Pod untuk memverifikasi _probe liveness_ tersebut: +Setelah 15 detik, lihatlah _event_ Pod untuk memverifikasi _probe liveness_ tersebut: ```shell kubectl describe pod goproxy @@ -240,11 +240,11 @@ Terkadang kamu harus berurusan dengan aplikasi peninggalan (_legacy_) yang memerlukan waktu tambahan untuk mulai berjalan pada saat pertama kali diinisialisasi. Pada kasus ini, cukup rumit untuk mengatur parameter _probe liveness_ tanpa mengkompromikan respons yang cepat terhadap _deadlock_ yang memotivasi digunakannya -_probe_ tersebut. Triknya adalah untuk mengatur _probe startup_ dengan perintah yang sama, -pemeriksaan HTTP ataupun TCP, dengan `failureThreshold * periodSeconds` yang +probe_ tersebut. Triknya adalah mengatur _probe startup_ dengan perintah yang sama, +baik pemeriksaan HTTP ataupun TCP, dengan `failureThreshold * periodSeconds` yang mencukupi untuk kemungkinan waktu memulai yang terburuk. -Jadi, contoh sebelumnya menjadi: +Sehingga, contoh sebelumnya menjadi: ```yaml ports: @@ -276,7 +276,7 @@ Jika _probe startup_ tidak pernah berhasil, maka Container akan dimatikan setela ## Mendefinisikan probe readiness -Terkadang aplikasi tidak dapat melayani lalu lintas jaringan (_traffic_) sementara. +Terkadang aplikasi tidak dapat melayani lalu lintas jaringan sementara. Contohnya, aplikasi mungkin perlu untuk memuat data besar atau berkas konfigurasi saat dimulai, atau aplikasi bergantung pada layanan eksternal setelah dimulai. Pada kasus-kasus ini, kamu tidak ingin mematikan aplikasi, tetapi kamu tidak @@ -329,9 +329,9 @@ Nilai minimalnya adalah 0. setelah mengalami kegagalan. Nilai bawaannya adalah 1. Nilanya harus 1 untuk _liveness_. Nilai minimalnya adalah 1. * `failureThreshold`: Ketika sebuah Pod dimulai dan _probe_ mengalami kegagalan, Kubernetes -akan mencoba beberapa kali sesuai nilai `failureThreshold` sebelum menyerah. Menyerah karena -kasus _probe liveness_ akan membuat Container diulang kembali. Untuk _probe readiness_, menyerah -akaan menandai Pod menjadi "tidak siap" (Unready). Nilai bawaannya adalah 3. Nilai minimalnya adalah 1. +akan mencoba beberapa kali sesuai nilai `failureThreshold` sebelum menyerah. Menyerah dalam +kasus _probe liveness_ berarti Container akan diulang kembali. Untuk _probe readiness_, menyerah +akan menandai Pod menjadi "tidak siap" (_Unready_). Nilai bawaannya adalah 3. Nilai minimalnya adalah 1. [_Probe_ HTTP](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#httpgetaction-v1-core) memiliki _field-field_ tambahan yang bisa diatur melalui `httpGet`: @@ -340,18 +340,18 @@ memiliki _field-field_ tambahan yang bisa diatur melalui `httpGet`: juga ingin mengatur "Host" pada httpHeaders. * `scheme`: Skema yang digunakan untuk terhubung pada host (HTTP atau HTTPS). Nilai bawaannya adalah HTTP. * `path`: _Path_ untuk mengakses server HTTP. -* `httpHeaders`: _Header_ khusus yang diatur melalui permintaan. HTTP memperbolehkan _header_ yang berulang. +* `httpHeaders`: _Header_ khusus yang diatur dalam permintaan HTTP. HTTP memperbolehkan _header_ yang berulang. * `port`: Nama atau angka dari porta untuk mengakses Container. Angkanya harus ada di antara 1 sampai 65535. Untuk sebuah _probe_ HTTP, kubelet mengirimkan permintaan HTTP untuk _path_ yang ditentukan -dan porta untuk mengerjakan pemeriksaan. kubelet mengirimkan _probe_ untuk alamat IP Pod, +dan porta untuk mengerjakan pemeriksaan. _Probe_ dikirimkan oleh kubelet untuk alamat IP Pod, kecuali saat alamat digantikan oleh _field_ opsional pada `httpGet`. Jika _field_ `scheme` diatur menjadi `HTTPS`, maka kubelet mengirimkan permintaan HTTPS dan melewati langkah verifikasi sertifikat. Pada skenario kebanyakan, kamu tidak menginginkan _field_ `host`. Berikut satu skenario yang memerlukan `host`. Misalkan Container mendengarkan permintaan melalui 127.0.0.1 dan _field_ `hostNetwork` pada Pod bernilai true. Kemudian `host`, melalui `httpGet`, harus diatur menjadi 127.0.0.1. Jika Pod kamu bergantung pada host virtual, dimana -untuk kasus-kasus umum, kamu tidak perlu menggunakan `host`, tetapi perlu mengaatur _header_ +untuk kasus-kasus umum, kamu tidak perlu menggunakan `host`, tetapi perlu mengatur _header_ `Host` pada `httpHeaders`. Untuk _probe_ TCP, kubelet membuat koneksi _probe_ pada Node, tidak pada Pod, yang berarti bahwa From 5e713f37f7e52c5dcd5f62db28e6b2a665534874 Mon Sep 17 00:00:00 2001 From: June Yi Date: Tue, 9 Jun 2020 01:12:04 +0900 Subject: [PATCH 323/533] Add milestone management on the Korean l10n guide --- content/ko/docs/contribute/localization_ko.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/content/ko/docs/contribute/localization_ko.md b/content/ko/docs/contribute/localization_ko.md index 9b56a46dfa..3a0cfe41ce 100644 --- a/content/ko/docs/contribute/localization_ko.md +++ b/content/ko/docs/contribute/localization_ko.md @@ -12,6 +12,44 @@ content_template: templates/concept {{% capture body %}} +## 팀 마일스톤 관리 + +쿠버네티스 문서 한글화팀은 커뮤니티의 +[현지화 가이드](/docs/contribute/localization/#branching-strategy)에 따라 한글화를 +위한 팀 마일스톤과 개발 브랜치를 관리한다. 본 섹션은 한글화팀의 팀 마일스톤 관리에 특화된 +내용을 다룬다. + +한글화팀은 `master` 브랜치에서 분기한 개발 브랜치를 사용한다. 개발 브랜치 이름은 다음과 같은 +구조를 갖는다. + +`dev-<소스 버전>-ko.<팀 마일스톤>` + +개발 브랜치는 약 2주에서 3주 사이의 팀 마일스톤 기간 동안 공동의 작업을 위해 사용되며, 팀 +마일스톤이 종료될 때 원 브랜치로 병합(merge)된다. + +업스트림(upstream)의 릴리스 주기(약 3개월)에 따라 다음 버전으로 마일스톤을 변경하는 시점에는 +일시적으로 `release-<소스 버전>` 브랜치를 원 브랜치로 사용하는 개발 브랜치를 추가로 운영한다. + +[한글화팀의 정기 화상 회의 일정](https://github.com/kubernetes/community/tree/master/sig-docs#meetings)과 +팀 마일스톤 주기는 대체로 일치하며, 정기 회의를 통해 팀 마일스톤마다 PR 랭글러(wrangler)를 +지정한다. + +한글화팀의 PR 랭글러가 갖는 의무는 업스트림의 +[PR 랭글러](/ko/docs/contribute/advanced/#일주일-동안-pr-랭글러-wrangler-되기)가 갖는 +의무와 유사하다. 단, 업스트림의 PR 랭글러와는 달리 승인자가 아니어도 팀 마일스톤의 PR 랭글러가 +될 수 있다. 그래서, 보다 상위 권한이 필요한 업무가 발생한 경우, PR 랭글러는 해당 권한을 가진 +한글화팀 멤버에게 처리를 요청한다. + +업스트림의 [PR 랭글러에게 유용한 GitHub 쿼리](/ko/docs/contribute/advanced/#랭글러에게-유용한-github-쿼리)를 +기반으로 작성한, 한글화팀의 PR 랭글러에게 유용한 쿼리를 아래에 나열한다. + +- [CLA 서명 없음, 병합할 수 없음](https://github.com/kubernetes/website/pulls?q=is%3Aopen+is%3Apr+label%3A%22cncf-cla%3A+no%22+-label%3Ado-not-merge+label%3Alanguage%2Fko) +- [LGTM 필요](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+-label%3Ado-not-merge+label%3Alanguage%2Fko+-label%3Algtm+) +- [LGTM 보유, 문서 승인 필요](https://github.com/kubernetes/website/pulls?q=is%3Aopen+is%3Apr+-label%3Ado-not-merge+label%3Alanguage%2Fko+label%3Algtm) +- [퀵윈(Quick Wins)](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+base%3Amaster+-label%3A%22do-not-merge%2Fwork-in-progress%22+-label%3A%22do-not-merge%2Fhold%22+label%3A%22cncf-cla%3A+yes%22+label%3A%22size%2FXS%22+label%3A%22language%2Fko%22+) + +팀 마일스톤 일정과 PR 랭글러는 커뮤니티 슬랙 내 [#kubernetes-docs-ko 채널](https://kubernetes.slack.com/archives/CA1MMR86S)에 공지된다. + ## 문체 가이드 ### 높임말 From 785cd198f6f2b82b3e07e45fb296a964834ef8f1 Mon Sep 17 00:00:00 2001 From: pranavbmcloud <63094044+pranavbmcloud@users.noreply.github.com> Date: Tue, 9 Jun 2020 20:41:02 +0530 Subject: [PATCH 324/533] Redundant "Below is an example:" sentence The "Here is an example:" sentence follows a " Below is an example:" sentence. One of these 2 sentences is redundant. Removed the "Below is an example:" sentence. --- content/en/docs/concepts/workloads/pods/pod-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md index 74031a3722..0b6094772a 100644 --- a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md @@ -216,7 +216,7 @@ a list of additional conditions that the kubelet evaluates for Pod readiness. Readiness gates are determined by the current state of `status.condition` fields for the Pod. If Kubernetes cannot find such a condition in the `status.conditions` field of a Pod, the status of the condition -is defaulted to "`False`". Below is an example: +is defaulted to "`False`". Here is an example: From 911317f7edb3cd7ff32aede4a1da264e10aec78b Mon Sep 17 00:00:00 2001 From: nishipy Date: Wed, 10 Jun 2020 02:13:54 +0900 Subject: [PATCH 325/533] Update ja/docs/concepts/services-networking/ingress.md --- .../concepts/services-networking/ingress.md | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/ingress.md b/content/ja/docs/concepts/services-networking/ingress.md index 6a8c17587f..2742e7aa9b 100644 --- a/content/ja/docs/concepts/services-networking/ingress.md +++ b/content/ja/docs/concepts/services-networking/ingress.md @@ -15,19 +15,15 @@ weight: 40 まずわかりやすくするために、このガイドでは次の用語を定義します。 -- ノード: Kubernetes内のワーカーマシンで、クラスターの一部です。 - -- クラスター: Kubernetesによって管理されているコンテナ化されたアプリケーションを実行させるノードのセットです。この例や、多くのKubernetesによるデプロイでは、クラスター内のノードはパブリックインターネットとして公開されていません。 - -- エッジルーター: クラスターでファイアウォールのポリシーを強制するルーターです。エッジルーターはクラウドプロバイダーやハードウェアの物理的な一部として管理されたゲートウェイとなります。 - -- クラスターネットワーク: 物理的または論理的なリンクのセットで、Kubernetesの[ネットワークモデル](/docs/concepts/cluster-administration/networking/)によって、クラスター内でのコミュニケーションを司るものです。 - -- Service: {{< glossary_tooltip text="ラベル" term_id="label" >}}セレクターを使ったPodのセットを特定するKubernetes {{< glossary_tooltip term_id="service" >}}です。特に言及がない限り、Serviceはクラスターネットワーク内でのみ疎通可能な仮想IPを持つと想定されます。 +* ノード: Kubernetes内のワーカーマシンで、クラスターの一部です。 +* クラスター: Kubernetesによって管理されているコンテナ化されたアプリケーションを実行させるノードのセットです。この例や、多くのKubernetesによるデプロイでは、クラスター内のノードはパブリックインターネットとして公開されていません。 +* エッジルーター: クラスターでファイアウォールのポリシーを強制するルーターです。エッジルーターはクラウドプロバイダーやハードウェアの物理的な一部として管理されたゲートウェイとなります。 +* クラスターネットワーク: 物理的または論理的なリンクのセットで、Kubernetesの[ネットワークモデル](/docs/concepts/cluster-administration/networking/)によって、クラスター内でのコミュニケーションを司るものです。 +* Service: {{< glossary_tooltip text="ラベル" term_id="label" >}}セレクターを使ったPodのセットを特定するKubernetes {{< glossary_tooltip term_id="service" >}}です。特に言及がない限り、Serviceはクラスターネットワーク内でのみ疎通可能な仮想IPを持つと想定されます。 ## Ingressとは何か -Ingressはクラスター外からクラスター内{{< link text="Service" url="/ja/docs/concepts/services-networking/service/" >}}へのHTTPとHTTPSのルートを公開します。トラフィックのルーティングはIngressリソース上で定義されるルールによって制御されます。 +[Ingress](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#ingress-v1beta1-networking-k8s-io)はクラスター外からクラスター内{{< link text="Service" url="/ja/docs/concepts/services-networking/service/" >}}へのHTTPとHTTPSのルートを公開します。トラフィックのルーティングはIngressリソース上で定義されるルールによって制御されます。 ```none internet @@ -74,8 +70,9 @@ spec: servicePort: 80 ``` -他の全てのKubernetesリソースと同様に、Ingressは`apiVersion`、`kind`や`metadata`フィールドが必要です。設定ファイルの利用に関する一般的な情報は、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナーの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)、[リソースの管理](/docs/concepts/cluster-administration/manage-deployment/)を参照してください。 -Ingressでは、Ingressコントローラーに依存しているいくつかのオプションの設定をするためにアノテーションを使うことが多いです。その例としては、[rewrite-targetアノテーション](https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md)などがあります。 +他の全てのKubernetesリソースと同様に、Ingressは`apiVersion`、`kind`や`metadata`フィールドが必要です。Ingressオブジェクトの名前は、有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +設定ファイルの利用に関する一般的な情報は、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナーの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)、[リソースの管理](/docs/concepts/cluster-administration/manage-deployment/)を参照してください。 +Ingressでは、Ingressコントローラーに依存しているいくつかのオプションの設定をするためにアノテーションを使うことが多いです。その例としては、[rewrite-targetアノテーション](https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md)などがあります。 [Ingressコントローラー](/docs/concepts/services-networking/ingress-controllers)の種類が異なれば、サポートするアノテーションも異なります。サポートされているアノテーションについて学ぶために、ユーザーが使用するIngressコントローラーのドキュメントを確認してください。 Ingress [Spec](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status)は、ロードバランサーやプロキシーサーバーを設定するために必要な全ての情報を持っています。最も重要なものとして、外部からくる全てのリクエストに対して一致したルールのリストを含みます。IngressリソースはHTTPトラフィックに対してのルールのみサポートしています。 @@ -112,10 +109,10 @@ kubectl get ingress test-ingress ``` NAME HOSTS ADDRESS PORTS AGE -test-ingress * 107.178.254.228 80 59s +test-ingress * 203.0.113.123 80 59s ``` -`107.178.254.228`はIngressコントローラーによって割り当てられたIPで、このIngressを利用するためのものです。 +`203.0.113.123`はIngressコントローラーによって割り当てられたIPで、このIngressを利用するためのものです。 {{< note >}} IngressコントローラーとロードバランサーがIPアドレス割り当てるのに1、2分ほどかかります。この間、ADDRESSの情報は``となっているのを確認できます。 @@ -288,7 +285,7 @@ spec: ``` {{< note >}} -Ingressコントローラーによって、サポートされるTLSの機能に違いがあります。利用する環境でTLSがどのように動作するかを理解するために、[nginx](https://git.k8s.io/ingress-nginx/README.md#https)や、[GCE](https://git.k8s.io/ingress-gce/README.md#frontend-https)、他のプラットフォーム固有のIngressコントローラーのドキュメントを確認してください。 +Ingressコントローラーによって、サポートされるTLSの機能に違いがあります。利用する環境でTLSがどのように動作するかを理解するために、[nginx](https://kubernetes.github.io/ingress-nginx/user-guide/tls/)や、[GCE](https://git.k8s.io/ingress-gce/README.md#frontend-https)、他のプラットフォーム固有のIngressコントローラーのドキュメントを確認してください。 {{< /note >}} ### 負荷分散 @@ -398,6 +395,7 @@ Ingressリソースに直接関与しない複数の方法でServiceを公開で {{% /capture %}} {{% capture whatsnext %}} +* [Ingress API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#ingress-v1beta1-networking-k8s-io)について学ぶ * [Ingressコントローラー](/docs/concepts/services-networking/ingress-controllers/)について学ぶ * [MinikubeとNGINXコントローラーでIngressのセットアップを行う](/docs/tasks/access-application-cluster/ingress-minikube) {{% /capture %}} From e38b9dc9c6415752fd93eec027df2ce7f7282a26 Mon Sep 17 00:00:00 2001 From: Scott Stout Date: Tue, 9 Jun 2020 14:14:52 -0500 Subject: [PATCH 326/533] revised to minumize usage of whitelist/blacklist --- .../docs/concepts/policy/pod-security-policy.md | 14 +++++++------- .../concepts/security/pod-security-standards.md | 16 ++++++++-------- .../services-networking/network-policies.md | 4 ++-- .../access-authn-authz/admission-controllers.md | 10 +++++----- .../tools/kubeadm/create-cluster-kubeadm.md | 4 ++-- .../tasks/administer-cluster/sysctl-cluster.md | 4 ++-- .../tasks/debug-application-cluster/audit.md | 2 +- content/en/docs/tutorials/clusters/apparmor.md | 2 +- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/content/en/docs/concepts/policy/pod-security-policy.md b/content/en/docs/concepts/policy/pod-security-policy.md index 52aa593e6f..dcbe26cdd3 100644 --- a/content/en/docs/concepts/policy/pod-security-policy.md +++ b/content/en/docs/concepts/policy/pod-security-policy.md @@ -34,7 +34,7 @@ administrator to control the following: | Usage of host networking and ports | [`hostNetwork`, `hostPorts`](#host-namespaces) | | Usage of volume types | [`volumes`](#volumes-and-file-systems) | | Usage of the host filesystem | [`allowedHostPaths`](#volumes-and-file-systems) | -| White list of FlexVolume drivers | [`allowedFlexVolumes`](#flexvolume-drivers) | +| Allow specific FlexVolume drivers | [`allowedFlexVolumes`](#flexvolume-drivers) | | Allocating an FSGroup that owns the pod's volumes | [`fsGroup`](#volumes-and-file-systems) | | Requiring the use of a read only root file system | [`readOnlyRootFilesystem`](#volumes-and-file-systems) | | The user and group IDs of the container | [`runAsUser`, `runAsGroup`, `supplementalGroups`](#users-and-groups) | @@ -401,13 +401,13 @@ namespace. Doing so gives the pod access to the loopback device, services listening on localhost, and could be used to snoop on network activity of other pods on the same node. -**HostPorts** - Provides a whitelist of ranges of allowable ports in the host +**HostPorts** - Provides a list of ranges of allowable ports in the host network namespace. Defined as a list of `HostPortRange`, with `min`(inclusive) and `max`(inclusive). Defaults to no allowed host ports. ### Volumes and file systems -**Volumes** - Provides a whitelist of allowed volume types. The allowable values +**Volumes** - Provides a list of allowed volume types. The allowable values correspond to the volume sources that are defined when creating a volume. For the complete list of volume types, see [Types of Volumes](/docs/concepts/storage/volumes/#types-of-volumes). Additionally, `*` @@ -438,7 +438,7 @@ minimum value of the first range as the default. Validates against all ranges. all ranges if `FSGroups` is set. - *RunAsAny* - No default provided. Allows any `fsGroup` ID to be specified. -**AllowedHostPaths** - This specifies a whitelist of host paths that are allowed +**AllowedHostPaths** - This specifies a list of host paths that are allowed to be used by hostPath volumes. An empty list means there is no restriction on host paths used. This is defined as a list of objects with a single `pathPrefix` field, which allows hostPath volumes to mount a path that begins with an @@ -469,7 +469,7 @@ root filesystem (i.e. no writable layer). ### FlexVolume drivers -This specifies a whitelist of FlexVolume drivers that are allowed to be used +This specifies a list of FlexVolume drivers that are allowed to be used by flexvolume. An empty list or nil means there is no restriction on the drivers. Please make sure [`volumes`](#volumes-and-file-systems) field contains the `flexVolume` volume type; no FlexVolume driver is allowed otherwise. @@ -555,7 +555,7 @@ the PodSecurityPolicy. For more details on Linux capabilities, see The following fields take a list of capabilities, specified as the capability name in ALL_CAPS without the `CAP_` prefix. -**AllowedCapabilities** - Provides a whitelist of capabilities that may be added +**AllowedCapabilities** - Provides a list of capabilities that are allowed to be added to a container. The default set of capabilities are implicitly allowed. The empty set means that no additional capabilities may be added beyond the default set. `*` can be used to allow all capabilities. @@ -579,7 +579,7 @@ specified. ### AllowedProcMountTypes -`allowedProcMountTypes` is a whitelist of allowed ProcMountTypes. +`allowedProcMountTypes` is a list of allowed ProcMountTypes. Empty or nil indicates that only the `DefaultProcMountType` may be used. `DefaultProcMount` uses the container runtime defaults for readonly and masked diff --git a/content/en/docs/concepts/security/pod-security-standards.md b/content/en/docs/concepts/security/pod-security-standards.md index ffe1aa45f2..3144354374 100644 --- a/content/en/docs/concepts/security/pod-security-standards.md +++ b/content/en/docs/concepts/security/pod-security-standards.md @@ -43,9 +43,9 @@ should range from highly restricted to highly flexible: The Privileged policy is purposely-open, and entirely unrestricted. This type of policy is typically aimed at system- and infrastructure-level workloads managed by privileged, trusted users. -The privileged policy is defined by an absence of restrictions. For blacklist-oriented enforcement +The privileged policy is defined by an absence of restrictions. For allow-by-default enforcement mechanisms (such as gatekeeper), the privileged profile may be an absence of applied constraints -rather than an instantiated policy. In contrast, for a whitelist oriented mechanism (such as Pod +rather than an instantiated policy. In contrast, for a deny-by-default mechanism (such as Pod Security Policy) the privileged policy should enable all controls (disable all restrictions). ### Baseline/Default @@ -90,7 +90,7 @@ enforced/disallowed:
    Restricted Fields:
    spec.containers[*].securityContext.capabilities.add
    spec.initContainers[*].securityContext.capabilities.add
    -
    Allowed Values: empty (optionally whitelisted defaults)
    +
    Allowed Values: empty (or restricted to a known list)
    @@ -105,17 +105,17 @@ enforced/disallowed: Host Ports - HostPorts should be disallowed, or at minimum restricted to a whitelist.
    + HostPorts should be disallowed, or at minimum restricted to a known list.

    Restricted Fields:
    spec.containers[*].ports[*].hostPort
    spec.initContainers[*].ports[*].hostPort
    -
    Allowed Values: 0, undefined, (whitelisted)
    +
    Allowed Values: 0, undefined (or restricted to a known list)
    AppArmor (optional) - On supported hosts, the 'runtime/default' AppArmor profile is applied by default. The default policy should prevent overriding or disabling the policy, or restrict overrides to a whitelisted set of profiles.
    + On supported hosts, the 'runtime/default' AppArmor profile is applied by default. The default policy should prevent overriding or disabling the policy, or restrict overrides to an allowed set of profiles.

    Restricted Fields:
    metadata.annotations['container.apparmor.security.beta.kubernetes.io/*']

    Allowed Values: 'runtime/default', undefined
    @@ -145,7 +145,7 @@ enforced/disallowed: Sysctls - Sysctls can disable security mechanisms or affect all containers on a host, and should be disallowed except for a whitelisted "safe" subset. + Sysctls can disable security mechanisms or affect all containers on a host, and should be disallowed except for an allowed "safe" subset. A sysctl is considered safe if it is namespaced in the container or the Pod, and it is isolated from other Pods or processes on the same Node.

    Restricted Fields:
    spec.securityContext.sysctls
    @@ -249,7 +249,7 @@ well as lower-trust users.The following listed controls should be enforced/disal Seccomp - The 'runtime/default' seccomp profile must be required, or allow additional whitelisted values.
    + The 'runtime/default' seccomp profile must be required, or allow specific additional profiles.

    Restricted Fields:
    metadata.annotations['seccomp.security.alpha.kubernetes.io/pod']
    metadata.annotations['container.seccomp.security.alpha.kubernetes.io/*']
    diff --git a/content/en/docs/concepts/services-networking/network-policies.md b/content/en/docs/concepts/services-networking/network-policies.md index 795969757d..9e2b12e4c3 100644 --- a/content/en/docs/concepts/services-networking/network-policies.md +++ b/content/en/docs/concepts/services-networking/network-policies.md @@ -89,9 +89,9 @@ __podSelector__: Each NetworkPolicy includes a `podSelector` which selects the g __policyTypes__: Each NetworkPolicy includes a `policyTypes` list which may include either `Ingress`, `Egress`, or both. The `policyTypes` field indicates whether or not the given policy applies to ingress traffic to selected pod, egress traffic from selected pods, or both. If no `policyTypes` are specified on a NetworkPolicy then by default `Ingress` will always be set and `Egress` will be set if the NetworkPolicy has any egress rules. -__ingress__: Each NetworkPolicy may include a list of whitelist `ingress` rules. Each rule allows traffic which matches both the `from` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port, from one of three sources, the first specified via an `ipBlock`, the second via a `namespaceSelector` and the third via a `podSelector`. +__ingress__: Each NetworkPolicy may include a list of allowed `ingress` rules. Each rule allows traffic which matches both the `from` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port, from one of three sources, the first specified via an `ipBlock`, the second via a `namespaceSelector` and the third via a `podSelector`. -__egress__: Each NetworkPolicy may include a list of whitelist `egress` rules. Each rule allows traffic which matches both the `to` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port to any destination in `10.0.0.0/24`. +__egress__: Each NetworkPolicy may include a list of allowed `egress` rules. Each rule allows traffic which matches both the `to` and `ports` sections. The example policy contains a single rule, which matches traffic on a single port to any destination in `10.0.0.0/24`. So, the example NetworkPolicy: diff --git a/content/en/docs/reference/access-authn-authz/admission-controllers.md b/content/en/docs/reference/access-authn-authz/admission-controllers.md index a254e43a84..888ab68056 100644 --- a/content/en/docs/reference/access-authn-authz/admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/admission-controllers.md @@ -610,7 +610,7 @@ node selector. 2. If the namespace lacks such an annotation, use the `clusterDefaultNodeSelector` defined in the `PodNodeSelector` plugin configuration file as the node selector. 3. Evaluate the pod's node selector against the namespace node selector for conflicts. Conflicts result in rejection. -4. Evaluate the pod's node selector against the namespace-specific whitelist defined the plugin configuration file. +4. Evaluate the pod's node selector against the namespace-specific allowed selector defined the plugin configuration file. Conflicts result in rejection. {{< note >}} @@ -672,15 +672,15 @@ for more information. The PodTolerationRestriction admission controller verifies any conflict between tolerations of a pod and the tolerations of its namespace. It rejects the pod request if there is a conflict. It then merges the tolerations annotated on the namespace into the tolerations of the pod. -The resulting tolerations are checked against a whitelist of tolerations annotated to the namespace. +The resulting tolerations are checked against a list of allowed tolerations annotated to the namespace. If the check succeeds, the pod request is admitted otherwise it is rejected. -If the namespace of the pod does not have any associated default tolerations or a whitelist of -tolerations annotated, the cluster-level default tolerations or cluster-level whitelist of tolerations are used +If the namespace of the pod does not have any associated default tolerations or allowed +tolerations annotated, the cluster-level default tolerations or cluster-level list of allowed tolerations are used instead if they are specified. Tolerations to a namespace are assigned via the `scheduler.alpha.kubernetes.io/defaultTolerations` annotation key. -The whitelist can be added via the `scheduler.alpha.kubernetes.io/tolerationsWhitelist` annotation key. +The list of allowed tolerations can be added via the `scheduler.alpha.kubernetes.io/tolerationsWhitelist` annotation key. Example for namespace annotations: diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index 2d38666386..56406989fc 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -495,10 +495,10 @@ and `scp` using that other user instead. The `admin.conf` file gives the user _superuser_ privileges over the cluster. This file should be used sparingly. For normal users, it's recommended to -generate an unique credential to which you whitelist privileges. You can do +generate an unique credential to which you grant privileges. You can do this with the `kubeadm alpha kubeconfig user --client-name ` command. That command will print out a KubeConfig file to STDOUT which you -should save to a file and distribute to your user. After that, whitelist +should save to a file and distribute to your user. After that, grant privileges by using `kubectl create (cluster)rolebinding`. {{< /note >}} diff --git a/content/en/docs/tasks/administer-cluster/sysctl-cluster.md b/content/en/docs/tasks/administer-cluster/sysctl-cluster.md index f96c066dd5..d0f718e06b 100644 --- a/content/en/docs/tasks/administer-cluster/sysctl-cluster.md +++ b/content/en/docs/tasks/administer-cluster/sysctl-cluster.md @@ -188,9 +188,9 @@ Do not configure these two fields such that there is overlap, meaning that a given sysctl is both allowed and forbidden. {{< warning >}} -If you whitelist unsafe sysctls via the `allowedUnsafeSysctls` field +If you allow unsafe sysctls via the `allowedUnsafeSysctls` field in a PodSecurityPolicy, any pod using such a sysctl will fail to start -if the sysctl is not whitelisted via the `--allowed-unsafe-sysctls` kubelet +if the sysctl is not allowed via the `--allowed-unsafe-sysctls` kubelet flag as well on that node. {{< /warning >}} diff --git a/content/en/docs/tasks/debug-application-cluster/audit.md b/content/en/docs/tasks/debug-application-cluster/audit.md index 5a57779b6c..98c8347792 100644 --- a/content/en/docs/tasks/debug-application-cluster/audit.md +++ b/content/en/docs/tasks/debug-application-cluster/audit.md @@ -245,7 +245,7 @@ Existing static backends that you configure with runtime flags are not affected The AuditSink policy differs from the legacy audit runtime policy. This is because the API object serves different use cases. The policy will continue to evolve to serve more use cases. -The `level` field applies the given audit level to all requests. The `stages` field is now a whitelist of stages to record. +The `level` field applies the given audit level to all requests. The `stages` field is now a list of allowed stages to record. #### Contacting the webhook diff --git a/content/en/docs/tutorials/clusters/apparmor.md b/content/en/docs/tutorials/clusters/apparmor.md index ae1de98ab2..f757fffa20 100644 --- a/content/en/docs/tutorials/clusters/apparmor.md +++ b/content/en/docs/tutorials/clusters/apparmor.md @@ -13,7 +13,7 @@ content_template: templates/tutorial AppArmor is a Linux kernel security module that supplements the standard Linux user and group based permissions to confine programs to a limited set of resources. AppArmor can be configured for any application to reduce its potential attack surface and provide greater in-depth defense. It is -configured through profiles tuned to whitelist the access needed by a specific program or container, +configured through profiles tuned to allow the access needed by a specific program or container, such as Linux capabilities, network access, file permissions, etc. Each profile can be run in either *enforcing* mode, which blocks access to disallowed resources, or *complain* mode, which only reports violations. From b7f86017e53ead3cfad24ef57880707e7660a0ee Mon Sep 17 00:00:00 2001 From: Stephen Augustus Date: Sat, 6 Jun 2020 18:01:37 -0400 Subject: [PATCH 327/533] sig-release: Update references to the patch release process Signed-off-by: Stephen Augustus --- content/en/docs/setup/release/version-skew-policy.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/docs/setup/release/version-skew-policy.md b/content/en/docs/setup/release/version-skew-policy.md index dc411807c5..f01b084448 100644 --- a/content/en/docs/setup/release/version-skew-policy.md +++ b/content/en/docs/setup/release/version-skew-policy.md @@ -27,11 +27,11 @@ For more information, see [Kubernetes Release Versioning](https://github.com/kub The Kubernetes project maintains release branches for the most recent three minor releases ({{< skew latestVersion >}}, {{< skew prevMinorVersion >}}, {{< skew oldestMinorVersion >}}). Applicable fixes, including security fixes, may be backported to those three release branches, depending on severity and feasibility. -Patch releases are cut from those branches at a regular cadence, or as needed. -This decision is owned by the [patch release team](https://github.com/kubernetes/sig-release/blob/master/release-engineering/role-handbooks/patch-release-team.md#release-timing). -The patch release team is part of [release managers](https://github.com/kubernetes/sig-release/blob/master/release-managers.md). For more information, see [Kubernetes Patch releases](https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md). +Patch releases are cut from those branches at a [regular cadence](https://git.k8s.io/sig-release/releases/patch-releases.md#cadence), plus additional urgent releases, when required. -Minor releases occur approximately every 3 months, so each minor release branch is maintained for approximately 9 months. +The [Release Managers](https://git.k8s.io/sig-release/release-managers.md) group owns this decision. + +For more information, see the Kubernetes [patch releases](https://git.k8s.io/sig-release/releases/patch-releases.md) page. ## Supported version skew From 9b9ce1f942a4923af119f01a71f85a092e067831 Mon Sep 17 00:00:00 2001 From: Celeste Horgan Date: Tue, 9 Jun 2020 13:46:05 -0700 Subject: [PATCH 328/533] Reimplement announcements (#21586) * Reimplement announcements Signed-off-by: Celeste Horgan Address deprecation-warning styling Signed-off-by: Celeste Horgan Use partial only Signed-off-by: Celeste Horgan Refine Signed-off-by: Celeste Horgan * Turn on announcements for preview only Signed-off-by: Celeste Horgan * Update config.toml Co-authored-by: Celeste Horgan Co-authored-by: Zach Corleissen --- config.toml | 7 ++----- content/en/_index.html | 1 - i18n/en.toml | 8 ++++++++ layouts/_default/baseof.html | 8 +++++++- layouts/partials/announcement.html | 6 +++--- layouts/partials/css.html | 2 +- layouts/partials/deprecation-warning.html | 11 ++++++----- layouts/partials/frontpage-announcement.html | 6 +++--- static/css/deprecation-warning.css | 4 ++-- 9 files changed, 32 insertions(+), 21 deletions(-) diff --git a/config.toml b/config.toml index 6b12142868..f7f45f8582 100644 --- a/config.toml +++ b/config.toml @@ -82,12 +82,9 @@ nextUrl = "https://kubernetes-io-vnext-staging.netlify.com/" githubWebsiteRepo = "github.com/kubernetes/website" githubWebsiteRaw = "raw.githubusercontent.com/kubernetes/website" -# param for displaying an announcement block on every page; see PR #16210 +# param for displaying an announcement block on every page. +# See /i18n/en.toml for message text and title. announcement = true -# announcement_message is only displayed when announcement = true; update with your specific message -announcement_title = "Black lives matter." -announcement_message_full = "We stand in solidarity with the Black community.
    Racism is unacceptable.
    It conflicts with the [core values of the Kubernetes project](https://git.k8s.io/community/values.md) and our community does not tolerate it." #appears on homepage. Use md formatting for links and
    for line breaks. -announcement_message_compact = "We stand in solidarity with the Black community.
    Racism is unacceptable.
    It conflicts with the [core values of the Kubernetes project](https://git.k8s.io/community/values.md) and our community does not tolerate it." #appears on subpages announcement_bg = "#000000" #choose a dark color – text is white [params.pushAssets] diff --git a/content/en/_index.html b/content/en/_index.html index f389669d03..97e02aa259 100644 --- a/content/en/_index.html +++ b/content/en/_index.html @@ -3,7 +3,6 @@ title: "Production-Grade Container Orchestration" abstract: "Automated container deployment, scaling, and management" cid: home --- -{{< deprecationwarning >}} {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} diff --git a/i18n/en.toml b/i18n/en.toml index 015897ce78..0c4403604e 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -1,5 +1,10 @@ # i18n strings for the English (main) site. # NOTE: Please keep the entries in alphabetical order when editing +[announcement_title] +other = "Black lives matter." + +[announcement_message] +other = "We stand in solidarity with the Black community.
    Racism is unacceptable.
    It conflicts with the [core values of the Kubernetes project](https://git.k8s.io/community/values.md) and our community does not tolerate it." [caution] other = "Caution:" @@ -28,6 +33,9 @@ other = "Twitter" [community_youtube_name] other = "YouTube" +[deprecation_title] +other = "You are viewing documentation for Kubernetes version:" + [deprecation_warning] other = " documentation is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date documentation, see the " diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 67caf96358..8d1578b696 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -23,7 +23,13 @@ {{ block "hero-more" . }}{{ end }}
    - {{ block "post-hero" . }}{{ end }} + {{ block "post-hero" . }} + {{ block "deprecated" . }} + {{ if .IsHome }} + {{ partial "deprecation-warning.html" . }} + {{ end }} + {{ end }} + {{ end }} {{ end }}
    diff --git a/layouts/partials/announcement.html b/layouts/partials/announcement.html index e1af1f18c8..cea1eb402e 100644 --- a/layouts/partials/announcement.html +++ b/layouts/partials/announcement.html @@ -4,11 +4,11 @@

    - {{ .Page.Param "announcement_title" | markdownify }} + {{ T "announcement_title" | markdownify }}

    -

    {{ .Page.Param "announcement_message_compact" | markdownify }}

    +

    {{ T "announcement_message" | markdownify }}

    -{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/css.html b/layouts/partials/css.html index 20b949497c..477f656090 100644 --- a/layouts/partials/css.html +++ b/layouts/partials/css.html @@ -22,7 +22,7 @@ {{- if .Site.Params.announcement }} {{- end }} -{{- if .Params.deprecated }} +{{- if .Site.Params.deprecated }} {{- end }} {{- if or (eq .Params.class "gridPage") (eq .Params.class "gridPage gridPageHome") }} diff --git a/layouts/partials/deprecation-warning.html b/layouts/partials/deprecation-warning.html index e4a5a96043..60f7121084 100644 --- a/layouts/partials/deprecation-warning.html +++ b/layouts/partials/deprecation-warning.html @@ -1,13 +1,14 @@ -{{ if .Param "deprecated" }} +{{ if .Site.Param "deprecated" }}

    - Kubernetes {{ .Param "version" }} - {{ T "deprecation_warning" }} - {{ T "latest_version" }} + {{ T "deprecation_title" }} {{ .Param "version" }}

    +

    Kubernetes {{ .Param "version" }} {{ T "deprecation_warning" }} + {{ T "latest_version" }} +

    -{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/frontpage-announcement.html b/layouts/partials/frontpage-announcement.html index 8cf15f88bd..0db8e32805 100644 --- a/layouts/partials/frontpage-announcement.html +++ b/layouts/partials/frontpage-announcement.html @@ -4,11 +4,11 @@

    - {{ .Page.Param "announcement_title" | markdownify }} + {{ T "announcement_title" | markdownify }}

    -

    {{ .Page.Param "announcement_message_full" | markdownify }}

    +

    {{ T "announcement_message" | markdownify }}

    -{{ end }} +{{ end }} \ No newline at end of file diff --git a/static/css/deprecation-warning.css b/static/css/deprecation-warning.css index f7afeffe52..caa79d94cd 100644 --- a/static/css/deprecation-warning.css +++ b/static/css/deprecation-warning.css @@ -2,5 +2,5 @@ padding: 20px; margin: 20px 0; border-radius: 3px; - background-color: #eeeeee; -} + background-color: #faf5b6; +} \ No newline at end of file From 1502e0281dc9ce80e39b4f3edb1649385d9b2bde Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Thu, 28 May 2020 16:33:14 -0400 Subject: [PATCH 329/533] config for removing capture stmts --- config.toml | 12 ++++++ i18n/en.toml | 9 +++++ layouts/shortcodes/heading.html | 4 ++ scripts/replace-capture.sh | 71 +++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 layouts/shortcodes/heading.html create mode 100755 scripts/replace-capture.sh diff --git a/config.toml b/config.toml index d5140694df..4cd636d278 100644 --- a/config.toml +++ b/config.toml @@ -39,6 +39,18 @@ disableLanguages = ["hi", "no"] noClasses = true style = "emacs" tabWidth = 4 + [markup.tableOfContents] + endLevel = 2 + ordered = false + startLevel = 2 + [markup.goldmark.parser] + attribute = true + autoHeadingID = true + autoHeadingIDType = "blackfriday" + [markup.goldmark.extensions] + definitionList = true + table = true + typographer = false [frontmatter] date = ["date", ":filename", "publishDate", "lastmod"] diff --git a/i18n/en.toml b/i18n/en.toml index 0c4403604e..493d0debc2 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -180,12 +180,21 @@ other = "Note:" [objectives_heading] other = "Objectives" +[options_heading] +other = "Options" + [prerequisites_heading] other = "Before you begin" +[seealso_heading] +other = "See Also" + [subscribe_button] other = "Subscribe" +[synopsis_heading] +other = "Synopsis" + [ui_search_placeholder] other = "Search" diff --git a/layouts/shortcodes/heading.html b/layouts/shortcodes/heading.html new file mode 100644 index 0000000000..791ff6ffa0 --- /dev/null +++ b/layouts/shortcodes/heading.html @@ -0,0 +1,4 @@ + +{{- $heading := .Get 0 -}} +{{- $heading := printf "%s_heading" $heading -}} +{{- T $heading | safeHTML -}} diff --git a/scripts/replace-capture.sh b/scripts/replace-capture.sh new file mode 100755 index 0000000000..6cdde69ec3 --- /dev/null +++ b/scripts/replace-capture.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +# set K8S_WEBSITE in your env to your docs website root +# Note: website/content//docs +CONTENT_DIR=${K8S_WEBSITE}/content + +# 16 langs +# de en es fr hi id it ja ko no pl pt ru uk vi zh + +declare -a DIRS=("concepts" "contribute" "home" "reference" "setup" "tasks" "tutorials") +declare -a EMPTY_STMTS=("body" "discussion" "lessoncontent" "overview" "steps") +declare -a REPLACE_STMTS=("cleanup" "objectives" "options" "prerequisites" "seealso" "synopsis" "whatsnext") +declare -a CONTENT_TYPES=("concept" "task" "tutorial" "tool_reference") +END_CAPTURE="{{% \/capture %}}" +CONTENT_TEMPLATE="content_template:" + +# replace or remove capture statements +function replace_capture_stmts { + echo "i:""$i" + if [ -d "$1" ] ; then + for i in `ls $1`; do + replace_capture_stmts "${1}/${i}" + done + else + if [ -f "$1" ] ; then + ls -f $1 | while read -r file; do + for stmt in "${EMPTY_STMTS[@]}" ; do + CAPTURE_STMT="{{% capture ""$stmt"" %}}" + COMMENT_REPLACE="" + sed -i -e "s/${CAPTURE_STMT}/${COMMENT_REPLACE}/g" $1 + done + + for stmt in "${REPLACE_STMTS[@]}" ; do + CAPTURE_STMT="{{% capture ""$stmt"" %}}" + HEADING_STMT="## {{% heading \"""$stmt""\" %}}\n" + echo "HEADING STMT TO ADD:""$HEADING_STMT" + sed -i -e "s/${CAPTURE_STMT}/${HEADING_STMT}/g" $1 + done + + sed -i -e "s/${END_CAPTURE}//g" $1 + + # replace content_template: templates/ with + # content_template: + #sed -i -e "s/^${CONTENT_TEMPLATE}/# ${CONTENT_TEMPLATE}/g" $1 + for t in "${CONTENT_TYPES[@]}" ; do + sed -i -e "s/content_template:[[:space:]]*templates\/$t/content_type: $t/g" $1 + done + done + else + exit 1 + fi + fi +} + +# change to docs content dir +cd $CONTENT_DIR + +for langdir in `ls $CONTENT_DIR`; do + # Testing with a couple of langs to start + if [ $langdir = "en" ] ; then + LANGDIR="$CONTENT_DIR""/""$langdir""/docs" + + for d in "${DIRS[@]}"; do + ROOTDIR="${LANGDIR}""/""$d" + cd ${ROOTDIR} + for i in `ls ${ROOTDIR}`; do + replace_capture_stmts "${ROOTDIR}""/""$i" + done + done + fi +done From ecc27bbbe70f92d031fa52be76bb9471b2e83152 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:10:23 -0400 Subject: [PATCH 330/533] add en pages --- content/en/docs/concepts/_index.md | 15 +++++----- .../concepts/architecture/cloud-controller.md | 14 ++++----- .../control-plane-node-communication.md | 8 ++--- .../docs/concepts/architecture/controller.md | 15 +++++----- .../en/docs/concepts/architecture/nodes.md | 15 +++++----- .../concepts/cluster-administration/addons.md | 10 +++---- .../cluster-administration/certificates.md | 10 +++---- .../cluster-administration/cloud-providers.md | 10 +++---- .../cluster-administration-overview.md | 10 +++---- .../cluster-administration/flow-control.md | 14 ++++----- .../kubelet-garbage-collection.md | 15 +++++----- .../cluster-administration/logging.md | 10 +++---- .../manage-deployment.md | 15 +++++----- .../cluster-administration/monitoring.md | 15 +++++----- .../cluster-administration/networking.md | 15 +++++----- .../cluster-administration/proxies.md | 10 +++---- .../docs/concepts/configuration/configmap.md | 15 +++++----- .../manage-resources-containers.md | 15 +++++----- .../organize-cluster-access-kubeconfig.md | 15 +++++----- .../docs/concepts/configuration/overview.md | 10 +++---- .../concepts/configuration/pod-overhead.md | 15 +++++----- .../configuration/pod-priority-preemption.md | 15 +++++----- .../configuration/resource-bin-packing.md | 10 +++---- .../en/docs/concepts/configuration/secret.md | 8 ++--- .../containers/container-environment.md | 15 +++++----- .../containers/container-lifecycle-hooks.md | 15 +++++----- content/en/docs/concepts/containers/images.md | 10 +++---- .../en/docs/concepts/containers/overview.md | 15 +++++----- .../docs/concepts/containers/runtime-class.md | 15 +++++----- .../docs/concepts/example-concept-template.md | 15 +++++----- .../api-extension/apiserver-aggregation.md | 15 +++++----- .../api-extension/custom-resources.md | 15 +++++----- .../compute-storage-net/device-plugins.md | 15 +++++----- .../compute-storage-net/network-plugins.md | 15 +++++----- .../extend-kubernetes/extend-cluster.md | 15 +++++----- .../concepts/extend-kubernetes/operator.md | 14 ++++----- .../poseidon-firmament-alternate-scheduler.md | 15 +++++----- .../extend-kubernetes/service-catalog.md | 15 +++++----- .../en/docs/concepts/overview/components.md | 15 +++++----- .../docs/concepts/overview/kubernetes-api.md | 16 +++++----- .../concepts/overview/what-is-kubernetes.md | 15 +++++----- .../working-with-objects/annotations.md | 15 +++++----- .../working-with-objects/common-labels.md | 10 +++---- .../kubernetes-objects.md | 15 +++++----- .../overview/working-with-objects/labels.md | 10 +++---- .../overview/working-with-objects/names.md | 15 +++++----- .../working-with-objects/namespaces.md | 15 +++++----- .../working-with-objects/object-management.md | 15 +++++----- .../en/docs/concepts/policy/limit-range.md | 15 +++++----- .../concepts/policy/pod-security-policy.md | 15 +++++----- .../docs/concepts/policy/resource-quotas.md | 15 +++++----- .../scheduling-eviction/assign-pod-node.md | 15 +++++----- .../scheduling-eviction/kube-scheduler.md | 15 +++++----- .../scheduler-perf-tuning.md | 10 +++---- .../scheduling-framework.md | 9 +++--- .../taint-and-toleration.md | 15 +++++----- content/en/docs/concepts/security/overview.md | 15 +++++----- .../security/pod-security-standards.md | 10 +++---- ...ries-to-pod-etc-hosts-with-host-aliases.md | 10 +++---- .../connect-applications-service.md | 15 +++++----- .../services-networking/dns-pod-service.md | 14 ++++----- .../services-networking/dual-stack.md | 15 +++++----- .../services-networking/endpoint-slices.md | 15 +++++----- .../ingress-controllers.md | 15 +++++----- .../concepts/services-networking/ingress.md | 15 +++++----- .../services-networking/network-policies.md | 15 +++++----- .../services-networking/service-topology.md | 15 +++++----- .../concepts/services-networking/service.md | 15 +++++----- .../concepts/storage/dynamic-provisioning.md | 10 +++---- .../concepts/storage/persistent-volumes.md | 14 ++++----- .../docs/concepts/storage/storage-classes.md | 10 +++---- .../docs/concepts/storage/storage-limits.md | 10 +++---- .../concepts/storage/volume-pvc-datasource.md | 10 +++---- .../storage/volume-snapshot-classes.md | 10 +++---- .../docs/concepts/storage/volume-snapshots.md | 10 +++---- content/en/docs/concepts/storage/volumes.md | 13 ++++---- .../workloads/controllers/cron-jobs.md | 15 +++++----- .../workloads/controllers/daemonset.md | 10 +++---- .../workloads/controllers/deployment.md | 10 +++---- .../controllers/garbage-collection.md | 15 +++++----- .../controllers/jobs-run-to-completion.md | 10 +++---- .../workloads/controllers/replicaset.md | 10 +++---- .../controllers/replicationcontroller.md | 10 +++---- .../workloads/controllers/statefulset.md | 15 +++++----- .../workloads/controllers/ttlafterfinished.md | 15 +++++----- .../concepts/workloads/pods/disruptions.md | 15 +++++----- .../workloads/pods/ephemeral-containers.md | 10 +++---- .../workloads/pods/init-containers.md | 15 +++++----- .../concepts/workloads/pods/pod-lifecycle.md | 15 +++++----- .../concepts/workloads/pods/pod-overview.md | 15 +++++----- .../pods/pod-topology-spread-constraints.md | 10 +++---- .../en/docs/concepts/workloads/pods/pod.md | 10 +++---- .../docs/concepts/workloads/pods/podpreset.md | 15 +++++----- content/en/docs/contribute/_index.md | 10 +++---- content/en/docs/contribute/advanced.md | 10 +++---- .../generate-ref-docs/contribute-upstream.md | 20 +++++++------ .../contribute/generate-ref-docs/kubectl.md | 20 +++++++------ .../generate-ref-docs/kubernetes-api.md | 20 +++++++------ .../kubernetes-components.md | 20 +++++++------ .../generate-ref-docs/quickstart.md | 20 +++++++------ content/en/docs/contribute/localization.md | 15 +++++----- .../new-content/blogs-case-studies.md | 15 +++++----- .../contribute/new-content/new-features.md | 9 +++--- .../docs/contribute/new-content/open-a-pr.md | 15 +++++----- .../docs/contribute/new-content/overview.md | 10 +++---- content/en/docs/contribute/participating.md | 15 +++++----- content/en/docs/contribute/review/_index.md | 8 ++--- .../docs/contribute/review/for-approvers.md | 9 +++--- .../docs/contribute/review/reviewing-prs.md | 9 +++--- .../en/docs/contribute/style/content-guide.md | 15 +++++----- .../contribute/style/content-organization.md | 15 +++++----- .../contribute/style/hugo-shortcodes/index.md | 15 +++++----- .../docs/contribute/style/page-templates.md | 21 ++++++------- .../en/docs/contribute/style/style-guide.md | 15 +++++----- .../docs/contribute/style/write-new-topic.md | 20 +++++++------ .../contribute/suggesting-improvements.md | 10 +++---- .../en/docs/home/supported-doc-versions.md | 10 +++---- content/en/docs/reference/_index.md | 10 +++---- .../docs/reference/access-authn-authz/abac.md | 10 +++---- .../admission-controllers.md | 10 +++---- .../access-authn-authz/authentication.md | 10 +++---- .../access-authn-authz/authorization.md | 15 +++++----- .../access-authn-authz/bootstrap-tokens.md | 10 +++---- .../certificate-signing-requests.md | 15 +++++----- .../access-authn-authz/controlling-access.md | 10 +++---- .../extensible-admission-controllers.md | 9 +++--- .../docs/reference/access-authn-authz/node.md | 10 +++---- .../docs/reference/access-authn-authz/rbac.md | 10 +++---- .../service-accounts-admin.md | 10 +++---- .../reference/access-authn-authz/webhook.md | 10 +++---- .../cloud-controller-manager.md | 10 ++++--- .../feature-gates.md | 15 +++++----- .../kube-apiserver.md | 10 ++++--- .../kube-controller-manager.md | 10 ++++--- .../kube-proxy.md | 10 ++++--- .../kube-scheduler.md | 10 ++++--- .../kubelet-tls-bootstrapping.md | 10 +++---- .../command-line-tools-reference/kubelet.md | 10 ++++--- .../reference/issues-security/security.md | 10 +++---- .../en/docs/reference/kubectl/cheatsheet.md | 15 +++++----- .../en/docs/reference/kubectl/conventions.md | 10 +++---- .../kubectl/docker-cli-to-kubectl.md | 10 +++---- content/en/docs/reference/kubectl/jsonpath.md | 10 +++---- content/en/docs/reference/kubectl/kubectl.md | 15 ++++++---- content/en/docs/reference/kubectl/overview.md | 15 +++++----- .../labels-annotations-taints.md | 10 +++---- .../en/docs/reference/scheduling/policies.md | 15 +++++----- .../en/docs/reference/scheduling/profiles.md | 15 +++++----- .../kubeadm/implementation-details.md | 10 +++---- .../setup-tools/kubeadm/kubeadm-config.md | 15 +++++----- .../setup-tools/kubeadm/kubeadm-init.md | 15 +++++----- .../setup-tools/kubeadm/kubeadm-join.md | 15 +++++----- .../setup-tools/kubeadm/kubeadm-reset.md | 15 +++++----- .../setup-tools/kubeadm/kubeadm-token.md | 15 +++++----- .../setup-tools/kubeadm/kubeadm-upgrade.md | 15 +++++----- .../setup-tools/kubeadm/kubeadm-version.md | 10 +++---- content/en/docs/reference/tools.md | 10 +++---- .../docs/reference/using-api/api-concepts.md | 8 ++--- .../docs/reference/using-api/api-overview.md | 8 ++--- .../reference/using-api/client-libraries.md | 10 +++---- .../reference/using-api/deprecation-policy.md | 10 +++---- content/en/docs/setup/_index.md | 10 +++---- .../docs/setup/best-practices/certificates.md | 10 +++---- .../setup/best-practices/multiple-zones.md | 10 +++---- .../docs/setup/learning-environment/kind.md | 10 +++---- .../setup/learning-environment/minikube.md | 10 +++---- .../container-runtimes.md | 10 +++---- .../on-premises-vm/cloudstack.md | 10 +++---- .../on-premises-vm/dcos.md | 10 +++---- .../on-premises-vm/ovirt.md | 10 +++---- .../production-environment/tools/kops.md | 20 +++++++------ .../tools/kubeadm/control-plane-flags.md | 10 +++---- .../tools/kubeadm/create-cluster-kubeadm.md | 19 ++++++------ .../tools/kubeadm/ha-topology.md | 15 +++++----- .../tools/kubeadm/high-availability.md | 15 +++++----- .../tools/kubeadm/install-kubeadm.md | 17 ++++++----- .../tools/kubeadm/kubelet-integration.md | 10 +++---- .../tools/kubeadm/self-hosting.md | 10 +++---- .../kubeadm/setup-ha-etcd-with-kubeadm.md | 20 +++++++------ .../tools/kubeadm/troubleshooting-kubeadm.md | 10 +++---- .../production-environment/tools/kubespray.md | 14 ++++----- .../production-environment/turnkey/aws.md | 15 +++++----- .../production-environment/turnkey/gce.md | 15 +++++----- .../windows/intro-windows-in-kubernetes.md | 15 +++++----- .../windows/user-guide-windows-containers.md | 10 +++---- .../docs/setup/release/version-skew-policy.md | 8 ++--- content/en/docs/tasks/_index.md | 15 +++++----- .../access-cluster.md | 9 +++--- ...icate-containers-same-pod-shared-volume.md | 24 ++++++++------- .../configure-access-multiple-clusters.md | 20 +++++++------ .../configure-cloud-provider-firewall.md | 15 +++++----- .../configure-dns-cluster.md | 10 +++---- .../connecting-frontend-backend.md | 30 +++++++++++-------- .../create-external-load-balancer.md | 15 +++++----- .../ingress-minikube.md | 20 +++++++------ .../list-all-running-container-images.md | 24 ++++++++------- ...port-forward-access-application-cluster.md | 24 ++++++++------- .../service-access-application-cluster.md | 30 +++++++++++-------- .../web-ui-dashboard.md | 15 +++++----- .../configure-aggregation-layer.md | 20 +++++++------ .../custom-resource-definition-versioning.md | 15 +++++----- .../custom-resource-definitions.md | 23 +++++++------- .../http-proxy-access-api.md | 20 +++++++------ .../setup-extension-api-server.md | 20 +++++++------ .../administer-cluster/access-cluster-api.md | 15 +++++----- .../access-cluster-services.md | 15 +++++----- .../change-default-storage-class.md | 20 +++++++------ .../change-pv-reclaim-policy.md | 20 +++++++------ .../administer-cluster/cluster-management.md | 10 +++---- .../configure-multiple-schedulers.md | 19 ++++++------ .../configure-upgrade-etcd.md | 15 +++++----- .../docs/tasks/administer-cluster/coredns.md | 20 +++++++------ .../cpu-management-policies.md | 15 +++++----- .../declare-network-policy.md | 15 +++++----- .../developing-cloud-controller-manager.md | 10 +++---- .../dns-custom-nameservers.md | 19 ++++++------ .../dns-debugging-resolution.md | 15 +++++----- .../dns-horizontal-autoscaling.md | 24 ++++++++------- .../enabling-endpointslices.md | 18 ++++++----- .../enabling-service-topology.md | 18 ++++++----- .../tasks/administer-cluster/encrypt-data.md | 15 +++++----- .../extended-resource-node.md | 20 +++++++------ ...aranteed-scheduling-critical-addon-pods.md | 10 +++---- .../highly-available-master.md | 19 ++++++------ .../tasks/administer-cluster/ip-masq-agent.md | 19 ++++++------ .../tasks/administer-cluster/kms-provider.md | 15 +++++----- .../kubeadm/adding-windows-nodes.md | 25 +++++++++------- .../kubeadm/kubeadm-certs.md | 15 +++++----- .../kubeadm/kubeadm-upgrade.md | 15 +++++----- .../kubeadm/upgrading-windows-nodes.md | 15 +++++----- .../administer-cluster/kubelet-config-file.md | 19 ++++++------ .../limit-storage-consumption.md | 19 ++++++------ .../cpu-constraint-namespace.md | 20 +++++++------ .../manage-resources/cpu-default-namespace.md | 20 +++++++------ .../memory-constraint-namespace.md | 20 +++++++------ .../memory-default-namespace.md | 20 +++++++------ .../quota-memory-cpu-namespace.md | 20 +++++++------ .../manage-resources/quota-pod-namespace.md | 20 +++++++------ .../namespaces-walkthrough.md | 15 +++++----- .../tasks/administer-cluster/namespaces.md | 24 ++++++++------- .../calico-network-policy.md | 20 +++++++------ .../cilium-network-policy.md | 24 ++++++++------- .../kube-router-network-policy.md | 20 +++++++------ .../romana-network-policy.md | 20 +++++++------ .../weave-network-policy.md | 20 +++++++------ .../tasks/administer-cluster/nodelocaldns.md | 17 ++++++----- .../administer-cluster/out-of-resource.md | 10 +++---- .../administer-cluster/quota-api-object.md | 20 +++++++------ .../administer-cluster/reconfigure-kubelet.md | 23 +++++++------- .../reserve-compute-resources.md | 18 +++++------ .../running-cloud-controller.md | 15 +++++----- .../administer-cluster/safely-drain-node.md | 20 +++++++------ .../administer-cluster/securing-a-cluster.md | 15 +++++----- .../administer-cluster/sysctl-cluster.md | 19 ++++++------ .../administer-cluster/topology-manager.md | 15 +++++----- .../assign-cpu-resource.md | 20 +++++++------ .../assign-memory-resource.md | 20 +++++++------ .../assign-pods-nodes-using-node-affinity.md | 20 +++++++------ .../assign-pods-nodes.md | 20 +++++++------ .../attach-handler-lifecycle-event.md | 24 ++++++++------- .../configure-pod-container/configure-gmsa.md | 15 +++++----- ...igure-liveness-readiness-startup-probes.md | 20 +++++++------ .../configure-persistent-volume-storage.md | 24 ++++++++------- .../configure-pod-configmap.md | 24 ++++++++------- .../configure-pod-initialization.md | 20 +++++++------ .../configure-projected-volume-storage.md | 20 +++++++------ .../configure-runasusername.md | 19 ++++++------ .../configure-service-account.md | 20 +++++++------ .../configure-volume-storage.md | 20 +++++++------ .../extended-resource.md | 20 +++++++------ .../pull-image-private-registry.md | 20 +++++++------ .../quality-service-pod.md | 20 +++++++------ .../security-context.md | 20 +++++++------ .../share-process-namespace.md | 19 ++++++------ .../configure-pod-container/static-pod.md | 15 +++++----- .../translate-compose-kubernetes.md | 19 ++++++------ .../tasks/debug-application-cluster/audit.md | 15 +++++----- .../tasks/debug-application-cluster/crictl.md | 19 ++++++------ .../debug-application-introspection.md | 15 +++++----- .../debug-application.md | 15 +++++----- .../debug-cluster.md | 10 +++---- .../debug-init-containers.md | 19 ++++++------ .../debug-pod-replication-controller.md | 15 +++++----- .../debug-running-pod.md | 15 +++++----- .../debug-service.md | 15 +++++----- .../debug-stateful-set.md | 20 +++++++------ .../determine-reason-pod-failure.md | 20 +++++++------ .../events-stackdriver.md | 10 +++---- .../tasks/debug-application-cluster/falco.md | 10 +++---- .../get-shell-running-container.md | 24 ++++++++------- .../local-debugging.md | 20 +++++++------ .../logging-elasticsearch-kibana.md | 15 +++++----- .../logging-stackdriver.md | 10 +++---- .../monitor-node-health.md | 19 ++++++------ .../resource-metrics-pipeline.md | 10 +++---- .../resource-usage-monitoring.md | 10 +++---- .../troubleshooting.md | 10 +++---- .../en/docs/tasks/example-task-template.md | 23 +++++++------- .../tasks/extend-kubectl/kubectl-plugins.md | 20 +++++++------ .../define-command-argument-container.md | 20 +++++++------ .../define-environment-variable-container.md | 20 +++++++------ .../distribute-credentials-secure.md | 20 +++++++------ ...nward-api-volume-expose-pod-information.md | 24 ++++++++------- ...ronment-variable-expose-pod-information.md | 20 +++++++------ .../inject-data-application/podpreset.md | 15 +++++----- .../job/automated-tasks-with-cron-jobs.md | 15 +++++----- .../coarse-parallel-processing-work-queue.md | 19 ++++++------ .../fine-parallel-processing-work-queue.md | 23 +++++++------- .../job/parallel-processing-expansion.md | 19 ++++++------ .../manage-daemon/rollback-daemon-set.md | 19 ++++++------ .../tasks/manage-daemon/update-daemon-set.md | 20 +++++++------ .../docs/tasks/manage-gpus/scheduling-gpus.md | 10 +++---- .../manage-hugepages/scheduling-hugepages.md | 15 +++++----- .../declarative-config.md | 18 ++++++----- .../imperative-command.md | 20 +++++++------ .../imperative-config.md | 20 +++++++------ .../kustomization.md | 20 +++++++------ .../update-api-object-kubectl-patch.md | 20 +++++++------ .../docs/tasks/network/validate-dual-stack.md | 15 +++++----- .../tasks/run-application/configure-pdb.md | 19 ++++++------ .../run-application/delete-stateful-set.md | 20 +++++++------ .../force-delete-stateful-set-pod.md | 20 +++++++------ .../horizontal-pod-autoscale-walkthrough.md | 19 ++++++------ .../horizontal-pod-autoscale.md | 15 +++++----- .../run-replicated-stateful-application.md | 30 +++++++++++-------- ...un-single-instance-stateful-application.md | 25 +++++++++------- .../run-stateless-application-deployment.md | 25 +++++++++------- .../run-application/scale-stateful-set.md | 20 +++++++------ .../install-service-catalog-using-helm.md | 20 +++++++------ .../install-service-catalog-using-sc.md | 20 +++++++------ .../setup-konnectivity/setup-konnectivity.md | 14 ++++----- .../en/docs/tasks/tls/certificate-rotation.md | 15 +++++----- .../tasks/tls/managing-tls-in-a-cluster.md | 15 +++++----- .../en/docs/tasks/tools/install-kubectl.md | 20 +++++++------ .../en/docs/tasks/tools/install-minikube.md | 20 +++++++------ content/en/docs/tutorials/_index.md | 15 +++++----- .../en/docs/tutorials/clusters/apparmor.md | 25 +++++++++------- .../configure-redis-using-configmap.md | 25 +++++++++------- content/en/docs/tutorials/hello-minikube.md | 25 +++++++++------- .../en/docs/tutorials/services/source-ip.md | 30 +++++++++++-------- .../basic-stateful-set.md | 25 +++++++++------- .../stateful-application/cassandra.md | 30 +++++++++++-------- .../mysql-wordpress-persistent-volume.md | 30 +++++++++++-------- .../stateful-application/zookeeper.md | 25 +++++++++------- .../expose-external-ip-address.md | 30 +++++++++++-------- .../guestbook-logs-metrics-with-elk.md | 29 ++++++++++-------- .../stateless-application/guestbook.md | 30 +++++++++++-------- 347 files changed, 2900 insertions(+), 2537 deletions(-) diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/concepts/_index.md index 0cb970fd66..ae9ed7545d 100644 --- a/content/en/docs/concepts/_index.md +++ b/content/en/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: Concepts main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + The Concepts section helps you learn about the parts of the Kubernetes system and the abstractions Kubernetes uses to represent your {{< glossary_tooltip text="cluster" term_id="cluster" length="all" >}}, and helps you obtain a deeper understanding of how Kubernetes works. -{{% /capture %}} -{{% capture body %}} + + ## Overview @@ -60,12 +60,13 @@ The Kubernetes master is responsible for maintaining the desired state for your The nodes in a cluster are the machines (VMs, physical servers, etc) that run your applications and cloud workflows. The Kubernetes master controls each node; you'll rarely interact with nodes directly. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + If you would like to write a concept page, see [Using Page Templates](/docs/home/contribute/page-templates/) for information about the concept page type and the concept template. -{{% /capture %}} + diff --git a/content/en/docs/concepts/architecture/cloud-controller.md b/content/en/docs/concepts/architecture/cloud-controller.md index 31c0ad9d54..9a731b684a 100644 --- a/content/en/docs/concepts/architecture/cloud-controller.md +++ b/content/en/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.11" >}} @@ -17,9 +17,9 @@ components. The cloud-controller-manager is structured using a plugin mechanism that allows different cloud providers to integrate their platforms with Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Design @@ -200,8 +200,9 @@ rules: - update ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Cloud Controller Manager Administration](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager) has instructions on running and managing the cloud controller manager. @@ -212,4 +213,3 @@ The cloud controller manager uses Go interfaces to allow implementations from an The implementation of the shared controllers highlighted in this document (Node, Route, and Service), and some scaffolding along with the shared cloudprovider interface, is part of the Kubernetes core. Implementations specific to cloud providers are outside the core of Kubernetes and implement the `CloudProvider` interface. For more information about developing plugins, see [Developing Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/). -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/architecture/control-plane-node-communication.md b/content/en/docs/concepts/architecture/control-plane-node-communication.md index 5e85302c38..ac901abdab 100644 --- a/content/en/docs/concepts/architecture/control-plane-node-communication.md +++ b/content/en/docs/concepts/architecture/control-plane-node-communication.md @@ -3,19 +3,19 @@ reviewers: - dchen1107 - liggitt title: Control Plane-Node Communication -content_template: templates/concept +content_type: concept weight: 20 aliases: - master-node-communication --- -{{% capture overview %}} + This document catalogs the communication paths between the control plane (really the apiserver) and the Kubernetes cluster. The intent is to allow users to customize their installation to harden the network configuration such that the cluster can be run on an untrusted network (or on fully public IPs on a cloud provider). -{{% /capture %}} -{{% capture body %}} + + ## Node to Control Plane All communication paths from the nodes to the control plane terminate at the apiserver (none of the other master components are designed to expose remote services). In a typical deployment, the apiserver is configured to listen for remote connections on a secure HTTPS port (443) with one or more forms of client [authentication](/docs/reference/access-authn-authz/authentication/) enabled. diff --git a/content/en/docs/concepts/architecture/controller.md b/content/en/docs/concepts/architecture/controller.md index 2872959bac..547a624a94 100644 --- a/content/en/docs/concepts/architecture/controller.md +++ b/content/en/docs/concepts/architecture/controller.md @@ -1,10 +1,10 @@ --- title: Controllers -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + In robotics and automation, a _control loop_ is a non-terminating loop that regulates the state of a system. @@ -18,10 +18,10 @@ closer to the desired state, by turning equipment on or off. {{< glossary_definition term_id="controller" length="short">}} -{{% /capture %}} -{{% capture body %}} + + ## Controller pattern @@ -150,11 +150,12 @@ You can run your own controller as a set of Pods, or externally to Kubernetes. What fits best will depend on what that particular controller does. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about the [Kubernetes control plane](/docs/concepts/#kubernetes-control-plane) * Discover some of the basic [Kubernetes objects](/docs/concepts/#kubernetes-objects) * Learn more about the [Kubernetes API](/docs/concepts/overview/kubernetes-api/) * If you want to write your own controller, see [Extension Patterns](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) in Extending Kubernetes. -{{% /capture %}} + diff --git a/content/en/docs/concepts/architecture/nodes.md b/content/en/docs/concepts/architecture/nodes.md index 32274f5a3b..516e4eb6d9 100644 --- a/content/en/docs/concepts/architecture/nodes.md +++ b/content/en/docs/concepts/architecture/nodes.md @@ -3,11 +3,11 @@ reviewers: - caesarxuchao - dchen1107 title: Nodes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Kubernetes runs your workload by placing containers into Pods to run on _Nodes_. A node may be a virtual or physical machine, depending on the cluster. Each node @@ -23,9 +23,9 @@ The [components](/docs/concepts/overview/components/#node-components) on a node {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}, and the {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}. -{{% /capture %}} -{{% capture body %}} + + ## Management @@ -332,12 +332,13 @@ the kubelet can use topology hints when making resource assignment decisions. See [Control Topology Management Policies on a Node](/docs/tasks/administer-cluster/topology-manager/) for more information. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about the [components](/docs/concepts/overview/components/#node-components) that make up a node. * Read the [API definition for Node](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). * Read the [Node](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) section of the architecture design document. * Read about [taints and tolerations](/docs/concepts/configuration/taint-and-toleration/). * Read about [cluster autoscaling](/docs/tasks/administer-cluster/cluster-management/#cluster-autoscaling). -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/addons.md b/content/en/docs/concepts/cluster-administration/addons.md index 0347327f13..5b5110ec92 100644 --- a/content/en/docs/concepts/cluster-administration/addons.md +++ b/content/en/docs/concepts/cluster-administration/addons.md @@ -1,9 +1,9 @@ --- title: Installing Addons -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Add-ons extend the functionality of Kubernetes. @@ -12,10 +12,10 @@ This page lists some of the available add-ons and links to their respective inst Add-ons in each section are sorted alphabetically - the ordering does not imply any preferential status. -{{% /capture %}} -{{% capture body %}} + + ## Networking and Network Policy @@ -55,4 +55,4 @@ There are several other add-ons documented in the deprecated [cluster/addons](ht Well-maintained ones should be linked to here. PRs welcome! -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/certificates.md b/content/en/docs/concepts/cluster-administration/certificates.md index 052e7b9aa5..8cc45252ec 100644 --- a/content/en/docs/concepts/cluster-administration/certificates.md +++ b/content/en/docs/concepts/cluster-administration/certificates.md @@ -1,19 +1,19 @@ --- title: Certificates -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + When using client certificate authentication, you can generate certificates manually through `easyrsa`, `openssl` or `cfssl`. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -249,4 +249,4 @@ You can use the `certificates.k8s.io` API to provision x509 certificates to use for authentication as documented [here](/docs/tasks/tls/managing-tls-in-a-cluster). -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/cloud-providers.md b/content/en/docs/concepts/cluster-administration/cloud-providers.md index 7d2f2a0b66..4f49e7bc42 100644 --- a/content/en/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/en/docs/concepts/cluster-administration/cloud-providers.md @@ -1,16 +1,16 @@ --- title: Cloud Providers -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This page explains how to manage Kubernetes running on a specific cloud provider. -{{% /capture %}} -{{% capture body %}} + + ### kubeadm [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) is a popular option for creating kubernetes clusters. kubeadm has configuration options to specify configuration information for cloud providers. For example a typical @@ -363,7 +363,7 @@ Kubernetes network plugin and should appear in the `[Route]` section of the [kubenet]: /docs/concepts/cluster-administration/network-plugins/#kubenet -{{% /capture %}} + ## OVirt diff --git a/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md index 5ba0bb30d8..fc2f55fbcd 100644 --- a/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/en/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -3,16 +3,16 @@ reviewers: - davidopp - lavalamp title: Cluster Administration Overview -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + The cluster administration overview is for anyone creating or administering a Kubernetes cluster. It assumes some familiarity with core Kubernetes [concepts](/docs/concepts/). -{{% /capture %}} -{{% capture body %}} + + ## Planning a cluster See the guides in [Setup](/docs/setup/) for examples of how to plan, set up, and configure Kubernetes clusters. The solutions listed in this article are called *distros*. @@ -68,6 +68,6 @@ Note: Not all distros are actively maintained. Choose distros which have been te * [Logging and Monitoring Cluster Activity](/docs/concepts/cluster-administration/logging/) explains how logging in Kubernetes works and how to implement it. -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/flow-control.md b/content/en/docs/concepts/cluster-administration/flow-control.md index aa6b0c0467..26fc1194df 100644 --- a/content/en/docs/concepts/cluster-administration/flow-control.md +++ b/content/en/docs/concepts/cluster-administration/flow-control.md @@ -1,10 +1,10 @@ --- title: API Priority and Fairness -content_template: templates/concept +content_type: concept min-kubernetes-server-version: v1.18 --- -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.18" >}} @@ -33,9 +33,9 @@ the `--max-requests-inflight` flag without the API Priority and Fairness feature enabled. {{< /caution >}} -{{% /capture %}} -{{% capture body %}} + + ## Enabling API Priority and Fairness @@ -366,13 +366,13 @@ poorly-behaved workloads that may be harming system health. request and the PriorityLevel to which it was assigned. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + For background information on design details for API priority and fairness, see the [enhancement proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md). You can make suggestions and feature requests via [SIG API Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery). -{{% /capture %}} diff --git a/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md index eb41a01cfe..1590561cc9 100644 --- a/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/en/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,20 +1,20 @@ --- reviewers: title: Configuring kubelet Garbage Collection -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + Garbage collection is a helpful function of kubelet that will clean up unused images and unused containers. Kubelet will perform garbage collection for containers every minute and garbage collection for images every five minutes. External garbage collection tools are not recommended as these tools can potentially break the behavior of kubelet by removing containers expected to exist. -{{% /capture %}} -{{% capture body %}} + + ## Image Collection @@ -77,10 +77,11 @@ Including: | `--low-diskspace-threshold-mb` | `--eviction-hard` or `eviction-soft` | eviction generalizes disk thresholds to other resources | | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | eviction generalizes disk pressure transition to other resources | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + See [Configuring Out Of Resource Handling](/docs/tasks/administer-cluster/out-of-resource/) for more details. -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/logging.md b/content/en/docs/concepts/cluster-administration/logging.md index e464a2869e..399f8f16cc 100644 --- a/content/en/docs/concepts/cluster-administration/logging.md +++ b/content/en/docs/concepts/cluster-administration/logging.md @@ -3,20 +3,20 @@ reviewers: - piosz - x13n title: Logging Architecture -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Application and systems logs can help you understand what is happening inside your cluster. The logs are particularly useful for debugging problems and monitoring cluster activity. Most modern applications have some kind of logging mechanism; as such, most container engines are likewise designed to support some kind of logging. The easiest and most embraced logging method for containerized applications is to write to the standard output and standard error streams. However, the native functionality provided by a container engine or runtime is usually not enough for a complete logging solution. For example, if a container crashes, a pod is evicted, or a node dies, you'll usually still want to access your application's logs. As such, logs should have a separate storage and lifecycle independent of nodes, pods, or containers. This concept is called _cluster-level-logging_. Cluster-level logging requires a separate backend to store, analyze, and query logs. Kubernetes provides no native storage solution for log data, but you can integrate many existing logging solutions into your Kubernetes cluster. -{{% /capture %}} -{{% capture body %}} + + Cluster-level logging architectures are described in assumption that a logging backend is present inside or outside of your cluster. If you're @@ -267,4 +267,4 @@ You can implement cluster-level logging by exposing or pushing logs directly fro every application; however, the implementation for such a logging mechanism is outside the scope of Kubernetes. -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/manage-deployment.md b/content/en/docs/concepts/cluster-administration/manage-deployment.md index 6b246ec3b6..b052dd3a15 100644 --- a/content/en/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/en/docs/concepts/cluster-administration/manage-deployment.md @@ -2,18 +2,18 @@ reviewers: - janetkuo title: Managing Resources -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + You've deployed your application and exposed it via a service. Now what? Kubernetes provides a number of tools to help you manage your application deployment, including scaling and updating. Among the features that we will discuss in more depth are [configuration files](/docs/concepts/configuration/overview/) and [labels](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} -{{% capture body %}} + + ## Organizing resource configurations @@ -449,11 +449,12 @@ kubectl edit deployment/my-nginx That's it! The Deployment will declaratively update the deployed nginx application progressively behind the scene. It ensures that only a certain number of old replicas may be down while they are being updated, and only a certain number of new replicas may be created above the desired number of pods. To learn more details about it, visit [Deployment page](/docs/concepts/workloads/controllers/deployment/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Learn about [how to use `kubectl` for application introspection and debugging](/docs/tasks/debug-application-cluster/debug-application-introspection/). - See [Configuration Best Practices and Tips](/docs/concepts/configuration/overview/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/monitoring.md b/content/en/docs/concepts/cluster-administration/monitoring.md index e02ac8231c..fbea5e69c1 100644 --- a/content/en/docs/concepts/cluster-administration/monitoring.md +++ b/content/en/docs/concepts/cluster-administration/monitoring.md @@ -4,21 +4,21 @@ reviewers: - brancz - logicalhan - RainbowMango -content_template: templates/concept +content_type: concept weight: 60 aliases: - controller-metrics.md --- -{{% capture overview %}} + System component metrics can give a better look into what is happening inside them. Metrics are particularly useful for building dashboards and alerts. Metrics in Kubernetes control plane are emitted in [prometheus format](https://prometheus.io/docs/instrumenting/exposition_formats/) and are human readable. -{{% /capture %}} -{{% capture body %}} + + ## Metrics in Kubernetes @@ -124,10 +124,11 @@ cloudprovider_gce_api_request_duration_seconds { request = "detach_disk"} cloudprovider_gce_api_request_duration_seconds { request = "list_disk"} ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about the [Prometheus text format](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-based-format) for metrics * See the list of [stable Kubernetes metrics](https://github.com/kubernetes/kubernetes/blob/master/test/instrumentation/testdata/stable-metrics-list.yaml) * Read about the [Kubernetes deprecation policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-feature-or-behavior ) -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/networking.md b/content/en/docs/concepts/cluster-administration/networking.md index c260963d87..29044be250 100644 --- a/content/en/docs/concepts/cluster-administration/networking.md +++ b/content/en/docs/concepts/cluster-administration/networking.md @@ -2,11 +2,11 @@ reviewers: - thockin title: Cluster Networking -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Networking is a central part of Kubernetes, but it can be challenging to understand exactly how it is expected to work. There are 4 distinct networking problems to address: @@ -17,10 +17,10 @@ problems to address: 3. Pod-to-Service communications: this is covered by [services](/docs/concepts/services-networking/service/). 4. External-to-Service communications: this is covered by [services](/docs/concepts/services-networking/service/). -{{% /capture %}} -{{% capture body %}} + + Kubernetes is all about sharing machines between applications. Typically, sharing machines requires ensuring that two applications do not try to use the @@ -312,12 +312,13 @@ Weave Net runs as a [CNI plug-in](https://www.weave.works/docs/net/latest/cni-pl or stand-alone. In either version, it doesn't require any configuration or extra code to run, and in both cases, the network provides one IP address per pod - as is standard for Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + The early design of the networking model and its rationale, and some future plans are described in more detail in the [networking design document](https://git.k8s.io/community/contributors/design-proposals/network/networking.md). -{{% /capture %}} + diff --git a/content/en/docs/concepts/cluster-administration/proxies.md b/content/en/docs/concepts/cluster-administration/proxies.md index 8e03334d12..9bf204bd9f 100644 --- a/content/en/docs/concepts/cluster-administration/proxies.md +++ b/content/en/docs/concepts/cluster-administration/proxies.md @@ -1,14 +1,14 @@ --- title: Proxies in Kubernetes -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + This page explains proxies used with Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Proxies @@ -62,6 +62,6 @@ will typically ensure that the latter types are setup correctly. Proxies have replaced redirect capabilities. Redirects have been deprecated. -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/configmap.md b/content/en/docs/concepts/configuration/configmap.md index 92348f36b7..3e9ddf718f 100644 --- a/content/en/docs/concepts/configuration/configmap.md +++ b/content/en/docs/concepts/configuration/configmap.md @@ -1,10 +1,10 @@ --- title: ConfigMaps -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< glossary_definition term_id="configmap" prepend="A ConfigMap is" length="all" >}} @@ -15,9 +15,9 @@ If the data you want to store are confidential, use a or use additional (third party) tools to keep your data private. {{< /caution >}} -{{% /capture %}} -{{% capture body %}} + + ## Motivation Use a ConfigMap for setting configuration data separately from application code. @@ -243,12 +243,13 @@ Existing Pods maintain a mount point to the deleted ConfigMap - it is recommende these pods. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [Secrets](/docs/concepts/configuration/secret/). * Read [Configure a Pod to Use a ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/). * Read [The Twelve-Factor App](https://12factor.net/) to understand the motivation for separating code from configuration. -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/manage-resources-containers.md b/content/en/docs/concepts/configuration/manage-resources-containers.md index 69ea4a255d..f8989c4a5d 100644 --- a/content/en/docs/concepts/configuration/manage-resources-containers.md +++ b/content/en/docs/concepts/configuration/manage-resources-containers.md @@ -1,6 +1,6 @@ --- title: Managing Resources for Containers -content_template: templates/concept +content_type: concept weight: 40 feature: title: Automatic bin packing @@ -8,7 +8,7 @@ feature: Automatically places containers based on their resource requirements and other constraints, while not sacrificing availability. Mix critical and best-effort workloads in order to drive up utilization and save even more resources. --- -{{% capture overview %}} + When you specify a {{< glossary_tooltip term_id="pod" >}}, you can optionally specify how much of each resource a {{< glossary_tooltip text="Container" term_id="container" >}} needs. @@ -21,10 +21,10 @@ allowed to use more of that resource than the limit you set. The kubelet also re at least the _request_ amount of that system resource specifically for that container to use. -{{% /capture %}} -{{% capture body %}} + + ## Requests and limits @@ -740,10 +740,11 @@ You can see that the Container was terminated because of `reason:OOM Killed`, wh -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Get hands-on experience [assigning Memory resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-memory-resource/). @@ -758,4 +759,4 @@ You can see that the Container was terminated because of `reason:OOM Killed`, wh * Read about [project quotas](http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-quotas.html) in XFS -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/organize-cluster-access-kubeconfig.md b/content/en/docs/concepts/configuration/organize-cluster-access-kubeconfig.md index 480b708018..df767bbc3e 100644 --- a/content/en/docs/concepts/configuration/organize-cluster-access-kubeconfig.md +++ b/content/en/docs/concepts/configuration/organize-cluster-access-kubeconfig.md @@ -1,10 +1,10 @@ --- title: Organizing Cluster Access Using kubeconfig Files -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Use kubeconfig files to organize information about clusters, users, namespaces, and authentication mechanisms. The `kubectl` command-line tool uses kubeconfig files to @@ -25,10 +25,10 @@ variable or by setting the For step-by-step instructions on creating and specifying kubeconfig files, see [Configure Access to Multiple Clusters](/docs/tasks/access-application-cluster/configure-access-multiple-clusters). -{{% /capture %}} -{{% capture body %}} + + ## Supporting multiple clusters, users, and authentication mechanisms @@ -143,14 +143,15 @@ File references on the command line are relative to the current working director In `$HOME/.kube/config`, relative paths are stored relatively, and absolute paths are stored absolutely. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Configure Access to Multiple Clusters](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) * [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/overview.md b/content/en/docs/concepts/configuration/overview.md index b7b7b829db..fe8cd3002d 100644 --- a/content/en/docs/concepts/configuration/overview.md +++ b/content/en/docs/concepts/configuration/overview.md @@ -2,17 +2,17 @@ reviewers: - mikedanese title: Configuration Best Practices -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + This document highlights and consolidates configuration best practices that are introduced throughout the user guide, Getting Started documentation, and examples. This is a living document. If you think of something that is not on this list but might be useful to others, please don't hesitate to file an issue or submit a PR. -{{% /capture %}} -{{% capture body %}} + + ## General Configuration Tips - When defining configurations, specify the latest stable API version. @@ -105,5 +105,5 @@ The caching semantics of the underlying image provider make even `imagePullPolic - Use `kubectl run` and `kubectl expose` to quickly create single-container Deployments and Services. See [Use a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster/) for an example. -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/pod-overhead.md b/content/en/docs/concepts/configuration/pod-overhead.md index 9661264820..7057383dac 100644 --- a/content/en/docs/concepts/configuration/pod-overhead.md +++ b/content/en/docs/concepts/configuration/pod-overhead.md @@ -4,11 +4,11 @@ reviewers: - egernst - tallclair title: Pod Overhead -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} @@ -19,10 +19,10 @@ _Pod Overhead_ is a feature for accounting for the resources consumed by the Pod on top of the container requests & limits. -{{% /capture %}} -{{% capture body %}} + + In Kubernetes, the Pod's overhead is set at [admission](/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks) @@ -188,11 +188,12 @@ running with a defined Overhead. This functionality is not available in the 1.9 kube-state-metrics, but is expected in a following release. Users will need to build kube-state-metrics from source in the meantime. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [RuntimeClass](/docs/concepts/containers/runtime-class/) * [PodOverhead Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/pod-priority-preemption.md b/content/en/docs/concepts/configuration/pod-priority-preemption.md index c9bddd7e3e..9bfc514257 100644 --- a/content/en/docs/concepts/configuration/pod-priority-preemption.md +++ b/content/en/docs/concepts/configuration/pod-priority-preemption.md @@ -3,11 +3,11 @@ reviewers: - davidopp - wojtek-t title: Pod Priority and Preemption -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="stable" >}} @@ -16,9 +16,9 @@ importance of a Pod relative to other Pods. If a Pod cannot be scheduled, the scheduler tries to preempt (evict) lower priority Pods to make scheduling of the pending Pod possible. -{{% /capture %}} -{{% capture body %}} + + {{< warning >}} @@ -407,7 +407,8 @@ usage does not exceed their requests. If a Pod with lower priority is not exceeding its requests, it won't be evicted. Another Pod with higher priority that exceeds its requests may be evicted. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about using ResourceQuotas in connection with PriorityClasses: [limit Priority Class consumption by default](/docs/concepts/policy/resource-quotas/#limit-priority-class-consumption-by-default) -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/resource-bin-packing.md b/content/en/docs/concepts/configuration/resource-bin-packing.md index 0d475791ce..5d030d94e5 100644 --- a/content/en/docs/concepts/configuration/resource-bin-packing.md +++ b/content/en/docs/concepts/configuration/resource-bin-packing.md @@ -4,19 +4,19 @@ reviewers: - k82cn - ahg-g title: Resource Bin Packing for Extended Resources -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} The kube-scheduler can be configured to enable bin packing of resources along with extended resources using `RequestedToCapacityRatioResourceAllocation` priority function. Priority functions can be used to fine-tune the kube-scheduler as per custom needs. -{{% /capture %}} -{{% capture body %}} + + ## Enabling Bin Packing using RequestedToCapacityRatioResourceAllocation @@ -194,4 +194,4 @@ NodeScore = (5 * 5) + (7 * 1) + (10 * 3) / (5 + 1 + 3) ``` -{{% /capture %}} + diff --git a/content/en/docs/concepts/configuration/secret.md b/content/en/docs/concepts/configuration/secret.md index d6c898ae9c..8da65eafbc 100644 --- a/content/en/docs/concepts/configuration/secret.md +++ b/content/en/docs/concepts/configuration/secret.md @@ -2,7 +2,7 @@ reviewers: - mikedanese title: Secrets -content_template: templates/concept +content_type: concept feature: title: Secret and configuration management description: > @@ -10,16 +10,16 @@ feature: weight: 30 --- -{{% capture overview %}} + Kubernetes Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys. Storing confidential information in a Secret is safer and more flexible than putting it verbatim in a {{< glossary_tooltip term_id="pod" >}} definition or in a {{< glossary_tooltip text="container image" term_id="image" >}}. See [Secrets design document](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md) for more information. -{{% /capture %}} -{{% capture body %}} + + ## Overview of Secrets diff --git a/content/en/docs/concepts/containers/container-environment.md b/content/en/docs/concepts/containers/container-environment.md index 86b595661d..a57ac2181a 100644 --- a/content/en/docs/concepts/containers/container-environment.md +++ b/content/en/docs/concepts/containers/container-environment.md @@ -3,18 +3,18 @@ reviewers: - mikedanese - thockin title: Container Environment -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This page describes the resources available to Containers in the Container environment. -{{% /capture %}} -{{% capture body %}} + + ## Container environment @@ -53,12 +53,13 @@ FOO_SERVICE_PORT= Services have dedicated IP addresses and are available to the Container via DNS, if [DNS addon](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/) is enabled.  -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/). * Get hands-on experience [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/containers/container-lifecycle-hooks.md b/content/en/docs/concepts/containers/container-lifecycle-hooks.md index fe810d23c5..386e4d00bb 100644 --- a/content/en/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/en/docs/concepts/containers/container-lifecycle-hooks.md @@ -3,19 +3,19 @@ reviewers: - mikedanese - thockin title: Container Lifecycle Hooks -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This page describes how kubelet managed Containers can use the Container lifecycle hook framework to run code triggered by events during their management lifecycle. -{{% /capture %}} -{{% capture body %}} + + ## Overview @@ -112,12 +112,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about the [Container environment](/docs/concepts/containers/container-environment/). * Get hands-on experience [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/containers/images.md b/content/en/docs/concepts/containers/images.md index 3d27355e3a..b5f9e7641f 100644 --- a/content/en/docs/concepts/containers/images.md +++ b/content/en/docs/concepts/containers/images.md @@ -3,20 +3,20 @@ reviewers: - erictune - thockin title: Images -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + You create your Docker image and push it to a registry before referring to it in a Kubernetes pod. The `image` property of a container supports the same syntax as the `docker` command does, including private registries and tags. -{{% /capture %}} -{{% capture body %}} + + ## Updating Images @@ -370,4 +370,4 @@ common use cases and suggested solutions. If you need access to multiple registries, you can create one secret for each registry. Kubelet will merge any `imagePullSecrets` into a single virtual `.docker/config.json` -{{% /capture %}} + diff --git a/content/en/docs/concepts/containers/overview.md b/content/en/docs/concepts/containers/overview.md index 49162710d7..1d996b8b93 100644 --- a/content/en/docs/concepts/containers/overview.md +++ b/content/en/docs/concepts/containers/overview.md @@ -3,11 +3,11 @@ reviewers: - erictune - thockin title: Containers overview -content_template: templates/concept +content_type: concept weight: 1 --- -{{% capture overview %}} + Containers are a technology for packaging the (compiled) code for an application along with the dependencies it needs at run time. Each @@ -18,10 +18,10 @@ run it. Containers decouple applications from underlying host infrastructure. This makes deployment easier in different cloud or OS environments. -{{% /capture %}} -{{% capture body %}} + + ## Container images A [container image](/docs/concepts/containers/images/) is a ready-to-run @@ -38,8 +38,9 @@ the change, then recreate the container to start from the updated image. {{< glossary_definition term_id="container-runtime" length="all" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [container images](/docs/concepts/containers/images/) * Read about [Pods](/docs/concepts/workloads/pods/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/containers/runtime-class.md b/content/en/docs/concepts/containers/runtime-class.md index dca6f2d0a8..d1857f3807 100644 --- a/content/en/docs/concepts/containers/runtime-class.md +++ b/content/en/docs/concepts/containers/runtime-class.md @@ -3,11 +3,11 @@ reviewers: - tallclair - dchen1107 title: Runtime Class -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="beta" >}} @@ -16,10 +16,10 @@ This page describes the RuntimeClass resource and runtime selection mechanism. RuntimeClass is a feature for selecting the container runtime configuration. The container runtime configuration is used to run a Pod's containers. -{{% /capture %}} -{{% capture body %}} + + ## Motivation @@ -180,12 +180,13 @@ Pod overhead is defined in RuntimeClass through the `overhead` fields. Through t you can specify the overhead of running pods utilizing this RuntimeClass and ensure these overheads are accounted for in Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [RuntimeClass Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/runtime-class.md) - [RuntimeClass Scheduling Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/runtime-class-scheduling.md) - Read about the [Pod Overhead](/docs/concepts/configuration/pod-overhead/) concept - [PodOverhead Feature Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/en/docs/concepts/example-concept-template.md b/content/en/docs/concepts/example-concept-template.md index 26ce263ef4..d5dfd52be1 100644 --- a/content/en/docs/concepts/example-concept-template.md +++ b/content/en/docs/concepts/example-concept-template.md @@ -2,11 +2,11 @@ title: Example Concept Template reviewers: - chenopis -content_template: templates/concept +content_type: concept toc_hide: true --- -{{% capture overview %}} + {{< note >}} Be sure to also [create an entry in the table of contents](/docs/home/contribute/write-new-topic/#creating-an-entry-in-the-table-of-contents) for your new document. @@ -14,9 +14,9 @@ Be sure to also [create an entry in the table of contents](/docs/home/contribute This page explains ... -{{% /capture %}} -{{% capture body %}} + + ## Understanding ... @@ -26,15 +26,16 @@ Kubernetes provides ... To use ... -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + **[Optional Section]** * Learn more about [Writing a New Topic](/docs/home/contribute/write-new-topic/). * See [Using Page Templates - Concept template](/docs/home/contribute/page-templates/#concept_template) for how to use this template. -{{% /capture %}} + diff --git a/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index 8bc6e22861..9efee5b311 100644 --- a/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -4,20 +4,20 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + The aggregation layer allows Kubernetes to be extended with additional APIs, beyond what is offered by the core Kubernetes APIs. The additional APIs can either be ready-made solutions such as [service-catalog](/docs/concepts/extend-kubernetes/service-catalog/), or APIs that you develop yourself. The aggregation layer is different from [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/), which are a way to make the {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} recognise new kinds of object. -{{% /capture %}} -{{% capture body %}} + + ## Aggregation layer @@ -34,13 +34,14 @@ If your extension API server cannot achieve that latency requirement, consider m `EnableAggregatedDiscoveryTimeout=false` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) on the kube-apiserver to disable the timeout restriction. This deprecated feature gate will be removed in a future release. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). * Then, [setup an extension api-server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) to work with the aggregation layer. * Also, learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). * Read the specification for [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io) -{{% /capture %}} + diff --git a/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index b1ca7f610a..ea52f6e44b 100644 --- a/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -3,19 +3,19 @@ title: Custom Resources reviewers: - enisoc - deads2k -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + *Custom resources* are extensions of the Kubernetes API. This page discusses when to add a custom resource to your Kubernetes cluster and when to use a standalone service. It describes the two methods for adding custom resources and how to choose between them. -{{% /capture %}} -{{% capture body %}} + + ## Custom resources A *resource* is an endpoint in the [Kubernetes API](/docs/reference/using-api/api-overview/) that stores a collection of @@ -246,12 +246,13 @@ When you add a custom resource, you can access it using: - A REST client that you write. - A client generated using [Kubernetes client generation tools](https://github.com/kubernetes/code-generator) (generating one is an advanced undertaking, but some projects may provide a client along with the CRD or AA). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn how to [Extend the Kubernetes API with the aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/). * Learn how to [Extend the Kubernetes API with CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index 23f64628b5..d27dddd384 100644 --- a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -2,11 +2,11 @@ reviewers: title: Device Plugins description: Use the Kubernetes device plugin framework to implement plugins for GPUs, NICs, FPGAs, InfiniBand, and similar resources that require vendor-specific setup. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.10" state="beta" >}} Kubernetes provides a [device plugin framework](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-management/device-plugin.md) @@ -19,9 +19,9 @@ The targeted devices include GPUs, high-performance NICs, FPGAs, InfiniBand adap and other similar computing resources that may require vendor specific initialization and setup. -{{% /capture %}} -{{% capture body %}} + + ## Device plugin registration @@ -225,12 +225,13 @@ Here are some examples of device plugin implementations: * The [SR-IOV Network device plugin](https://github.com/intel/sriov-network-device-plugin) * The [Xilinx FPGA device plugins](https://github.com/Xilinx/FPGA_as_a_Service/tree/master/k8s-fpga-device-plugin/trunk) for Xilinx FPGA devices -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [scheduling GPU resources](/docs/tasks/manage-gpus/scheduling-gpus/) using device plugins * Learn about [advertising extended resources](/docs/tasks/administer-cluster/extended-resource-node/) on a node * Read about using [hardware acceleration for TLS ingress](https://kubernetes.io/blog/2019/04/24/hardware-accelerated-ssl/tls-termination-in-ingress-controllers-using-kubernetes-device-plugins-and-runtimeclass/) with Kubernetes * Learn about the [Topology Manager] (/docs/tasks/adminster-cluster/topology-manager/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 2ff4ae2377..b32bce83dd 100644 --- a/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -4,12 +4,12 @@ reviewers: - freehan - thockin title: Network Plugins -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state state="alpha" >}} {{< caution >}}Alpha features can change rapidly. {{< /caution >}} @@ -19,9 +19,9 @@ Network plugins in Kubernetes come in a few flavors: * CNI plugins: adhere to the appc/CNI specification, designed for interoperability. * Kubenet plugin: implements basic `cbr0` using the `bridge` and `host-local` CNI plugins -{{% /capture %}} -{{% capture body %}} + + ## Installation @@ -166,8 +166,9 @@ This option is provided to the network-plugin; currently **only kubenet supports * `--network-plugin=kubenet` specifies that we use the `kubenet` network plugin with CNI `bridge` and `host-local` plugins placed in `/opt/cni/bin` or `cni-bin-dir`. * `--network-plugin-mtu=9001` specifies the MTU to use, currently only used by the `kubenet` network plugin. -{{% /capture %}} -{{% capture whatsnext %}} -{{% /capture %}} +## {{% heading "whatsnext" %}} + + + diff --git a/content/en/docs/concepts/extend-kubernetes/extend-cluster.md b/content/en/docs/concepts/extend-kubernetes/extend-cluster.md index 2b5aa1b676..7914b1cab5 100644 --- a/content/en/docs/concepts/extend-kubernetes/extend-cluster.md +++ b/content/en/docs/concepts/extend-kubernetes/extend-cluster.md @@ -5,11 +5,11 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Kubernetes is highly configurable and extensible. As a result, there is rarely a need to fork or submit patches to the Kubernetes @@ -22,10 +22,10 @@ their work environment. Developers who are prospective {{< glossary_tooltip text useful as an introduction to what extension points and patterns exist, and their trade-offs and limitations. -{{% /capture %}} -{{% capture body %}} + + ## Overview @@ -194,10 +194,11 @@ The scheduler also supports a that permits a webhook backend (scheduler extension) to filter and prioritize the nodes chosen for a pod. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Custom Resources](/docs/concepts/api-extension/custom-resources/) * Learn about [Dynamic admission control](/docs/reference/access-authn-authz/extensible-admission-controllers/) @@ -207,4 +208,4 @@ the nodes chosen for a pod. * Learn about [kubectl plugins](/docs/tasks/extend-kubectl/kubectl-plugins/) * Learn about the [Operator pattern](/docs/concepts/extend-kubernetes/operator/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/extend-kubernetes/operator.md b/content/en/docs/concepts/extend-kubernetes/operator.md index eb56d5475a..dda8f0020b 100644 --- a/content/en/docs/concepts/extend-kubernetes/operator.md +++ b/content/en/docs/concepts/extend-kubernetes/operator.md @@ -1,20 +1,20 @@ --- title: Operator pattern -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Operators are software extensions to Kubernetes that make use of [custom resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) to manage applications and their components. Operators follow Kubernetes principles, notably the [control loop](/docs/concepts/#kubernetes-control-plane). -{{% /capture %}} -{{% capture body %}} + + ## Motivation @@ -113,9 +113,10 @@ Operator. You also implement an Operator (that is, a Controller) using any language / runtime that can act as a [client for the Kubernetes API](/docs/reference/using-api/client-libraries/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) * Find ready-made operators on [OperatorHub.io](https://operatorhub.io/) to suit your use case @@ -129,4 +130,3 @@ that can act as a [client for the Kubernetes API](/docs/reference/using-api/clie * Read [CoreOS' original article](https://coreos.com/blog/introducing-operators.html) that introduced the Operator pattern * Read an [article](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps) from Google Cloud about best practices for building Operators -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md b/content/en/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md index 4c5ab12c03..7f81439c41 100644 --- a/content/en/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md +++ b/content/en/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md @@ -1,18 +1,18 @@ --- title: Poseidon-Firmament Scheduler -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="alpha" >}} The Poseidon-Firmament scheduler is an alternate scheduler that can be deployed alongside the default Kubernetes scheduler. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -102,10 +102,11 @@ Pod-by-pod schedulers, such as the Kubernetes default scheduler, process Pods in These downsides of pod-by-pod schedulers are addressed by batching or bulk scheduling in Poseidon-Firmament scheduler. Processing several pods in a batch allows the scheduler to jointly consider their placement, and thus to find the best trade-off for the whole batch instead of one pod. At the same time it amortizes work across pods resulting in much higher throughput. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * See [Poseidon-Firmament](https://github.com/kubernetes-sigs/poseidon#readme) on GitHub for more information. * See the [design document](https://github.com/kubernetes-sigs/poseidon/blob/master/docs/design/README.md) for Poseidon. * Read [Firmament: Fast, Centralized Cluster Scheduling at Scale](https://www.usenix.org/system/files/conference/osdi16/osdi16-gog.pdf), the academic paper on the Firmament scheduling design. * If you'd like to contribute to Poseidon-Firmament, refer to the [developer setup instructions](https://github.com/kubernetes-sigs/poseidon/blob/master/docs/devel/README.md). -{{% /capture %}} + diff --git a/content/en/docs/concepts/extend-kubernetes/service-catalog.md b/content/en/docs/concepts/extend-kubernetes/service-catalog.md index 35d181d998..b40ca7ee14 100644 --- a/content/en/docs/concepts/extend-kubernetes/service-catalog.md +++ b/content/en/docs/concepts/extend-kubernetes/service-catalog.md @@ -2,11 +2,11 @@ title: Service Catalog reviewers: - chenopis -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog is" >}} A service broker, as defined by the [Open service broker API spec](https://github.com/openservicebrokerapi/servicebroker/blob/v2.13/spec.md), is an endpoint for a set of managed services offered and maintained by a third-party, which could be a cloud provider such as AWS, GCP, or Azure. @@ -14,10 +14,10 @@ Some examples of managed services are Microsoft Azure Cloud Queue, Amazon Simple Using Service Catalog, a {{< glossary_tooltip text="cluster operator" term_id="cluster-operator" >}} can browse the list of managed services offered by a service broker, provision an instance of a managed service, and bind with it to make it available to an application in the Kubernetes cluster. -{{% /capture %}} -{{% capture body %}} + + ## Example use case An {{< glossary_tooltip text="application developer" term_id="application-developer" >}} wants to use message queuing as part of their application running in a Kubernetes cluster. @@ -222,16 +222,17 @@ The following example describes how to map secret values into application enviro key: topic ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * If you are familiar with {{< glossary_tooltip text="Helm Charts" term_id="helm-chart" >}}, [install Service Catalog using Helm](/docs/tasks/service-catalog/install-service-catalog-using-helm/) into your Kubernetes cluster. Alternatively, you can [install Service Catalog using the SC tool](/docs/tasks/service-catalog/install-service-catalog-using-sc/). * View [sample service brokers](https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md#sample-service-brokers). * Explore the [kubernetes-incubator/service-catalog](https://github.com/kubernetes-incubator/service-catalog) project. * View [svc-cat.io](https://svc-cat.io/docs/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/components.md b/content/en/docs/concepts/overview/components.md index 04c4bbe805..f83f00683e 100644 --- a/content/en/docs/concepts/overview/components.md +++ b/content/en/docs/concepts/overview/components.md @@ -2,14 +2,14 @@ reviewers: - lavalamp title: Kubernetes Components -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + When you deploy Kubernetes, you get a cluster. {{< glossary_definition term_id="cluster" length="all" prepend="A Kubernetes cluster consists of">}} @@ -20,9 +20,9 @@ Here's the diagram of a Kubernetes cluster with all the components tied together ![Components of Kubernetes](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## Control Plane Components The control plane's components make global decisions about the cluster (for example, scheduling), as well as detecting and responding to cluster events (for example, starting up a new {{< glossary_tooltip text="pod" term_id="pod">}} when a deployment's `replicas` field is unsatisfied). @@ -122,10 +122,11 @@ about containers in a central database, and provides a UI for browsing that data A [cluster-level logging](/docs/concepts/cluster-administration/logging/) mechanism is responsible for saving container logs to a central log store with search/browsing interface. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [Nodes](/docs/concepts/architecture/nodes/) * Learn about [Controllers](/docs/concepts/architecture/controller/) * Learn about [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) * Read etcd's official [documentation](https://etcd.io/docs/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/kubernetes-api.md b/content/en/docs/concepts/overview/kubernetes-api.md index bbdef84958..a82359072f 100644 --- a/content/en/docs/concepts/overview/kubernetes-api.md +++ b/content/en/docs/concepts/overview/kubernetes-api.md @@ -2,14 +2,14 @@ reviewers: - chenopis title: The Kubernetes API -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + The core of Kubernetes' {{< glossary_tooltip text="control plane" term_id="control-plane" >}} is the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}}. The API server @@ -21,9 +21,10 @@ The Kubernetes API lets you query and manipulate the state of objects in the Kub API endpoints, resource types and samples are described in the [API Reference](/docs/reference/kubernetes-api/). -{{% /capture %}} -{{% capture body %}} + + + ## API changes @@ -166,8 +167,9 @@ For example: to enable deployments and daemonsets, set Kubernetes stores its serialized state in terms of the API resources by writing them into {{< glossary_tooltip term_id="etcd" >}}. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Controlling API Access](/docs/reference/access-authn-authz/controlling-access/) describes how the cluster manages authentication and authorization for API access. @@ -176,5 +178,3 @@ Overall API conventions are described in the document. API endpoints, resource types and samples are described in the [API Reference](/docs/reference/kubernetes-api/). - -{{% /capture %}} diff --git a/content/en/docs/concepts/overview/what-is-kubernetes.md b/content/en/docs/concepts/overview/what-is-kubernetes.md index fbe74e4337..5b30c8e66e 100644 --- a/content/en/docs/concepts/overview/what-is-kubernetes.md +++ b/content/en/docs/concepts/overview/what-is-kubernetes.md @@ -5,18 +5,18 @@ reviewers: title: What is Kubernetes? description: > Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available. -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + This page is an overview of Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available. The name Kubernetes originates from Greek, meaning helmsman or pilot. Google open-sourced the Kubernetes project in 2014. Kubernetes combines [over 15 years of Google's experience](/blog/2015/04/borg-predecessor-to-kubernetes/) running production workloads at scale with best-of-breed ideas and practices from the community. @@ -86,9 +86,10 @@ Kubernetes: * Does not provide nor adopt any comprehensive machine configuration, maintenance, management, or self-healing systems. * Additionally, Kubernetes is not a mere orchestration system. In fact, it eliminates the need for orchestration. The technical definition of orchestration is execution of a defined workflow: first do A, then B, then C. In contrast, Kubernetes comprises a set of independent, composable control processes that continuously drive the current state towards the provided desired state. It shouldn’t matter how you get from A to C. Centralized control is also not required. This results in a system that is easier to use and more powerful, robust, resilient, and extensible. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Take a look at the [Kubernetes Components](/docs/concepts/overview/components/) * Ready to [Get Started](/docs/setup/)? -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/annotations.md b/content/en/docs/concepts/overview/working-with-objects/annotations.md index f88c6a0003..d440d2965e 100644 --- a/content/en/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/en/docs/concepts/overview/working-with-objects/annotations.md @@ -1,15 +1,15 @@ --- title: Annotations -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + You can use Kubernetes annotations to attach arbitrary non-identifying metadata to objects. Clients such as tools and libraries can retrieve this metadata. -{{% /capture %}} -{{% capture body %}} + + ## Attaching metadata to objects You can use either labels or annotations to attach metadata to Kubernetes @@ -88,10 +88,11 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [Labels and Selectors](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/common-labels.md b/content/en/docs/concepts/overview/working-with-objects/common-labels.md index d360d7d284..11e8944c8a 100644 --- a/content/en/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/en/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,18 +1,18 @@ --- title: Recommended Labels -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + You can visualize and manage Kubernetes objects with more tools than kubectl and the dashboard. A common set of labels allows tools to work interoperably, describing objects in a common manner that all tools can understand. In addition to supporting tooling, the recommended labels describe applications in a way that can be queried. -{{% /capture %}} -{{% capture body %}} + + The metadata is organized around the concept of an _application_. Kubernetes is not a platform as a service (PaaS) and doesn't have or enforce a formal notion of an application. Instead, applications are informal and described with metadata. The definition of @@ -170,4 +170,4 @@ metadata: With the MySQL `StatefulSet` and `Service` you'll notice information about both MySQL and Wordpress, the broader application, are included. -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/en/docs/concepts/overview/working-with-objects/kubernetes-objects.md index b9df009db7..1f4f4e7509 100644 --- a/content/en/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/en/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,17 +1,17 @@ --- title: Understanding Kubernetes Objects -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + This page explains how Kubernetes objects are represented in the Kubernetes API, and how you can express them in `.yaml` format. -{{% /capture %}} -{{% capture body %}} + + ## Understanding Kubernetes objects {#kubernetes-objects} *Kubernetes objects* are persistent entities in the Kubernetes system. Kubernetes uses these entities to represent the state of your cluster. Specifically, they can describe: @@ -87,12 +87,13 @@ For example, the `spec` format for a Pod can be found in and the `spec` format for a Deployment can be found in [DeploymentSpec v1 apps](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kubernetes API overview](/docs/reference/using-api/api-overview/) explains some more API concepts * Learn about the most important basic Kubernetes objects, such as [Pod](/docs/concepts/workloads/pods/pod-overview/). * Learn about [controllers](/docs/concepts/architecture/controller/) in Kubernetes -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/labels.md b/content/en/docs/concepts/overview/working-with-objects/labels.md index f08daf323b..e995db10a5 100644 --- a/content/en/docs/concepts/overview/working-with-objects/labels.md +++ b/content/en/docs/concepts/overview/working-with-objects/labels.md @@ -2,11 +2,11 @@ reviewers: - mikedanese title: Labels and Selectors -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + _Labels_ are key/value pairs that are attached to objects, such as pods. Labels are intended to be used to specify identifying attributes of objects that are meaningful and relevant to users, but do not directly imply semantics to the core system. @@ -24,10 +24,10 @@ Each object can have a set of key/value labels defined. Each Key must be unique Labels allow for efficient queries and watches and are ideal for use in UIs and CLIs. Non-identifying information should be recorded using [annotations](/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Motivation @@ -228,4 +228,4 @@ selector: One use case for selecting over labels is to constrain the set of nodes onto which a pod can schedule. See the documentation on [node selection](/docs/concepts/scheduling-eviction/assign-pod-node/) for more information. -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/names.md b/content/en/docs/concepts/overview/working-with-objects/names.md index 01bb53b56d..9831f7335c 100644 --- a/content/en/docs/concepts/overview/working-with-objects/names.md +++ b/content/en/docs/concepts/overview/working-with-objects/names.md @@ -3,11 +3,11 @@ reviewers: - mikedanese - thockin title: Object Names and IDs -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Each object in your cluster has a [_Name_](#names) that is unique for that type of resource. Every Kubernetes object also has a [_UID_](#uids) that is unique across your whole cluster. @@ -16,9 +16,9 @@ For example, you can only have one Pod named `myapp-1234` within the same [names For non-unique user-provided attributes, Kubernetes provides [labels](/docs/concepts/overview/working-with-objects/labels/) and [annotations](/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Names @@ -81,8 +81,9 @@ Some resource types have additional restrictions on their names. Kubernetes UIDs are universally unique identifiers (also known as UUIDs). UUIDs are standardized as ISO/IEC 9834-8 and as ITU-T X.667. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [labels](/docs/concepts/overview/working-with-objects/labels/) in Kubernetes. * See the [Identifiers and Names in Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) design document. -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/namespaces.md b/content/en/docs/concepts/overview/working-with-objects/namespaces.md index 8d6e907afd..30285e6fbf 100644 --- a/content/en/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/en/docs/concepts/overview/working-with-objects/namespaces.md @@ -4,19 +4,19 @@ reviewers: - mikedanese - thockin title: Namespaces -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces. -{{% /capture %}} -{{% capture body %}} + + ## When to Use Multiple Namespaces @@ -112,11 +112,12 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [creating a new namespace](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace). * Learn more about [deleting a namespace](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace). -{{% /capture %}} + diff --git a/content/en/docs/concepts/overview/working-with-objects/object-management.md b/content/en/docs/concepts/overview/working-with-objects/object-management.md index 288be6a684..97f57ff275 100644 --- a/content/en/docs/concepts/overview/working-with-objects/object-management.md +++ b/content/en/docs/concepts/overview/working-with-objects/object-management.md @@ -1,17 +1,17 @@ --- title: Kubernetes Object Management -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + The `kubectl` command-line tool supports several different ways to create and manage Kubernetes objects. This document provides an overview of the different approaches. Read the [Kubectl book](https://kubectl.docs.kubernetes.io) for details of managing objects by Kubectl. -{{% /capture %}} -{{% capture body %}} + + ## Management techniques @@ -173,9 +173,10 @@ Disadvantages compared to imperative object configuration: - Declarative object configuration is harder to debug and understand results when they are unexpected. - Partial updates using diffs create complex merge and patch operations. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Managing Kubernetes Objects Using Imperative Commands](/docs/tasks/manage-kubernetes-objects/imperative-command/) - [Managing Kubernetes Objects Using Object Configuration (Imperative)](/docs/tasks/manage-kubernetes-objects/imperative-config/) @@ -185,4 +186,4 @@ Disadvantages compared to imperative object configuration: - [Kubectl Book](https://kubectl.docs.kubernetes.io) - [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/policy/limit-range.md b/content/en/docs/concepts/policy/limit-range.md index 8bea6c88e7..cf0ad16783 100644 --- a/content/en/docs/concepts/policy/limit-range.md +++ b/content/en/docs/concepts/policy/limit-range.md @@ -2,20 +2,20 @@ reviewers: - nelvadas title: Limit Ranges -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + By default, containers run with unbounded [compute resources](/docs/user-guide/compute-resources) on a Kubernetes cluster. With resource quotas, cluster administrators can restrict resource consumption and creation on a {{< glossary_tooltip text="namespace" term_id="namespace" >}} basis. Within a namespace, a Pod or Container can consume as much CPU and memory as defined by the namespace's resource quota. There is a concern that one Pod or Container could monopolize all available resources. A LimitRange is a policy to constrain resource allocations (to Pods or Containers) in a namespace. -{{% /capture %}} -{{% capture body %}} + + A _LimitRange_ provides constraints that can: @@ -56,9 +56,10 @@ there may be contention for resources. In this case, the Containers or Pods will Neither contention nor changes to a LimitRange will affect already created resources. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Refer to the [LimitRanger design document](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) for more information. @@ -72,4 +73,4 @@ For examples on using limits, see: - a [detailed example on configuring quota per namespace](/docs/tasks/administer-cluster/quota-memory-cpu-namespace/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/policy/pod-security-policy.md b/content/en/docs/concepts/policy/pod-security-policy.md index 52aa593e6f..c8d072fe70 100644 --- a/content/en/docs/concepts/policy/pod-security-policy.md +++ b/content/en/docs/concepts/policy/pod-security-policy.md @@ -3,21 +3,21 @@ reviewers: - pweil- - tallclair title: Pod Security Policies -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state state="beta" >}} Pod Security Policies enable fine-grained authorization of pod creation and updates. -{{% /capture %}} -{{% capture body %}} + + ## What is a Pod Security Policy? @@ -631,12 +631,13 @@ By default, all safe sysctls are allowed. Refer to the [Sysctl documentation]( /docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + See [Pod Security Standards](/docs/concepts/security/pod-security-standards/) for policy recommendations. Refer to [Pod Security Policy Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) for the api details. -{{% /capture %}} + diff --git a/content/en/docs/concepts/policy/resource-quotas.md b/content/en/docs/concepts/policy/resource-quotas.md index 39f51bf2d7..4fb3f17a38 100644 --- a/content/en/docs/concepts/policy/resource-quotas.md +++ b/content/en/docs/concepts/policy/resource-quotas.md @@ -2,21 +2,21 @@ reviewers: - derekwaynecarr title: Resource Quotas -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + When several users or teams share a cluster with a fixed number of nodes, there is a concern that one team could use more than its fair share of resources. Resource quotas are a tool for administrators to address this concern. -{{% /capture %}} -{{% capture body %}} + + A resource quota, defined by a `ResourceQuota` object, provides constraints that limit aggregate resource consumption per namespace. It can limit the quantity of objects that can @@ -596,10 +596,11 @@ See [LimitedResources](https://github.com/kubernetes/kubernetes/pull/36765) and See a [detailed example for how to use resource quota](/docs/tasks/administer-cluster/quota-api-object/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + See [ResourceQuota design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md) for more information. -{{% /capture %}} + diff --git a/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md b/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md index 79a9487c60..009c0d9276 100644 --- a/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md +++ b/content/en/docs/concepts/scheduling-eviction/assign-pod-node.md @@ -4,12 +4,12 @@ reviewers: - kevin-wangzefeng - bsalamat title: Assigning Pods to Nodes -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + You can constrain a {{< glossary_tooltip text="Pod" term_id="pod" >}} to only be able to run on particular {{< glossary_tooltip text="Node(s)" term_id="node" >}}, or to prefer to run on particular nodes. @@ -21,9 +21,9 @@ but there are some circumstances where you may want more control on a node where that a pod ends up on a machine with an SSD attached to it, or to co-locate pods from two different services that communicate a lot into the same availability zone. -{{% /capture %}} -{{% capture body %}} + + ## nodeSelector @@ -388,9 +388,10 @@ spec: The above pod will run on the node kube-01. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Taints](/docs/concepts/scheduling-eviction/taint-and-toleration/) allow a Node to *repel* a set of Pods. @@ -402,4 +403,4 @@ Once a Pod is assigned to a Node, the kubelet runs the Pod and allocates node-lo The [topology manager](/docs/tasks/administer-cluster/topology-manager/) can take part in node-level resource allocation decisions. -{{% /capture %}} + diff --git a/content/en/docs/concepts/scheduling-eviction/kube-scheduler.md b/content/en/docs/concepts/scheduling-eviction/kube-scheduler.md index 2fea98bfb4..406c3f974b 100644 --- a/content/en/docs/concepts/scheduling-eviction/kube-scheduler.md +++ b/content/en/docs/concepts/scheduling-eviction/kube-scheduler.md @@ -1,18 +1,18 @@ --- title: Kubernetes Scheduler -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + In Kubernetes, _scheduling_ refers to making sure that {{< glossary_tooltip text="Pods" term_id="pod" >}} are matched to {{< glossary_tooltip text="Nodes" term_id="node" >}} so that {{< glossary_tooltip term_id="kubelet" >}} can run them. -{{% /capture %}} -{{% capture body %}} + + ## Scheduling overview {#scheduling} @@ -86,12 +86,13 @@ of the scheduler: `QueueSort`, `Filter`, `Score`, `Bind`, `Reserve`, `Permit`, and others. You can also configure the kube-scheduler to run different profiles. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [scheduler performance tuning](/docs/concepts/scheduling-eviction/scheduler-perf-tuning/) * Read about [Pod topology spread constraints](/docs/concepts/workloads/pods/pod-topology-spread-constraints/) * Read the [reference documentation](/docs/reference/command-line-tools-reference/kube-scheduler/) for kube-scheduler * Learn about [configuring multiple schedulers](/docs/tasks/administer-cluster/configure-multiple-schedulers/) * Learn about [topology management policies](/docs/tasks/administer-cluster/topology-manager/) * Learn about [Pod Overhead](/docs/concepts/configuration/pod-overhead/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md b/content/en/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md index e3d4b16861..06f535a574 100644 --- a/content/en/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md +++ b/content/en/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md @@ -2,11 +2,11 @@ reviewers: - bsalamat title: Scheduler Performance Tuning -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="beta" >}} @@ -24,9 +24,9 @@ in a process called _Binding_. This page explains performance tuning optimizations that are relevant for large Kubernetes clusters. -{{% /capture %}} -{{% capture body %}} + + In large clusters, you can tune the scheduler's behaviour balancing scheduling outcomes between latency (new Pods are placed quickly) and @@ -164,4 +164,4 @@ Node 1, Node 5, Node 2, Node 6, Node 3, Node 4 After going over all the Nodes, it goes back to Node 1. -{{% /capture %}} + diff --git a/content/en/docs/concepts/scheduling-eviction/scheduling-framework.md b/content/en/docs/concepts/scheduling-eviction/scheduling-framework.md index d1123b72e1..5798b0579f 100644 --- a/content/en/docs/concepts/scheduling-eviction/scheduling-framework.md +++ b/content/en/docs/concepts/scheduling-eviction/scheduling-framework.md @@ -2,11 +2,11 @@ reviewers: - ahg-g title: Scheduling Framework -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.15" state="alpha" >}} @@ -20,9 +20,9 @@ framework. [kep]: https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/20180409-scheduling-framework.md -{{% /capture %}} -{{% capture body %}} + + # Framework workflow @@ -239,4 +239,3 @@ If you are using Kubernetes v1.18 or later, you can configure a set of plugins a a scheduler profile and then define multiple profiles to fit various kinds of workload. Learn more at [multiple profiles](/docs/reference/scheduling/profiles/#multiple-profiles). -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/scheduling-eviction/taint-and-toleration.md b/content/en/docs/concepts/scheduling-eviction/taint-and-toleration.md index c803676d3a..89a7eca7b1 100644 --- a/content/en/docs/concepts/scheduling-eviction/taint-and-toleration.md +++ b/content/en/docs/concepts/scheduling-eviction/taint-and-toleration.md @@ -4,12 +4,12 @@ reviewers: - kevin-wangzefeng - bsalamat title: Taints and Tolerations -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + [_Node affinity_](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity), is a property of {{< glossary_tooltip text="Pods" term_id="pod" >}} that *attracts* them to a set of {{< glossary_tooltip text="nodes" term_id="node" >}} (either as a preference or a @@ -22,9 +22,9 @@ Taints and tolerations work together to ensure that pods are not scheduled onto inappropriate nodes. One or more taints are applied to a node; this marks that the node should not accept any pods that do not tolerate the taints. -{{% /capture %}} -{{% capture body %}} + + ## Concepts @@ -282,9 +282,10 @@ tolerations to all daemons, to prevent DaemonSets from breaking. Adding these tolerations ensures backward compatibility. You can also add arbitrary tolerations to DaemonSets. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [out of resource handling](/docs/tasks/administer-cluster/out-of-resource/) and how you can configure it * Read about [pod priority](/docs/concepts/configuration/pod-priority-preemption/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/security/overview.md b/content/en/docs/concepts/security/overview.md index 20ba255039..ed3ba48eb4 100644 --- a/content/en/docs/concepts/security/overview.md +++ b/content/en/docs/concepts/security/overview.md @@ -2,13 +2,13 @@ reviewers: - zparnold title: Overview of Cloud Native Security -content_template: templates/concept +content_type: concept weight: 1 --- {{< toc >}} -{{% capture overview %}} + Kubernetes Security (and security in general) is an immense topic that has many highly interrelated parts. In today's era where open source software is integrated into many of the systems that help web applications run, @@ -17,9 +17,9 @@ think about security holistically. This guide will define a mental model for some general concepts surrounding Cloud Native Security. The mental model is completely arbitrary and you should only use it if it helps you think about where to secure your software stack. -{{% /capture %}} -{{% capture body %}} + + ## The 4C's of Cloud Native Security Let's start with a diagram that may help you understand how you can think about security in layers. @@ -153,12 +153,13 @@ Most of the above mentioned suggestions can actually be automated in your code delivery pipeline as part of a series of checks in security. To learn about a more "Continuous Hacking" approach to software delivery, [this article](https://thenewstack.io/beyond-ci-cd-how-continuous-hacking-of-docker-containers-and-pipeline-driven-security-keeps-ygrene-secure/) provides more detail. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [network policies for Pods](/docs/concepts/services-networking/network-policies/) * Read about [securing your cluster](/docs/tasks/administer-cluster/securing-a-cluster/) * Read about [API access control](/docs/reference/access-authn-authz/controlling-access/) * Read about [data encryption in transit](/docs/tasks/tls/managing-tls-in-a-cluster/) for the control plane * Read about [data encryption at rest](/docs/tasks/administer-cluster/encrypt-data/) * Read about [Secrets in Kubernetes](/docs/concepts/configuration/secret/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/security/pod-security-standards.md b/content/en/docs/concepts/security/pod-security-standards.md index ffe1aa45f2..b75d2e0504 100644 --- a/content/en/docs/concepts/security/pod-security-standards.md +++ b/content/en/docs/concepts/security/pod-security-standards.md @@ -2,11 +2,11 @@ reviewers: - tallclair title: Pod Security Standards -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Security settings for Pods are typically applied by using [security contexts](/docs/tasks/configure-pod-container/security-context/). Security Contexts allow for the @@ -21,9 +21,9 @@ However, numerous means of policy enforcement have arisen that augment or replac PodSecurityPolicy. The intent of this page is to detail recommended Pod security profiles, decoupled from any specific instantiation. -{{% /capture %}} -{{% capture body %}} + + ## Policy Types @@ -322,4 +322,4 @@ kernel. This allows for workloads requiring heightened permissions to still be i Additionally, the protection of sandboxed workloads is highly dependent on the method of sandboxing. As such, no single ‘recommended’ policy is recommended for all sandboxed workloads. -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/en/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md index 6f931a8531..05a6a8bc85 100644 --- a/content/en/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md +++ b/content/en/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -3,19 +3,19 @@ reviewers: - rickypai - thockin title: Adding entries to Pod /etc/hosts with HostAliases -content_template: templates/concept +content_type: concept weight: 60 --- {{< toc >}} -{{% capture overview %}} + Adding entries to a Pod's /etc/hosts file provides Pod-level override of hostname resolution when DNS and other options are not applicable. In 1.7, users can add these custom entries with the HostAliases field in PodSpec. Modification not using HostAliases is not suggested because the file is managed by Kubelet and can be overwritten on during Pod creation/restart. -{{% /capture %}} -{{% capture body %}} + + ## Default Hosts File Content @@ -125,5 +125,5 @@ overwritten whenever the `hosts` file is remounted by Kubelet in the event of a container restart or a Pod reschedule. Thus, it is not suggested to modify the contents of the file. -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/connect-applications-service.md b/content/en/docs/concepts/services-networking/connect-applications-service.md index 50c012ffc6..831ab8384c 100644 --- a/content/en/docs/concepts/services-networking/connect-applications-service.md +++ b/content/en/docs/concepts/services-networking/connect-applications-service.md @@ -4,12 +4,12 @@ reviewers: - lavalamp - thockin title: Connecting Applications with Services -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + ## The Kubernetes model for connecting containers @@ -21,9 +21,9 @@ Coordinating port allocations across multiple developers or teams that provide c This guide uses a simple nginx server to demonstrate proof of concept. -{{% /capture %}} -{{% capture body %}} + + ## Exposing pods to the cluster @@ -418,12 +418,13 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el ... ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Using a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster/) * Learn more about [Connecting a Front End to a Back End Using a Service](/docs/tasks/access-application-cluster/connecting-frontend-backend/) * Learn more about [Creating an External Load Balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/dns-pod-service.md b/content/en/docs/concepts/services-networking/dns-pod-service.md index 9cba184168..280d760193 100644 --- a/content/en/docs/concepts/services-networking/dns-pod-service.md +++ b/content/en/docs/concepts/services-networking/dns-pod-service.md @@ -3,14 +3,14 @@ reviewers: - davidopp - thockin title: DNS for Services and Pods -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This page provides an overview of DNS support by Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -262,11 +262,11 @@ The availability of Pod DNS Config and DNS Policy "`None`" is shown as below. | 1.10 | Beta (on by default)| | 1.9 | Alpha | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + For guidance on administering DNS configurations, check [Configure DNS Service](/docs/tasks/administer-cluster/dns-custom-nameservers/) -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/services-networking/dual-stack.md b/content/en/docs/concepts/services-networking/dual-stack.md index c753c17cc1..aa249566b9 100644 --- a/content/en/docs/concepts/services-networking/dual-stack.md +++ b/content/en/docs/concepts/services-networking/dual-stack.md @@ -9,11 +9,11 @@ feature: description: > Allocation of IPv4 and IPv6 addresses to Pods and Services -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -21,9 +21,9 @@ weight: 70 If you enable IPv4/IPv6 dual-stack networking for your Kubernetes cluster, the cluster will support the simultaneous assignment of both IPv4 and IPv6 addresses. -{{% /capture %}} -{{% capture body %}} + + ## Supported Features @@ -103,10 +103,11 @@ The use of publicly routable and non-publicly routable IPv6 address blocks is ac * Kubenet forces IPv4,IPv6 positional reporting of IPs (--cluster-cidr) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Validate IPv4/IPv6 dual-stack](/docs/tasks/network/validate-dual-stack) networking -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/endpoint-slices.md b/content/en/docs/concepts/services-networking/endpoint-slices.md index 940374ae52..7c66ce0072 100644 --- a/content/en/docs/concepts/services-networking/endpoint-slices.md +++ b/content/en/docs/concepts/services-networking/endpoint-slices.md @@ -2,12 +2,12 @@ reviewers: - freehan title: EndpointSlices -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} @@ -15,9 +15,9 @@ _EndpointSlices_ provide a simple way to track network endpoints within a Kubernetes cluster. They offer a more scalable and extensible alternative to Endpoints. -{{% /capture %}} -{{% capture body %}} + + ## Motivation @@ -175,11 +175,12 @@ necessary soon anyway. Rolling updates of Deployments also provide a natural repacking of EndpointSlices with all pods and their corresponding endpoints getting replaced. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Enabling EndpointSlices](/docs/tasks/administer-cluster/enabling-endpointslices) * Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/ingress-controllers.md b/content/en/docs/concepts/services-networking/ingress-controllers.md index efeb327049..2c363ce7dc 100644 --- a/content/en/docs/concepts/services-networking/ingress-controllers.md +++ b/content/en/docs/concepts/services-networking/ingress-controllers.md @@ -1,11 +1,11 @@ --- title: Ingress Controllers reviewers: -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + In order for the Ingress resource to work, the cluster must have an ingress controller running. @@ -16,9 +16,9 @@ that best fits your cluster. Kubernetes as a project currently supports and maintains [GCE](https://git.k8s.io/ingress-gce/README.md) and [nginx](https://git.k8s.io/ingress-nginx/README.md) controllers. -{{% /capture %}} -{{% capture body %}} + + ## Additional controllers @@ -64,11 +64,12 @@ controllers operate slightly differently. Make sure you review your ingress controller's documentation to understand the caveats of choosing it. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Ingress](/docs/concepts/services-networking/ingress/). * [Set up Ingress on Minikube with the NGINX Controller](/docs/tasks/access-application-cluster/ingress-minikube). -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/ingress.md b/content/en/docs/concepts/services-networking/ingress.md index 062dc14f66..430ee3c72d 100644 --- a/content/en/docs/concepts/services-networking/ingress.md +++ b/content/en/docs/concepts/services-networking/ingress.md @@ -2,16 +2,16 @@ reviewers: - bprashanth title: Ingress -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.1" state="beta" >}} {{< glossary_definition term_id="ingress" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## Terminology @@ -542,10 +542,11 @@ You can expose a Service in multiple ways that don't directly involve the Ingres * Use [Service.Type=LoadBalancer](/docs/concepts/services-networking/service/#loadbalancer) * Use [Service.Type=NodePort](/docs/concepts/services-networking/service/#nodeport) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about the [Ingress API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#ingress-v1beta1-networking-k8s-io) * Learn about [Ingress Controllers](/docs/concepts/services-networking/ingress-controllers/) * [Set up Ingress on Minikube with the NGINX Controller](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/network-policies.md b/content/en/docs/concepts/services-networking/network-policies.md index 795969757d..9f29405ae7 100644 --- a/content/en/docs/concepts/services-networking/network-policies.md +++ b/content/en/docs/concepts/services-networking/network-policies.md @@ -4,20 +4,20 @@ reviewers: - caseydavenport - danwinship title: Network Policies -content_template: templates/concept +content_type: concept weight: 50 --- {{< toc >}} -{{% capture overview %}} + A network policy is a specification of how groups of {{< glossary_tooltip text="pods" term_id="pod">}} are allowed to communicate with each other and other network endpoints. NetworkPolicy resources use {{< glossary_tooltip text="labels" term_id="label">}} to select pods and define rules which specify what traffic is allowed to the selected pods. -{{% /capture %}} -{{% capture body %}} + + ## Prerequisites Network policies are implemented by the [network plugin](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/). To use network policies, you must be using a networking solution which supports NetworkPolicy. Creating a NetworkPolicy resource without a controller that implements it will have no effect. @@ -215,12 +215,13 @@ You must be using a {{< glossary_tooltip text="CNI" term_id="cni" >}} plugin tha {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - See the [Declare Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) walkthrough for further examples. - See more [recipes](https://github.com/ahmetb/kubernetes-network-policy-recipes) for common scenarios enabled by the NetworkPolicy resource. -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/service-topology.md b/content/en/docs/concepts/services-networking/service-topology.md index 7b3c58a84a..d36b76f55f 100644 --- a/content/en/docs/concepts/services-networking/service-topology.md +++ b/content/en/docs/concepts/services-networking/service-topology.md @@ -8,12 +8,12 @@ feature: description: > Routing of service traffic based upon cluster topology. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="alpha" >}} @@ -22,9 +22,9 @@ topology of the cluster. For example, a service can specify that traffic be preferentially routed to endpoints that are on the same Node as the client, or in the same availability zone. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -192,11 +192,12 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [enabling Service Topology](/docs/tasks/administer-cluster/enabling-service-topology) * Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/services-networking/service.md b/content/en/docs/concepts/services-networking/service.md index e97d80db21..2ae49ac270 100644 --- a/content/en/docs/concepts/services-networking/service.md +++ b/content/en/docs/concepts/services-networking/service.md @@ -7,12 +7,12 @@ feature: description: > No need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< glossary_definition term_id="service" length="short" >}} @@ -20,9 +20,9 @@ With Kubernetes you don't need to modify your application to use an unfamiliar s Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them. -{{% /capture %}} -{{% capture body %}} + + ## Motivation @@ -1227,12 +1227,13 @@ SCTP is not supported on Windows based nodes. The kube-proxy does not support the management of SCTP associations when it is in userspace mode. {{< /warning >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) * Read about [Ingress](/docs/concepts/services-networking/ingress/) * Read about [EndpointSlices](/docs/concepts/services-networking/endpoint-slices/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/dynamic-provisioning.md b/content/en/docs/concepts/storage/dynamic-provisioning.md index 77885981f7..dc82e5c2c8 100644 --- a/content/en/docs/concepts/storage/dynamic-provisioning.md +++ b/content/en/docs/concepts/storage/dynamic-provisioning.md @@ -5,11 +5,11 @@ reviewers: - thockin - msau42 title: Dynamic Volume Provisioning -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Dynamic volume provisioning allows storage volumes to be created on-demand. Without dynamic provisioning, cluster administrators have to manually make @@ -19,10 +19,10 @@ to represent them in Kubernetes. The dynamic provisioning feature eliminates the need for cluster administrators to pre-provision storage. Instead, it automatically provisions storage when it is requested by users. -{{% /capture %}} -{{% capture body %}} + + ## Background @@ -133,4 +133,4 @@ Zones in a Region. Single-Zone storage backends should be provisioned in the Zon Pods are scheduled. This can be accomplished by setting the [Volume Binding Mode](/docs/concepts/storage/storage-classes/#volume-binding-mode). -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md index c365e02171..2c3140de83 100644 --- a/content/en/docs/concepts/storage/persistent-volumes.md +++ b/content/en/docs/concepts/storage/persistent-volumes.md @@ -11,18 +11,18 @@ feature: description: > Automatically mount the storage system of your choice, whether from local storage, a public cloud provider such as GCP or AWS, or a network storage system such as NFS, iSCSI, Gluster, Ceph, Cinder, or Flocker. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This document describes the current state of _persistent volumes_ in Kubernetes. Familiarity with [volumes](/docs/concepts/storage/volumes/) is suggested. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -746,8 +746,9 @@ and need persistent storage, it is recommended that you use the following patter dynamic storage support (in which case the user should create a matching PV) or the cluster has no storage system (in which case the user cannot deploy config requiring PVCs). -{{% /capture %}} - {{% capture whatsnext %}} + + ## {{% heading "whatsnext" %}} + * Learn more about [Creating a PersistentVolume](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume). * Learn more about [Creating a PersistentVolumeClaim](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim). @@ -759,4 +760,3 @@ and need persistent storage, it is recommended that you use the following patter * [PersistentVolumeSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumespec-v1-core) * [PersistentVolumeClaim](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * [PersistentVolumeClaimSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaimspec-v1-core) -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/concepts/storage/storage-classes.md b/content/en/docs/concepts/storage/storage-classes.md index 1ea7c236d9..d6b3a9e332 100644 --- a/content/en/docs/concepts/storage/storage-classes.md +++ b/content/en/docs/concepts/storage/storage-classes.md @@ -5,19 +5,19 @@ reviewers: - thockin - msau42 title: Storage Classes -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This document describes the concept of a StorageClass in Kubernetes. Familiarity with [volumes](/docs/concepts/storage/volumes/) and [persistent volumes](/docs/concepts/storage/persistent-volumes) is suggested. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -821,4 +821,4 @@ Delaying volume binding allows the scheduler to consider all of a Pod's scheduling constraints when choosing an appropriate PersistentVolume for a PersistentVolumeClaim. -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/storage-limits.md b/content/en/docs/concepts/storage/storage-limits.md index 295ed467a2..fb6cffed9c 100644 --- a/content/en/docs/concepts/storage/storage-limits.md +++ b/content/en/docs/concepts/storage/storage-limits.md @@ -5,10 +5,10 @@ reviewers: - thockin - msau42 title: Node-specific Volume Limits -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This page describes the maximum number of volumes that can be attached to a Node for various cloud providers. @@ -18,9 +18,9 @@ how many volumes can be attached to a Node. It is important for Kubernetes to respect those limits. Otherwise, Pods scheduled on a Node could get stuck waiting for volumes to attach. -{{% /capture %}} -{{% capture body %}} + + ## Kubernetes default limits @@ -78,4 +78,4 @@ Refer to the [CSI specifications](https://github.com/container-storage-interface * For volumes managed by in-tree plugins that have been migrated to a CSI driver, the maximum number of volumes will be the one reported by the CSI driver. -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/volume-pvc-datasource.md b/content/en/docs/concepts/storage/volume-pvc-datasource.md index 2f29fb9bb9..ac8d16041d 100644 --- a/content/en/docs/concepts/storage/volume-pvc-datasource.md +++ b/content/en/docs/concepts/storage/volume-pvc-datasource.md @@ -5,18 +5,18 @@ reviewers: - thockin - msau42 title: CSI Volume Cloning -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This document describes the concept of cloning existing CSI Volumes in Kubernetes. Familiarity with [Volumes](/docs/concepts/storage/volumes) is suggested. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -70,4 +70,4 @@ The result is a new PVC with the name `clone-of-pvc-1` that has the exact same c Upon availability of the new PVC, the cloned PVC is consumed the same as other PVC. It's also expected at this point that the newly created PVC is an independent object. It can be consumed, cloned, snapshotted, or deleted independently and without consideration for it's original dataSource PVC. This also implies that the source is not linked in any way to the newly created clone, it may also be modified or deleted without affecting the newly created clone. -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/volume-snapshot-classes.md b/content/en/docs/concepts/storage/volume-snapshot-classes.md index dcb9516519..f50db19520 100644 --- a/content/en/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/en/docs/concepts/storage/volume-snapshot-classes.md @@ -7,20 +7,20 @@ reviewers: - xing-yang - yuxiangqian title: Volume Snapshot Classes -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This document describes the concept of `VolumeSnapshotClass` in Kubernetes. Familiarity with [volume snapshots](/docs/concepts/storage/volume-snapshots/) and [storage classes](/docs/concepts/storage/storage-classes) is suggested. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -69,4 +69,4 @@ Volume snapshot classes have parameters that describe volume snapshots belonging the volume snapshot class. Different parameters may be accepted depending on the `driver`. -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/volume-snapshots.md b/content/en/docs/concepts/storage/volume-snapshots.md index 0ad66e75ae..a6cc122086 100644 --- a/content/en/docs/concepts/storage/volume-snapshots.md +++ b/content/en/docs/concepts/storage/volume-snapshots.md @@ -7,19 +7,19 @@ reviewers: - xing-yang - yuxiangqian title: Volume Snapshots -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} In Kubernetes, a _VolumeSnapshot_ represents a snapshot of a volume on a storage system. This document assumes that you are already familiar with Kubernetes [persistent volumes](/docs/concepts/storage/persistent-volumes/). -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -154,4 +154,4 @@ the *dataSource* field in the `PersistentVolumeClaim` object. For more details, see [Volume Snapshot and Restore Volume from Snapshot](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support). -{{% /capture %}} + diff --git a/content/en/docs/concepts/storage/volumes.md b/content/en/docs/concepts/storage/volumes.md index 7930bf0fe6..fe71c2e86e 100644 --- a/content/en/docs/concepts/storage/volumes.md +++ b/content/en/docs/concepts/storage/volumes.md @@ -5,11 +5,11 @@ reviewers: - thockin - msau42 title: Volumes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + On-disk files in a Container are ephemeral, which presents some problems for non-trivial applications when running in Containers. First, when a Container @@ -20,10 +20,10 @@ Kubernetes `Volume` abstraction solves both of these problems. Familiarity with [Pods](/docs/user-guide/pods) is suggested. -{{% /capture %}} -{{% capture body %}} + + ## Background @@ -1481,6 +1481,7 @@ sudo systemctl restart docker -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * Follow an example of [deploying WordPress and MySQL with Persistent Volumes](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/cron-jobs.md b/content/en/docs/concepts/workloads/controllers/cron-jobs.md index 233e0ca661..aca2996147 100644 --- a/content/en/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/en/docs/concepts/workloads/controllers/cron-jobs.md @@ -4,11 +4,11 @@ reviewers: - soltysh - janetkuo title: CronJob -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.8" state="beta" >}} @@ -33,8 +33,8 @@ append 11 characters to the job name provided and there is a constraint that the maximum length of a Job name is no more than 63 characters. -{{% /capture %}} -{{% capture body %}} + + ## CronJob @@ -82,12 +82,13 @@ be down for the same period as the previous example (`08:29:00` to `10:21:00`,) The CronJob is only responsible for creating Jobs that match its schedule, and the Job in turn is responsible for the management of the Pods it represents. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Cron expression format](https://pkg.go.dev/github.com/robfig/cron?tab=doc#hdr-CRON_Expression_Format) documents the format of CronJob `schedule` fields. For instructions on creating and working with cron jobs, and for an example of CronJob manifest, see [Running automated tasks with cron jobs](/docs/tasks/job/automated-tasks-with-cron-jobs). -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/daemonset.md b/content/en/docs/concepts/workloads/controllers/daemonset.md index e7ac6139f8..7f1b5c4630 100644 --- a/content/en/docs/concepts/workloads/controllers/daemonset.md +++ b/content/en/docs/concepts/workloads/controllers/daemonset.md @@ -6,11 +6,11 @@ reviewers: - janetkuo - kow3ns title: DaemonSet -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + A _DaemonSet_ ensures that all (or some) Nodes run a copy of a Pod. As nodes are added to the cluster, Pods are added to them. As nodes are removed from the cluster, those Pods are garbage @@ -26,10 +26,10 @@ In a simple case, one DaemonSet, covering all nodes, would be used for each type A more complex setup might use multiple DaemonSets for a single type of daemon, but with different flags and/or different memory and cpu requests for different hardware types. -{{% /capture %}} -{{% capture body %}} + + ## Writing a DaemonSet Spec @@ -229,4 +229,4 @@ number of replicas and rolling out updates are more important than controlling e the Pod runs on. Use a DaemonSet when it is important that a copy of a Pod always run on all or certain hosts, and when it needs to start before other Pods. -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/deployment.md b/content/en/docs/concepts/workloads/controllers/deployment.md index 2610380641..6287c0d98e 100644 --- a/content/en/docs/concepts/workloads/controllers/deployment.md +++ b/content/en/docs/concepts/workloads/controllers/deployment.md @@ -7,11 +7,11 @@ feature: description: > Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn't kill all your instances at the same time. If something goes wrong, Kubernetes will rollback the change for you. Take advantage of a growing ecosystem of deployment solutions. -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + A _Deployment_ provides declarative updates for [Pods](/docs/concepts/workloads/pods/pod/) and [ReplicaSets](/docs/concepts/workloads/controllers/replicaset/). @@ -22,10 +22,10 @@ You describe a _desired state_ in a Deployment, and the Deployment {{< glossary_ Do not manage ReplicaSets owned by a Deployment. Consider opening an issue in the main Kubernetes repository if your use case is not covered below. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Use Case @@ -1166,4 +1166,4 @@ a paused Deployment and one that is not paused, is that any changes into the Pod Deployment will not trigger new rollouts as long as it is paused. A Deployment is not paused by default when it is created. -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/garbage-collection.md b/content/en/docs/concepts/workloads/controllers/garbage-collection.md index 45303b66e8..c11386bc1c 100644 --- a/content/en/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/en/docs/concepts/workloads/controllers/garbage-collection.md @@ -1,18 +1,18 @@ --- title: Garbage Collection -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + The role of the Kubernetes garbage collector is to delete certain objects that once had an owner, but no longer have an owner. -{{% /capture %}} -{{% capture body %}} + + ## Owners and dependents @@ -168,16 +168,17 @@ See [kubeadm/#149](https://github.com/kubernetes/kubeadm/issues/149#issuecomment Tracked at [#26120](https://github.com/kubernetes/kubernetes/issues/26120) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Design Doc 1](https://git.k8s.io/community/contributors/design-proposals/api-machinery/garbage-collection.md) [Design Doc 2](https://git.k8s.io/community/contributors/design-proposals/api-machinery/synchronous-garbage-collection.md) -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md index aef6b556a3..11751dd166 100644 --- a/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/en/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -3,7 +3,7 @@ reviewers: - erictune - soltysh title: Jobs - Run to Completion -content_template: templates/concept +content_type: concept feature: title: Batch execution description: > @@ -11,7 +11,7 @@ feature: weight: 70 --- -{{% capture overview %}} + A Job creates one or more Pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the Job tracks the successful completions. When a specified number @@ -24,10 +24,10 @@ due to a node hardware failure or a node reboot). You can also use a Job to run multiple Pods in parallel. -{{% /capture %}} -{{% capture body %}} + + ## Running an example Job @@ -478,4 +478,4 @@ object, but maintains complete control over what Pods are created and how work i You can use a [`CronJob`](/docs/concepts/workloads/controllers/cron-jobs/) to create a Job that will run at specified times/dates, similar to the Unix tool `cron`. -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/replicaset.md b/content/en/docs/concepts/workloads/controllers/replicaset.md index 92cbe60a33..ef2a069ca1 100644 --- a/content/en/docs/concepts/workloads/controllers/replicaset.md +++ b/content/en/docs/concepts/workloads/controllers/replicaset.md @@ -4,19 +4,19 @@ reviewers: - bprashanth - madhusudancs title: ReplicaSet -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + A ReplicaSet's purpose is to maintain a stable set of replica Pods running at any given time. As such, it is often used to guarantee the availability of a specified number of identical Pods. -{{% /capture %}} -{{% capture body %}} + + ## How a ReplicaSet works @@ -366,4 +366,4 @@ The two serve the same purpose, and behave similarly, except that a ReplicationC selector requirements as described in the [labels user guide](/docs/concepts/overview/working-with-objects/labels/#label-selectors). As such, ReplicaSets are preferred over ReplicationControllers -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/replicationcontroller.md b/content/en/docs/concepts/workloads/controllers/replicationcontroller.md index fe20980ce6..2cc8284940 100644 --- a/content/en/docs/concepts/workloads/controllers/replicationcontroller.md +++ b/content/en/docs/concepts/workloads/controllers/replicationcontroller.md @@ -9,11 +9,11 @@ feature: description: > Restarts containers that fail, replaces and reschedules containers when nodes die, kills containers that don't respond to your user-defined health check, and doesn't advertise them to clients until they are ready to serve. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< note >}} A [`Deployment`](/docs/concepts/workloads/controllers/deployment/) that configures a [`ReplicaSet`](/docs/concepts/workloads/controllers/replicaset/) is now the recommended way to set up replication. @@ -23,10 +23,10 @@ A _ReplicationController_ ensures that a specified number of pod replicas are ru time. In other words, a ReplicationController makes sure that a pod or a homogeneous set of pods is always up and available. -{{% /capture %}} -{{% capture body %}} + + ## How a ReplicationController Works @@ -285,4 +285,4 @@ safe to terminate when the machine is otherwise ready to be rebooted/shutdown. Read [Run Stateless AP Replication Controller](/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/statefulset.md b/content/en/docs/concepts/workloads/controllers/statefulset.md index 661955cb48..4f8429d668 100644 --- a/content/en/docs/concepts/workloads/controllers/statefulset.md +++ b/content/en/docs/concepts/workloads/controllers/statefulset.md @@ -7,18 +7,18 @@ reviewers: - kow3ns - smarterclayton title: StatefulSets -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + StatefulSet is the workload API object used to manage stateful applications. {{< glossary_definition term_id="statefulset" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## Using StatefulSets @@ -270,12 +270,13 @@ After reverting the template, you must also delete any Pods that StatefulSet had already attempted to run with the bad configuration. StatefulSet will then begin to recreate the Pods using the reverted template. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Follow an example of [deploying a stateful application](/docs/tutorials/stateful-application/basic-stateful-set/). * Follow an example of [deploying Cassandra with Stateful Sets](/docs/tutorials/stateful-application/cassandra/). * Follow an example of [running a replicated stateful application](/docs/tasks/run-application/run-replicated-stateful-application/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/en/docs/concepts/workloads/controllers/ttlafterfinished.md index c5b88198f4..0d2657d8ce 100644 --- a/content/en/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/en/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -2,11 +2,11 @@ reviewers: - janetkuo title: TTL Controller for Finished Resources -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -21,12 +21,12 @@ Alpha Disclaimer: this feature is currently alpha, and can be enabled with both `TTLAfterFinished`. -{{% /capture %}} -{{% capture body %}} + + ## TTL Controller @@ -78,12 +78,13 @@ In Kubernetes, it's required to run NTP on all nodes to avoid time skew. Clocks aren't always correct, but the difference should be very small. Please be aware of this risk when setting a non-zero TTL. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Clean up Jobs automatically](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically) [Design doc](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/disruptions.md b/content/en/docs/concepts/workloads/pods/disruptions.md index 9983a67fc8..589bde5668 100644 --- a/content/en/docs/concepts/workloads/pods/disruptions.md +++ b/content/en/docs/concepts/workloads/pods/disruptions.md @@ -4,11 +4,11 @@ reviewers: - foxish - davidopp title: Disruptions -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + This guide is for application owners who want to build highly available applications, and thus need to understand what types of Disruptions can happen to Pods. @@ -16,10 +16,10 @@ what types of Disruptions can happen to Pods. It is also for Cluster Administrators who want to perform automated cluster actions, like upgrading and autoscaling clusters. -{{% /capture %}} -{{% capture body %}} + + ## Voluntary and Involuntary Disruptions @@ -262,13 +262,14 @@ the nodes in your cluster, such as a node or system software upgrade, here are s disruptions largely overlaps with work to support autoscaling and tolerating involuntary disruptions. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Follow steps to protect your application by [configuring a Pod Disruption Budget](/docs/tasks/run-application/configure-pdb/). * Learn more about [draining nodes](/docs/tasks/administer-cluster/safely-drain-node/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/ephemeral-containers.md b/content/en/docs/concepts/workloads/pods/ephemeral-containers.md index c6506df69c..c1852df707 100644 --- a/content/en/docs/concepts/workloads/pods/ephemeral-containers.md +++ b/content/en/docs/concepts/workloads/pods/ephemeral-containers.md @@ -3,11 +3,11 @@ reviewers: - verb - yujuhong title: Ephemeral Containers -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.16" >}} @@ -23,9 +23,9 @@ clusters. In accordance with the [Kubernetes Deprecation Policy]( significantly in the future or be removed entirely. {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## Understanding ephemeral containers @@ -192,4 +192,4 @@ example: kubectl attach -it example-pod -c debugger ``` -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/init-containers.md b/content/en/docs/concepts/workloads/pods/init-containers.md index 2cf2bf85b5..6e67a9e0ca 100644 --- a/content/en/docs/concepts/workloads/pods/init-containers.md +++ b/content/en/docs/concepts/workloads/pods/init-containers.md @@ -2,20 +2,20 @@ reviewers: - erictune title: Init Containers -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + This page provides an overview of init containers: specialized containers that run before app containers in a {{< glossary_tooltip text="Pod" term_id="pod" >}}. Init containers can contain utilities or setup scripts not present in an app image. You can specify init containers in the Pod specification alongside the `containers` array (which describes app containers). -{{% /capture %}} -{{% capture body %}} + + ## Understanding init containers @@ -317,12 +317,13 @@ reasons: forcing a restart, and the init container completion record has been lost due to garbage collection. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [creating a Pod that has an init container](/docs/tasks/configure-pod-container/configure-pod-initialization/#create-a-pod-that-has-an-init-container) * Learn how to [debug init containers](/docs/tasks/debug-application-cluster/debug-init-containers/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md index 74031a3722..1ce43f6dd9 100644 --- a/content/en/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/en/docs/concepts/workloads/pods/pod-lifecycle.md @@ -1,20 +1,20 @@ --- title: Pod Lifecycle -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + {{< comment >}}Updated: 4/14/2015{{< /comment >}} {{< comment >}}Edited and moved to Concepts section: 2/2/17{{< /comment >}} This page describes the lifecycle of a Pod. -{{% /capture %}} -{{% capture body %}} + + ## Pod phase @@ -390,10 +390,11 @@ spec: * Node controller sets Pod `phase` to Failed. * If running under a controller, Pod is recreated elsewhere. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Get hands-on experience [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). @@ -403,7 +404,7 @@ spec: * Learn more about [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/). -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/pod-overview.md b/content/en/docs/concepts/workloads/pods/pod-overview.md index 2bc2951259..e963b7ace6 100644 --- a/content/en/docs/concepts/workloads/pods/pod-overview.md +++ b/content/en/docs/concepts/workloads/pods/pod-overview.md @@ -2,19 +2,19 @@ reviewers: - erictune title: Pod Overview -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 60 --- -{{% capture overview %}} + This page provides an overview of `Pod`, the smallest deployable object in the Kubernetes object model. -{{% /capture %}} -{{% capture body %}} + + ## Understanding Pods A *Pod* is the basic execution unit of a Kubernetes application--the smallest and simplest unit in the Kubernetes object model that you create or deploy. A Pod represents processes running on your {{< glossary_tooltip term_id="cluster" text="cluster" >}}. @@ -111,12 +111,13 @@ For example, a Deployment controller ensures that the running Pods match the cur On Nodes, the {{< glossary_tooltip term_id="kubelet" text="kubelet" >}} does not directly observe or manage any of the details around pod templates and updates; those details are abstracted away. That abstraction and separation of concerns simplifies system semantics, and makes it feasible to extend the cluster's behavior without changing existing code. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Pods](/docs/concepts/workloads/pods/pod/) * [The Distributed System Toolkit: Patterns for Composite Containers](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns) explains common layouts for Pods with more than one container * Learn more about Pod behavior: * [Pod Termination](/docs/concepts/workloads/pods/pod/#termination-of-pods) * [Pod Lifecycle](/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md b/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md index 6e6f878449..afa52fa532 100644 --- a/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md +++ b/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md @@ -1,18 +1,18 @@ --- title: Pod Topology Spread Constraints -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} You can use _topology spread constraints_ to control how {{< glossary_tooltip text="Pods" term_id="Pod" >}} are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains. This can help to achieve high availability as well as efficient resource utilization. -{{% /capture %}} -{{% capture body %}} + + ## Prerequisites @@ -246,4 +246,4 @@ As of 1.18, at which this feature is Beta, there are some known limitations: - Scaling down a Deployment may result in imbalanced Pods distribution. - Pods matched on tainted nodes are respected. See [Issue 80921](https://github.com/kubernetes/kubernetes/issues/80921) -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/pod.md b/content/en/docs/concepts/workloads/pods/pod.md index d64227be48..d87dc92cb2 100644 --- a/content/en/docs/concepts/workloads/pods/pod.md +++ b/content/en/docs/concepts/workloads/pods/pod.md @@ -1,19 +1,19 @@ --- reviewers: title: Pods -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + _Pods_ are the smallest deployable units of computing that can be created and managed in Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## What is a Pod? @@ -206,4 +206,4 @@ describes the object in detail. When creating the manifest for a Pod object, make sure the name specified is a valid [DNS subdomain name](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names). -{{% /capture %}} + diff --git a/content/en/docs/concepts/workloads/pods/podpreset.md b/content/en/docs/concepts/workloads/pods/podpreset.md index a1906c8b99..f77e34a3f9 100644 --- a/content/en/docs/concepts/workloads/pods/podpreset.md +++ b/content/en/docs/concepts/workloads/pods/podpreset.md @@ -2,20 +2,20 @@ reviewers: - jessfraz title: Pod Preset -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="alpha" >}} This page provides an overview of PodPresets, which are objects for injecting certain information into pods at creation time. The information can include secrets, volumes, volume mounts, and environment variables. -{{% /capture %}} -{{% capture body %}} + + ## Understanding Pod presets A PodPreset is an API resource for injecting additional runtime requirements @@ -82,12 +82,13 @@ There may be instances where you wish for a Pod to not be altered by any Pod Preset mutations. In these cases, you can add an annotation in the Pod Spec of the form: `podpreset.admission.kubernetes.io/exclude: "true"`. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + See [Injecting data into a Pod using PodPreset](/docs/tasks/inject-data-application/podpreset/) For more information about the background, see the [design proposal for PodPreset](https://git.k8s.io/community/contributors/design-proposals/service-catalog/pod-preset.md). -{{% /capture %}} + diff --git a/content/en/docs/contribute/_index.md b/content/en/docs/contribute/_index.md index c6aa348125..e518b1f975 100644 --- a/content/en/docs/contribute/_index.md +++ b/content/en/docs/contribute/_index.md @@ -1,5 +1,5 @@ --- -content_template: templates/concept +content_type: concept title: Contribute to Kubernetes docs linktitle: Contribute main_menu: true @@ -10,7 +10,7 @@ card: title: Start contributing --- -{{% capture overview %}} + This website is maintained by [Kubernetes SIG Docs](/docs/contribute/#get-involved-with-sig-docs). @@ -23,9 +23,9 @@ Kubernetes documentation contributors: Kubernetes documentation welcomes improvements from all contributors, new and experienced! -{{% /capture %}} -{{% capture body %}} + + ## Getting started @@ -75,4 +75,4 @@ SIG Docs communicates with different methods: - Read the [contributor cheatsheet](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet) to get involved with Kubernetes feature development. - Submit a [blog post or case study](/docs/contribute/new-content/blogs-case-studies/). -{{% /capture %}} + diff --git a/content/en/docs/contribute/advanced.md b/content/en/docs/contribute/advanced.md index 2ed3a4afd6..9cf6a65883 100644 --- a/content/en/docs/contribute/advanced.md +++ b/content/en/docs/contribute/advanced.md @@ -1,11 +1,11 @@ --- title: Advanced contributing slug: advanced -content_template: templates/concept +content_type: concept weight: 98 --- -{{% capture overview %}} + This page assumes that you understand how to [contribute to new content](/docs/contribute/new-content/overview) and @@ -13,9 +13,9 @@ This page assumes that you understand how to to learn about more ways to contribute. You need to use the Git command line client and other tools for some of these tasks. -{{% /capture %}} -{{% capture body %}} + + ## Be the PR Wrangler for a week @@ -245,4 +245,4 @@ When you’re ready to stop recording, click Stop. The video uploads automatically to YouTube. -{{% /capture %}} + diff --git a/content/en/docs/contribute/generate-ref-docs/contribute-upstream.md b/content/en/docs/contribute/generate-ref-docs/contribute-upstream.md index 6c4d93cd40..5f4edbcc77 100644 --- a/content/en/docs/contribute/generate-ref-docs/contribute-upstream.md +++ b/content/en/docs/contribute/generate-ref-docs/contribute-upstream.md @@ -1,10 +1,10 @@ --- title: Contributing to the Upstream Kubernetes Code -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to contribute to the upstream `kubernetes/kubernetes` project. You can fix bugs found in the Kubernetes API documentation or the content of @@ -16,9 +16,10 @@ API or the `kube-*` components from the upstream code, see the following instruc - [Generating Reference Documentation for the Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/) - [Generating Reference Documentation for the Kubernetes Components and Tools](/docs/contribute/generate-ref-docs/kubernetes-components/) -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - You need to have these tools installed: @@ -35,9 +36,9 @@ API or the `kube-*` components from the upstream code, see the following instruc For more information, see [Creating a Pull Request](https://help.github.com/articles/creating-a-pull-request/) and [GitHub Standard Fork & Pull Request Workflow](https://gist.github.com/Chaser324/ce0505fbed06b947d962). -{{% /capture %}} -{{% capture steps %}} + + ## The big picture @@ -230,12 +231,13 @@ the API reference documentation. You are now ready to follow the [Generating Reference Documentation for the Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/) guide to generate the [published Kubernetes API reference documentation](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Generating Reference Documentation for the Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/) * [Generating Reference Docs for Kubernetes Components and Tools](/docs/contribute/generate-ref-docs/kubernetes-components/) * [Generating Reference Documentation for kubectl Commands](/docs/contribute/generate-ref-docs/kubectl/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/generate-ref-docs/kubectl.md b/content/en/docs/contribute/generate-ref-docs/kubectl.md index 5930a1f452..f057ce6800 100644 --- a/content/en/docs/contribute/generate-ref-docs/kubectl.md +++ b/content/en/docs/contribute/generate-ref-docs/kubectl.md @@ -1,10 +1,10 @@ --- title: Generating Reference Documentation for kubectl Commands -content_template: templates/task +content_type: task weight: 90 --- -{{% capture overview %}} + This page shows how to generate the `kubectl` command reference. @@ -21,15 +21,16 @@ reference page, see [Generating Reference Pages for Kubernetes Components and Tools](/docs/home/contribute/generated-reference/kubernetes-components/). {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "prerequisites-ref-docs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Setting up the local repositories @@ -253,12 +254,13 @@ A few minutes after your pull request is merged, your updated reference topics will be visible in the [published documentation](/docs/home). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Generating Reference Documentation Quickstart](/docs/contribute/generate-ref-docs/quickstart/) * [Generating Reference Documentation for Kubernetes Components and Tools](/docs/contribute/generate-ref-docs/kubernetes-components/) * [Generating Reference Documentation for the Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/generate-ref-docs/kubernetes-api.md b/content/en/docs/contribute/generate-ref-docs/kubernetes-api.md index 5060d3b6e0..10482eda97 100644 --- a/content/en/docs/contribute/generate-ref-docs/kubernetes-api.md +++ b/content/en/docs/contribute/generate-ref-docs/kubernetes-api.md @@ -1,10 +1,10 @@ --- title: Generating Reference Documentation for the Kubernetes API -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + This page shows how to update the Kubernetes API reference documentation. @@ -18,15 +18,16 @@ If you find bugs in the generated documentation, you need to If you need only to regenerate the reference documentation from the [OpenAPI](https://github.com/OAI/OpenAPI-Specification) spec, continue reading this page. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "prerequisites-ref-docs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Setting up the local repositories @@ -194,12 +195,13 @@ Submit your changes as a Monitor your pull request, and respond to reviewer comments as needed. Continue to monitor your pull request until it has been merged. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Generating Reference Documentation Quickstart](/docs/contribute/generate-ref-docs/quickstart/) * [Generating Reference Docs for Kubernetes Components and Tools](/docs/contribute/generate-ref-docs/kubernetes-components/) * [Generating Reference Documentation for kubectl Commands](/docs/contribute/generate-ref-docs/kubectl/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/generate-ref-docs/kubernetes-components.md b/content/en/docs/contribute/generate-ref-docs/kubernetes-components.md index f71db7afb1..be84beeb08 100644 --- a/content/en/docs/contribute/generate-ref-docs/kubernetes-components.md +++ b/content/en/docs/contribute/generate-ref-docs/kubernetes-components.md @@ -1,34 +1,36 @@ --- title: Generating Reference Pages for Kubernetes Components and Tools -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + This page shows how to build the Kubernetes component and tool reference pages. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Start with the [Prerequisites section](/docs/contribute/generate-ref-docs/quickstart/#before-you-begin) in the Reference Documentation Quickstart guide. -{{% /capture %}} -{{% capture steps %}} + + Follow the [Reference Documentation Quickstart](/docs/contribute/generate-ref-docs/quickstart/) to generate the Kubernetes component and tool reference pages. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Generating Reference Documentation Quickstart](/docs/contribute/generate-ref-docs/quickstart/) * [Generating Reference Documentation for kubectl Commands](/docs/contribute/generate-ref-docs/kubectl/) * [Generating Reference Documentation for the Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/) * [Contributing to the Upstream Kubernetes Project for Documentation](/docs/contribute/generate-ref-docs/contribute-upstream/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/generate-ref-docs/quickstart.md b/content/en/docs/contribute/generate-ref-docs/quickstart.md index 9645c64170..df5cdbb95f 100644 --- a/content/en/docs/contribute/generate-ref-docs/quickstart.md +++ b/content/en/docs/contribute/generate-ref-docs/quickstart.md @@ -1,24 +1,25 @@ --- title: Quickstart -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + This page shows how to use the `update-imported-docs` script to generate the Kubernetes reference documentation. The script automates the build setup and generates the reference documentation for a release. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "prerequisites-ref-docs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Getting the docs repository @@ -246,9 +247,10 @@ A few minutes after your pull request is merged, your updated reference topics will be visible in the [published documentation](/docs/home/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + To generate the individual reference documentation by manually setting up the required build repositories and running the build targets, see the following guides: @@ -257,4 +259,4 @@ running the build targets, see the following guides: * [Generating Reference Documentation for kubectl Commands](/docs/contribute/generate-ref-docs/kubectl/) * [Generating Reference Documentation for the Kubernetes API](/docs/contribute/generate-ref-docs/kubernetes-api/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/localization.md b/content/en/docs/contribute/localization.md index cb3cf03187..0c698305b9 100644 --- a/content/en/docs/contribute/localization.md +++ b/content/en/docs/contribute/localization.md @@ -1,6 +1,6 @@ --- title: Localizing Kubernetes documentation -content_template: templates/concept +content_type: concept approvers: - remyleone - rlenferink @@ -12,13 +12,13 @@ card: title: Translating the docs --- -{{% capture overview %}} + This page shows you how to [localize](https://blog.mozilla.org/l10n/2011/12/14/i18n-vs-l10n-whats-the-diff/) the docs for a different language. -{{% /capture %}} -{{% capture body %}} + + ## Getting started @@ -279,13 +279,14 @@ SIG Docs welcomes upstream contributions and corrections to the English source. You can also help add or improve content to an existing localization. Join the [Slack channel](https://kubernetes.slack.com/messages/C1J0BPD2M/) for the localization, and start opening PRs to help. Please limit pull requests to a single localization since pull requests that change content in multiple localizations could be difficult to review. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once a localization meets requirements for workflow and minimum output, SIG docs will: - Enable language selection on the website - Publicize the localization's availability through [Cloud Native Computing Foundation](https://www.cncf.io/about/) (CNCF) channels, including the [Kubernetes blog](https://kubernetes.io/blog/). -{{% /capture %}} + diff --git a/content/en/docs/contribute/new-content/blogs-case-studies.md b/content/en/docs/contribute/new-content/blogs-case-studies.md index 90c50ae6e1..76acbd2d41 100644 --- a/content/en/docs/contribute/new-content/blogs-case-studies.md +++ b/content/en/docs/contribute/new-content/blogs-case-studies.md @@ -2,19 +2,19 @@ title: Submitting blog posts and case studies linktitle: Blogs and case studies slug: blogs-case-studies -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Anyone can write a blog post and submit it for review. Case studies require extensive review before they're approved. -{{% /capture %}} -{{% capture body %}} + + ## Write a blog post @@ -52,8 +52,9 @@ Have a look at the source for the Refer to the [case study guidelines](https://github.com/cncf/foundation/blob/master/case-study-guidelines.md) and submit your request as outlined in the guidelines. -{{% /capture %}} -{{% capture whatsnext %}} -{{% /capture %}} +## {{% heading "whatsnext" %}} + + + diff --git a/content/en/docs/contribute/new-content/new-features.md b/content/en/docs/contribute/new-content/new-features.md index 68087a2a79..54db84da8f 100644 --- a/content/en/docs/contribute/new-content/new-features.md +++ b/content/en/docs/contribute/new-content/new-features.md @@ -1,7 +1,7 @@ --- title: Documenting a feature for a release linktitle: Documenting for a release -content_template: templates/concept +content_type: concept main_menu: true weight: 20 card: @@ -9,7 +9,7 @@ card: weight: 45 title: Documenting a feature for a release --- -{{% capture overview %}} + Each major Kubernetes release introduces new features that require documentation. New releases also bring updates to existing features and documentation (such as upgrading a feature from alpha to beta). @@ -19,9 +19,9 @@ feature as a pull request to the appropriate development branch of the editorial feedback or edits the draft directly. This section covers the branching conventions and process used during a release by both groups. -{{% /capture %}} -{{% capture body %}} + + ## For documentation contributors @@ -131,4 +131,3 @@ add it to [Alpha/Beta Feature gates](/docs/reference/command-line-tools-referenc as part of your pull request. If your feature is moving out of Alpha, make sure to remove it from that table. -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/contribute/new-content/open-a-pr.md b/content/en/docs/contribute/new-content/open-a-pr.md index 4407568aff..05a576a74b 100644 --- a/content/en/docs/contribute/new-content/open-a-pr.md +++ b/content/en/docs/contribute/new-content/open-a-pr.md @@ -1,14 +1,14 @@ --- title: Opening a pull request slug: new-content -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 40 --- -{{% capture overview %}} + {{< note >}} **Code developers**: If you are documenting a new feature for an @@ -22,9 +22,9 @@ If your change is small, or you're unfamiliar with git, read [Changes using GitH If your changes are large, read [Work from a local fork](#fork-the-repo) to learn how to make changes locally on your computer. -{{% /capture %}} -{{% capture body %}} + + ## Changes using GitHub @@ -475,10 +475,11 @@ Most repositories use issue and PR templates. Have a look through some open issues and PRs to get a feel for that team's processes. Make sure to fill out the templates with as much detail as possible when you file issues or PRs. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Read [Reviewing](/docs/contribute/reviewing/revewing-prs) to learn more about the review process. -{{% /capture %}} + diff --git a/content/en/docs/contribute/new-content/overview.md b/content/en/docs/contribute/new-content/overview.md index 11f4c067d7..cdb7174b2a 100644 --- a/content/en/docs/contribute/new-content/overview.md +++ b/content/en/docs/contribute/new-content/overview.md @@ -1,19 +1,19 @@ --- title: Contributing new content overview linktitle: Overview -content_template: templates/concept +content_type: concept main_menu: true weight: 5 --- -{{% capture overview %}} + This section contains information you should know before contributing new content. -{{% /capture %}} -{{% capture body %}} + + ## Contributing basics @@ -58,4 +58,4 @@ Limit pull requests to one language per PR. If you need to make an identical cha The [doc contributors tools](https://github.com/kubernetes/website/tree/master/content/en/docs/doc-contributor-tools) directory in the `kubernetes/website` repository contains tools to help your contribution journey go more smoothly. -{{% /capture %}} + diff --git a/content/en/docs/contribute/participating.md b/content/en/docs/contribute/participating.md index 3f491dc856..681c53f994 100644 --- a/content/en/docs/contribute/participating.md +++ b/content/en/docs/contribute/participating.md @@ -1,13 +1,13 @@ --- title: Participating in SIG Docs -content_template: templates/concept +content_type: concept weight: 60 card: name: contribute weight: 60 --- -{{% capture overview %}} + SIG Docs is one of the [special interest groups](https://github.com/kubernetes/community/blob/master/sig-list.md) @@ -30,9 +30,9 @@ The rest of this document outlines some unique ways these roles function within SIG Docs, which is responsible for maintaining one of the most public-facing aspects of Kubernetes -- the Kubernetes website and documentation. -{{% /capture %}} -{{% capture body %}} + + ## Roles and responsibilities @@ -302,9 +302,10 @@ SIG Docs approvers. Here's how it works. specific roles, such as [PR Wrangler](/docs/contribute/advanced#be-the-pr-wrangler-for-a-week) or [SIG Docs chairperson](#sig-docs-chairperson). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + For more information about contributing to the Kubernetes documentation, see: @@ -312,4 +313,4 @@ For more information about contributing to the Kubernetes documentation, see: - [Reviewing content](/docs/contribute/review/reviewing-prs) - [Documentation style guide](/docs/contribute/style/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/review/_index.md b/content/en/docs/contribute/review/_index.md index bc70e3c6f1..d2a1a5c906 100644 --- a/content/en/docs/contribute/review/_index.md +++ b/content/en/docs/contribute/review/_index.md @@ -3,12 +3,12 @@ title: Reviewing changes weight: 30 --- -{{% capture overview %}} + This section describes how to review content. -{{% /capture %}} -{{% capture body %}} -{{% /capture %}} + + + diff --git a/content/en/docs/contribute/review/for-approvers.md b/content/en/docs/contribute/review/for-approvers.md index dccc6cfe38..0cddbcba6a 100644 --- a/content/en/docs/contribute/review/for-approvers.md +++ b/content/en/docs/contribute/review/for-approvers.md @@ -2,11 +2,11 @@ title: Reviewing for approvers and reviewers linktitle: For approvers and reviewers slug: for-approvers -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + SIG Docs [Reviewers](/docs/contribute/participating/#reviewers) and [Approvers](/docs/contribute/participating/#approvers) do a few extra things when reviewing a change. @@ -19,10 +19,10 @@ requests (PRs) that are not already under active review. In addition to the rotation, a bot assigns reviewers and approvers for the PR based on the owners for the affected files. -{{% /capture %}} -{{% capture body %}} + + ## Reviewing a PR @@ -224,4 +224,3 @@ If this is a documentation issue, please re-open this issue. ``` -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/contribute/review/reviewing-prs.md b/content/en/docs/contribute/review/reviewing-prs.md index cb432a97ba..11a56b17c8 100644 --- a/content/en/docs/contribute/review/reviewing-prs.md +++ b/content/en/docs/contribute/review/reviewing-prs.md @@ -1,11 +1,11 @@ --- title: Reviewing pull requests -content_template: templates/concept +content_type: concept main_menu: true weight: 10 --- -{{% capture overview %}} + Anyone can review a documentation pull request. Visit the [pull requests](https://github.com/kubernetes/website/pulls) section in the Kubernetes website repository to see open pull requests. @@ -19,9 +19,9 @@ Before reviewing, it's a good idea to: [style guide](/docs/contribute/style/style-guide/) so you can leave informed comments. - Understand the different [roles and responsibilities](/docs/contribute/participating/#roles-and-responsibilities) in the Kubernetes documentation community. -{{% /capture %}} -{{% capture body %}} + + ## Before you begin @@ -95,4 +95,3 @@ When reviewing, use the following as a starting point. For small issues with a PR, like typos or whitespace, prefix your comments with `nit:`. This lets the author know the issue is non-critical. -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/contribute/style/content-guide.md b/content/en/docs/contribute/style/content-guide.md index b5d8ed5d02..2f367c9a81 100644 --- a/content/en/docs/contribute/style/content-guide.md +++ b/content/en/docs/contribute/style/content-guide.md @@ -1,11 +1,11 @@ --- title: Documentation Content Guide linktitle: Content guide -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + This page contains guidelines for Kubernetes documentation. @@ -17,9 +17,9 @@ You can register for Kubernetes Slack at http://slack.k8s.io/. For information on creating new content for the Kubernetes docs, follow the [style guide](/docs/contribute/style/style-guide). -{{% /capture %}} -{{% capture body %}} + + ## Overview @@ -69,10 +69,11 @@ ask for help in [#sig-docs on Kubernetes Slack](https://kubernetes.slack.com/mes If you have questions about allowed content, join the [Kubernetes Slack](http://slack.k8s.io/) #sig-docs channel and ask! -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read the [Style guide](/docs/contribute/style/style-guide). -{{% /capture %}} + diff --git a/content/en/docs/contribute/style/content-organization.md b/content/en/docs/contribute/style/content-organization.md index e93cf8126e..249bebf0fb 100644 --- a/content/en/docs/contribute/style/content-organization.md +++ b/content/en/docs/contribute/style/content-organization.md @@ -1,17 +1,17 @@ --- title: Content organization -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + This site uses Hugo. In Hugo, [content organization](https://gohugo.io/content-management/organization/) is a core concept. -{{% /capture %}} -{{% capture body %}} + + {{% note %}} **Hugo Tip:** Start Hugo with `hugo server --navigateToChanged` for content edit-sessions. @@ -126,12 +126,13 @@ Some important notes to the files in the bundles: The [SASS](https://sass-lang.com/) source of the stylesheets for this site is stored in `assets/sass` and is automatically built by Hugo. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [custom Hugo shortcodes](/docs/contribute/style/hugo-shortcodes/) * Learn about the [Style guide](/docs/contribute/style/style-guide) * Learn about the [Content guide](/docs/contribute/style/content-guide) -{{% /capture %}} + diff --git a/content/en/docs/contribute/style/hugo-shortcodes/index.md b/content/en/docs/contribute/style/hugo-shortcodes/index.md index 60479c7fec..87033f15a5 100644 --- a/content/en/docs/contribute/style/hugo-shortcodes/index.md +++ b/content/en/docs/contribute/style/hugo-shortcodes/index.md @@ -2,16 +2,16 @@ approvers: - chenopis title: Custom Hugo Shortcodes -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This page explains the custom Hugo shortcodes that can be used in Kubernetes markdown documentation. Read more about shortcodes in the [Hugo documentation](https://gohugo.io/content-management/shortcodes). -{{% /capture %}} -{{% capture body %}} + + ## Feature state @@ -235,12 +235,13 @@ Renders to: {{< tab name="JSON File" include="podtemplate" />}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [Hugo](https://gohugo.io/). * Learn about [writing a new topic](/docs/home/contribute/write-new-topic/). * Learn about [using page templates](/docs/home/contribute/page-templates/). * Learn about [staging your changes](/docs/home/contribute/stage-documentation-changes/) * Learn about [creating a pull request](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/en/docs/contribute/style/page-templates.md b/content/en/docs/contribute/style/page-templates.md index 7521ee3ecb..7c0616e107 100644 --- a/content/en/docs/contribute/style/page-templates.md +++ b/content/en/docs/contribute/style/page-templates.md @@ -1,13 +1,13 @@ --- title: Using Page Templates -content_template: templates/concept +content_type: concept weight: 30 card: name: contribute weight: 30 --- -{{% capture overview %}} + When contributing new topics, apply one of the following templates to them. This standardizes the user experience of a given page. @@ -24,10 +24,10 @@ template to use for a new topic, start with the {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Concept template @@ -41,7 +41,7 @@ tutorials. To write a new concept page, create a Markdown file in a subdirectory of the `/content/en/docs/concepts` directory, with the following characteristics: -- In the page's YAML front-matter, set `content_template: templates/concept`. +- In the page's YAML front-matter, set `content_type: concept`. - In the page's body, set the required `capture` variables and any optional ones you want to include: @@ -85,7 +85,7 @@ to conceptual topics that provide related background and knowledge. To write a new task page, create a Markdown file in a subdirectory of the `/content/en/docs/tasks` directory, with the following characteristics: -- In the page's YAML front-matter, set `content_template: templates/task`. +- In the page's YAML front-matter, set `content_type: task`. - In the page's body, set the required `capture` variables and any optional ones you want to include: @@ -150,7 +150,7 @@ for deep explanations. To write a new tutorial page, create a Markdown file in a subdirectory of the `/content/en/docs/tutorials` directory, with the following characteristics: -- In the page's YAML front-matter, set `content_template: templates/tutorial`. +- In the page's YAML front-matter, set `content_type: tutorial`. - In the page's body, set the required `capture` variables and any optional ones you want to include: @@ -211,12 +211,13 @@ To write a new tutorial page, create a Markdown file in a subdirectory of the An example of a published topic that uses the tutorial template is [Running a Stateless Application Using a Deployment](/docs/tutorials/stateless-application/run-stateless-application-deployment/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Learn about the [Style guide](/docs/contribute/style/style-guide/) - Learn about the [Content guide](/docs/contribute/style/content-guide/) - Learn about [content organization](/docs/contribute/style/content-organization/) -{{% /capture %}} + diff --git a/content/en/docs/contribute/style/style-guide.md b/content/en/docs/contribute/style/style-guide.md index 34dce6adac..64b2ec0705 100644 --- a/content/en/docs/contribute/style/style-guide.md +++ b/content/en/docs/contribute/style/style-guide.md @@ -1,11 +1,11 @@ --- title: Documentation Style Guide linktitle: Style guide -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + This page gives writing style guidelines for the Kubernetes documentation. These are guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. @@ -18,9 +18,9 @@ Changes to the style guide are made by SIG Docs as a group. To propose a change or addition, [add it to the agenda](https://docs.google.com/document/d/1ddHwLK3kUMX1wVFIwlksjTk0MsqitBnWPe1LRa1Rx5A/edit) for an upcoming SIG Docs meeting, and attend the meeting to participate in the discussion. -{{% /capture %}} -{{% capture body %}} + + {{< note >}} Kubernetes documentation uses [Blackfriday Markdown Renderer](https://github.com/russross/blackfriday) along with a few [Hugo Shortcodes](/docs/home/contribute/includes/) to support glossary entries, tabs, @@ -585,13 +585,14 @@ The Federation feature provides ... | The new Federation feature provides ... {{< /table >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [writing a new topic](/docs/contribute/style/write-new-topic/). * Learn about [using page templates](/docs/contribute/style/page-templates/). * Learn about [staging your changes](/docs/contribute/stage-documentation-changes/) * Learn about [creating a pull request](/docs/contribute/start/#submit-a-pull-request/). -{{% /capture %}} + diff --git a/content/en/docs/contribute/style/write-new-topic.md b/content/en/docs/contribute/style/write-new-topic.md index 65dca22f1a..a6b9e187a1 100644 --- a/content/en/docs/contribute/style/write-new-topic.md +++ b/content/en/docs/contribute/style/write-new-topic.md @@ -1,19 +1,20 @@ --- title: Writing a new topic -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to create a new topic for the Kubernetes docs. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Create a fork of the Kubernetes documentation repository as described in [Open a PR](/docs/new-content/open-a-pr/). -{{% /capture %}} -{{% capture steps %}} + + ## Choosing a page type @@ -159,9 +160,10 @@ For an example of a topic that uses this technique, see Put image files in the `/images` directory. The preferred image format is SVG. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [using page templates](/docs/contribute/page-templates/). * Learn about [creating a pull request](/docs/contribute/new-content/open-a-pr/). -{{% /capture %}} + diff --git a/content/en/docs/contribute/suggesting-improvements.md b/content/en/docs/contribute/suggesting-improvements.md index 19133f379b..e48c2915b9 100644 --- a/content/en/docs/contribute/suggesting-improvements.md +++ b/content/en/docs/contribute/suggesting-improvements.md @@ -1,14 +1,14 @@ --- title: Suggesting content improvements slug: suggest-improvements -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 20 --- -{{% capture overview %}} + If you notice an issue with Kubernetes documentation, or have an idea for new content, then open an issue. All you need is a [GitHub account](https://github.com/join) and a web browser. @@ -16,9 +16,9 @@ In most cases, new work on Kubernetes documentation begins with an issue in GitH then review, categorize and tag issues as needed. Next, you or another member of the Kubernetes community open a pull request with changes to resolve the issue. -{{% /capture %}} -{{% capture body %}} + + ## Opening an issue @@ -62,4 +62,4 @@ Keep the following in mind when filing an issue: fellow contributors. For example, "The docs are terrible" is not helpful or polite feedback. -{{% /capture %}} + diff --git a/content/en/docs/home/supported-doc-versions.md b/content/en/docs/home/supported-doc-versions.md index 45a6012eaa..bd368b2b54 100644 --- a/content/en/docs/home/supported-doc-versions.md +++ b/content/en/docs/home/supported-doc-versions.md @@ -1,20 +1,20 @@ --- title: Supported Versions of the Kubernetes Documentation -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Supported Versions of the Documentation --- -{{% capture overview %}} + This website contains documentation for the current version of Kubernetes and the four previous versions of Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Current version @@ -25,6 +25,6 @@ The current version is {{< versions-other >}} -{{% /capture %}} + diff --git a/content/en/docs/reference/_index.md b/content/en/docs/reference/_index.md index 8b0faf5e91..619430875e 100644 --- a/content/en/docs/reference/_index.md +++ b/content/en/docs/reference/_index.md @@ -5,16 +5,16 @@ approvers: linkTitle: "Reference" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This section of the Kubernetes documentation contains references. -{{% /capture %}} -{{% capture body %}} + + ## API Reference @@ -52,4 +52,4 @@ client libraries: An archive of the design docs for Kubernetes functionality. Good starting points are [Kubernetes Architecture](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) and [Kubernetes Design Overview](https://git.k8s.io/community/contributors/design-proposals). -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/abac.md b/content/en/docs/reference/access-authn-authz/abac.md index 40c56a985c..3810942660 100644 --- a/content/en/docs/reference/access-authn-authz/abac.md +++ b/content/en/docs/reference/access-authn-authz/abac.md @@ -5,15 +5,15 @@ reviewers: - deads2k - liggitt title: Using ABAC Authorization -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + Attribute-based access control (ABAC) defines an access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. -{{% /capture %}} -{{% capture body %}} + + ## Policy File Format To enable `ABAC` mode, specify `--authorization-policy-file=SOME_FILENAME` and `--authorization-mode=ABAC` on startup. @@ -152,5 +152,5 @@ privilege to the API using ABAC, you would add this line to your policy file: The apiserver will need to be restarted to pickup the new policy lines. -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/admission-controllers.md b/content/en/docs/reference/access-authn-authz/admission-controllers.md index a254e43a84..ffb71a6018 100644 --- a/content/en/docs/reference/access-authn-authz/admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/admission-controllers.md @@ -7,15 +7,15 @@ reviewers: - janetkuo - thockin title: Using Admission Controllers -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This page provides an overview of Admission Controllers. -{{% /capture %}} -{{% capture body %}} + + ## What are they? An admission controller is a piece of code that intercepts requests to the @@ -773,4 +773,4 @@ in the mutating phase. For earlier versions, there was no concept of validating versus mutating and the admission controllers ran in the exact order specified. -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/authentication.md b/content/en/docs/reference/access-authn-authz/authentication.md index b240fb4e22..8cb8013c76 100644 --- a/content/en/docs/reference/access-authn-authz/authentication.md +++ b/content/en/docs/reference/access-authn-authz/authentication.md @@ -6,15 +6,15 @@ reviewers: - deads2k - liggitt title: Authenticating -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + This page provides an overview of authenticating. -{{% /capture %}} -{{% capture body %}} + + ## Users in Kubernetes All Kubernetes clusters have two categories of users: service accounts managed @@ -860,4 +860,4 @@ RFC3339 timestamp. Presence or absence of an expiry has the following impact: } } ``` -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/authorization.md b/content/en/docs/reference/access-authn-authz/authorization.md index 3a942266fc..74c433b8ee 100644 --- a/content/en/docs/reference/access-authn-authz/authorization.md +++ b/content/en/docs/reference/access-authn-authz/authorization.md @@ -5,16 +5,16 @@ reviewers: - deads2k - liggitt title: Authorization Overview -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Learn more about Kubernetes authorization, including details about creating policies using the supported authorization modules. -{{% /capture %}} -{{% capture body %}} + + In Kubernetes, you must be authenticated (logged in) before your request can be authorized (granted permission to access). For information about authentication, see [Controlling Access to the Kubernetes API](/docs/reference/access-authn-authz/controlling-access/). @@ -197,9 +197,10 @@ namespace can: read all secrets in the namespace; read all config maps in the namespace; and impersonate any service account in the namespace and take any action the account could take. This applies regardless of authorization mode. {{< /caution >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * To learn more about Authentication, see **Authentication** in [Controlling Access to the Kubernetes API](/docs/reference/access-authn-authz/controlling-access/). * To learn more about Admission Control, see [Using Admission Controllers](/docs/reference/access-authn-authz/admission-controllers/). -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md b/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md index c8c55c08d6..542b5267be 100644 --- a/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md +++ b/content/en/docs/reference/access-authn-authz/bootstrap-tokens.md @@ -2,11 +2,11 @@ reviewers: - jbeda title: Authenticating with Bootstrap Tokens -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="stable" >}} @@ -16,9 +16,9 @@ to support [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/), but can be u for users that wish to start clusters without `kubeadm`. It is also built to work, via RBAC policy, with the [Kubelet TLS Bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) system. -{{% /capture %}} -{{% capture body %}} + + ## Bootstrap Tokens Overview Bootstrap Tokens are defined with a specific type @@ -188,4 +188,4 @@ client relying on the signature to bootstrap TLS trust. Consult the [kubeadm implementation details](/docs/reference/setup-tools/kubeadm/implementation-details/) section for more information. -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/certificate-signing-requests.md b/content/en/docs/reference/access-authn-authz/certificate-signing-requests.md index 3e81215dd8..fea62e545e 100644 --- a/content/en/docs/reference/access-authn-authz/certificate-signing-requests.md +++ b/content/en/docs/reference/access-authn-authz/certificate-signing-requests.md @@ -4,11 +4,11 @@ reviewers: - mikedanese - munnerz title: Certificate Signing Requests -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} @@ -21,9 +21,9 @@ A CertificateSigningRequest (CSR) resource is used to request that a certificate by a denoted signer, after which the request may be approved or denied before finally being signed. -{{% /capture %}} -{{% capture body %}} + + ## Request signing process The _CertificateSigningRequest_ resource type allows a client to ask for an X.509 certificate @@ -317,9 +317,10 @@ subresource of the CSR to be signed. As part of this request, the `status.certificate` field should be set to contain the signed certificate. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read [Manage TLS Certificates in a Cluster](https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/) * View the source code for the kube-controller-manager built in [signer](https://github.com/kubernetes/kubernetes/blob/32ec6c212ec9415f604ffc1f4c1f29b782968ff1/pkg/controller/certificates/signer/cfssl_signer.go) @@ -327,4 +328,4 @@ signed certificate. * For details of X.509 itself, refer to [RFC 5280](https://tools.ietf.org/html/rfc5280#section-3.1) section 3.1 * For information on the syntax of PKCS#10 certificate signing requests, refer to [RFC 2986](https://tools.ietf.org/html/rfc2986) -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/controlling-access.md b/content/en/docs/reference/access-authn-authz/controlling-access.md index 21c08447ff..f83982c8c1 100644 --- a/content/en/docs/reference/access-authn-authz/controlling-access.md +++ b/content/en/docs/reference/access-authn-authz/controlling-access.md @@ -3,15 +3,15 @@ reviewers: - erictune - lavalamp title: Controlling Access to the Kubernetes API -content_template: templates/concept +content_type: concept weight: 5 --- -{{% capture overview %}} + This page provides an overview of controlling access to the Kubernetes API. -{{% /capture %}} -{{% capture body %}} + + Users [access the API](/docs/tasks/access-application-cluster/access-cluster/) using `kubectl`, client libraries, or by making REST requests. Both human users and [Kubernetes service accounts](/docs/tasks/configure-pod-container/configure-service-account/) can be @@ -161,4 +161,4 @@ When the cluster is created by `kube-up.sh`, on Google Compute Engine (GCE), and on several other cloud providers, the API server serves on port 443. On GCE, a firewall rule is configured on the project to allow external HTTPS access to the API. Other cluster setup methods vary. -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md index 40d00cddf4..718c9d1147 100644 --- a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md @@ -7,18 +7,17 @@ reviewers: - liggitt - jpbetz title: Dynamic Admission Control -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + In addition to [compiled-in admission plugins](/docs/reference/access-authn-authz/admission-controllers/), admission plugins can be developed as extensions and run as webhooks configured at runtime. This page describes how to build, configure, use, and monitor admission webhooks. -{{% /capture %}} -{{% capture body %}} + ## What are admission webhooks? Admission webhooks are HTTP callbacks that receive admission requests and do @@ -1589,4 +1588,4 @@ If your admission webhooks don't intend to modify the behavior of the Kubernetes plane, exclude the `kube-system` namespace from being intercepted using a [`namespaceSelector`](#matching-requests-namespaceselector). -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/node.md b/content/en/docs/reference/access-authn-authz/node.md index 6c0e2f3e99..439d97ff84 100644 --- a/content/en/docs/reference/access-authn-authz/node.md +++ b/content/en/docs/reference/access-authn-authz/node.md @@ -5,15 +5,15 @@ reviewers: - liggitt - ericchiang title: Using Node Authorization -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Node authorization is a special-purpose authorization mode that specifically authorizes API requests made by kubelets. -{{% /capture %}} -{{% capture body %}} + + ## Overview The Node authorizer allows a kubelet to perform API operations. This includes: @@ -96,4 +96,4 @@ In 1.8, the binding will not be created at all. When using RBAC, the `system:node` cluster role will continue to be created, for compatibility with deployment methods that bind other users or groups to that role. -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/rbac.md b/content/en/docs/reference/access-authn-authz/rbac.md index 15a4347fea..20b1224e59 100644 --- a/content/en/docs/reference/access-authn-authz/rbac.md +++ b/content/en/docs/reference/access-authn-authz/rbac.md @@ -4,17 +4,17 @@ reviewers: - deads2k - liggitt title: Using RBAC Authorization -content_template: templates/concept +content_type: concept aliases: [/rbac/] weight: 70 --- -{{% capture overview %}} + Role-based access control (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within your organization. -{{% /capture %}} -{{% capture body %}} + + RBAC authorization uses the `rbac.authorization.k8s.io` {{< glossary_tooltip text="API group" term_id="api-group" >}} to drive authorization decisions, allowing you to dynamically configure policies through the Kubernetes API. @@ -1209,5 +1209,3 @@ kubectl create clusterrolebinding permissive-binding \ After you have transitioned to use RBAC, you should adjust the access controls for your cluster to ensure that these meet your information security needs. - -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/reference/access-authn-authz/service-accounts-admin.md b/content/en/docs/reference/access-authn-authz/service-accounts-admin.md index 5c2dd3ddc5..6d2cf76573 100644 --- a/content/en/docs/reference/access-authn-authz/service-accounts-admin.md +++ b/content/en/docs/reference/access-authn-authz/service-accounts-admin.md @@ -5,19 +5,19 @@ reviewers: - lavalamp - liggitt title: Managing Service Accounts -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + This is a Cluster Administrator guide to service accounts. It assumes knowledge of the [User Guide to Service Accounts](/docs/user-guide/service-accounts). Support for authorization and user accounts is planned but incomplete. Sometimes incomplete features are referred to in order to better describe service accounts. -{{% /capture %}} -{{% capture body %}} + + ## User accounts versus service accounts Kubernetes distinguishes between the concept of a user account and a service account @@ -115,4 +115,4 @@ kubectl delete secret mysecretname Service Account Controller manages ServiceAccount inside namespaces, and ensures a ServiceAccount named "default" exists in every active namespace. -{{% /capture %}} + diff --git a/content/en/docs/reference/access-authn-authz/webhook.md b/content/en/docs/reference/access-authn-authz/webhook.md index 3f667fa5ef..cf5944d9a1 100644 --- a/content/en/docs/reference/access-authn-authz/webhook.md +++ b/content/en/docs/reference/access-authn-authz/webhook.md @@ -5,15 +5,15 @@ reviewers: - deads2k - liggitt title: Webhook Mode -content_template: templates/concept +content_type: concept weight: 95 --- -{{% capture overview %}} + A WebHook is an HTTP callback: an HTTP POST that occurs when something happens; a simple event-notification via HTTP POST. A web application implementing WebHooks will POST a message to a URL when certain things happen. -{{% /capture %}} -{{% capture body %}} + + When specified, mode `Webhook` causes Kubernetes to query an outside REST service when determining user privileges. @@ -174,6 +174,6 @@ to the REST api. For further documentation refer to the authorization.v1beta1 API objects and [webhook.go](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/staging/src/k8s.io/apiserver/plugin/pkg/authorizer/webhook/webhook.go). -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md b/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md index ee8d7f1ed1..7cafd5ba06 100644 --- a/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md +++ b/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 30 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + The Cloud controller manager is a daemon that embeds @@ -14,9 +15,10 @@ the cloud specific control loops shipped with Kubernetes. cloud-controller-manager [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} + @@ -534,5 +536,5 @@ cloud-controller-manager [flags] -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 7716c7be7d..78784eace7 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -1,17 +1,17 @@ --- weight: 10 title: Feature Gates -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This page contains an overview of the various feature gates an administrator can specify on different Kubernetes components. See [feature stages](#feature-stages) for an explanation of the stages for a feature. -{{% /capture %}} -{{% capture body %}} + + ## Overview Feature gates are a set of key=value pairs that describe Kubernetes features. @@ -511,8 +511,9 @@ Each feature gate is designed for enabling/disabling a specific feature: - `WinDSR`: Allows kube-proxy to create DSR loadbalancers for Windows. - `WinOverlay`: Allows kube-proxy to run in overlay mode for Windows. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * The [deprecation policy](/docs/reference/using-api/deprecation-policy/) for Kubernetes explains the project's approach to removing features and components. -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md b/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md index 6e9454dc49..05dbcf4c3c 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 30 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + The Kubernetes API server validates and configures data @@ -16,9 +17,10 @@ cluster's shared state through which all other components interact. kube-apiserver [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -1082,5 +1084,5 @@ kube-apiserver [flags] -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md b/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md index 69be42b17e..f25129d187 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 30 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + The Kubernetes controller manager is a daemon that embeds @@ -20,9 +21,10 @@ controller, and serviceaccounts controller. kube-controller-manager [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -897,5 +899,5 @@ kube-controller-manager [flags] -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-proxy.md b/content/en/docs/reference/command-line-tools-reference/kube-proxy.md index 1ad3f6ee15..c888f2bfff 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-proxy.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-proxy.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 30 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + The Kubernetes network proxy runs on each node. This @@ -19,9 +20,10 @@ with the apiserver API to configure the proxy. kube-proxy [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -336,5 +338,5 @@ kube-proxy [flags] -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md b/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md index f807c5d024..e276535500 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 30 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + The Kubernetes scheduler is a policy-rich, topology-aware, @@ -20,9 +21,10 @@ for more information about scheduling and the kube-scheduler component. kube-scheduler [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -512,5 +514,5 @@ kube-scheduler [flags] -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md b/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md index 6269a3ec5a..562ec5b867 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md @@ -5,10 +5,10 @@ reviewers: - smarterclayton - awly title: TLS bootstrapping -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + In a Kubernetes cluster, the components on the worker nodes - kubelet and kube-proxy - need to communicate with Kubernetes master components, specifically kube-apiserver. In order to ensure that communication is kept private, not interfered with, and ensure that each component of the cluster is talking to another trusted component, we strongly @@ -24,9 +24,9 @@ found [here](https://github.com/kubernetes/kubernetes/pull/20439). This document describes the process of node initialization, how to set up TLS client certificate bootstrapping for kubelets, and how it works. -{{% /capture %}} -{{% capture body %}} + + ## Initialization Process When a worker node starts up, the kubelet does the following: @@ -454,4 +454,4 @@ An issue is open referencing this [here](https://github.com/kubernetes/kubernete -{{% /capture %}} + diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet.md b/content/en/docs/reference/command-line-tools-reference/kubelet.md index 595ef138fc..28f13458f1 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 28 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + The kubelet is the primary "node agent" that runs on each node. It can register the node with the apiserver using one of: the hostname; a flag to override the hostname; or specific logic for a cloud provider. @@ -24,10 +25,11 @@ HTTP server: The kubelet can also listen for HTTP and respond to a simple API (u kubelet [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -1265,4 +1267,4 @@ kubelet [flags]
    -{{% /capture %}} + diff --git a/content/en/docs/reference/issues-security/security.md b/content/en/docs/reference/issues-security/security.md index d162e5c18c..b9b1ce7c37 100644 --- a/content/en/docs/reference/issues-security/security.md +++ b/content/en/docs/reference/issues-security/security.md @@ -6,15 +6,15 @@ reviewers: - erictune - philips - jessfraz -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This page describes Kubernetes security and disclosure information. -{{% /capture %}} -{{% capture body %}} + + ## Security Announcements Join the [kubernetes-security-announce](https://groups.google.com/forum/#!forum/kubernetes-security-announce) group for emails about security and major API announcements. @@ -56,4 +56,4 @@ As the security issue moves from triage, to identified fix, to release planning ## Public Disclosure Timing A public disclosure date is negotiated by the Kubernetes Product Security Committee and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it's already publicly known) to a few weeks. For a vulnerability with a straightforward mitigation, we expect report date to disclosure date to be on the order of 7 days. The Kubernetes Product Security Committee holds the final say when setting a disclosure date. -{{% /capture %}} + diff --git a/content/en/docs/reference/kubectl/cheatsheet.md b/content/en/docs/reference/kubectl/cheatsheet.md index dbf0e2dc63..23d074456c 100644 --- a/content/en/docs/reference/kubectl/cheatsheet.md +++ b/content/en/docs/reference/kubectl/cheatsheet.md @@ -4,21 +4,21 @@ reviewers: - erictune - krousey - clove -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + See also: [Kubectl Overview](/docs/reference/kubectl/overview/) and [JsonPath Guide](/docs/reference/kubectl/jsonpath). This page is an overview of the `kubectl` command. -{{% /capture %}} -{{% capture body %}} + + # kubectl - Cheat Sheet @@ -382,9 +382,10 @@ Verbosity | Description `--v=8` | Display HTTP request contents. `--v=9` | Display HTTP request contents without truncation of contents. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Overview of kubectl](/docs/reference/kubectl/overview/). @@ -394,4 +395,4 @@ Verbosity | Description * See more community [kubectl cheatsheets](https://github.com/dennyzhang/cheatsheet-kubernetes-A4). -{{% /capture %}} + diff --git a/content/en/docs/reference/kubectl/conventions.md b/content/en/docs/reference/kubectl/conventions.md index c4bdd59ec5..062847c485 100644 --- a/content/en/docs/reference/kubectl/conventions.md +++ b/content/en/docs/reference/kubectl/conventions.md @@ -2,14 +2,14 @@ title: kubectl Usage Conventions reviewers: - janetkuo -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Recommended usage conventions for `kubectl`. -{{% /capture %}} -{{% capture body %}} + + ## Using `kubectl` in Reusable Scripts @@ -59,4 +59,4 @@ You can generate the following resources with a kubectl command, `kubectl create * You can use `kubectl apply` to create or update resources. For more information about using kubectl apply to update resources, see [Kubectl Book](https://kubectl.docs.kubernetes.io). -{{% /capture %}} + diff --git a/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md b/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md index 7def04e04c..9cda6064aa 100644 --- a/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md +++ b/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md @@ -1,16 +1,16 @@ --- title: kubectl for Docker Users -content_template: templates/concept +content_type: concept reviewers: - brendandburns - thockin --- -{{% capture overview %}} + You can use the Kubernetes command line tool kubectl to interact with the API Server. Using kubectl is straightforward if you are familiar with the Docker command line tool. However, there are a few differences between the docker commands and the kubectl commands. The following sections show a docker sub-command and describe the equivalent kubectl command. -{{% /capture %}} -{{% capture body %}} + + ## docker run To run an nginx Deployment and expose the Deployment, see [kubectl run](/docs/reference/generated/kubectl/kubectl-commands/#run). @@ -361,4 +361,4 @@ Grafana is running at https://203.0.113.141/api/v1/namespaces/kube-system/servic Heapster is running at https://203.0.113.141/api/v1/namespaces/kube-system/services/monitoring-heapster/proxy InfluxDB is running at https://203.0.113.141/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy ``` -{{% /capture %}} + diff --git a/content/en/docs/reference/kubectl/jsonpath.md b/content/en/docs/reference/kubectl/jsonpath.md index 731af0004e..50c051c9f4 100644 --- a/content/en/docs/reference/kubectl/jsonpath.md +++ b/content/en/docs/reference/kubectl/jsonpath.md @@ -1,14 +1,14 @@ --- title: JSONPath Support -content_template: templates/concept +content_type: concept weight: 25 --- -{{% capture overview %}} + Kubectl supports JSONPath template. -{{% /capture %}} -{{% capture body %}} + + JSONPath template is composed of JSONPath expressions enclosed by curly braces {}. Kubectl uses JSONPath expressions to filter on specific fields in the JSON object and format the output. @@ -98,4 +98,4 @@ kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{\"\t\"}{.status. ``` {{< /note >}} -{{% /capture %}} + diff --git a/content/en/docs/reference/kubectl/kubectl.md b/content/en/docs/reference/kubectl/kubectl.md index 6342de0008..f7e9a0f934 100644 --- a/content/en/docs/reference/kubectl/kubectl.md +++ b/content/en/docs/reference/kubectl/kubectl.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 30 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + kubectl controls the Kubernetes cluster manager. @@ -15,9 +16,10 @@ kubectl controls the Kubernetes cluster manager. kubectl [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} + @@ -521,9 +523,10 @@ kubectl [flags] -{{% /capture %}} -{{% capture seealso %}} + +## {{% heading "seealso" %}} + * [kubectl alpha](/docs/reference/generated/kubectl/kubectl-commands#alpha) - Commands for features in alpha * [kubectl annotate](/docs/reference/generated/kubectl/kubectl-commands#annotate) - Update the annotations on a resource @@ -569,5 +572,5 @@ kubectl [flags] * [kubectl version](/docs/reference/generated/kubectl/kubectl-commands#version) - Print the client and server version information * [kubectl wait](/docs/reference/generated/kubectl/kubectl-commands#wait) - Experimental: Wait for a specific condition on one or many resources. -{{% /capture %}} + diff --git a/content/en/docs/reference/kubectl/overview.md b/content/en/docs/reference/kubectl/overview.md index 556842d4fd..84e2272dca 100644 --- a/content/en/docs/reference/kubectl/overview.md +++ b/content/en/docs/reference/kubectl/overview.md @@ -2,21 +2,21 @@ reviewers: - hw-qiaolei title: Overview of kubectl -content_template: templates/concept +content_type: concept weight: 20 card: name: reference weight: 20 --- -{{% capture overview %}} + Kubectl is a command line tool for controlling Kubernetes clusters. `kubectl` looks for a file named config in the $HOME/.kube directory. You can specify other [kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) files by setting the KUBECONFIG environment variable or by setting the [`--kubeconfig`](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) flag. This overview covers `kubectl` syntax, describes the command operations, and provides common examples. For details about each command, including all the supported flags and subcommands, see the [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) reference documentation. For installation instructions see [installing kubectl](/docs/tasks/kubectl/install/). -{{% /capture %}} -{{% capture body %}} + + ## Syntax @@ -488,10 +488,11 @@ Current user: plugins-user To find out more about plugins, take a look at the [example cli plugin](https://github.com/kubernetes/sample-cli-plugin). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Start using the [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) commands. -{{% /capture %}} + diff --git a/content/en/docs/reference/kubernetes-api/labels-annotations-taints.md b/content/en/docs/reference/kubernetes-api/labels-annotations-taints.md index e1f1e9a801..d1faa51a88 100644 --- a/content/en/docs/reference/kubernetes-api/labels-annotations-taints.md +++ b/content/en/docs/reference/kubernetes-api/labels-annotations-taints.md @@ -1,18 +1,18 @@ --- title: Well-Known Labels, Annotations and Taints -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Kubernetes reserves all labels and annotations in the kubernetes.io namespace. This document serves both as a reference to the values and as a coordination point for assigning values. -{{% /capture %}} -{{% capture body %}} + + ## kubernetes.io/arch @@ -130,4 +130,4 @@ If `PersistentVolumeLabel` does not support automatic labeling of your Persisten adding the labels manually (or adding support for `PersistentVolumeLabel`). With `PersistentVolumeLabel`, the scheduler prevents Pods from mounting volumes in a different zone. If your infrastructure doesn't have this constraint, you don't need to add the zone labels to the volumes at all. -{{% /capture %}} + diff --git a/content/en/docs/reference/scheduling/policies.md b/content/en/docs/reference/scheduling/policies.md index 0bf6e030b0..67d34e59f7 100644 --- a/content/en/docs/reference/scheduling/policies.md +++ b/content/en/docs/reference/scheduling/policies.md @@ -1,10 +1,10 @@ --- title: Scheduling Policies -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + A scheduling Policy can be used to specify the *predicates* and *priorities* that the {{< glossary_tooltip text="kube-scheduler" term_id="kube-scheduler" >}} @@ -16,9 +16,9 @@ You can set a scheduling policy by running `kube-scheduler --policy-configmap ` and using the [Policy type](https://pkg.go.dev/k8s.io/kube-scheduler@v0.18.0/config/v1?tab=doc#Policy). -{{% /capture %}} -{{% capture body %}} + + ## Predicates @@ -117,9 +117,10 @@ The following *priorities* implement scoring: - `EvenPodsSpreadPriority`: Implements preferred [pod topology spread constraints](/docs/concepts/workloads/pods/pod-topology-spread-constraints/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [scheduling](/docs/concepts/scheduling-eviction/kube-scheduler/) * Learn about [kube-scheduler profiles](/docs/reference/scheduling/profiles/) -{{% /capture %}} + diff --git a/content/en/docs/reference/scheduling/profiles.md b/content/en/docs/reference/scheduling/profiles.md index 48fa961b2e..fe28d10bd1 100644 --- a/content/en/docs/reference/scheduling/profiles.md +++ b/content/en/docs/reference/scheduling/profiles.md @@ -1,10 +1,10 @@ --- title: Scheduling Profiles -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="alpha" >}} @@ -20,9 +20,9 @@ or [`v1alpha2`](https://pkg.go.dev/k8s.io/kube-scheduler@{{< param "fullversion" The `v1alpha2` API allows you to configure kube-scheduler to run [multiple profiles](#multiple-profiles). -{{% /capture %}} -{{% capture body %}} + + ## Extension points @@ -174,8 +174,9 @@ the same configuration parameters (if applicable). This is because the scheduler only has one pending pods queue. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [scheduling](/docs/concepts/scheduling-eviction/kube-scheduler/) -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md index a0aa304217..cb42a34df9 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md +++ b/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md @@ -3,10 +3,10 @@ reviewers: - luxas - jbeda title: Implementation details -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.10" state="stable" >}} @@ -14,9 +14,9 @@ weight: 100 However, it might not be obvious _how_ kubeadm does that. This document provides additional details on what happen under the hood, with the aim of sharing knowledge on Kubernetes cluster best practices. -{{% /capture %}} -{{% capture body %}} + + ## Core design principles The cluster that `kubeadm init` and `kubeadm join` set up should be: @@ -531,4 +531,4 @@ Please note that: 1. To make dynamic kubelet configuration work, flag `--dynamic-config-dir=/var/lib/kubelet/config/dynamic` should be specified in `/etc/systemd/system/kubelet.service.d/10-kubeadm.conf` -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md index c918cd5580..a4b0e501d8 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-config.md @@ -3,10 +3,10 @@ reviewers: - luxas - jbeda title: kubeadm config -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + During `kubeadm init`, kubeadm uploads the `ClusterConfiguration` object to your cluster in a ConfigMap called `kubeadm-config` in the `kube-system` namespace. This configuration is then read during `kubeadm join`, `kubeadm reset` and `kubeadm upgrade`. To view this ConfigMap call `kubeadm config view`. @@ -19,9 +19,9 @@ In Kubernetes v1.13.0 and later to list/pull kube-dns images instead of the Core the `--config` method described [here](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-addon) has to be used. -{{% /capture %}} -{{% capture body %}} + + ## kubeadm config view {#cmd-config-view} {{< include "generated/kubeadm_config_view.md" >}} @@ -40,8 +40,9 @@ has to be used. ## kubeadm config images pull {#cmd-config-images-pull} {{< include "generated/kubeadm_config_images_pull.md" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) to upgrade a Kubernetes cluster to a newer version -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md index 7103b39d42..54729065c6 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -3,14 +3,14 @@ reviewers: - luxas - jbeda title: kubeadm init -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This command initializes a Kubernetes control-plane node. -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_init.md" >}} @@ -255,12 +255,13 @@ it does not allow the root CA hash to be validated with `--discovery-token-ca-cert-hash` (since it's not generated when the nodes are provisioned). For details, see the [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm init phase](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/) to understand more about `kubeadm init` phases * [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) to bootstrap a Kubernetes worker node and join it to the cluster * [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) to upgrade a Kubernetes cluster to a newer version * [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) to revert any changes made to this host by `kubeadm init` or `kubeadm join` -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-join.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-join.md index 1e99d1682b..abceaf5f70 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-join.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-join.md @@ -3,14 +3,14 @@ reviewers: - luxas - jbeda title: kubeadm join -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This command initializes a Kubernetes worker node and joins it to the cluster. -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_join.md" >}} ### The join workflow {#join-workflow} @@ -276,10 +276,11 @@ kubeadm config print join-defaults For details on individual fields in `JoinConfiguration` see [the godoc](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#JoinConfiguration). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) to bootstrap a Kubernetes control-plane node * [kubeadm token](/docs/reference/setup-tools/kubeadm/kubeadm-token/) to manage tokens for `kubeadm join` * [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) to revert any changes made to this host by `kubeadm init` or `kubeadm join` -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-reset.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-reset.md index 7185a51475..2664283daa 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-reset.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-reset.md @@ -3,14 +3,14 @@ reviewers: - luxas - jbeda title: kubeadm reset -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Performs a best effort revert of changes made by `kubeadm init` or `kubeadm join`. -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_reset.md" >}} ### Reset workflow {#reset-workflow} @@ -35,9 +35,10 @@ etcdctl del "" --prefix ``` See the [etcd documentation](https://github.com/coreos/etcd/tree/master/etcdctl) for more information. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) to bootstrap a Kubernetes control-plane node * [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) to bootstrap a Kubernetes worker node and join it to the cluster -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-token.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-token.md index a8e9c7cd99..92a187bb92 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-token.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-token.md @@ -3,10 +3,10 @@ reviewers: - luxas - jbeda title: kubeadm token -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + Bootstrap tokens are used for establishing bidirectional trust between a node joining the cluster and a control-plane node, as described in [authenticating with bootstrap tokens](/docs/reference/access-authn-authz/bootstrap-tokens/). @@ -14,9 +14,9 @@ the cluster and a control-plane node, as described in [authenticating with boots `kubeadm init` creates an initial token with a 24-hour TTL. The following commands allow you to manage such a token and also to create and manage new ones. -{{% /capture %}} -{{% capture body %}} + + ## kubeadm token create {#cmd-token-create} {{< include "generated/kubeadm_token_create.md" >}} @@ -28,8 +28,9 @@ such a token and also to create and manage new ones. ## kubeadm token list {#cmd-token-list} {{< include "generated/kubeadm_token_list.md" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) to bootstrap a Kubernetes worker node and join it to the cluster -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md index 31c2f11d9c..71483aa1d6 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md @@ -3,15 +3,15 @@ reviewers: - luxas - jbeda title: kubeadm upgrade -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + `kubeadm upgrade` is a user-friendly command that wraps complex upgrading logic behind one command, with support for both planning an upgrade and actually performing it. -{{% /capture %}} -{{% capture body %}} + + ## kubeadm upgrade guidance @@ -46,8 +46,9 @@ reports of unexpected results. ## kubeadm upgrade node {#cmd-upgrade-node} {{< include "generated/kubeadm_upgrade_node.md" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm config](/docs/reference/setup-tools/kubeadm/kubeadm-config/) if you initialized your cluster using kubeadm v1.7.x or lower, to configure your cluster for `kubeadm upgrade` -{{% /capture %}} + diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-version.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-version.md index 5da4209f3e..a4b57e796c 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-version.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-version.md @@ -3,13 +3,13 @@ reviewers: - luxas - jbeda title: kubeadm version -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + This command prints the version of kubeadm. -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_version.md" >}} -{{% /capture %}} + diff --git a/content/en/docs/reference/tools.md b/content/en/docs/reference/tools.md index 349ce58f2c..ef210f2b07 100644 --- a/content/en/docs/reference/tools.md +++ b/content/en/docs/reference/tools.md @@ -2,14 +2,14 @@ reviewers: - janetkuo title: Tools -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kubernetes contains several built-in tools to help you work with the Kubernetes system. -{{% /capture %}} -{{% capture body %}} + + ## Kubectl [`kubectl`](/docs/tasks/tools/install-kubectl/) is the command line tool for Kubernetes. It controls the Kubernetes cluster manager. @@ -51,4 +51,4 @@ Use Kompose to: * Translate a Docker Compose file into Kubernetes objects * Go from local Docker development to managing your application via Kubernetes * Convert v1 or v2 Docker Compose `yaml` files or [Distributed Application Bundles](https://docs.docker.com/compose/bundles/) -{{% /capture %}} + diff --git a/content/en/docs/reference/using-api/api-concepts.md b/content/en/docs/reference/using-api/api-concepts.md index 0c3f1b2341..f83c43c00f 100644 --- a/content/en/docs/reference/using-api/api-concepts.md +++ b/content/en/docs/reference/using-api/api-concepts.md @@ -4,15 +4,15 @@ reviewers: - smarterclayton - lavalamp - liggitt -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This page describes common concepts in the Kubernetes API. -{{% /capture %}} -{{% capture body %}} + + The Kubernetes API is a resource-based (RESTful) programmatic interface provided via HTTP. It supports retrieving, creating, updating, and deleting primary resources via the standard HTTP verbs (POST, PUT, PATCH, DELETE, GET), includes additional subresources for many objects that allow fine grained authorization (such as binding a pod to a node), and can accept and serve those resources in different representations for convenience or efficiency. It also supports efficient change notifications on resources via "watches" and consistent lists to allow other components to effectively cache and synchronize the state of resources. diff --git a/content/en/docs/reference/using-api/api-overview.md b/content/en/docs/reference/using-api/api-overview.md index 3820085e6b..cfba8b9f19 100644 --- a/content/en/docs/reference/using-api/api-overview.md +++ b/content/en/docs/reference/using-api/api-overview.md @@ -4,7 +4,7 @@ reviewers: - erictune - lavalamp - jbeda -content_template: templates/concept +content_type: concept weight: 10 card: name: reference @@ -12,11 +12,11 @@ card: title: Overview of API --- -{{% capture overview %}} + This page provides an overview of the Kubernetes API. -{{% /capture %}} -{{% capture body %}} + + The REST API is the fundamental fabric of Kubernetes. All operations and communications between components, and external user commands are REST API calls that the API Server handles. Consequently, everything in the Kubernetes platform is treated as an API object and has a corresponding entry in the [API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/). diff --git a/content/en/docs/reference/using-api/client-libraries.md b/content/en/docs/reference/using-api/client-libraries.md index 0d8af9394d..1531b2c5df 100644 --- a/content/en/docs/reference/using-api/client-libraries.md +++ b/content/en/docs/reference/using-api/client-libraries.md @@ -2,16 +2,16 @@ title: Client Libraries reviewers: - ahmetb -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This page contains an overview of the client libraries for using the Kubernetes API from various programming languages. -{{% /capture %}} -{{% capture body %}} + + To write applications using the [Kubernetes REST API](/docs/reference/using-api/api-overview/), you do not need to implement the API calls and request/response types yourself. You can use a client library for the programming language you are using. @@ -75,6 +75,6 @@ their authors, not the Kubernetes team. | DotNet (RestSharp) | [github.com/masroorhasan/Kubernetes.DotNet](https://github.com/masroorhasan/Kubernetes.DotNet) | | Elixir | [github.com/obmarg/kazan](https://github.com/obmarg/kazan/) | | Elixir | [github.com/coryodaniel/k8s](https://github.com/coryodaniel/k8s) | -{{% /capture %}} + diff --git a/content/en/docs/reference/using-api/deprecation-policy.md b/content/en/docs/reference/using-api/deprecation-policy.md index f55438cd18..a21d0887ba 100644 --- a/content/en/docs/reference/using-api/deprecation-policy.md +++ b/content/en/docs/reference/using-api/deprecation-policy.md @@ -4,15 +4,15 @@ reviewers: - lavalamp - thockin title: Kubernetes Deprecation Policy -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + This document details the deprecation policy for various facets of the system. -{{% /capture %}} -{{% capture body %}} + + Kubernetes is a large system with many components and many contributors. As with any such software, the feature set naturally evolves over time, and sometimes a feature may need to be removed. This could include an API, a flag, @@ -425,4 +425,4 @@ leaders to find the best solutions for those specific cases, always bearing in mind that Kubernetes is committed to being a stable system that, as much as possible, never breaks users. Exceptions will always be announced in all relevant release notes. -{{% /capture %}} + diff --git a/content/en/docs/setup/_index.md b/content/en/docs/setup/_index.md index 16702b40f5..91b734953c 100644 --- a/content/en/docs/setup/_index.md +++ b/content/en/docs/setup/_index.md @@ -7,7 +7,7 @@ no_issue: true title: Getting started main_menu: true weight: 20 -content_template: templates/concept +content_type: concept card: name: setup weight: 20 @@ -18,7 +18,7 @@ card: title: Production environment --- -{{% capture overview %}} + This section covers different options to set up and run Kubernetes. @@ -28,9 +28,9 @@ You can deploy a Kubernetes cluster on a local machine, cloud, on-prem datacente More simply, you can create a Kubernetes cluster in learning and production environments. -{{% /capture %}} -{{% capture body %}} + + ## Learning environment @@ -51,4 +51,4 @@ When evaluating a solution for a production environment, consider which aspects [Kubernetes Partners](https://kubernetes.io/partners/#conformance) includes a list of [Certified Kubernetes](https://github.com/cncf/k8s-conformance/#certified-kubernetes) providers. -{{% /capture %}} + diff --git a/content/en/docs/setup/best-practices/certificates.md b/content/en/docs/setup/best-practices/certificates.md index 6169b3f872..ce7939bc4d 100644 --- a/content/en/docs/setup/best-practices/certificates.md +++ b/content/en/docs/setup/best-practices/certificates.md @@ -2,20 +2,20 @@ title: PKI certificates and requirements reviewers: - sig-cluster-lifecycle -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Kubernetes requires PKI certificates for authentication over TLS. If you install Kubernetes with [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/), the certificates that your cluster requires are automatically generated. You can also generate your own certificates -- for example, to keep your private keys more secure by not storing them on the API server. This page explains the certificates that your cluster requires. -{{% /capture %}} -{{% capture body %}} + + ## How certificates are used by your cluster @@ -164,4 +164,4 @@ These files are used as follows: [kubeadm]: /docs/reference/setup-tools/kubeadm/kubeadm/ [proxy]: /docs/tasks/access-kubernetes-api/configure-aggregation-layer/ -{{% /capture %}} + diff --git a/content/en/docs/setup/best-practices/multiple-zones.md b/content/en/docs/setup/best-practices/multiple-zones.md index ba58df028f..ab61c839a9 100644 --- a/content/en/docs/setup/best-practices/multiple-zones.md +++ b/content/en/docs/setup/best-practices/multiple-zones.md @@ -5,16 +5,16 @@ reviewers: - quinton-hoole title: Running in multiple zones weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This page describes how to run a cluster in multiple zones. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -401,4 +401,4 @@ KUBERNETES_PROVIDER=aws KUBE_USE_EXISTING_MASTER=true KUBE_AWS_ZONE=us-west-2b k KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2a kubernetes/cluster/kube-down.sh ``` -{{% /capture %}} + diff --git a/content/en/docs/setup/learning-environment/kind.md b/content/en/docs/setup/learning-environment/kind.md index e476d220d0..ac355bd157 100644 --- a/content/en/docs/setup/learning-environment/kind.md +++ b/content/en/docs/setup/learning-environment/kind.md @@ -1,22 +1,22 @@ --- title: Installing Kubernetes with Kind weight: 40 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kind is a tool for running local Kubernetes clusters using Docker container "nodes". -{{% /capture %}} -{{% capture body %}} + + ## Installation See [Installing Kind](https://kind.sigs.k8s.io/docs/user/quick-start/). -{{% /capture %}} + diff --git a/content/en/docs/setup/learning-environment/minikube.md b/content/en/docs/setup/learning-environment/minikube.md index e314d56608..7b480f5d56 100644 --- a/content/en/docs/setup/learning-environment/minikube.md +++ b/content/en/docs/setup/learning-environment/minikube.md @@ -5,16 +5,16 @@ reviewers: - aaron-prindle title: Installing Kubernetes with Minikube weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a Virtual Machine (VM) on your laptop for users looking to try out Kubernetes or develop with it day-to-day. -{{% /capture %}} -{{% capture body %}} + + ## Minikube Features @@ -509,4 +509,4 @@ For more information about Minikube, see the [proposal](https://git.k8s.io/commu Contributions, questions, and comments are all welcomed and encouraged! Minikube developers hang out on [Slack](https://kubernetes.slack.com) in the #minikube channel (get an invitation [here](http://slack.kubernetes.io/)). We also have the [kubernetes-dev Google Groups mailing list](https://groups.google.com/forum/#!forum/kubernetes-dev). If you are posting to the list please prefix your subject with "minikube: ". -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/container-runtimes.md b/content/en/docs/setup/production-environment/container-runtimes.md index 7db25e022b..14c8053efb 100644 --- a/content/en/docs/setup/production-environment/container-runtimes.md +++ b/content/en/docs/setup/production-environment/container-runtimes.md @@ -3,17 +3,17 @@ reviewers: - vincepri - bart0sh title: Container runtimes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="stable" >}} To run containers in Pods, Kubernetes uses a container runtime. Here are the installation instructions for various runtimes. -{{% /capture %}} -{{% capture body %}} + + {{< caution >}} @@ -402,4 +402,4 @@ When using kubeadm, manually configure the Refer to the [Frakti QuickStart guide](https://github.com/kubernetes/frakti#quickstart) for more information. -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/on-premises-vm/cloudstack.md b/content/en/docs/setup/production-environment/on-premises-vm/cloudstack.md index e85953dd86..1f7d1fd81f 100644 --- a/content/en/docs/setup/production-environment/on-premises-vm/cloudstack.md +++ b/content/en/docs/setup/production-environment/on-premises-vm/cloudstack.md @@ -2,10 +2,10 @@ reviewers: - thockin title: Cloudstack -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + [CloudStack](https://cloudstack.apache.org/) is a software to build public and private clouds based on hardware virtualization principles (traditional IaaS). To deploy Kubernetes on CloudStack there are several possibilities depending on the Cloud being used and what images are made available. CloudStack also has a vagrant plugin available, hence Vagrant could be used to deploy Kubernetes either using the existing shell provisioner or using new Salt based recipes. @@ -13,9 +13,9 @@ content_template: templates/concept This guide uses a single [Ansible playbook](https://github.com/apachecloudstack/k8s), which is completely automated and can deploy Kubernetes on a CloudStack based Cloud using CoreOS images. The playbook, creates an ssh key pair, creates a security group and associated rules and finally starts coreOS instances configured via cloud-init. -{{% /capture %}} -{{% capture body %}} + + ## Prerequisites @@ -118,4 +118,4 @@ IaaS Provider | Config. Mgmt | OS | Networking | Docs CloudStack | Ansible | CoreOS | flannel | [docs](/docs/setup/production-environment/on-premises-vm/cloudstack/) | | Community ([@Guiques](https://github.com/ltupin/)) -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/on-premises-vm/dcos.md b/content/en/docs/setup/production-environment/on-premises-vm/dcos.md index 12e47948e2..e4b310902c 100644 --- a/content/en/docs/setup/production-environment/on-premises-vm/dcos.md +++ b/content/en/docs/setup/production-environment/on-premises-vm/dcos.md @@ -2,10 +2,10 @@ reviewers: - smugcloud title: Kubernetes on DC/OS -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Mesosphere provides an easy option to provision Kubernetes onto [DC/OS](https://mesosphere.com/product/), offering: @@ -14,12 +14,12 @@ Mesosphere provides an easy option to provision Kubernetes onto [DC/OS](https:// * Highly available and secure by default * Kubernetes running alongside fast-data platforms (e.g. Akka, Cassandra, Kafka, Spark) -{{% /capture %}} -{{% capture body %}} + + ## Official Mesosphere Guide The canonical source of getting started on DC/OS is located in the [quickstart repo](https://github.com/mesosphere/dcos-kubernetes-quickstart). -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/on-premises-vm/ovirt.md b/content/en/docs/setup/production-environment/on-premises-vm/ovirt.md index be6f3b8e77..1d57b6f7eb 100644 --- a/content/en/docs/setup/production-environment/on-premises-vm/ovirt.md +++ b/content/en/docs/setup/production-environment/on-premises-vm/ovirt.md @@ -3,16 +3,16 @@ reviewers: - caesarxuchao - erictune title: oVirt -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + oVirt is a virtual datacenter manager that delivers powerful management of multiple virtual machines on multiple hosts. Using KVM and libvirt, oVirt can be installed on Fedora, CentOS, or Red Hat Enterprise Linux hosts to set up and manage your virtual data center. -{{% /capture %}} -{{% capture body %}} + + ## oVirt Cloud Provider Deployment @@ -69,4 +69,4 @@ IaaS Provider | Config. Mgmt | OS | Networking | Docs oVirt | | | | [docs](/docs/setup/production-environment/on-premises-vm/ovirt/) | | Community ([@simon3z](https://github.com/simon3z)) -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kops.md b/content/en/docs/setup/production-environment/tools/kops.md index 10ae6dfa65..338dbee0e5 100644 --- a/content/en/docs/setup/production-environment/tools/kops.md +++ b/content/en/docs/setup/production-environment/tools/kops.md @@ -1,10 +1,10 @@ --- title: Installing Kubernetes with kops -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This quickstart shows you how to easily install a Kubernetes cluster on AWS. It uses a tool called [`kops`](https://github.com/kubernetes/kops). @@ -18,9 +18,10 @@ kops is an automated provisioning system: * High-Availability support - see the [high_availability.md](https://github.com/kubernetes/kops/blob/master/docs/operations/high_availability.md) * Can directly provision, or generate terraform manifests - see the [terraform.md](https://github.com/kubernetes/kops/blob/master/docs/terraform.md) -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * You must have [kubectl](/docs/tasks/tools/install-kubectl/) installed. @@ -28,9 +29,9 @@ kops is an automated provisioning system: * You must have an [AWS account](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html), generate [IAM keys](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) and [configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration) them. -{{% /capture %}} -{{% capture steps %}} + + ## Creating a cluster @@ -225,13 +226,14 @@ See the [list of add-ons](/docs/concepts/cluster-administration/addons/) to expl * To delete your cluster: `kops delete cluster useast1.dev.example.com --yes` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/user-guide/kubectl-overview/). * Learn more about `kops` [advanced usage](https://kops.sigs.k8s.io/) for tutorials, best practices and advanced configuration options. * Follow `kops` community discussions on Slack: [community discussions](https://github.com/kubernetes/kops#other-ways-to-communicate-with-the-contributors) * Contribute to `kops` by addressing or raising an issue [GitHub Issues](https://github.com/kubernetes/kops/issues) -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md b/content/en/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md index e2ae7267bc..1bcdad0092 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Customizing control plane configuration with kubeadm -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="stable" >}} @@ -30,9 +30,9 @@ For more details on each field in the configuration you can navigate to our You can generate a `ClusterConfiguration` object with default values by running `kubeadm config print init-defaults` and saving the output to a file of your choice. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## APIServer flags @@ -83,4 +83,4 @@ scheduler: kubeconfig: /home/johndoe/kubeconfig.yaml ``` -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index 2d38666386..f986031911 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Creating a single control-plane cluster with kubeadm -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + The `kubeadm` tool helps you bootstrap a minimum viable Kubernetes cluster that conforms to best practices. In fact, you can use `kubeadm` to set up a cluster that will pass the [Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification). `kubeadm` also supports other cluster @@ -24,9 +24,10 @@ of cloud servers, a Raspberry Pi, and more. Whether you're deploying into the cloud or on-premises, you can integrate `kubeadm` into provisioning systems such as Ansible or Terraform. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + To follow this guide, you need: @@ -53,9 +54,9 @@ slightly as the tool evolves, but the overall implementation should be pretty st Any commands under `kubeadm alpha` are, by definition, supported on an alpha level. {{< /note >}} -{{% /capture %}} -{{% capture steps %}} + + ## Objectives @@ -564,9 +565,9 @@ See the [`kubeadm reset`](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) reference documentation for more information about this subcommand and its options. -{{% /capture %}} -{{% capture discussion %}} + + ## What's next {#whats-next} @@ -641,4 +642,4 @@ supports your chosen platform. If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/en/docs/setup/production-environment/tools/kubeadm/ha-topology.md index ec05ee12db..53b1f38024 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Options for Highly Available topology -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + This page explains the two options for configuring the topology of your highly available (HA) Kubernetes clusters. @@ -22,9 +22,9 @@ kubeadm bootstraps the etcd cluster statically. Read the etcd [Clustering Guide] for more details. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Stacked etcd topology @@ -67,10 +67,11 @@ A minimum of three hosts for control plane nodes and three hosts for etcd nodes ![External etcd topology](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Set up a highly available cluster with kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/) -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/high-availability.md b/content/en/docs/setup/production-environment/tools/kubeadm/high-availability.md index 162e60e175..436f4e3573 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/high-availability.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/high-availability.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Creating Highly Available clusters with kubeadm -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + This page explains two different approaches to setting up a highly available Kubernetes cluster using kubeadm: @@ -30,9 +30,10 @@ environment, neither approach documented here works with Service objects of type LoadBalancer, or with dynamic PersistentVolumes. {{< /caution >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + For both methods you need this infrastructure: @@ -50,9 +51,9 @@ For the external etcd cluster only, you also need: - Three additional machines for etcd members -{{% /capture %}} -{{% capture steps %}} + + ## First steps for both methods @@ -373,4 +374,4 @@ SSH is required if you want to control all nodes from a single machine. # Quote this line if you are using external etcd mv /home/${USER}/etcd-ca.key /etc/kubernetes/pki/etcd/ca.key ``` -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md index 9438e86140..e06918d7b8 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md @@ -1,6 +1,6 @@ --- title: Installing kubeadm -content_template: templates/task +content_type: task weight: 10 card: name: setup @@ -8,14 +8,15 @@ card: title: Install the kubeadm setup tool --- -{{% capture overview %}} + This page shows how to install the `kubeadm` toolbox. For information how to create a cluster with kubeadm once you have performed this installation process, see the [Using kubeadm to Create a Cluster](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) page. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * One or more machines running one of: - Ubuntu 16.04+ @@ -32,9 +33,9 @@ For information how to create a cluster with kubeadm once you have performed thi * Certain ports are open on your machines. See [here](#check-required-ports) for more details. * Swap disabled. You **MUST** disable swap in order for the kubelet to work properly. -{{% /capture %}} -{{% capture steps %}} + + ## Verify the MAC address and product_uuid are unique for every node {#verify-mac-address} @@ -301,8 +302,8 @@ like CRI-O and containerd is work in progress. If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [Using kubeadm to Create a Cluster](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md b/content/en/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md index 070dbd7274..8dfcb250ce 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Configuring each kubelet in your cluster using kubeadm -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="stable" >}} @@ -26,9 +26,9 @@ characteristics of a given machine (such as OS, storage, and networking). You ca of your kubelets manually, but kubeadm now provides a `KubeletConfiguration` API type for [managing your kubelet configurations centrally](#configure-kubelets-using-kubeadm). -{{% /capture %}} -{{% capture body %}} + + ## Kubelet configuration patterns @@ -203,4 +203,4 @@ The DEB and RPM packages shipped with the Kubernetes releases are: | `kubernetes-cni` | Installs the official CNI binaries into the `/opt/cni/bin` directory. | | `cri-tools` | Installs the `/usr/bin/crictl` binary from the [cri-tools git repository](https://github.com/kubernetes-incubator/cri-tools). | -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/self-hosting.md b/content/en/docs/setup/production-environment/tools/kubeadm/self-hosting.md index 84c98ebe9c..334e2266f2 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/self-hosting.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/self-hosting.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Configuring your kubernetes cluster to self-host the control plane -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + ### Self-hosting the Kubernetes control plane {#self-hosting} @@ -19,9 +19,9 @@ configured in the kubelet via static files. To create a self-hosted cluster see the [kubeadm alpha selfhosting pivot](/docs/reference/setup-tools/kubeadm/kubeadm-alpha/#cmd-selfhosting) command. -{{% /capture %}} -{{% capture body %}} + + #### Caveats @@ -67,4 +67,4 @@ In summary, `kubeadm alpha selfhosting` works as follows: 1. When the original static control plane stops, the new self-hosted control plane is able to bind to listening ports and become active. -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md index 708e10569f..739b405d14 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md @@ -2,11 +2,11 @@ reviewers: - sig-cluster-lifecycle title: Set up a High Availability etcd cluster with kubeadm -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + {{< note >}} While kubeadm is being used as the management tool for external etcd nodes @@ -23,9 +23,10 @@ becoming unavailable. This task walks through the process of creating a high availability etcd cluster of three members that can be used as an external etcd when using kubeadm to set up a kubernetes cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Three hosts that can talk to each other over ports 2379 and 2380. This document assumes these default ports. However, they are configurable through @@ -36,9 +37,9 @@ when using kubeadm to set up a kubernetes cluster. [toolbox]: /docs/setup/production-environment/tools/kubeadm/install-kubeadm/ -{{% /capture %}} -{{% capture steps %}} + + ## Setting up the cluster @@ -264,12 +265,13 @@ this example. - Set `${ETCD_TAG}` to the version tag of your etcd image. For example `3.4.3-0`. To see the etcd image and tag that kubeadm uses execute `kubeadm config images list --kubernetes-version ${K8S_VERSION}`, where `${K8S_VERSION}` is for example `v1.17.0` - Set `${HOST0}`to the IP address of the host you are testing. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once you have a working 3 member etcd cluster, you can continue setting up a highly available control plane using the [external etcd method with kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/). -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md index 054f4b28fb..0294284c9a 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md @@ -1,10 +1,10 @@ --- title: Troubleshooting kubeadm -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + As with any program, you might run into an error installing or running kubeadm. This page lists some common failure scenarios and have provided steps that can help you understand and fix the problem. @@ -18,9 +18,9 @@ If your problem is not listed below, please follow the following steps: - If you are unsure about how kubeadm works, you can ask on [Slack](http://slack.k8s.io/) in #kubeadm, or open a question on [StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes). Please include relevant tags like `#kubernetes` and `#kubeadm` so folks can help you. -{{% /capture %}} -{{% capture body %}} + + ## Not possible to join a v1.18 Node to a v1.17 cluster due to missing RBAC @@ -404,4 +404,4 @@ nodeRegistration: Alternatively, you can modify `/etc/fstab` to make the `/usr` mount writeable, but please be advised that this is modifying a design principle of the Linux distribution. -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/tools/kubespray.md b/content/en/docs/setup/production-environment/tools/kubespray.md index ae323d38cf..07c0b3c574 100644 --- a/content/en/docs/setup/production-environment/tools/kubespray.md +++ b/content/en/docs/setup/production-environment/tools/kubespray.md @@ -1,10 +1,10 @@ --- title: Installing Kubernetes with Kubespray -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This quickstart helps to install a Kubernetes cluster hosted on GCE, Azure, OpenStack, AWS, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (Experimental) or Baremetal with [Kubespray](https://github.com/kubernetes-sigs/kubespray). @@ -23,9 +23,9 @@ Kubespray is a composition of [Ansible](http://docs.ansible.com/) playbooks, [in To choose a tool which best fits your use case, read [this comparison](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/comparisons.md) to [kubeadm](/docs/admin/kubeadm/) and [kops](/docs/setup/production-environment/tools/kops/). -{{% /capture %}} -{{% capture body %}} + + ## Creating a cluster @@ -113,10 +113,10 @@ When running the reset playbook, be sure not to accidentally target your product * Slack Channel: [#kubespray](https://kubernetes.slack.com/messages/kubespray/) (You can get your invite [here](http://slack.k8s.io/)) * [GitHub Issues](https://github.com/kubernetes-sigs/kubespray/issues) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Check out planned work on Kubespray's [roadmap](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/roadmap.md). -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/setup/production-environment/turnkey/aws.md b/content/en/docs/setup/production-environment/turnkey/aws.md index 922f4a3eb9..92dd18075c 100644 --- a/content/en/docs/setup/production-environment/turnkey/aws.md +++ b/content/en/docs/setup/production-environment/turnkey/aws.md @@ -3,16 +3,17 @@ reviewers: - justinsb - clove title: Running Kubernetes on AWS EC2 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page describes how to install a Kubernetes cluster on AWS. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + To create a Kubernetes cluster on AWS, you will need an Access Key ID and a Secret Access Key from AWS. @@ -28,9 +29,9 @@ To create a Kubernetes cluster on AWS, you will need an Access Key ID and a Secr * [KubeOne](https://github.com/kubermatic/kubeone) is an open source cluster lifecycle management tool that creates, upgrades and manages Kubernetes Highly-Available clusters. -{{% /capture %}} -{{% capture steps %}} + + ## Getting started with your cluster @@ -90,4 +91,4 @@ AWS | KubeOne | Ubuntu, CoreOS, CentOS | canal, weave Please see the [Kubernetes docs](/docs/) for more details on administering and using a Kubernetes cluster. -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/turnkey/gce.md b/content/en/docs/setup/production-environment/turnkey/gce.md index 7ec902d10b..60c4e690d9 100644 --- a/content/en/docs/setup/production-environment/turnkey/gce.md +++ b/content/en/docs/setup/production-environment/turnkey/gce.md @@ -5,16 +5,17 @@ reviewers: - mikedanese - thockin title: Running Kubernetes on Google Compute Engine -content_template: templates/task +content_type: task --- -{{% capture overview %}} + The example below creates a Kubernetes cluster with 3 worker node Virtual Machines and a master Virtual Machine (i.e. 4 VMs in your cluster). This cluster is set up and controlled from your workstation (or wherever you find convenient). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + If you want a simplified getting started experience and GUI for managing clusters, please consider trying [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) for hosted cluster installation and management. @@ -36,9 +37,9 @@ If you want to use custom binaries or pure open source Kubernetes, please contin 1. Make sure you can start up a GCE VM from the command line. At least make sure you can do the [Create an instance](https://cloud.google.com/compute/docs/instances/#startinstancegcloud) part of the GCE Quickstart. 1. Make sure you can SSH into the VM without interactive prompts. See the [Log in to the instance](https://cloud.google.com/compute/docs/instances/#sshing) part of the GCE Quickstart. -{{% /capture %}} -{{% capture steps %}} + + ## Starting a cluster @@ -225,4 +226,4 @@ GCE | Saltstack | Debian | GCE | [docs](/docs/setup/ Please see the [Kubernetes docs](/docs/) for more details on administering and using a Kubernetes cluster. -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md b/content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md index 78e61d4588..09a74d1450 100644 --- a/content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md +++ b/content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md @@ -3,17 +3,17 @@ reviewers: - michmike - patricklang title: Intro to Windows support in Kubernetes -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + Windows applications constitute a large portion of the services and applications that run in many organizations. [Windows containers](https://aka.ms/windowscontainers) provide a modern way to encapsulate processes and package dependencies, making it easier to use DevOps practices and follow cloud native patterns for Windows applications. Kubernetes has become the defacto standard container orchestrator, and the release of Kubernetes 1.14 includes production support for scheduling Windows containers on Windows nodes in a Kubernetes cluster, enabling a vast ecosystem of Windows applications to leverage the power of Kubernetes. Organizations with investments in Windows-based applications and Linux-based applications don't have to look for separate orchestrators to manage their workloads, leading to increased operational efficiencies across their deployments, regardless of operating system. -{{% /capture %}} -{{% capture body %}} + + ## Windows containers in Kubernetes @@ -584,9 +584,10 @@ If filing a bug, please include detailed information about how to reproduce the * [Relevant logs](https://github.com/kubernetes/community/blob/master/sig-windows/CONTRIBUTING.md#gathering-logs) * Tag the issue sig/windows by commenting on the issue with `/sig windows` to bring it to a SIG-Windows member's attention -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + We have a lot of features in our roadmap. An abbreviated high level list is included below, but we encourage you to view our [roadmap project](https://github.com/orgs/kubernetes/projects/8) and help us make Windows support better by [contributing](https://github.com/kubernetes/community/blob/master/sig-windows/). @@ -638,4 +639,4 @@ properly provisioned. * More CNIs * More Storage Plugins -{{% /capture %}} + diff --git a/content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md b/content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md index aa1c1f3783..e28afeb9f2 100644 --- a/content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md +++ b/content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md @@ -3,17 +3,17 @@ reviewers: - michmike - patricklang title: Guide for scheduling Windows containers in Kubernetes -content_template: templates/concept +content_type: concept weight: 75 --- -{{% capture overview %}} + Windows applications constitute a large portion of the services and applications that run in many organizations. This guide walks you through the steps to configure and deploy a Windows container in Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Objectives @@ -245,6 +245,6 @@ spec: ``` -{{% /capture %}} + [RuntimeClass]: https://kubernetes.io/docs/concepts/containers/runtime-class/ diff --git a/content/en/docs/setup/release/version-skew-policy.md b/content/en/docs/setup/release/version-skew-policy.md index f01b084448..cc506352d3 100644 --- a/content/en/docs/setup/release/version-skew-policy.md +++ b/content/en/docs/setup/release/version-skew-policy.md @@ -7,16 +7,16 @@ reviewers: - sig-node - sig-release title: Kubernetes version and version skew support policy -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This document describes the maximum version skew supported between various Kubernetes components. Specific cluster deployment tools may place additional restrictions on version skew. -{{% /capture %}} -{{% capture body %}} + + ## Supported versions diff --git a/content/en/docs/tasks/_index.md b/content/en/docs/tasks/_index.md index 1dee1f38f1..504ec1dd89 100644 --- a/content/en/docs/tasks/_index.md +++ b/content/en/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: Tasks main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + This section of the Kubernetes documentation contains pages that show how to do individual tasks. A task page shows how to do a single thing, typically by giving a short sequence of steps. -{{% /capture %}} -{{% capture body %}} + + ## Web UI (Dashboard) @@ -73,11 +73,12 @@ Configure and schedule NVIDIA GPUs for use as a resource by nodes in a cluster. Configure and schedule huge pages as a schedulable resource in a cluster. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + If you would like to write a task page, see [Creating a Documentation Pull Request](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/access-cluster.md b/content/en/docs/tasks/access-application-cluster/access-cluster.md index 05835f2b08..39ad8b4b7e 100644 --- a/content/en/docs/tasks/access-application-cluster/access-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/access-cluster.md @@ -1,17 +1,17 @@ --- title: Accessing Clusters weight: 20 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This topic discusses multiple ways to interact with clusters. -{{% /capture %}} -{{% capture body %}} + + ## Accessing for the first time with kubectl @@ -376,4 +376,3 @@ There are several different proxies you may encounter when using Kubernetes: Kubernetes users will typically not need to worry about anything other than the first two types. The cluster admin will typically ensure that the latter types are setup correctly. -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md b/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md index 33547cdca6..1d00516d28 100644 --- a/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md +++ b/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md @@ -1,25 +1,26 @@ --- title: Communicate Between Containers in the Same Pod Using a Shared Volume -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + This page shows how to use a Volume to communicate between two Containers running in the same Pod. See also how to allow processes to communicate by [sharing process namespace](/docs/tasks/configure-pod-container/share-process-namespace/) between containers. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Creating a Pod that runs two Containers @@ -108,10 +109,10 @@ The output shows that nginx serves a web page written by the debian container: Hello from the debian container -{{% /capture %}} -{{% capture discussion %}} + + ## Discussion @@ -127,10 +128,11 @@ The Volume in this exercise provides a way for Containers to communicate during the life of the Pod. If the Pod is deleted and recreated, any data stored in the shared Volume is lost. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [patterns for composite containers](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns). @@ -147,7 +149,7 @@ the shared Volume is lost. * See [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index acd023548a..79abf9f163 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/en/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -1,6 +1,6 @@ --- title: Configure Access to Multiple Clusters -content_template: templates/task +content_type: task weight: 30 card: name: tasks @@ -8,7 +8,7 @@ card: --- -{{% capture overview %}} + This page shows how to configure access to multiple clusters by using configuration files. After your clusters, users, and contexts are defined in @@ -21,15 +21,16 @@ a *kubeconfig file*. This is a generic way of referring to configuration files. It does not mean that there is a file named `kubeconfig`. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Define clusters, users, and contexts @@ -369,14 +370,15 @@ export KUBECONFIG=$KUBECONFIG_SAVED $Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Organizing Cluster Access Using kubeconfig Files](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md b/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md index 0ab9428a36..385f226a98 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md +++ b/content/en/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md @@ -3,27 +3,28 @@ reviewers: - bprashanth - davidopp title: Configure Your Cloud Provider's Firewalls -content_template: templates/task +content_type: task weight: 90 --- -{{% capture overview %}} + Many cloud providers (e.g. Google Compute Engine) define firewalls that help prevent inadvertent exposure to the internet. When exposing a service to the external world, you may need to open up one or more ports in these firewalls to serve traffic. This document describes this process, as well as any provider specific details that may be necessary. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Restrict Access For LoadBalancer Service @@ -106,4 +107,4 @@ the wilds of the internet. {{< /note >}} -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md b/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md index 4c17d3128d..3535fdb8bc 100644 --- a/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/configure-dns-cluster.md @@ -1,13 +1,13 @@ --- title: Configure DNS for a Cluster weight: 120 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kubernetes offers a DNS cluster addon, which most of the supported environments enable by default. In Kubernetes version 1.11 and later, CoreDNS is recommended and is installed by default with kubeadm. -{{% /capture %}} -{{% capture body %}} + + For more information on how to configure CoreDNS for a Kubernetes cluster, see the [Customizing DNS Service](/docs/tasks/administer-cluster/dns-custom-nameservers/). An example demonstrating how to use Kubernetes DNS with kube-dns, see the [Kubernetes DNS sample plugin](https://github.com/kubernetes/examples/tree/master/staging/cluster-dns). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md b/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md index 264d930d5f..0ce827185c 100644 --- a/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md +++ b/content/en/docs/tasks/access-application-cluster/connecting-frontend-backend.md @@ -1,30 +1,32 @@ --- title: Connect a Front End to a Back End Using a Service -content_template: templates/tutorial +content_type: tutorial weight: 70 --- -{{% capture overview %}} + This task shows how to create a frontend and a backend microservice. The backend microservice is a hello greeter. The frontend and backend are connected using a Kubernetes {{< glossary_tooltip term_id="service" >}} object. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Create and run a microservice using a {{< glossary_tooltip term_id="deployment" >}} object. * Route traffic to the backend using a frontend. * Use a Service object to connect the frontend application to the backend application. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -34,10 +36,10 @@ frontend and backend are connected using a Kubernetes support this, you can use a Service of type [NodePort](/docs/concepts/services-networking/service/#nodeport) instead. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creating the backend using a Deployment @@ -201,9 +203,10 @@ The output shows the message generated by the backend: {"message":"Hello"} ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + To delete the Services, enter this command: @@ -213,13 +216,14 @@ To delete the Deployments, the ReplicaSets and the Pods that are running the bac kubectl delete deployment frontend hello -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Services](/docs/concepts/services-networking/service/) * Learn more about [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/create-external-load-balancer.md b/content/en/docs/tasks/access-application-cluster/create-external-load-balancer.md index 720203d60d..7dcc613232 100644 --- a/content/en/docs/tasks/access-application-cluster/create-external-load-balancer.md +++ b/content/en/docs/tasks/access-application-cluster/create-external-load-balancer.md @@ -1,11 +1,11 @@ --- title: Create an External Load Balancer -content_template: templates/task +content_type: task weight: 80 --- -{{% capture overview %}} + This page shows how to create an External Load Balancer. @@ -24,15 +24,16 @@ services externally-reachable URLs, load balance the traffic, terminate SSL etc. please check the [Ingress](/docs/concepts/services-networking/ingress/) documentation. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configuration file @@ -199,4 +200,4 @@ Once the external load balancers provide weights, this functionality can be adde Internal pod to pod traffic should behave similar to ClusterIP services, with equal probability across all pods. -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/ingress-minikube.md b/content/en/docs/tasks/access-application-cluster/ingress-minikube.md index 0a16c71064..9288ec3064 100644 --- a/content/en/docs/tasks/access-application-cluster/ingress-minikube.md +++ b/content/en/docs/tasks/access-application-cluster/ingress-minikube.md @@ -1,25 +1,26 @@ --- title: Set up Ingress on Minikube with the NGINX Ingress Controller -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + An [Ingress](/docs/concepts/services-networking/ingress/) is an API object that defines rules which allow external access to services in a cluster. An [Ingress controller](/docs/concepts/services-networking/ingress-controllers/) fulfills the rules set in the Ingress. This page shows you how to set up a simple Ingress which routes requests to Service web or web2 depending on the HTTP URI. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create a Minikube cluster @@ -275,13 +276,14 @@ The following file is an Ingress resource that sends traffic to your Service via {{< note >}}If you are running Minikube locally, you can visit hello-world.info and hello-world.info/v2 from your browser.{{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read more about [Ingress](/docs/concepts/services-networking/ingress/) * Read more about [Ingress Controllers](/docs/concepts/services-networking/ingress-controllers/) * Read more about [Services](/docs/concepts/services-networking/service/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/list-all-running-container-images.md b/content/en/docs/tasks/access-application-cluster/list-all-running-container-images.md index b3fb886d11..d1e1ba1568 100644 --- a/content/en/docs/tasks/access-application-cluster/list-all-running-container-images.md +++ b/content/en/docs/tasks/access-application-cluster/list-all-running-container-images.md @@ -1,23 +1,24 @@ --- title: List All Container Images Running in a Cluster -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + This page shows how to use kubectl to list all of the Container images for Pods running in a cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + In this exercise you will use kubectl to fetch all of the Pods running in a cluster, and format the output to pull out the list @@ -108,19 +109,20 @@ kubectl get pods --all-namespaces -o go-template --template="{{range .items}}{{r -{{% /capture %}} -{{% capture discussion %}} -{{% /capture %}} + + + + +## {{% heading "whatsnext" %}} -{{% capture whatsnext %}} ### Reference * [Jsonpath](/docs/user-guide/jsonpath/) reference guide * [Go template](https://golang.org/pkg/text/template/) reference guide -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md b/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md index fc24022d0c..a6c2e217a5 100644 --- a/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md @@ -1,29 +1,30 @@ --- title: Use Port Forwarding to Access Applications in a Cluster -content_template: templates/task +content_type: task weight: 40 min-kubernetes-server-version: v1.10 --- -{{% capture overview %}} + This page shows how to use `kubectl port-forward` to connect to a Redis server running in a Kubernetes cluster. This type of connection can be useful for database debugging. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Install [redis-cli](http://redis.io/topics/rediscli). -{{% /capture %}} -{{% capture steps %}} + + ## Creating Redis deployment and service @@ -179,10 +180,10 @@ for database debugging. PONG ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Discussion @@ -196,9 +197,10 @@ The support for UDP protocol is tracked in [issue 47862](https://github.com/kubernetes/kubernetes/issues/47862). {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands/#port-forward). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/service-access-application-cluster.md b/content/en/docs/tasks/access-application-cluster/service-access-application-cluster.md index af5eb2db86..fe90981432 100644 --- a/content/en/docs/tasks/access-application-cluster/service-access-application-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/service-access-application-cluster.md @@ -1,35 +1,37 @@ --- title: Use a Service to Access an Application in a Cluster -content_template: templates/tutorial +content_type: tutorial weight: 60 --- -{{% capture overview %}} + This page shows how to create a Kubernetes Service object that external clients can use to access an application running in a cluster. The Service provides load balancing for an application that has two running instances. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Run two instances of a Hello World application. * Create a Service object that exposes a node port. * Use the Service object to access the running application. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creating a service for an application running in two pods @@ -130,10 +132,11 @@ As an alternative to using `kubectl expose`, you can use a [service configuration file](/docs/concepts/services-networking/service/) to create a Service. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + To delete the Service, enter this command: @@ -144,11 +147,12 @@ the Hello World application, enter this command: kubectl delete deployment hello-world -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [connecting applications with services](/docs/concepts/services-networking/connect-applications-service/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md index 88132f5218..4da7cdf3d6 100644 --- a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -4,7 +4,7 @@ reviewers: - mikedanese - rf232 title: Web UI (Dashboard) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -12,7 +12,7 @@ card: title: Use the Web UI Dashboard --- -{{% capture overview %}} + Dashboard is a web-based Kubernetes user interface. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster resources. You can use Dashboard to get an overview of applications running on your cluster, as well as for creating or modifying individual Kubernetes resources (such as Deployments, Jobs, DaemonSets, etc). For example, you can scale a Deployment, initiate a rolling update, restart a pod or deploy new applications using a deploy wizard. @@ -20,10 +20,10 @@ Dashboard also provides information on the state of Kubernetes resources in your ![Kubernetes Dashboard UI](/images/docs/ui-dashboard.png) -{{% /capture %}} -{{% capture body %}} + + ## Deploying the Dashboard UI @@ -162,11 +162,12 @@ Pod lists and detail pages link to a logs viewer that is built into Dashboard. T ![Logs viewer](/images/docs/ui-dashboard-logs-view.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + For more information, see the [Kubernetes Dashboard project page](https://github.com/kubernetes/dashboard). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md b/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md index 9a77378d5c..b6c71d0eee 100644 --- a/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md +++ b/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md @@ -4,17 +4,18 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + Configuring the [aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -26,9 +27,9 @@ Reusing the same CA for different client types can negatively impact the cluster {{< /caution >}} {{< /note >}} -{{% /capture %}} -{{% capture steps %}} + + ## Authentication Flow @@ -222,7 +223,7 @@ If you are not running kube-proxy on a host running the API server, then you mus --enable-aggregator-routing=true -{{% /capture %}} + ### Register APIService objects @@ -275,11 +276,12 @@ spec: ... ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [Setup an extension api-server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) to work with the aggregation layer. * For a high level overview, see [Extending the Kubernetes API with the aggregation layer](/docs/concepts/api-extension/apiserver-aggregation/). * Learn how to [Extend the Kubernetes API Using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md b/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md index ec35dd88e8..6eaf0cdd3a 100644 --- a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md +++ b/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md @@ -3,19 +3,20 @@ title: Versions in CustomResourceDefinitions reviewers: - sttts - liggitt -content_template: templates/task +content_type: task weight: 30 min-kubernetes-server-version: v1.16 --- -{{% capture overview %}} + This page explains how to add versioning information to [CustomResourceDefinitions](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#customresourcedefinition-v1beta1-apiextensions), to indicate the stability level of your CustomResourceDefinitions or advance your API to a new version with conversion between API representations. It also describes how to upgrade an object from one version to another. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} @@ -23,9 +24,9 @@ You should have a initial understanding of [custom resources](/docs/concepts/api {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Overview @@ -961,4 +962,4 @@ The following is an example procedure to upgrade from `v1beta1` to `v1`. storage version, which is `v1`. 2. Remove `v1beta1` from the CustomResourceDefinition `status.storedVersions` field. -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md b/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md index 4fcd389ba2..d2b7d76d9b 100644 --- a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md +++ b/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md @@ -6,18 +6,19 @@ reviewers: - liggitt - roycaihw - sttts -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to install a [custom resource](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) into the Kubernetes API by creating a [CustomResourceDefinition](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#customresourcedefinition-v1beta1-apiextensions). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -25,9 +26,9 @@ into the Kubernetes API by creating a * Read about [custom resources](/docs/concepts/api-extension/custom-resources/). -{{% /capture %}} -{{% capture steps %}} + + ## Create a CustomResourceDefinition @@ -568,9 +569,9 @@ See [Custom resource definition versioning](/docs/tasks/access-kubernetes-api/cu for more information about serving multiple versions of your CustomResourceDefinition and migrating your objects from one version to another. -{{% /capture %}} -{{% capture discussion %}} + + ## Advanced topics ### Finalizers @@ -1448,13 +1449,13 @@ NAME AGE crontabs/my-new-cron-object 3s ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * See [CustomResourceDefinition](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#customresourcedefinition-v1-apiextensions-k8s-io). * Serve [multiple versions](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/) of a CustomResourceDefinition. -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md b/content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md index be282a29c1..695ed5b6c0 100644 --- a/content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md +++ b/content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md @@ -1,14 +1,15 @@ --- title: Use an HTTP Proxy to Access the Kubernetes API -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + This page shows how to use an HTTP proxy to access the Kubernetes API. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -19,9 +20,9 @@ a Hello world application by entering this command: kubectl run node-hello --image=gcr.io/google-samples/node-hello:1.0 --port=8080 ``` -{{% /capture %}} -{{% capture steps %}} + + ## Using kubectl to start a proxy server @@ -81,10 +82,11 @@ The output should look similar to this: ... } -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [kubectl proxy](/docs/reference/generated/kubectl/kubectl-commands#proxy). -{{% /capture %}} + diff --git a/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md b/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md index 71c6059eec..adf93732d3 100644 --- a/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md +++ b/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md @@ -4,25 +4,26 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/task +content_type: task weight: 15 --- -{{% capture overview %}} + Setting up an extension API server to work the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * You must [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) and enable the apiserver flags. -{{% /capture %}} -{{% capture steps %}} + + ## Setup an extension api-server to work with the aggregation layer @@ -46,15 +47,16 @@ Alternatively, you can use an existing 3rd party solution, such as [apiserver-bu 1. Create a Kubernetes apiservice. The CA cert above should be base64 encoded, stripped of new lines and used as the spec.caBundle in the apiservice. This should not be namespaced. If using the [kube-aggregator API](https://github.com/kubernetes/kube-aggregator/), only pass in the PEM encoded CA bundle because the base 64 encoding is done for you. 1. Use kubectl to get your resource. It should return "No resources found." Which means that everything worked but you currently have no objects of that resource type created yet. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * If you haven't already, [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) and enable the apiserver flags. * For a high level overview, see [Extending the Kubernetes API with the aggregation layer](/docs/concepts/api-extension/apiserver-aggregation). * Learn how to [Extend the Kubernetes API Using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/access-cluster-api.md b/content/en/docs/tasks/administer-cluster/access-cluster-api.md index 520dd949cd..659c8d777c 100644 --- a/content/en/docs/tasks/administer-cluster/access-cluster-api.md +++ b/content/en/docs/tasks/administer-cluster/access-cluster-api.md @@ -1,18 +1,19 @@ --- title: Access Clusters Using the Kubernetes API -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to access clusters using the Kubernetes API. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Accessing the Kubernetes API @@ -449,5 +450,5 @@ The output will be similar to this: } ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/access-cluster-services.md b/content/en/docs/tasks/administer-cluster/access-cluster-services.md index 57cdc835de..979a75a162 100644 --- a/content/en/docs/tasks/administer-cluster/access-cluster-services.md +++ b/content/en/docs/tasks/administer-cluster/access-cluster-services.md @@ -1,18 +1,19 @@ --- title: Access Services Running on Clusters -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to connect to services running on the Kubernetes cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Accessing services running on the cluster @@ -132,6 +133,6 @@ You may be able to put an apiserver proxy URL into the address bar of a browser. - Some web apps may not work, particularly those with client side javascript that construct URLs in a way that is unaware of the proxy path prefix. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/change-default-storage-class.md b/content/en/docs/tasks/administer-cluster/change-default-storage-class.md index a2070bcfe3..453cfef221 100644 --- a/content/en/docs/tasks/administer-cluster/change-default-storage-class.md +++ b/content/en/docs/tasks/administer-cluster/change-default-storage-class.md @@ -1,21 +1,22 @@ --- title: Change the default StorageClass -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to change the default Storage Class that is used to provision volumes for PersistentVolumeClaims that have no special requirements. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Why change the default storage class? @@ -93,10 +94,11 @@ for details about addon manager and how to disable individual addons. gold (default) kubernetes.io/gce-pd 1d ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [PersistentVolumes](/docs/concepts/storage/persistent-volumes/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/change-pv-reclaim-policy.md b/content/en/docs/tasks/administer-cluster/change-pv-reclaim-policy.md index a7ac4d80c9..729c7bde4f 100644 --- a/content/en/docs/tasks/administer-cluster/change-pv-reclaim-policy.md +++ b/content/en/docs/tasks/administer-cluster/change-pv-reclaim-policy.md @@ -1,20 +1,21 @@ --- title: Change the Reclaim Policy of a PersistentVolume -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to change the reclaim policy of a Kubernetes PersistentVolume. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Why change reclaim policy of a PersistentVolume @@ -80,9 +81,10 @@ kubectl patch pv -p "{\"spec\":{\"persistentVolumeReclaimPolicy\" `default/claim3` has reclaim policy `Retain`. It will not be automatically deleted when a user deletes claim `default/claim3`. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [PersistentVolumes](/docs/concepts/storage/persistent-volumes/). * Learn more about [PersistentVolumeClaims](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims). @@ -91,6 +93,6 @@ kubectl patch pv -p "{\"spec\":{\"persistentVolumeReclaimPolicy\" * [PersistentVolume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolume-v1-core) * [PersistentVolumeClaim](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * See the `persistentVolumeReclaimPolicy` field of [PersistentVolumeSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/cluster-management.md b/content/en/docs/tasks/administer-cluster/cluster-management.md index 65728ec4ee..7cbab3aa2c 100644 --- a/content/en/docs/tasks/administer-cluster/cluster-management.md +++ b/content/en/docs/tasks/administer-cluster/cluster-management.md @@ -3,20 +3,20 @@ reviewers: - lavalamp - thockin title: Cluster Management -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This document describes several topics related to the lifecycle of a cluster: creating a new cluster, upgrading your cluster's master and worker nodes, performing node maintenance (e.g. kernel upgrades), and upgrading the Kubernetes API version of a running cluster. -{{% /capture %}} -{{% capture body %}} + + ## Creating and configuring a Cluster @@ -224,4 +224,4 @@ kubectl convert -f pod.yaml --output-version v1 For more options, please refer to the usage of [kubectl convert](/docs/reference/generated/kubectl/kubectl-commands#convert) command. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md b/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md index 436584ad14..e4b58b70e3 100644 --- a/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md +++ b/content/en/docs/tasks/administer-cluster/configure-multiple-schedulers.md @@ -3,10 +3,10 @@ reviewers: - davidopp - madhusudancs title: Configure Multiple Schedulers -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Kubernetes ships with a default scheduler that is described [here](/docs/admin/kube-scheduler/). If the default scheduler does not suit your needs you can implement your own scheduler. @@ -19,16 +19,17 @@ document. Please refer to the kube-scheduler implementation in [pkg/scheduler](https://github.com/kubernetes/kubernetes/tree/{{< param "githubbranch" >}}/pkg/scheduler) in the Kubernetes source directory for a canonical example. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Package the scheduler @@ -219,9 +220,9 @@ kubectl create -f pod3.yaml kubectl get pods ``` -{{% /capture %}} -{{% capture discussion %}} + + ### Verifying that the pods were scheduled using the desired schedulers @@ -241,4 +242,4 @@ verify that the pods were scheduled by the desired schedulers. kubectl get events ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md b/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md index 73cecd999b..91661d235f 100644 --- a/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md +++ b/content/en/docs/tasks/administer-cluster/configure-upgrade-etcd.md @@ -3,23 +3,24 @@ reviewers: - mml - wojtek-t title: Operating etcd clusters for Kubernetes -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< glossary_definition term_id="etcd" length="all" prepend="etcd is a ">}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Prerequisites @@ -238,4 +239,4 @@ To urgently fix this bug for Kubernetes 1.15 or earlier, build a custom kube-api See ["kube-apiserver 1.13.x refuses to work when first etcd-server is not available"](https://github.com/kubernetes/kubernetes/issues/72102). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/coredns.md b/content/en/docs/tasks/administer-cluster/coredns.md index 2e50d54f06..32d4f7d7ec 100644 --- a/content/en/docs/tasks/administer-cluster/coredns.md +++ b/content/en/docs/tasks/administer-cluster/coredns.md @@ -3,18 +3,19 @@ reviewers: - johnbelamaric title: Using CoreDNS for Service Discovery min-kubernetes-server-version: v1.9 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page describes the CoreDNS upgrade process and how to install CoreDNS instead of kube-dns. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## About CoreDNS @@ -89,14 +90,15 @@ There is a helpful [guideline and walkthrough](https://github.com/coredns/deploy When resource utilisation is a concern, it may be useful to tune the configuration of CoreDNS. For more details, check out the [documentation on scaling CoreDNS](https://github.com/coredns/deployment/blob/master/kubernetes/Scaling_CoreDNS.md). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + You can configure [CoreDNS](https://coredns.io) to support many more use cases than kube-dns by modifying the `Corefile`. For more information, see the [CoreDNS site](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/cpu-management-policies.md b/content/en/docs/tasks/administer-cluster/cpu-management-policies.md index 9568843e87..1b29abf17c 100644 --- a/content/en/docs/tasks/administer-cluster/cpu-management-policies.md +++ b/content/en/docs/tasks/administer-cluster/cpu-management-policies.md @@ -4,10 +4,10 @@ reviewers: - sjenning - ConnorDoyle - balajismaniam -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="beta" >}} @@ -18,16 +18,17 @@ acceptably. The kubelet provides methods to enable more complex workload placement policies while keeping the abstraction free from explicit placement directives. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## CPU Management Policies @@ -211,4 +212,4 @@ and `requests` are set equal to `limits` when not explicitly specified. And the container's resource limit for the CPU resource is an integer greater than or equal to one. The `nginx` container is granted 2 exclusive CPUs. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/declare-network-policy.md b/content/en/docs/tasks/administer-cluster/declare-network-policy.md index 1b6a706934..61add5312a 100644 --- a/content/en/docs/tasks/administer-cluster/declare-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/declare-network-policy.md @@ -4,13 +4,14 @@ reviewers: - danwinship title: Declare Network Policy min-kubernetes-server-version: v1.8 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This document helps you get started using the Kubernetes [NetworkPolicy API](/docs/concepts/services-networking/network-policies/) to declare network policies that govern how pods communicate with each other. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -25,9 +26,9 @@ Make sure you've configured a network provider with network policy support. Ther {{< note >}} The above list is sorted alphabetically by product name, not by recommendation or preference. This example is valid for a Kubernetes cluster using any of these providers. {{< /note >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create an `nginx` deployment and expose it via a service @@ -146,4 +147,4 @@ Connecting to nginx (10.100.0.16:80) remote file exists ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md b/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md index 0e80a018c4..0f6579d915 100644 --- a/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md +++ b/content/en/docs/tasks/administer-cluster/developing-cloud-controller-manager.md @@ -4,18 +4,18 @@ reviewers: - thockin - wlan0 title: Developing Cloud Controller Manager -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} {{< glossary_definition term_id="cloud-controller-manager" length="all" prepend="The cloud-controller-manager is">}} -{{% /capture %}} -{{% capture body %}} + + ## Background @@ -41,4 +41,4 @@ controller manager as your starting point. For in-tree cloud providers, you can run the in-tree cloud controller manager as a {{< glossary_tooltip term_id="daemonset" >}} in your cluster. See [Cloud Controller Manager Administration](/docs/tasks/administer-cluster/running-cloud-controller/) for more details. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/dns-custom-nameservers.md b/content/en/docs/tasks/administer-cluster/dns-custom-nameservers.md index f3101bf6c9..f5e1e93239 100644 --- a/content/en/docs/tasks/administer-cluster/dns-custom-nameservers.md +++ b/content/en/docs/tasks/administer-cluster/dns-custom-nameservers.md @@ -3,24 +3,25 @@ reviewers: - bowei - zihongz title: Customizing DNS Service -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page explains how to configure your DNS Pod and customize the DNS resolution process. In Kubernetes version 1.11 and later, CoreDNS is at GA and is installed by default with kubeadm. See [CoreDNS ConfigMap options](#coredns-configmap-options) and [Using CoreDNS for Service Discovery](/docs/tasks/administer-cluster/coredns/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Kubernetes version 1.6 or later. To work with CoreDNS, version 1.9 or later. * The appropriate add-on: kube-dns or CoreDNS. To install with kubeadm, see [the kubeadm reference documentation](/docs/reference/setup-tools/kubeadm/kubeadm-alpha/#cmd-phase-addon). -{{% /capture %}} -{{% capture steps %}} + + ## Introduction @@ -213,9 +214,9 @@ their destination DNS servers: See [ConfigMap options](#configmap-options) for details about the configuration option format. -{{% /capture %}} -{{% capture discussion %}} + + #### Effects on Pods @@ -302,7 +303,7 @@ data: ["172.16.0.1"] ``` -{{% /capture %}} + ## CoreDNS configuration equivalent to kube-dns diff --git a/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md b/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md index 3a69bd84ec..26aa968855 100644 --- a/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md +++ b/content/en/docs/tasks/administer-cluster/dns-debugging-resolution.md @@ -3,20 +3,21 @@ reviewers: - bowei - zihongz title: Debugging DNS Resolution -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page provides hints on diagnosing DNS problems. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Kubernetes version 1.6 and above. * The cluster must be configured to use the `coredns` (or `kube-dns`) addons. -{{% /capture %}} -{{% capture steps %}} + + ### Create a simple Pod to use as a test environment @@ -273,5 +274,5 @@ for more information. ## What's next - [Autoscaling the DNS Service in a Cluster](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md b/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md index 5d5dc98ade..6fd887bd8f 100644 --- a/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md +++ b/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md @@ -1,14 +1,15 @@ --- title: Autoscale the DNS Service in a Cluster -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to enable and configure autoscaling of the DNS service in your Kubernetes cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -16,9 +17,9 @@ your Kubernetes cluster. * Make sure [Kubernetes DNS](/docs/concepts/services-networking/dns-pod-service/) is enabled. -{{% /capture %}} -{{% capture steps %}} + + ## Determine whether DNS horizontal autoscaling is already enabled {#determining-whether-dns-horizontal-autoscaling-is-already-enabled} @@ -201,9 +202,9 @@ The common path for this dns-autoscaler is: After the manifest file is deleted, the Addon Manager will delete the dns-autoscaler Deployment. -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding how DNS horizontal autoscaling works @@ -226,10 +227,11 @@ the autoscaler Pod. * The autoscaler provides a controller interface to support two control patterns: *linear* and *ladder*. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Read about [Guaranteed Scheduling For Critical Add-On Pods](/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/). * Learn more about the [implementation of cluster-proportional-autoscaler](https://github.com/kubernetes-incubator/cluster-proportional-autoscaler). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/enabling-endpointslices.md b/content/en/docs/tasks/administer-cluster/enabling-endpointslices.md index b8e4cf900d..b9e389ead7 100644 --- a/content/en/docs/tasks/administer-cluster/enabling-endpointslices.md +++ b/content/en/docs/tasks/administer-cluster/enabling-endpointslices.md @@ -3,19 +3,20 @@ reviewers: - bowei - freehan title: Enabling EndpointSlices -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page provides an overview of enabling EndpointSlices in Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Introduction @@ -55,9 +56,10 @@ existing Endpoints functionality, EndpointSlices include new bits of information such as topology. They will allow for greater scalability and extensibility of network endpoints in your cluster. -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * Read about [EndpointSlices](/docs/concepts/services-networking/endpoint-slices/) * Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/enabling-service-topology.md b/content/en/docs/tasks/administer-cluster/enabling-service-topology.md index c39b9b366d..998bb8b2e5 100644 --- a/content/en/docs/tasks/administer-cluster/enabling-service-topology.md +++ b/content/en/docs/tasks/administer-cluster/enabling-service-topology.md @@ -4,19 +4,20 @@ reviewers: - johnbelamaric - imroc title: Enabling Service Topology -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page provides an overview of enabling Service Topology in Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Introduction @@ -45,10 +46,11 @@ To enable service topology, enable the `ServiceTopology` and `EndpointSlice` fea ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * Read about the [Service Topology](/docs/concepts/services-networking/service-topology) concept * Read about [Endpoint Slices](/docs/concepts/services-networking/endpoint-slices) * Read [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/encrypt-data.md b/content/en/docs/tasks/administer-cluster/encrypt-data.md index b96f034963..8499855bb0 100644 --- a/content/en/docs/tasks/administer-cluster/encrypt-data.md +++ b/content/en/docs/tasks/administer-cluster/encrypt-data.md @@ -2,23 +2,24 @@ reviewers: - smarterclayton title: Encrypting Secret Data at Rest -content_template: templates/task +content_type: task min-kubernetes-server-version: 1.13 --- -{{% capture overview %}} + This page shows how to enable and configure encryption of secret data at rest. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * etcd v3.0 or later is required -{{% /capture %}} -{{% capture steps %}} + + ## Configuration and determining whether encryption at rest is already enabled @@ -215,4 +216,4 @@ kubectl get secrets --all-namespaces -o json | kubectl replace -f - ``` to force all secrets to be decrypted. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/extended-resource-node.md b/content/en/docs/tasks/administer-cluster/extended-resource-node.md index 49e491d251..07d8fea616 100644 --- a/content/en/docs/tasks/administer-cluster/extended-resource-node.md +++ b/content/en/docs/tasks/administer-cluster/extended-resource-node.md @@ -1,26 +1,27 @@ --- title: Advertise Extended Resources for a Node -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to specify extended resources for a Node. Extended resources allow cluster administrators to advertise node-level resources that would otherwise be unknown to Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Get the names of your Nodes @@ -189,10 +190,11 @@ kubectl describe node | grep dongle (you should not see any output) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For application developers @@ -204,4 +206,4 @@ kubectl describe node | grep dongle * [Configure Minimum and Maximum CPU Constraints for a Namespace](/docs/tasks/administer-cluster/cpu-constraint-namespace/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md b/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md index 0b00eed125..0d5b6d4ebe 100644 --- a/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md +++ b/content/en/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods.md @@ -4,10 +4,10 @@ reviewers: - filipg - piosz title: Guaranteed Scheduling For Critical Add-On Pods -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + In addition to Kubernetes core components like api-server, scheduler, controller-manager running on a master machine there are a number of add-ons which, for various reasons, must run on a regular cluster node (rather than the Kubernetes master). @@ -19,14 +19,14 @@ vacated by the evicted critical add-on pod or the amount of resources available Note that marking a pod as critical is not meant to prevent evictions entirely; it only prevents the pod from becoming permanently unavailable. For static pods, this means it can't be evicted, but for non-static pods, it just means they will always be rescheduled. -{{% /capture %}} -{{% capture body %}} + + ### Marking pod as critical To mark a Pod as critical, set priorityClassName for that Pod to `system-cluster-critical` or `system-node-critical`. `system-node-critical` is the highest available priority, even higher than `system-cluster-critical`. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/highly-available-master.md b/content/en/docs/tasks/administer-cluster/highly-available-master.md index e5529da7c7..e2a582f8b2 100644 --- a/content/en/docs/tasks/administer-cluster/highly-available-master.md +++ b/content/en/docs/tasks/administer-cluster/highly-available-master.md @@ -2,26 +2,27 @@ reviewers: - jszczepkowski title: Set up High-Availability Kubernetes Masters -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.5" state="alpha" >}} You can replicate Kubernetes masters in `kube-up` or `kube-down` scripts for Google Compute Engine. This document describes how to use kube-up/down scripts to manage highly available (HA) masters and how HA masters are implemented for use with GCE. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Starting an HA-compatible cluster @@ -118,9 +119,9 @@ If the cluster is large, it may take a long time to duplicate its state. This operation may be sped up by migrating etcd data directory, as described [here](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration) (we are considering adding support for etcd data dir migration in future). -{{% /capture %}} -{{% capture discussion %}} + + ## Implementation notes @@ -173,4 +174,4 @@ To make such deployment secure, communication between etcd instances is authoriz [Automated HA master deployment - design doc](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/ip-masq-agent.md b/content/en/docs/tasks/administer-cluster/ip-masq-agent.md index bdc871ddd9..9c2e1d3d5d 100644 --- a/content/en/docs/tasks/administer-cluster/ip-masq-agent.md +++ b/content/en/docs/tasks/administer-cluster/ip-masq-agent.md @@ -1,19 +1,20 @@ --- title: IP Masquerade Agent User Guide -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to configure and enable the ip-masq-agent. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture discussion %}} + + ## IP Masquerade Agent User Guide The ip-masq-agent configures iptables rules to hide a pod's IP address behind the cluster node's IP address. This is typically done when sending traffic to destinations outside the cluster's pod [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) range. @@ -53,9 +54,9 @@ MASQUERADE all -- anywhere anywhere /* ip-masq-agent: By default, in GCE/Google Kubernetes Engine starting with Kubernetes version 1.7.0, if network policy is enabled or you are using a cluster CIDR not in the 10.0.0.0/8 range, the ip-masq-agent will run in your cluster. If you are running in another environment, you can add the ip-masq-agent [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) to your cluster: -{{% /capture %}} -{{% capture steps %}} + + ## Create an ip-masq-agent To create an ip-masq-agent, run the following kubectl command: @@ -110,4 +111,4 @@ nonMasqueradeCIDRs: resyncInterval: 60s masqLinkLocal: true ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/kms-provider.md b/content/en/docs/tasks/administer-cluster/kms-provider.md index d90ca853cf..34cc1d6b66 100644 --- a/content/en/docs/tasks/administer-cluster/kms-provider.md +++ b/content/en/docs/tasks/administer-cluster/kms-provider.md @@ -2,13 +2,14 @@ reviewers: - smarterclayton title: Using a KMS provider for data encryption -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to configure a Key Management Service (KMS) provider and plugin to enable secret data encryption. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -18,9 +19,9 @@ This page shows how to configure a Key Management Service (KMS) provider and plu {{< feature-state for_k8s_version="v1.12" state="beta" >}} -{{% /capture %}} -{{% capture steps %}} + + The KMS encryption provider uses an envelope encryption scheme to encrypt data in etcd. The data is encrypted using a data encryption key (DEK); a new DEK is generated for each encryption. The DEKs are encrypted with a key encryption key (KEK) that is stored and managed in a remote KMS. The KMS provider uses gRPC to communicate with a specific KMS plugin. The KMS plugin, which is implemented as a gRPC server and deployed on the same host(s) as the Kubernetes master(s), is responsible for all communication with the remote KMS. @@ -183,4 +184,4 @@ To disable encryption at rest: ``` kubectl get secrets --all-namespaces -o json | kubectl replace -f - ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md b/content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md index 28df69c13a..e82c53f3a6 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md @@ -4,20 +4,21 @@ reviewers: - patricklang title: Adding Windows nodes min-kubernetes-server-version: 1.17 -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} You can use Kubernetes to run a mixture of Linux and Windows nodes, so you can mix Pods that run on Linux on with Pods that run on Windows. This page shows how to register Windows nodes to your cluster. -{{% /capture %}} -{{% capture prerequisites %}} {{< version-check >}} + +## {{% heading "prerequisites" %}} + {{< version-check >}} * Obtain a [Windows Server 2019 license](https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing) (or higher) in order to configure the Windows node that hosts Windows containers. @@ -25,18 +26,19 @@ If you are using VXLAN/Overlay networking you must have also have [KB4489899](ht * A Linux-based Kubernetes kubeadm cluster in which you have access to the control plane (see [Creating a single control-plane cluster with kubeadm](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)). -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Register a Windows node to the cluster * Configure networking so Pods and Services on Linux and Windows can communicate with each other -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Getting Started: Adding a Windows Node to Your Cluster @@ -176,10 +178,11 @@ kubectl -n kube-system get pods -l app=flannel Once the flannel Pod is running, your node should enter the `Ready` state and then be available to handle workloads. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Upgrading Windows kubeadm nodes](/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md index 6329c4a395..54f43b840b 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md @@ -2,25 +2,26 @@ reviewers: - sig-cluster-lifecycle title: Certificate Management with kubeadm -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.15" state="stable" >}} Client certificates generated by [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) expire after 1 year. This page explains how to manage certificate renewals with kubeadm. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You should be familiar with [PKI certificates and requirements in Kubernetes](/docs/setup/best-practices/certificates/). -{{% /capture %}} -{{% capture steps %}} + + ## Using custom certificates {#custom-certificates} @@ -242,4 +243,4 @@ After a certificate is signed using your preferred method, the certificate and t [cert-cas]: /docs/setup/best-practices/certificates/#single-root-ca [cert-table]: /docs/setup/best-practices/certificates/#all-certificates -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index f0368ecaf9..bb7f67ae5f 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -2,12 +2,12 @@ reviewers: - sig-cluster-lifecycle title: Upgrading kubeadm clusters -content_template: templates/task +content_type: task weight: 20 min-kubernetes-server-version: 1.18 --- -{{% capture overview %}} + This page explains how to upgrade a Kubernetes cluster created with kubeadm from version 1.17.x to version 1.18.x, and from version 1.18.x to 1.18.y (where `y > x`). @@ -26,9 +26,10 @@ The upgrade workflow at high level is the following: 1. Upgrade additional control plane nodes. 1. Upgrade worker nodes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - You need to have a kubeadm Kubernetes cluster running version 1.17.0 or later. - [Swap must be disabled](https://serverfault.com/questions/684771/best-way-to-disable-swap-in-linux). @@ -44,9 +45,9 @@ The upgrade workflow at high level is the following: or between PATCH versions of the same MINOR. That is, you cannot skip MINOR versions when you upgrade. For example, you can upgrade from 1.y to 1.y+1, but not from 1.y to 1.y+2. -{{% /capture %}} -{{% capture steps %}} + + ## Determine which version to upgrade to @@ -395,7 +396,7 @@ kubectl get nodes The `STATUS` column should show `Ready` for all your nodes, and the version number should be updated. -{{% /capture %}} + ## Recovering from a failure state diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md b/content/en/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md index a6c626a627..35857d09a0 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md @@ -1,29 +1,30 @@ --- title: Upgrading Windows nodes min-kubernetes-server-version: 1.17 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} This page explains how to upgrade a Windows node [created with kubeadm](/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Familiarize yourself with [the process for upgrading the rest of your kubeadm cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade). You will want to upgrade the control plane nodes before upgrading your Windows nodes. -{{% /capture %}} -{{% capture steps %}} + + ## Upgrading worker nodes @@ -90,4 +91,4 @@ again replacing {{< param "fullversion" >}} with your desired version: ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/kubelet-config-file.md b/content/en/docs/tasks/administer-cluster/kubelet-config-file.md index 6ffe290a19..54cd837370 100644 --- a/content/en/docs/tasks/administer-cluster/kubelet-config-file.md +++ b/content/en/docs/tasks/administer-cluster/kubelet-config-file.md @@ -3,10 +3,10 @@ reviewers: - mtaufen - dawnchen title: Set Kubelet parameters via a config file -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.10" state="beta" >}} A subset of the Kubelet's configuration parameters may be @@ -16,15 +16,16 @@ This functionality is considered beta in v1.10. Providing parameters via a config file is the recommended approach because it simplifies node deployment and configuration management. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - A v1.10 or higher Kubelet binary must be installed for beta functionality. -{{% /capture %}} -{{% capture steps %}} + + ## Create the config file @@ -67,9 +68,9 @@ If `--config` is provided and the values are not specified via the command line, defaults for the `KubeletConfiguration` version apply. In the above example, this version is `kubelet.config.k8s.io/v1beta1`. -{{% /capture %}} -{{% capture discussion %}} + + ## Relationship to Dynamic Kubelet Config @@ -77,6 +78,6 @@ If you are using the [Dynamic Kubelet Configuration](/docs/tasks/administer-clus feature, the combination of configuration provided via `--config` and any flags which override these values is considered the default "last known good" configuration by the automatic rollback mechanism. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/limit-storage-consumption.md b/content/en/docs/tasks/administer-cluster/limit-storage-consumption.md index 83ec069915..13dec384ea 100644 --- a/content/en/docs/tasks/administer-cluster/limit-storage-consumption.md +++ b/content/en/docs/tasks/administer-cluster/limit-storage-consumption.md @@ -1,9 +1,9 @@ --- title: Limit Storage Consumption -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This example demonstrates an easy way to limit the amount of storage consumed in a namespace. @@ -11,15 +11,16 @@ The following resources are used in the demonstration: [ResourceQuota](/docs/con [LimitRange](/docs/tasks/administer-cluster/memory-default-namespace/), and [PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Scenario: Limiting Storage Consumption The cluster-admin is operating a cluster on behalf of a user population and the admin wants to control @@ -77,9 +78,9 @@ spec: requests.storage: "5Gi" ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Summary @@ -87,6 +88,6 @@ A limit range can put a ceiling on how much storage is requested while a resourc consumed by a namespace through claim counts and cumulative storage capacity. The allows a cluster-admin to plan their cluster's storage budget without risk of any one project going over their allotment. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md index a1d4c786c6..d3d1541d27 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md @@ -1,11 +1,11 @@ --- title: Configure Minimum and Maximum CPU Constraints for a Namespace -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + This page shows how to set minimum and maximum values for the CPU resources used by Containers and Pods in a namespace. You specify minimum and maximum CPU values in a @@ -13,19 +13,20 @@ and Pods in a namespace. You specify minimum and maximum CPU values in a object. If a Pod does not meet the constraints imposed by the LimitRange, it cannot be created in the namespace. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} Your cluster must have at least 1 CPU available for use to run the task examples. -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -239,9 +240,10 @@ Delete your namespace: kubectl delete namespace constraints-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -266,7 +268,7 @@ kubectl delete namespace constraints-cpu-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md index 65a91a3538..d2e15c91da 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md @@ -1,10 +1,10 @@ --- title: Configure Default CPU Requests and Limits for a Namespace -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to configure default CPU requests and limits for a namespace. A Kubernetes cluster can be divided into namespaces. If a Container is created in a namespace @@ -12,14 +12,15 @@ that has a default CPU limit, and the Container does not specify its own CPU lim the Container is assigned the default CPU limit. Kubernetes assigns a default CPU request under certain conditions that are explained later in this topic. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -163,9 +164,10 @@ Delete your namespace: kubectl delete namespace default-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -189,6 +191,6 @@ kubectl delete namespace default-cpu-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md index e6a6e1c2b0..a5ad383e78 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md @@ -1,11 +1,11 @@ --- title: Configure Minimum and Maximum Memory Constraints for a Namespace -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + This page shows how to set minimum and maximum values for memory used by Containers running in a namespace. You specify minimum and maximum memory values in a @@ -13,19 +13,20 @@ running in a namespace. You specify minimum and maximum memory values in a object. If a Pod does not meet the constraints imposed by the LimitRange, it cannot be created in the namespace. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} Each node in your cluster must have at least 1 GiB of memory. -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -239,9 +240,10 @@ Delete your namespace: kubectl delete namespace constraints-mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -265,7 +267,7 @@ kubectl delete namespace constraints-mem-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md index bb5070bc98..df7fce39f2 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md @@ -1,27 +1,28 @@ --- title: Configure Default Memory Requests and Limits for a Namespace -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + This page shows how to configure default memory requests and limits for a namespace. If a Container is created in a namespace that has a default memory limit, and the Container does not specify its own memory limit, then the Container is assigned the default memory limit. Kubernetes assigns a default memory request under certain conditions that are explained later in this topic. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} Each node in your cluster must have at least 2 GiB of memory. -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -170,9 +171,10 @@ Delete your namespace: kubectl delete namespace default-mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -196,6 +198,6 @@ kubectl delete namespace default-mem-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md index 9558766410..d69e3d29d6 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md @@ -1,30 +1,31 @@ --- title: Configure Memory and CPU Quotas for a Namespace -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + This page shows how to set quotas for the total amount memory and CPU that can be used by all Containers running in a namespace. You specify quotas in a [ResourceQuota](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) object. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} Each node in your cluster must have at least 1 GiB of memory. -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -146,9 +147,10 @@ Delete your namespace: kubectl delete namespace quota-mem-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -172,7 +174,7 @@ kubectl delete namespace quota-mem-cpu-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md b/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md index 31cac82cf1..c44a07681f 100644 --- a/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md +++ b/content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md @@ -1,28 +1,29 @@ --- title: Configure a Pod Quota for a Namespace -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + This page shows how to set a quota for the total number of Pods that can run in a namespace. You specify quotas in a [ResourceQuota](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) object. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -107,9 +108,10 @@ Delete your namespace: kubectl delete namespace quota-pod-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -133,7 +135,7 @@ kubectl delete namespace quota-pod-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md index 9e3f4d6371..36f056a61a 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md +++ b/content/en/docs/tasks/administer-cluster/namespaces-walkthrough.md @@ -3,10 +3,10 @@ reviewers: - derekwaynecarr - janetkuo title: Namespaces Walkthrough -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Kubernetes {{< glossary_tooltip text="namespaces" term_id="namespace" >}} help different projects, teams, or customers to share a Kubernetes cluster. @@ -19,16 +19,17 @@ Use of multiple namespaces is optional. This example demonstrates how to use Kubernetes namespaces to subdivide your cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Prerequisites @@ -295,4 +296,4 @@ At this point, it should be clear that the resources users create in one namespa As the policy support in Kubernetes evolves, we will extend this scenario to show how you can provide different authorization rules for each namespace. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/namespaces.md b/content/en/docs/tasks/administer-cluster/namespaces.md index 076f81d9b9..39a3bcbaa3 100644 --- a/content/en/docs/tasks/administer-cluster/namespaces.md +++ b/content/en/docs/tasks/administer-cluster/namespaces.md @@ -3,19 +3,20 @@ reviewers: - derekwaynecarr - janetkuo title: Share a Cluster with Namespaces -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to view, work in, and delete {{< glossary_tooltip text="namespaces" term_id="namespace" >}}. The page also shows how to use Kubernetes namespaces to subdivide your cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Have an [existing Kubernetes cluster](/docs/setup/). * Have a basic understanding of Kubernetes _[Pods](/docs/concepts/workloads/pods/pod/)_, _[Services](/docs/concepts/services-networking/service/)_, and _[Deployments](/docs/concepts/workloads/controllers/deployment/)_. -{{% /capture %}} -{{% capture steps %}} + + ## Viewing namespaces @@ -252,9 +253,9 @@ At this point, it should be clear that the resources users create in one namespa As the policy support in Kubernetes evolves, we will extend this scenario to show how you can provide different authorization rules for each namespace. -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding the motivation for using namespaces @@ -304,12 +305,13 @@ is local to a namespace. This is useful for using the same configuration across multiple namespaces such as Development, Staging and Production. If you want to reach across namespaces, you need to use the fully qualified domain name (FQDN). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [setting the namespace preference](/docs/concepts/overview/working-with-objects/namespaces/#setting-the-namespace-preference). * Learn more about [setting the namespace for a request](/docs/concepts/overview/working-with-objects/namespaces/#setting-the-namespace-for-a-request) * See [namespaces design](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/architecture/namespaces.md). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md b/content/en/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md index 7046752a5f..9efdccfb6e 100644 --- a/content/en/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md @@ -2,19 +2,20 @@ reviewers: - caseydavenport title: Use Calico for NetworkPolicy -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + This page shows a couple of quick ways to create a Calico cluster on Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Decide whether you want to deploy a [cloud](#creating-a-calico-cluster-with-google-kubernetes-engine-gke) or [local](#creating-a-local-calico-cluster-with-kubeadm) cluster. -{{% /capture %}} -{{% capture steps %}} + + ## Creating a Calico cluster with Google Kubernetes Engine (GKE) **Prerequisite**: [gcloud](https://cloud.google.com/sdk/docs/quickstarts). @@ -44,10 +45,11 @@ Decide whether you want to deploy a [cloud](#creating-a-calico-cluster-with-goog To get a local single-host Calico cluster in fifteen minutes using kubeadm, refer to the [Calico Quickstart](https://docs.projectcalico.org/latest/getting-started/kubernetes/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once your cluster is running, you can follow the [Declare Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) to try out Kubernetes NetworkPolicy. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md b/content/en/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md index cca685d395..95912f4f88 100644 --- a/content/en/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md @@ -3,23 +3,24 @@ reviewers: - danwent - aanm title: Use Cilium for NetworkPolicy -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to use Cilium for NetworkPolicy. For background on Cilium, read the [Introduction to Cilium](https://docs.cilium.io/en/stable/intro). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Deploying Cilium on Minikube for Basic Testing To get familiar with Cilium easily you can follow the @@ -75,9 +76,9 @@ For detailed instructions around deploying Cilium for production, see: This documentation includes detailed requirements, instructions and example production DaemonSet files. -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding Cilium components Deploying a cluster with Cilium adds Pods to the `kube-system` namespace. To see @@ -98,14 +99,15 @@ cilium-6rxbd 1/1 Running 0 1m A `cilium` Pod runs on each node in your cluster and enforces network policy on the traffic to/from Pods on that node using Linux BPF. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once your cluster is running, you can follow the [Declare Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) to try out Kubernetes NetworkPolicy with Cilium. Have fun, and if you have questions, contact us using the [Cilium Slack Channel](https://cilium.herokuapp.com/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md b/content/en/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md index 0111f6c21f..673118e312 100644 --- a/content/en/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md @@ -2,25 +2,27 @@ reviewers: - murali-reddy title: Use Kube-router for NetworkPolicy -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + This page shows how to use [Kube-router](https://github.com/cloudnativelabs/kube-router) for NetworkPolicy. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a Kubernetes cluster running. If you do not already have a cluster, you can create one by using any of the cluster installers like Kops, Bootkube, Kubeadm etc. -{{% /capture %}} -{{% capture steps %}} + + ## Installing Kube-router addon The Kube-router Addon comes with a Network Policy Controller that watches Kubernetes API server for any NetworkPolicy and pods updated and configures iptables rules and ipsets to allow or block traffic as directed by the policies. Please follow the [trying Kube-router with cluster installers](https://www.kube-router.io/docs/user-guide/#try-kube-router-with-cluster-installers) guide to install Kube-router addon. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once you have installed the Kube-router addon, you can follow the [Declare Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) to try out Kubernetes NetworkPolicy. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md b/content/en/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md index 42577dae85..df6adcd39f 100644 --- a/content/en/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md @@ -2,23 +2,24 @@ reviewers: - chrismarino title: Romana for NetworkPolicy -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + This page shows how to use Romana for NetworkPolicy. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Complete steps 1, 2, and 3 of the [kubeadm getting started guide](/docs/getting-started-guides/kubeadm/). -{{% /capture %}} -{{% capture steps %}} + + ## Installing Romana with kubeadm @@ -32,12 +33,13 @@ To apply network policies use one of the following: * [Example of Romana network policy](https://github.com/romana/core/blob/master/doc/policy.md). * The NetworkPolicy API. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once you have installed Romana, you can follow the [Declare Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) to try out Kubernetes NetworkPolicy. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md b/content/en/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md index 0fcb4ea107..a9d15f40a6 100644 --- a/content/en/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md +++ b/content/en/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md @@ -2,23 +2,24 @@ reviewers: - bboreham title: Weave Net for NetworkPolicy -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + This page shows how to use Weave Net for NetworkPolicy. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a Kubernetes cluster. Follow the [kubeadm getting started guide](/docs/getting-started-guides/kubeadm/) to bootstrap one. -{{% /capture %}} -{{% capture steps %}} + + ## Install the Weave Net addon @@ -48,12 +49,13 @@ weave-net-pmw8w 2/2 Running 0 9d Each Node has a weave Pod, and all Pods are `Running` and `2/2 READY`. (`2/2` means that each Pod has `weave` and `weave-npc`.) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once you have installed the Weave Net addon, you can follow the [Declare Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) to try out Kubernetes NetworkPolicy. If you have any question, contact us at [#weave-community on Slack or Weave User Group](https://github.com/weaveworks/weave#getting-help). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/nodelocaldns.md b/content/en/docs/tasks/administer-cluster/nodelocaldns.md index cb033f2925..8aa6b9249b 100644 --- a/content/en/docs/tasks/administer-cluster/nodelocaldns.md +++ b/content/en/docs/tasks/administer-cluster/nodelocaldns.md @@ -4,21 +4,22 @@ reviewers: - zihongz - sftim title: Using NodeLocal DNSCache in Kubernetes clusters -content_template: templates/task +content_type: task --- - -{{% capture overview %}} + + {{< feature-state for_k8s_version="v1.18" state="stable" >}} This page provides an overview of NodeLocal DNSCache feature in Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} - {{% capture steps %}} + + ## Introduction @@ -88,4 +89,4 @@ This feature can be enabled using the following steps: Once enabled, node-local-dns Pods will run in the kube-system namespace on each of the cluster nodes. This Pod runs [CoreDNS](https://github.com/coredns/coredns) in cache mode, so all CoreDNS metrics exposed by the different plugins will be available on a per-node basis. You can disable this feature by removing the DaemonSet, using `kubectl delete -f ` . You should also revert any changes you made to the kubelet configuration. - {{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/out-of-resource.md b/content/en/docs/tasks/administer-cluster/out-of-resource.md index c52415f4c6..a9d2ee3702 100644 --- a/content/en/docs/tasks/administer-cluster/out-of-resource.md +++ b/content/en/docs/tasks/administer-cluster/out-of-resource.md @@ -4,10 +4,10 @@ reviewers: - vishh - timstclair title: Configure Out of Resource Handling -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This page explains how to configure out of resource handling with `kubelet`. @@ -16,10 +16,10 @@ are low. This is especially important when dealing with incompressible compute resources, such as memory or disk space. If such resources are exhausted, nodes become unstable. -{{% /capture %}} -{{% capture body %}} + + ## Eviction Policy @@ -372,4 +372,4 @@ to prevent system OOMs, and promote eviction of workloads so cluster state can r The Pod eviction may evict more Pods than needed due to stats collection timing gap. This can be mitigated by adding the ability to get root container stats on an on-demand basis [(https://github.com/google/cadvisor/issues/1247)](https://github.com/google/cadvisor/issues/1247) in the future. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/quota-api-object.md b/content/en/docs/tasks/administer-cluster/quota-api-object.md index faf7210384..1fb48c7a2b 100644 --- a/content/en/docs/tasks/administer-cluster/quota-api-object.md +++ b/content/en/docs/tasks/administer-cluster/quota-api-object.md @@ -1,10 +1,10 @@ --- title: Configure Quotas for API Objects -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to configure quotas for API objects, including PersistentVolumeClaims and Services. A quota restricts the number of @@ -13,17 +13,18 @@ You specify quotas in a [ResourceQuota](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) object. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -140,9 +141,10 @@ Delete your namespace: kubectl delete namespace quota-object-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For cluster administrators @@ -167,7 +169,7 @@ kubectl delete namespace quota-object-example * [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md b/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md index af5696d622..1e9715e8bf 100644 --- a/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md +++ b/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md @@ -3,11 +3,11 @@ reviewers: - mtaufen - dawnchen title: Reconfigure a Node's Kubelet in a Live Cluster -content_template: templates/task +content_type: task min-kubernetes-server-version: v1.11 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} [Dynamic Kubelet Configuration](https://github.com/kubernetes/enhancements/issues/281) @@ -25,9 +25,10 @@ of nodes before rolling them out cluster-wide. Advice on configuring specific fields is available in the inline `KubeletConfiguration` [type documentation](https://github.com/kubernetes/kubernetes/blob/release-1.11/pkg/kubelet/apis/kubeletconfig/v1beta1/types.go). {{< /warning >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a Kubernetes cluster. You also need kubectl v1.11 or higher, configured to communicate with your cluster. {{< version-check >}} @@ -43,9 +44,9 @@ because there are manual alternatives. For each node that you're reconfiguring, you must set the kubelet `--dynamic-config-dir` flag to a writable directory. -{{% /capture %}} -{{% capture steps %}} + + ## Reconfiguring the kubelet on a running node in your cluster @@ -311,9 +312,9 @@ empty, since all config sources have been reset to `nil`, which indicates that the local default config is `assigned`, `active`, and `lastKnownGood`, and no error is reported. -{{% /capture %}} -{{% capture discussion %}} + + ## `kubectl patch` example You can change a Node's configSource using several different mechanisms. @@ -374,9 +375,9 @@ internal failure, see Kubelet log for details | The kubelet encountered some int {{< /table >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - For more information on configuring the kubelet via a configuration file, see [Set kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file). - See the reference documentation for [`NodeConfigSource`](https://kubernetes.io/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#nodeconfigsource-v1-core) -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md b/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md index c78c9edb42..4f00675c37 100644 --- a/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md +++ b/content/en/docs/tasks/administer-cluster/reserve-compute-resources.md @@ -4,11 +4,11 @@ reviewers: - derekwaynecarr - dashpole title: Reserve Compute Resources for System Daemons -content_template: templates/task +content_type: task min-kubernetes-server-version: 1.8 --- -{{% capture overview %}} + Kubernetes nodes can be scheduled to `Capacity`. Pods can consume all the available capacity on a node by default. This is an issue because nodes @@ -22,19 +22,20 @@ compute resources for system daemons. Kubernetes recommends cluster administrators to configure `Node Allocatable` based on their workload density on each node. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} Your Kubernetes server must be at or later than version 1.17 to use the kubelet command line option `--reserved-cpus` to set an [explicitly reserved CPU list](#explicitly-reserved-cpu-list). -{{% /capture %}} -{{% capture steps %}} + + ## Node Allocatable @@ -226,9 +227,9 @@ more features are added. Over time, kubernetes project will attempt to bring down utilization of node system daemons, but that is not a priority as of now. So expect a drop in `Allocatable` capacity in future releases. -{{% /capture %}} -{{% capture discussion %}} + + ## Example Scenario @@ -251,4 +252,3 @@ If `kube-reserved` and/or `system-reserved` is not enforced and system daemons exceed their reservation, `kubelet` evicts pods whenever the overall node memory usage is higher than `31.5Gi` or `storage` is greater than `90Gi` -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md index 71cc28ff40..aa01c902e4 100644 --- a/content/en/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/en/docs/tasks/administer-cluster/running-cloud-controller.md @@ -4,10 +4,10 @@ reviewers: - thockin - wlan0 title: Cloud Controller Manager Administration -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.11" >}} @@ -15,10 +15,10 @@ Since cloud providers develop and release at a different pace compared to the Ku The `cloud-controller-manager` can be linked to any cloud provider that satisfies [cloudprovider.Interface](https://github.com/kubernetes/cloud-provider/blob/master/cloud.go). For backwards compatibility, the [cloud-controller-manager](https://github.com/kubernetes/kubernetes/tree/master/cmd/cloud-controller-manager) provided in the core Kubernetes project uses the same cloud libraries as `kube-controller-manager`. Cloud providers already supported in Kubernetes core are expected to use the in-tree cloud-controller-manager to transition out of Kubernetes core. -{{% /capture %}} -{{% capture body %}} + + ## Administration @@ -82,9 +82,10 @@ A good example of this is the TLS bootstrapping feature in the Kubelet. TLS boot As this initiative evolves, changes will be made to address these issues in upcoming releases. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + To build and develop your own cloud controller manager, read [Developing Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/safely-drain-node.md b/content/en/docs/tasks/administer-cluster/safely-drain-node.md index 29006ff754..e18b2ed87d 100644 --- a/content/en/docs/tasks/administer-cluster/safely-drain-node.md +++ b/content/en/docs/tasks/administer-cluster/safely-drain-node.md @@ -5,14 +5,15 @@ reviewers: - foxish - kow3ns title: Safely Drain a Node while Respecting the PodDisruptionBudget -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to safely drain a node, respecting the PodDisruptionBudget you have defined. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + This task assumes that you have met the following prerequisites: @@ -24,9 +25,9 @@ This task assumes that you have met the following prerequisites: and [Configured PodDisruptionBudgets](/docs/tasks/run-application/configure-pdb/) for applications that need them. -{{% /capture %}} -{{% capture steps %}} + + ## Use `kubectl drain` to remove a node from service @@ -151,13 +152,14 @@ In this case, there are two potential solutions: Kubernetes does not specify what the behavior should be in this case; it is up to the application owners and cluster owners to establish an agreement on behavior in these cases. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Follow steps to protect your application by [configuring a Pod Disruption Budget](/docs/tasks/run-application/configure-pdb/). * Learn more about [maintenance on a node](/docs/tasks/administer-cluster/cluster-management/#maintenance-on-a-node). -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/securing-a-cluster.md b/content/en/docs/tasks/administer-cluster/securing-a-cluster.md index d2d58ae702..7e558fb48f 100644 --- a/content/en/docs/tasks/administer-cluster/securing-a-cluster.md +++ b/content/en/docs/tasks/administer-cluster/securing-a-cluster.md @@ -5,23 +5,24 @@ reviewers: - ericchiang - destijl title: Securing a Cluster -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This document covers topics related to protecting a cluster from accidental or malicious access and provides recommendations on overall security. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Controlling access to the Kubernetes API @@ -254,6 +255,6 @@ Join the [kubernetes-announce](https://groups.google.com/forum/#!forum/kubernete group for emails about security announcements. See the [security reporting](/security/) page for more on how to report vulnerabilities. -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/sysctl-cluster.md b/content/en/docs/tasks/administer-cluster/sysctl-cluster.md index f96c066dd5..56a398c35f 100644 --- a/content/en/docs/tasks/administer-cluster/sysctl-cluster.md +++ b/content/en/docs/tasks/administer-cluster/sysctl-cluster.md @@ -2,25 +2,26 @@ title: Using sysctls in a Kubernetes Cluster reviewers: - sttts -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="beta" >}} This document describes how to configure and use kernel parameters within a Kubernetes cluster using the {{< glossary_tooltip term_id="sysctl" >}} interface. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Listing all Sysctl Parameters @@ -140,9 +141,9 @@ spec: value: "65536" ... ``` -{{% /capture %}} -{{% capture discussion %}} + + {{< warning >}} Due to their nature of being _unsafe_, the use of _unsafe_ sysctls @@ -210,4 +211,4 @@ spec: ... ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/administer-cluster/topology-manager.md b/content/en/docs/tasks/administer-cluster/topology-manager.md index 156146e1c2..8455bb0d8d 100644 --- a/content/en/docs/tasks/administer-cluster/topology-manager.md +++ b/content/en/docs/tasks/administer-cluster/topology-manager.md @@ -8,11 +8,11 @@ reviewers: - nolancon - bg-chun -content_template: templates/task +content_type: task min-kubernetes-server-version: v1.18 --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.18" >}} @@ -22,15 +22,16 @@ In order to extract the best performance, optimizations related to CPU isolation _Topology Manager_ is a Kubelet component that aims to co-ordinate the set of components that are responsible for these optimizations. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## How Topology Manager Works @@ -216,4 +217,4 @@ Using this information the Topology Manager calculates the optimal hint for the 3. The Device Manager and the CPU Manager are the only components to adopt the Topology Manager's HintProvider interface. This means that NUMA alignment can only be achieved for resources managed by the CPU Manager and the Device Manager. Memory or Hugepages are not considered by the Topology Manager for NUMA alignment. -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md index 181b92b8e1..5e79704cc4 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -1,20 +1,21 @@ --- title: Assign CPU Resources to Containers and Pods -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to assign a CPU *request* and a CPU *limit* to a container. Containers cannot use more CPU than the configured limit. Provided the system has CPU time free, a container is guaranteed to be allocated as much CPU as it requests. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -48,10 +49,10 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -239,9 +240,10 @@ Delete your namespace: kubectl delete namespace cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For app developers @@ -266,4 +268,4 @@ kubectl delete namespace cpu-example * [Configure Quotas for API Objects](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md index e8f7d8073a..394f435d12 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/en/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -1,19 +1,20 @@ --- title: Assign Memory Resources to Containers and Pods -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + This page shows how to assign a memory *request* and a memory *limit* to a Container. A Container is guaranteed to have as much memory as it requests, but is not allowed to use more memory than its limit. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -46,9 +47,9 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## Create a namespace @@ -330,9 +331,10 @@ Delete your namespace. This deletes all the Pods that you created for this task: kubectl delete namespace mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For app developers @@ -356,7 +358,7 @@ kubectl delete namespace mem-example * [Configure Quotas for API Objects](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md b/content/en/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md index 16773cd215..8306724c1d 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md +++ b/content/en/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md @@ -1,22 +1,23 @@ --- title: Assign Pods to Nodes using Node Affinity min-kubernetes-server-version: v1.10 -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + This page shows how to assign a Kubernetes Pod to a particular node using Node Affinity in a Kubernetes cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Add a label to a node @@ -112,9 +113,10 @@ This means that the pod will prefer a node that has a `disktype=ssd` label. nginx 1/1 Running 0 13s 10.200.0.4 worker0 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [Node Affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md b/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md index b5f6876e6b..f1e6e6e9ef 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md +++ b/content/en/docs/tasks/configure-pod-container/assign-pods-nodes.md @@ -1,21 +1,22 @@ --- title: Assign Pods to Nodes -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + This page shows how to assign a Kubernetes Pod to a particular node in a Kubernetes cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Add a label to a node @@ -94,10 +95,11 @@ You can also schedule a pod to one specific node via setting `nodeName`. Use the configuration file to create a pod that will get scheduled on `foo-node` only. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [labels and selectors](/docs/concepts/overview/working-with-objects/labels/). * Learn more about [nodes](/docs/concepts/architecture/nodes/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md b/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md index 57b5fad6c6..f5116e7691 100644 --- a/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md +++ b/content/en/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md @@ -1,27 +1,28 @@ --- title: Attach Handlers to Container Lifecycle Events -content_template: templates/task +content_type: task weight: 140 --- -{{% capture overview %}} + This page shows how to attach handlers to Container lifecycle events. Kubernetes supports the postStart and preStop events. Kubernetes sends the postStart event immediately after a Container is started, and it sends the preStop event immediately before the Container is terminated. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Define postStart and preStop handlers @@ -56,11 +57,11 @@ The output shows the text written by the postStart handler: Hello from the postStart handler -{{% /capture %}} -{{% capture discussion %}} + + ## Discussion @@ -82,10 +83,11 @@ This means that the preStop hook is not invoked when the Pod is *completed*. This limitation is tracked in [issue #55087](https://github.com/kubernetes/kubernetes/issues/55807). {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/). * Learn more about the [lifecycle of a Pod](/docs/concepts/workloads/pods/pod-lifecycle/). @@ -97,6 +99,6 @@ This limitation is tracked in [issue #55087](https://github.com/kubernetes/kuber * [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) * See `terminationGracePeriodSeconds` in [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-gmsa.md b/content/en/docs/tasks/configure-pod-container/configure-gmsa.md index 8045ae9a02..82d3d87498 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-gmsa.md +++ b/content/en/docs/tasks/configure-pod-container/configure-gmsa.md @@ -1,10 +1,10 @@ --- title: Configure GMSA for Windows Pods and containers -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="stable" >}} @@ -12,9 +12,10 @@ This page shows how to configure [Group Managed Service Accounts](https://docs.m In Kubernetes, GMSA credential specs are configured at a Kubernetes cluster-wide scope as Custom Resources. Windows Pods, as well as individual containers within a Pod, can be configured to use a GMSA for domain based functions (e.g. Kerberos authentication) when interacting with other Windows services. As of v1.16, the Docker runtime supports GMSA for Windows workloads. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a Kubernetes cluster and the `kubectl` command-line tool must be configured to communicate with your cluster. The cluster is expected to have Windows worker nodes. This section covers a set of initial steps required once for each cluster: @@ -43,9 +44,9 @@ A [script](https://github.com/kubernetes-sigs/windows-gmsa/blob/master/admission The [YAML template](https://github.com/kubernetes-sigs/windows-gmsa/blob/master/admission-webhook/deploy/gmsa-webhook.yml.tpl) used by the script may also be used to deploy the webhooks and associated objects manually (with appropriate substitutions for the parameters) -{{% /capture %}} -{{% capture steps %}} + + ## Configure GMSAs and Windows nodes in Active Directory Before Pods in Kubernetes can be configured to use GMSAs, the desired GMSAs need to be provisioned in Active Directory as described in the [Windows GMSA documentation](https://docs.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/getting-started-with-group-managed-service-accounts#BKMK_Step1). Windows worker nodes (that are part of the Kubernetes cluster) need to be configured in Active Directory to access the secret credentials associated with the desired GMSA as described in the [Windows GMSA documentation](https://docs.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/getting-started-with-group-managed-service-accounts#to-add-member-hosts-using-the-set-adserviceaccount-cmdlet) @@ -252,4 +253,4 @@ If the above command corrects the error, you can automate the step by adding the If you add the `lifecycle` section show above to your Pod spec, the Pod will execute the commands listed to restart the `netlogon` service until the `nltest.exe /query` command exits without error. -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 19b077ab35..ed5aa24044 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -1,10 +1,10 @@ --- title: Configure Liveness, Readiness and Startup Probes -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + This page shows how to configure liveness, readiness and startup probes for containers. @@ -25,15 +25,16 @@ it succeeds, making sure those probes don't interfere with the application start This can be used to adopt liveness checks on slow starting containers, avoiding them getting killed by the kubelet before they are up and running. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Define a liveness command @@ -360,9 +361,10 @@ For a TCP probe, the kubelet makes the probe connection at the node, not in the means that you can not use a service name in the `host` parameter since the kubelet is unable to resolve it. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Container Probes](/docs/concepts/workloads/pods/pod-lifecycle/#container-probes). @@ -373,6 +375,6 @@ You can also read the API references for: * [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) * [Probe](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md b/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md index 024e6929c7..6ff6c21530 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md +++ b/content/en/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md @@ -1,10 +1,10 @@ --- title: Configure a Pod to Use a PersistentVolume for Storage -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + This page shows you how to configure a Pod to use a {{< glossary_tooltip text="PersistentVolumeClaim" term_id="persistent-volume-claim" >}} @@ -20,9 +20,10 @@ PersistentVolume. 1. You create a Pod that uses the above PersistentVolumeClaim for storage. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * You need to have a Kubernetes cluster that has only one Node, and the {{< glossary_tooltip text="kubectl" term_id="kubectl" >}} @@ -33,9 +34,9 @@ do not already have a single-node cluster, you can create one by using * Familiarize yourself with the material in [Persistent Volumes](/docs/concepts/storage/persistent-volumes/). -{{% /capture %}} -{{% capture steps %}} + + ## Create an index.html file on your Node @@ -237,10 +238,10 @@ sudo rmdir /mnt/data You can now close the shell to your Node. -{{% /capture %}} -{{% capture discussion %}} + + ## Access control @@ -270,10 +271,11 @@ When a Pod consumes a PersistentVolume, the GIDs associated with the PersistentVolume are not present on the Pod resource itself. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [PersistentVolumes](/docs/concepts/storage/persistent-volumes/). * Read the [Persistent Storage design document](https://git.k8s.io/community/contributors/design-proposals/storage/persistent-storage.md). @@ -285,6 +287,6 @@ PersistentVolume are not present on the Pod resource itself. * [PersistentVolumeClaim](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * [PersistentVolumeClaimSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaimspec-v1-core) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md index c7f80b0fad..42eff59db0 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -1,24 +1,25 @@ --- title: Configure a Pod to Use a ConfigMap -content_template: templates/task +content_type: task weight: 150 card: name: tasks weight: 50 --- -{{% capture overview %}} + ConfigMaps allow you to decouple configuration artifacts from image content to keep containerized applications portable. This page provides a series of usage examples demonstrating how to create ConfigMaps and configure Pods using data stored in ConfigMaps. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create a ConfigMap @@ -628,9 +629,9 @@ When a ConfigMap already being consumed in a volume is updated, projected keys a A container using a ConfigMap as a [subPath](/docs/concepts/storage/volumes/#using-subpath) volume will not receive ConfigMap updates. {{< /note >}} -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding ConfigMaps and Pods @@ -680,9 +681,10 @@ data: - You can't use ConfigMaps for {{< glossary_tooltip text="static pods" term_id="static-pod" >}}, because the Kubelet does not support this. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Follow a real world example of [Configuring Redis using a ConfigMap](/docs/tutorials/configuration/configure-redis-using-configmap/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md b/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md index a418a8d7c0..9a8a33f655 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md +++ b/content/en/docs/tasks/configure-pod-container/configure-pod-initialization.md @@ -1,22 +1,23 @@ --- title: Configure Pod Initialization -content_template: templates/task +content_type: task weight: 130 --- -{{% capture overview %}} + This page shows how to use an Init Container to initialize a Pod before an application Container runs. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Create a Pod that has an Init Container @@ -78,9 +79,10 @@ The output shows that nginx is serving the web page that was written by the init

    Kubernetes is open source giving you the freedom to take advantage ...

    ... -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [communicating between Containers running in the same Pod](/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/). @@ -88,6 +90,6 @@ The output shows that nginx is serving the web page that was written by the init * Learn more about [Volumes](/docs/concepts/storage/volumes/). * Learn more about [Debugging Init Containers](/docs/tasks/debug-application-cluster/debug-init-containers/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md b/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md index ec6f2d9528..ad99a05c27 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md +++ b/content/en/docs/tasks/configure-pod-container/configure-projected-volume-storage.md @@ -3,11 +3,11 @@ reviewers: - jpeeler - pmorie title: Configure a Pod to Use a Projected Volume for Storage -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + This page shows how to use a [`projected`](/docs/concepts/storage/volumes/#projected) Volume to mount several existing volume sources into the same directory. Currently, `secret`, `configMap`, `downwardAPI`, and `serviceAccountToken` volumes can be projected. @@ -15,13 +15,14 @@ and `serviceAccountToken` volumes can be projected. {{< note >}} `serviceAccountToken` is not a volume type. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configure a projected volume for a pod In this exercise, you create username and password {{< glossary_tooltip text="Secrets" term_id="secret" >}} from local files. You then create a Pod that runs one container, using a [`projected`](/docs/concepts/storage/volumes/#projected) Volume to mount the Secrets into the same shared directory. @@ -77,9 +78,10 @@ kubectl delete pod test-projected-volume kubectl delete secret user pass ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [`projected`](/docs/concepts/storage/volumes/#projected) volumes. * Read the [all-in-one volume](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/node/all-in-one-volume.md) design document. -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-runasusername.md b/content/en/docs/tasks/configure-pod-container/configure-runasusername.md index ac912327f3..12c10a9ddf 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-runasusername.md +++ b/content/en/docs/tasks/configure-pod-container/configure-runasusername.md @@ -1,24 +1,25 @@ --- title: Configure RunAsUserName for Windows pods and containers -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="stable" >}} This page shows how to use the `runAsUserName` setting for Pods and containers that will run on Windows nodes. This is roughly equivalent of the Linux-specific `runAsUser` setting, allowing you to run applications in a container as a different username than the default. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a Kubernetes cluster and the kubectl command-line tool must be configured to communicate with your cluster. The cluster is expected to have Windows worker nodes where pods with containers running Windows workloads will get scheduled. -{{% /capture %}} -{{% capture steps %}} + + ## Set the Username for a Pod @@ -114,12 +115,12 @@ Examples of acceptable values for the `runAsUserName` field: `ContainerAdministr For more information about these limtations, check [here](https://support.microsoft.com/en-us/help/909264/naming-conventions-in-active-directory-for-computers-domains-sites-and) and [here](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.localaccounts/new-localuser?view=powershell-5.1). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Guide for scheduling Windows containers in Kubernetes](/docs/setup/production-environment/windows/user-guide-windows-containers/) * [Managing Workload Identity with Group Managed Service Accounts (GMSA)](/docs/setup/production-environment/windows/user-guide-windows-containers/#managing-workload-identity-with-group-managed-service-accounts) * [Configure GMSA for Windows pods and containers](/docs/tasks/configure-pod-container/configure-gmsa/) -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/configure-pod-container/configure-service-account.md b/content/en/docs/tasks/configure-pod-container/configure-service-account.md index 021a8feb22..eaaabb9e94 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-service-account.md +++ b/content/en/docs/tasks/configure-pod-container/configure-service-account.md @@ -4,11 +4,11 @@ reviewers: - liggitt - thockin title: Configure Service Accounts for Pods -content_template: templates/task +content_type: task weight: 90 --- -{{% capture overview %}} + A service account provides an identity for processes that run in a Pod. {{< note >}} @@ -23,16 +23,17 @@ authenticated by the apiserver as a particular User Account (currently this is usually `admin`, unless your cluster administrator has customized your cluster). Processes in containers inside pods can also contact the apiserver. When they do, they are authenticated as a particular Service Account (for example, `default`). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Use the Default Service Account to access the API server. @@ -370,9 +371,10 @@ override the `jwks_uri` in the OpenID Provider Configuration so that it points to the public endpoint, rather than the API server's address, by passing the `--service-account-jwks-uri` flag to the API server. Like the issuer URL, the JWKS URI is required to use the `https` scheme. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + See also: @@ -380,4 +382,4 @@ See also: - [Service Account Signing Key Retrieval KEP](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/20190730-oidc-discovery.md) - [OIDC Discovery Spec](https://openid.net/specs/openid-connect-discovery-1_0.html) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md index bec97a2975..69e665b42e 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/en/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -1,10 +1,10 @@ --- title: Configure a Pod to Use a Volume for Storage -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + This page shows how to configure a Pod to use a Volume for storage. @@ -14,15 +14,16 @@ consistent storage that is independent of the Container, you can use a [Volume](/docs/concepts/storage/volumes/). This is especially important for stateful applications, such as key-value stores (such as Redis) and databases. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configure a volume for a Pod @@ -126,9 +127,10 @@ of `Always`. kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * See [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core). @@ -140,6 +142,6 @@ GCE and EBS on EC2, which are preferred for critical data and will handle details such as mounting and unmounting the devices on the nodes. See [Volumes](/docs/concepts/storage/volumes/) for more details. -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/extended-resource.md b/content/en/docs/tasks/configure-pod-container/extended-resource.md index 36d957ca01..25fa11b0d9 100644 --- a/content/en/docs/tasks/configure-pod-container/extended-resource.md +++ b/content/en/docs/tasks/configure-pod-container/extended-resource.md @@ -1,19 +1,20 @@ --- title: Assign Extended Resources to a Container -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + {{< feature-state state="stable" >}} This page shows how to assign extended resources to a Container. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -21,10 +22,10 @@ Before you do this exercise, do the exercise in [Advertise Extended Resources for a Node](/docs/tasks/administer-cluster/extended-resource-node/). That will configure one of your Nodes to advertise a dongle resource. -{{% /capture %}} -{{% capture steps %}} + + ## Assign an extended resource to a Pod @@ -127,9 +128,10 @@ kubectl delete pod extended-resource-demo kubectl delete pod extended-resource-demo-2 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For application developers @@ -140,4 +142,4 @@ kubectl delete pod extended-resource-demo-2 * [Advertise Extended Resources for a Node](/docs/tasks/administer-cluster/extended-resource-node/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md b/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md index 9184883003..ce0b5b3656 100644 --- a/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md +++ b/content/en/docs/tasks/configure-pod-container/pull-image-private-registry.md @@ -1,26 +1,27 @@ --- title: Pull an Image from a Private Registry -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + This page shows how to create a Pod that uses a Secret to pull an image from a private Docker registry or repository. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * To do this exercise, you need a [Docker ID](https://docs.docker.com/docker-id/) and password. -{{% /capture %}} -{{% capture steps %}} + + ## Log in to Docker @@ -200,9 +201,10 @@ kubectl apply -f my-private-reg-pod.yaml kubectl get pod private-reg ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Secrets](/docs/concepts/configuration/secret/). * Learn more about [using a private registry](/docs/concepts/containers/images/#using-a-private-registry). @@ -211,5 +213,5 @@ kubectl get pod private-reg * See [Secret](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core). * See the `imagePullSecrets` field of [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core). -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/quality-service-pod.md b/content/en/docs/tasks/configure-pod-container/quality-service-pod.md index cd9edd0410..dec9e8db91 100644 --- a/content/en/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/en/docs/tasks/configure-pod-container/quality-service-pod.md @@ -1,27 +1,28 @@ --- title: Configure Quality of Service for Pods -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + This page shows how to configure Pods so that they will be assigned particular Quality of Service (QoS) classes. Kubernetes uses QoS classes to make decisions about scheduling and evicting Pods. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## QoS classes @@ -235,9 +236,10 @@ Delete your namespace: kubectl delete namespace qos-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### For app developers @@ -263,7 +265,7 @@ kubectl delete namespace qos-example * [Configure Quotas for API Objects](/docs/tasks/administer-cluster/quota-api-object/) * [Control Topology Management policies on a node](/docs/tasks/administer-cluster/topology-manager/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/security-context.md b/content/en/docs/tasks/configure-pod-container/security-context.md index 0c2bb05d0c..38662760b7 100644 --- a/content/en/docs/tasks/configure-pod-container/security-context.md +++ b/content/en/docs/tasks/configure-pod-container/security-context.md @@ -4,11 +4,11 @@ reviewers: - mikedanese - thockin title: Configure a Security Context for a Pod or Container -content_template: templates/task +content_type: task weight: 80 --- -{{% capture overview %}} + A security context defines privilege and access control settings for a Pod or Container. Security context settings include, but are not limited to: @@ -37,15 +37,16 @@ for a comprehensive list. For more information about security mechanisms in Linux, see [Overview of Linux Kernel Security Features](https://www.linux.com/learn/overview-linux-kernel-security-features) -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Set the security context for a Pod @@ -409,9 +410,10 @@ kubectl delete pod security-context-demo-3 kubectl delete pod security-context-demo-4 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [PodSecurityContext](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritycontext-v1-core) * [SecurityContext](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#securitycontext-v1-core) @@ -423,4 +425,4 @@ kubectl delete pod security-context-demo-4 document](https://git.k8s.io/community/contributors/design-proposals/auth/no-new-privs.md) -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/share-process-namespace.md b/content/en/docs/tasks/configure-pod-container/share-process-namespace.md index ee227d3f9b..dfb8e40906 100644 --- a/content/en/docs/tasks/configure-pod-container/share-process-namespace.md +++ b/content/en/docs/tasks/configure-pod-container/share-process-namespace.md @@ -5,11 +5,11 @@ reviewers: - verb - yujuhong - dchen1107 -content_template: templates/task +content_type: task weight: 160 --- -{{% capture overview %}} + {{< feature-state state="stable" for_k8s_version="v1.17" >}} @@ -21,15 +21,16 @@ You can use this feature to configure cooperating containers, such as a log handler sidecar container, or to troubleshoot container images that don't include debugging utilities like a shell. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configure a Pod @@ -93,9 +94,9 @@ events { worker_connections 1024; ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding Process Namespace Sharing @@ -117,6 +118,6 @@ containers, though, so it's important to understand these differences: `/proc/$pid/root` link.** This makes debugging easier, but it also means that filesystem secrets are protected only by filesystem permissions. -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/static-pod.md b/content/en/docs/tasks/configure-pod-container/static-pod.md index fc31526348..5189fdb882 100644 --- a/content/en/docs/tasks/configure-pod-container/static-pod.md +++ b/content/en/docs/tasks/configure-pod-container/static-pod.md @@ -3,10 +3,10 @@ reviewers: - jsafrane title: Create static Pods weight: 170 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + *Static Pods* are managed directly by the kubelet daemon on a specific node, @@ -30,9 +30,10 @@ Pods to run a Pod on every node, you should probably be using a instead. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -41,10 +42,10 @@ and that your nodes are running the Fedora operating system. Instructions for other distributions or Kubernetes installations may vary. -{{% /capture %}} -{{% capture steps %}} + + ## Create a static pod {#static-pod-creation} @@ -236,4 +237,4 @@ CONTAINER ID IMAGE COMMAND CREATED ... e7a62e3427f1 nginx:latest "nginx -g 'daemon of 27 seconds ago ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md b/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md index 847d76f25c..4fadbb3f42 100644 --- a/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md +++ b/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md @@ -2,26 +2,27 @@ reviewers: - cdrage title: Translate a Docker Compose File to Kubernetes Resources -content_template: templates/task +content_type: task weight: 200 --- -{{% capture overview %}} + What's Kompose? It's a conversion tool for all things compose (namely Docker Compose) to container orchestrators (Kubernetes or OpenShift). More information can be found on the Kompose website at [http://kompose.io](http://kompose.io). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Install Kompose @@ -200,9 +201,9 @@ you need is an existing `docker-compose.yml` file. $ curl http://192.0.2.89 ``` -{{% /capture %}} -{{% capture discussion %}} + + ## User Guide @@ -606,4 +607,4 @@ Kompose supports Docker Compose versions: 1, 2 and 3. We have limited support on A full list on compatibility between all three versions is listed in our [conversion document](https://github.com/kubernetes/kompose/blob/master/docs/conversion.md) including a list of all incompatible Docker Compose keys. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/audit.md b/content/en/docs/tasks/debug-application-cluster/audit.md index 5a57779b6c..acde29fdab 100644 --- a/content/en/docs/tasks/debug-application-cluster/audit.md +++ b/content/en/docs/tasks/debug-application-cluster/audit.md @@ -3,11 +3,11 @@ reviewers: - soltysh - sttts - ericchiang -content_template: templates/concept +content_type: concept title: Auditing --- -{{% capture overview %}} + Kubernetes auditing provides a security-relevant chronological set of records documenting the sequence of activities that have affected system by individual users, administrators @@ -22,10 +22,10 @@ answer the following questions: - from where was it initiated? - to where was it going? -{{% /capture %}} -{{% capture body %}} + + [Kube-apiserver][kube-apiserver] performs auditing. Each request on each stage of its execution generates an event, which is then pre-processed according to @@ -503,12 +503,13 @@ plugin which supports full-text search and analytics. [logstash_install_doc]: https://www.elastic.co/guide/en/logstash/current/installing-logstash.html [kube-aggregator]: /docs/concepts/api-extension/apiserver-aggregation -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Visit [Auditing with Falco](/docs/tasks/debug-application-cluster/falco). Learn about [Mutating webhook auditing annotations](/docs/reference/access-authn-authz/extensible-admission-controllers/#mutating-webhook-auditing-annotations). -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/crictl.md b/content/en/docs/tasks/debug-application-cluster/crictl.md index f7bfec87ff..a047f194e9 100644 --- a/content/en/docs/tasks/debug-application-cluster/crictl.md +++ b/content/en/docs/tasks/debug-application-cluster/crictl.md @@ -4,11 +4,11 @@ reviewers: - feiskyer - mrunalp title: Debugging Kubernetes nodes with crictl -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="stable" >}} @@ -17,15 +17,16 @@ You can use it to inspect and debug container runtimes and applications on a Kubernetes node. `crictl` and its source are hosted in the [cri-tools](https://github.com/kubernetes-incubator/cri-tools) repository. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + `crictl` requires a Linux operating system with a CRI runtime. -{{% /capture %}} -{{% capture steps %}} + + ## Installing crictl @@ -347,12 +348,12 @@ CONTAINER ID IMAGE CREATED STATE 3e025dd50a72d busybox About a minute ago Running busybox 0 ``` -{{% /capture %}} -{{% capture discussion %}} + + See [kubernetes-incubator/cri-tools](https://github.com/kubernetes-incubator/cri-tools) for more information. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md index 2f5d6e7eda..e0ce8166b0 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md @@ -2,20 +2,20 @@ reviewers: - janetkuo - thockin -content_template: templates/concept +content_type: concept title: Application Introspection and Debugging --- -{{% capture overview %}} + Once your application is running, you'll inevitably need to debug problems with it. Earlier we described how you can use `kubectl get pods` to retrieve simple status information about your pods. But there are a number of ways to get even more information about your application. -{{% /capture %}} -{{% capture body %}} + + ## Using `kubectl describe pod` to fetch details about pods @@ -387,9 +387,10 @@ status: systemUUID: ABE5F6B4-D44B-108B-C46A-24CCE16C8B6E ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn about additional debugging tools, including: @@ -400,4 +401,4 @@ Learn about additional debugging tools, including: * [Connecting to containers via port forwarding](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) * [Inspect Kubernetes node with crictl](/docs/tasks/debug-application-cluster/crictl/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-application.md b/content/en/docs/tasks/debug-application-cluster/debug-application.md index 08f0fad008..a5c37541c3 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-application.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-application.md @@ -3,19 +3,19 @@ reviewers: - mikedanese - thockin title: Troubleshoot Applications -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This guide is to help users debug applications that are deployed into Kubernetes and not behaving correctly. This is *not* a guide for people who want to debug their cluster. For that you should check out [this guide](/docs/admin/cluster-troubleshooting). -{{% /capture %}} -{{% capture body %}} + + ## Diagnosing the problem @@ -161,12 +161,13 @@ check: * Can you connect to your pods directly? Get the IP address for the Pod, and try to connect directly to that IP. * Is your application serving on the port that you configured? Kubernetes doesn't do port remapping, so if your application serves on 8080, the `containerPort` field needs to be 8080. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + If none of the above solves your problem, follow the instructions in [Debugging Service document](/docs/user-guide/debugging-services) to make sure that your `Service` is running, has `Endpoints`, and your `Pods` are actually serving; you have DNS working, iptables rules installed, and kube-proxy does not seem to be misbehaving. You may also visit [troubleshooting document](/docs/troubleshooting/) for more information. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-cluster.md b/content/en/docs/tasks/debug-application-cluster/debug-cluster.md index 473f364361..0a66bed195 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-cluster.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-cluster.md @@ -2,20 +2,20 @@ reviewers: - davidopp title: Troubleshoot Clusters -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This doc is about cluster troubleshooting; we assume you have already ruled out your application as the root cause of the problem you are experiencing. See the [application troubleshooting guide](/docs/tasks/debug-application-cluster/debug-application) for tips on application debugging. You may also visit [troubleshooting document](/docs/troubleshooting/) for more information. -{{% /capture %}} -{{% capture body %}} + + ## Listing your cluster @@ -124,4 +124,4 @@ This is an incomplete list of things that could go wrong, and how to adjust your - Mitigates: Node shutdown - Mitigates: Kubelet software fault -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-init-containers.md b/content/en/docs/tasks/debug-application-cluster/debug-init-containers.md index 296f0a0648..a6a3a44d98 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-init-containers.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-init-containers.md @@ -8,19 +8,20 @@ reviewers: - kow3ns - smarterclayton title: Debug Init Containers -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to investigate problems related to the execution of Init Containers. The example command lines below refer to the Pod as `` and the Init Containers as `` and ``. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -28,9 +29,9 @@ Init Containers. The example command lines below refer to the Pod as [Init Containers](/docs/concepts/abstractions/init-containers/). * You should have [Configured an Init Container](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container/). -{{% /capture %}} -{{% capture steps %}} + + ## Checking the status of Init Containers @@ -113,9 +114,9 @@ Init Containers that run a shell script print commands as they're executed. For example, you can do this in Bash by running `set -x` at the beginning of the script. -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding Pod status @@ -131,7 +132,7 @@ Status | Meaning `Pending` | The Pod has not yet begun executing Init Containers. `PodInitializing` or `Running` | The Pod has already finished executing Init Containers. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md b/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md index 28c9885e57..9793b472e0 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md @@ -2,25 +2,26 @@ reviewers: - bprashanth title: Debug Pods and ReplicationControllers -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to debug Pods and ReplicationControllers. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * You should be familiar with the basics of [Pods](/docs/concepts/workloads/pods/pod/) and [Pod Lifecycle](/docs/concepts/workloads/pods/pod-lifecycle/). -{{% /capture %}} -{{% capture steps %}} + + ## Debugging Pods @@ -106,4 +107,4 @@ or they can't. If they can't create pods, then please refer to the You can also use `kubectl describe rc ${CONTROLLER_NAME}` to inspect events related to the replication controller. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-running-pod.md b/content/en/docs/tasks/debug-application-cluster/debug-running-pod.md index a812640555..5e67585705 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-running-pod.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-running-pod.md @@ -3,16 +3,17 @@ reviewers: - verb - soltysh title: Debug Running Pods -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page explains how to debug Pods running (or crashing) on a Node. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Your {{< glossary_tooltip text="Pod" term_id="pod" >}} should already be scheduled and running. If your Pod is not yet running, start with [Troubleshoot @@ -21,9 +22,9 @@ This page explains how to debug Pods running (or crashing) on a Node. Pod is running and have shell access to run commands on that Node. You don't need that access to run the standard debug steps that use `kubectl`. -{{% /capture %}} -{{% capture steps %}} + + ## Examining pod logs {#examine-pod-logs} @@ -187,4 +188,4 @@ given tools in the Kubernetes API. Therefore, if you find yourself needing to ssh into a machine, please file a feature request on GitHub describing your use case and why these tools are insufficient. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-service.md b/content/en/docs/tasks/debug-application-cluster/debug-service.md index 8656f3ae7e..c4e12042fb 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-service.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-service.md @@ -2,21 +2,21 @@ reviewers: - thockin - bowei -content_template: templates/concept +content_type: concept title: Debug Services --- -{{% capture overview %}} + An issue that comes up rather frequently for new installations of Kubernetes is that a Service is not working properly. You've run your Pods through a Deployment (or other workload controller) and created a Service, but you get no response when you try to access it. This document will hopefully help you to figure out what's going wrong. -{{% /capture %}} -{{% capture body %}} + + ## Running commands in a Pod @@ -728,10 +728,11 @@ Contact us on [Forum](https://discuss.kubernetes.io) or [GitHub](https://github.com/kubernetes/kubernetes). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Visit [troubleshooting document](/docs/troubleshooting/) for more information. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/debug-stateful-set.md b/content/en/docs/tasks/debug-application-cluster/debug-stateful-set.md index 8bf56bb10c..755c9b725e 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-stateful-set.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-stateful-set.md @@ -8,23 +8,24 @@ reviewers: - kow3ns - smarterclayton title: Debug a StatefulSet -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This task shows you how to debug a StatefulSet. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. * You should have a StatefulSet running that you want to investigate. -{{% /capture %}} -{{% capture steps %}} + + ## Debugging a StatefulSet @@ -41,12 +42,13 @@ instructions on how to deal with them. You can debug individual Pods in a StatefulSet using the [Debugging Pods](/docs/tasks/debug-application-cluster/debug-pod-replication-controller/) guide. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [debugging an init-container](/docs/tasks/debug-application-cluster/debug-init-containers/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md b/content/en/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md index 6910b25ce0..44dcf0e909 100644 --- a/content/en/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md +++ b/content/en/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md @@ -1,9 +1,9 @@ --- title: Determine the Reason for Pod Failure -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to write and read a Container termination message. @@ -16,17 +16,18 @@ put in a termination message should also be written to the general [Kubernetes logs](/docs/concepts/cluster-administration/logging/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Writing and reading a termination message @@ -110,16 +111,17 @@ to use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * See the `terminationMessagePath` field in [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core). * Learn about [retrieving logs](/docs/concepts/cluster-administration/logging/). * Learn about [Go templates](https://golang.org/pkg/text/template/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md b/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md index d852ed3cf9..859c163307 100644 --- a/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md +++ b/content/en/docs/tasks/debug-application-cluster/events-stackdriver.md @@ -2,11 +2,11 @@ reviewers: - piosz - x13n -content_template: templates/concept +content_type: concept title: Events in Stackdriver --- -{{% capture overview %}} + Kubernetes events are objects that provide insight into what is happening inside a cluster, such as what decisions were made by scheduler or why some @@ -34,10 +34,10 @@ of the potential inaccuracy. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Deployment @@ -91,4 +91,4 @@ jsonPayload.involvedObject.name:"nginx-deployment" {{< figure src="/images/docs/stackdriver-event-exporter-filter.png" alt="Filtered events in the Stackdriver Logging interface" width="500" >}} -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/falco.md b/content/en/docs/tasks/debug-application-cluster/falco.md index 003b287602..f5f67406a9 100644 --- a/content/en/docs/tasks/debug-application-cluster/falco.md +++ b/content/en/docs/tasks/debug-application-cluster/falco.md @@ -3,19 +3,19 @@ reviewers: - soltysh - sttts - ericchiang -content_template: templates/concept +content_type: concept title: Auditing with Falco --- -{{% capture overview %}} + ### Use Falco to collect audit events [Falco](https://falco.org/) is an open source project for intrusion and abnormality detection for Cloud Native platforms. This section describes how to set up Falco, how to send audit events to the Kubernetes Audit endpoint exposed by Falco, and how Falco applies a set of rules to automatically detect suspicious behavior. -{{% /capture %}} -{{% capture body %}} + + #### Install Falco @@ -118,4 +118,4 @@ For further details, see [Kubernetes Audit Events][falco_ka_docs] in the Falco d [falco_installation]: https://falco.org/docs/installation [falco_helm_chart]: https://github.com/helm/charts/tree/master/stable/falco -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/get-shell-running-container.md b/content/en/docs/tasks/debug-application-cluster/get-shell-running-container.md index f3ff92c196..12502ef102 100644 --- a/content/en/docs/tasks/debug-application-cluster/get-shell-running-container.md +++ b/content/en/docs/tasks/debug-application-cluster/get-shell-running-container.md @@ -3,25 +3,26 @@ reviewers: - caesarxuchao - mikedanese title: Get a Shell to a Running Container -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to use `kubectl exec` to get a shell to a running Container. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Getting a shell to a Container @@ -122,9 +123,9 @@ kubectl exec shell-demo ls / kubectl exec shell-demo cat /proc/1/mounts ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Opening a shell when a Pod has more than one Container @@ -138,14 +139,15 @@ shell to the main-app Container. kubectl exec -it my-pod --container main-app -- /bin/bash ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubectl exec](/docs/reference/generated/kubectl/kubectl-commands/#exec) -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/local-debugging.md b/content/en/docs/tasks/debug-application-cluster/local-debugging.md index 9cfc216ee4..d00c1398eb 100644 --- a/content/en/docs/tasks/debug-application-cluster/local-debugging.md +++ b/content/en/docs/tasks/debug-application-cluster/local-debugging.md @@ -1,9 +1,9 @@ --- title: Developing and debugging services locally -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Kubernetes applications usually consist of multiple, separate services, each running in its own container. Developing and debugging these services on a remote Kubernetes cluster can be cumbersome, requiring you to [get a shell on a running container](/docs/tasks/debug-application-cluster/get-shell-running-container/) and running your tools inside the remote shell. @@ -12,17 +12,18 @@ Kubernetes applications usually consist of multiple, separate services, each run This document describes using `telepresence` to develop and debug services running on a remote cluster locally. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Kubernetes cluster is installed * `kubectl` is configured to communicate with the cluster * [Telepresence](https://www.telepresence.io/reference/install) is installed -{{% /capture %}} -{{% capture steps %}} + + ## Getting a shell on a remote cluster @@ -46,9 +47,10 @@ where $DEPLOYMENT_NAME is the name of your existing deployment. Running this command spawns a shell. In the shell, start your service. You can then make edits to the source code locally, save, and see the changes take effect immediately. You can also run your service in a debugger, or any other local development tool. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + If you're interested in a hands-on tutorial, check out [this tutorial](https://cloud.google.com/community/tutorials/developing-services-with-k8s) that walks through locally developing the Guestbook application on Google Kubernetes Engine. @@ -56,4 +58,4 @@ Telepresence has [numerous proxying options](https://www.telepresence.io/referen For further reading, visit the [Telepresence website](https://www.telepresence.io). -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md b/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md index 327bfdf925..c47b117391 100644 --- a/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md +++ b/content/en/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md @@ -2,11 +2,11 @@ reviewers: - piosz - x13n -content_template: templates/concept +content_type: concept title: Logging Using Elasticsearch and Kibana --- -{{% capture overview %}} + On the Google Compute Engine (GCE) platform, the default logging support targets [Stackdriver Logging](https://cloud.google.com/logging/), which is described in detail @@ -21,9 +21,9 @@ Stackdriver Logging when running on GCE. You cannot automatically deploy Elasticsearch and Kibana in the Kubernetes cluster hosted on Google Kubernetes Engine. You have to deploy them manually. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + To use Elasticsearch and Kibana for cluster logging, you should set the following environment variable as shown below when creating your cluster with @@ -114,11 +114,12 @@ Here is a typical view of ingested logs from the Kibana viewer: ![Kibana logs](/images/docs/kibana-logs.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Kibana opens up all sorts of powerful options for exploring your logs! For some ideas on how to dig into it, check out [Kibana's documentation](https://www.elastic.co/guide/en/kibana/current/discover.html). -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md b/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md index a60ceeedfb..be80133d34 100644 --- a/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md +++ b/content/en/docs/tasks/debug-application-cluster/logging-stackdriver.md @@ -3,10 +3,10 @@ reviewers: - piosz - x13n title: Logging Using Stackdriver -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Before reading this page, it's highly recommended to familiarize yourself with the [overview of logging in Kubernetes](/docs/concepts/cluster-administration/logging). @@ -18,10 +18,10 @@ see the [sidecar approach](/docs/concepts/cluster-administration/logging#sidecar in the Kubernetes logging overview. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Deploying @@ -368,4 +368,4 @@ with minor changes: Then run `make build push` from this directory. After updating `DaemonSet` to pick up the new image, you can use the plugin you installed in the fluentd configuration. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md b/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md index f434adb17e..9ebeeeddad 100644 --- a/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md +++ b/content/en/docs/tasks/debug-application-cluster/monitor-node-health.md @@ -2,11 +2,11 @@ reviewers: - Random-Liu - dchen1107 -content_template: templates/task +content_type: task title: Monitor Node Health --- -{{% capture overview %}} + *Node problem detector* is a [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) monitoring the node health. It collects node problems from various daemons and reports them @@ -23,15 +23,16 @@ introduced to deal with node problems. See more information [here](https://github.com/kubernetes/node-problem-detector). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Limitations @@ -162,9 +163,9 @@ Kernel monitor uses [`Translator`](https://github.com/kubernetes/node-problem-de plugin to translate kernel log the internal data structure. It is easy to implement a new translator for a new log format. -{{% /capture %}} -{{% capture discussion %}} + + ## Caveats @@ -177,4 +178,4 @@ resource overhead on each node. Usually this is fine, because: * Even under high load, the resource usage is acceptable. (see [benchmark result](https://github.com/kubernetes/node-problem-detector/issues/2#issuecomment-220255629)) -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md b/content/en/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md index 547790e5b0..dbd4aa6cf4 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md @@ -3,20 +3,20 @@ reviewers: - fgrzadkowski - piosz title: Resource metrics pipeline -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Resource usage metrics, such as container CPU and memory usage, are available in Kubernetes through the Metrics API. These metrics can be either accessed directly by user, for example by using `kubectl top` command, or used by a controller in the cluster, e.g. Horizontal Pod Autoscaler, to make decisions. -{{% /capture %}} -{{% capture body %}} + + ## The Metrics API @@ -61,4 +61,4 @@ Metrics Server is registered with the main API server through Learn more about the metrics server in [the design doc](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md). -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index de8c538118..6cb716da9c 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -1,11 +1,11 @@ --- reviewers: - mikedanese -content_template: templates/concept +content_type: concept title: Tools for Monitoring Resources --- -{{% capture overview %}} + To scale an application and provide a reliable service, you need to understand how the application behaves when it is deployed. You can examine @@ -16,9 +16,9 @@ information about an application's resource usage at each of these levels. This information allows you to evaluate your application's performance and where bottlenecks can be removed to improve overall performance. -{{% /capture %}} -{{% capture body %}} + + In Kubernetes, application monitoring does not depend on a single monitoring solution. On new clusters, you can use [resource metrics](#resource-metrics-pipeline) or [full metrics](#full-metrics-pipeline) pipelines to collect monitoring statistics. @@ -55,4 +55,4 @@ then exposes them to Kubernetes via an adapter by implementing either the [Prometheus](https://prometheus.io), a CNCF project, can natively monitor Kubernetes, nodes, and Prometheus itself. Full metrics pipeline projects that are not part of the CNCF are outside the scope of Kubernetes documentation. -{{% /capture %}} + diff --git a/content/en/docs/tasks/debug-application-cluster/troubleshooting.md b/content/en/docs/tasks/debug-application-cluster/troubleshooting.md index 1ed0f5aa5b..82301275ce 100644 --- a/content/en/docs/tasks/debug-application-cluster/troubleshooting.md +++ b/content/en/docs/tasks/debug-application-cluster/troubleshooting.md @@ -2,11 +2,11 @@ reviewers: - brendandburns - davidopp -content_template: templates/concept +content_type: concept title: Troubleshooting --- -{{% capture overview %}} + Sometimes things go wrong. This guide is aimed at making them right. It has two sections: @@ -17,10 +17,10 @@ two sections: You should also check the known issues for the [release](https://github.com/kubernetes/kubernetes/releases) you're using. -{{% /capture %}} -{{% capture body %}} + + ## Getting help @@ -104,4 +104,4 @@ problem, such as: * Cloud provider, OS distro, network configuration, and Docker version * Steps to reproduce the problem -{{% /capture %}} + diff --git a/content/en/docs/tasks/example-task-template.md b/content/en/docs/tasks/example-task-template.md index c723460fc0..b3dd5e8e43 100644 --- a/content/en/docs/tasks/example-task-template.md +++ b/content/en/docs/tasks/example-task-template.md @@ -2,11 +2,11 @@ title: Example Task Template reviewers: - chenopis -content_template: templates/task +content_type: task toc_hide: true --- -{{% capture overview %}} + {{< note >}} Be sure to also [create an entry in the table of contents](/docs/contribute/style/write-new-topic/#placing-your-topic-in-the-table-of-contents) for your new document. @@ -14,39 +14,40 @@ Be sure to also [create an entry in the table of contents](/docs/contribute/styl This page shows how to ... -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Do this. * Do this too. -{{% /capture %}} -{{% capture steps %}} + + ## Doing ... 1. Do this. 1. Do this next. Possibly read this [related explanation](#). -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding ... **[Optional Section]** Here's an interesting thing to know about the steps you just did. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + **[Optional Section]** * Learn more about [Writing a New Topic](/docs/home/contribute/write-new-topic/). * See [Using Page Templates - Task template](/docs/home/contribute/page-templates/#task_template) for how to use this template. -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/extend-kubectl/kubectl-plugins.md b/content/en/docs/tasks/extend-kubectl/kubectl-plugins.md index dcc315871b..7d14b86f24 100644 --- a/content/en/docs/tasks/extend-kubectl/kubectl-plugins.md +++ b/content/en/docs/tasks/extend-kubectl/kubectl-plugins.md @@ -4,23 +4,24 @@ reviewers: - juanvallejo - soltysh description: With kubectl plugins, you can extend the functionality of the kubectl command by adding new subcommands. -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This guide demonstrates how to install and write extensions for [kubectl](/docs/reference/kubectl/kubectl/). By thinking of core `kubectl` commands as essential building blocks for interacting with a Kubernetes cluster, a cluster administrator can think of plugins as a means of utilizing these building blocks to create more complex behavior. Plugins extend `kubectl` with new sub-commands, allowing for new and custom features not included in the main distribution of `kubectl`. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a working `kubectl` binary installed. -{{% /capture %}} -{{% capture steps %}} + + ## Installing kubectl plugins @@ -375,9 +376,10 @@ set up a build environment (if it needs compiling), and deploy the plugin. If you also make compiled packages available, or use Krew, that will make installs easier. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Check the Sample CLI Plugin repository for a [detailed example](https://github.com/kubernetes/sample-cli-plugin) of a @@ -386,4 +388,4 @@ installs easier. [SIG CLI team](https://github.com/kubernetes/community/tree/master/sig-cli). * Read about [Krew](https://krew.dev/), a package manager for kubectl plugins. -{{% /capture %}} + diff --git a/content/en/docs/tasks/inject-data-application/define-command-argument-container.md b/content/en/docs/tasks/inject-data-application/define-command-argument-container.md index 66ebd69c13..faaffc52a2 100644 --- a/content/en/docs/tasks/inject-data-application/define-command-argument-container.md +++ b/content/en/docs/tasks/inject-data-application/define-command-argument-container.md @@ -1,25 +1,26 @@ --- title: Define a Command and Arguments for a Container -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + This page shows how to define commands and arguments when you run a container in a {{< glossary_tooltip term_id="pod" >}}. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Define a command and arguments when you create a Pod @@ -145,14 +146,15 @@ Here are some examples: | `[/ep-1]` | `[foo bar]` | `[/ep-2]` | `[zoo boo]` | `[ep-2 zoo boo]` | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [configuring pods and containers](/docs/tasks/). * Learn more about [running commands in a container](/docs/tasks/debug-application-cluster/get-shell-running-container/). * See [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core). -{{% /capture %}} + diff --git a/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md index 5dd5aa92e0..5b115993af 100644 --- a/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/en/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -1,25 +1,26 @@ --- title: Define Environment Variables for a Container -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to define environment variables for a container in a Kubernetes Pod. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Define an environment variable for a container @@ -117,12 +118,13 @@ spec: Upon creation, the command `echo Warm greetings to The Most Honorable Kubernetes` is run on the container. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [environment variables](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/). * Learn about [using secrets as environment variables](/docs/user-guide/secrets/#using-secrets-as-environment-variables). * See [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core). -{{% /capture %}} + diff --git a/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md b/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md index 2fb15aa3b2..de4d32d7b9 100644 --- a/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md +++ b/content/en/docs/tasks/inject-data-application/distribute-credentials-secure.md @@ -1,22 +1,23 @@ --- title: Distribute Credentials Securely Using Secrets -content_template: templates/task +content_type: task weight: 50 min-kubernetes-server-version: v1.6 --- -{{% capture overview %}} + This page shows how to securely inject sensitive data, such as passwords and encryption keys, into Pods. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Convert your secret data to a base-64 representation @@ -243,9 +244,10 @@ This functionality is available in Kubernetes v1.6 and later. password: 39528$vdg7Jb ```` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Secrets](/docs/concepts/configuration/secret/). * Learn about [Volumes](/docs/concepts/storage/volumes/). @@ -256,5 +258,5 @@ This functionality is available in Kubernetes v1.6 and later. * [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core) * [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core) -{{% /capture %}} + diff --git a/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md b/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md index a24aba65b6..4ab41f2a23 100644 --- a/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md +++ b/content/en/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md @@ -1,25 +1,26 @@ --- title: Expose Pod Information to Containers Through Files -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + This page shows how a Pod can use a DownwardAPIVolumeFile to expose information about itself to Containers running in the Pod. A DownwardAPIVolumeFile can expose Pod fields and Container fields. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## The Downward API @@ -189,9 +190,9 @@ In your shell, view the `cpu_limit` file: You can use similar commands to view the `cpu_request`, `mem_limit` and `mem_request` files. -{{% /capture %}} -{{% capture discussion %}} + + ## Capabilities of the Downward API @@ -249,10 +250,11 @@ application, but that is tedious and error prone, and it violates the goal of lo coupling. A better option would be to use the Pod's name as an identifier, and inject the Pod's name into the well-known environment variable. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core) * [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core) @@ -260,7 +262,7 @@ inject the Pod's name into the well-known environment variable. * [DownwardAPIVolumeFile](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#downwardapivolumefile-v1-core) * [ResourceFieldSelector](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcefieldselector-v1-core) -{{% /capture %}} + diff --git a/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md b/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md index c23b3ba75a..2b59921c6e 100644 --- a/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md +++ b/content/en/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md @@ -1,26 +1,27 @@ --- title: Expose Pod Information to Containers Through Environment Variables -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + This page shows how a Pod can use environment variables to expose information about itself to Containers running in the Pod. Environment variables can expose Pod fields and Container fields. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## The Downward API @@ -154,9 +155,10 @@ The output shows the values of selected environment variables: 67108864 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Defining Environment Variables for a Container](/docs/tasks/inject-data-application/define-environment-variable-container/) * [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core) @@ -166,5 +168,5 @@ The output shows the values of selected environment variables: * [ObjectFieldSelector](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#objectfieldselector-v1-core) * [ResourceFieldSelector](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcefieldselector-v1-core) -{{% /capture %}} + diff --git a/content/en/docs/tasks/inject-data-application/podpreset.md b/content/en/docs/tasks/inject-data-application/podpreset.md index dcf159acf5..6533629ce4 100644 --- a/content/en/docs/tasks/inject-data-application/podpreset.md +++ b/content/en/docs/tasks/inject-data-application/podpreset.md @@ -3,26 +3,27 @@ reviewers: - jessfraz title: Inject Information into Pods Using a PodPreset min-kubernetes-server-version: v1.6 -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="alpha" >}} This page shows how to use PodPreset objects to inject information like {{< glossary_tooltip text="Secrets" term_id="secret" >}}, volume mounts, and {{< glossary_tooltip text="environment variables" term_id="container-env-variables" >}} into Pods at creation time. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one using [Minikube](/docs/setup/learning-environment/minikube/). Make sure that you have [enabled PodPreset](/docs/concepts/workloads/pods/podpreset/#enable-pod-preset) in your cluster. -{{% /capture %}} -{{% capture steps %}} + + ## Use Pod presets to inject environment variables and volumes @@ -321,4 +322,4 @@ The output shows that the PodPreset was deleted: podpreset "allow-database" deleted ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md b/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md index ae5b6633ad..602ad8482d 100644 --- a/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md +++ b/content/en/docs/tasks/job/automated-tasks-with-cron-jobs.md @@ -3,11 +3,11 @@ title: Running Automated Tasks with a CronJob min-kubernetes-server-version: v1.8 reviewers: - chenopis -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + You can use a {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} to run {{< glossary_tooltip text="Jobs" term_id="job" >}} on a time-based schedule. These automated jobs run like [Cron](https://en.wikipedia.org/wiki/Cron) tasks on a Linux or UNIX system. @@ -21,15 +21,16 @@ Therefore, jobs should be idempotent. For more limitations, see [CronJobs](/docs/concepts/workloads/controllers/cron-jobs). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Creating a Cron Job @@ -207,4 +208,4 @@ The `.spec.successfulJobsHistoryLimit` and `.spec.failedJobsHistoryLimit` fields These fields specify how many completed and failed jobs should be kept. By default, they are set to 3 and 1 respectively. Setting a limit to `0` corresponds to keeping none of the corresponding kind of jobs after they finish. -{{% /capture %}} + diff --git a/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md b/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md index 707c5b9850..346fbdda8d 100644 --- a/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md +++ b/content/en/docs/tasks/job/coarse-parallel-processing-work-queue.md @@ -1,12 +1,12 @@ --- title: Coarse Parallel Processing Using a Work Queue min-kubernetes-server-version: v1.8 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + In this example, we will run a Kubernetes Job with multiple parallel worker processes. @@ -23,19 +23,20 @@ Here is an overview of the steps in this example: 1. **Start a Job that works on tasks from the queue**. The Job starts several pods. Each pod takes one task from the message queue, processes it, and repeats until the end of the queue is reached. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Be familiar with the basic, non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/). {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Starting a message queue service @@ -292,9 +293,9 @@ Events: All our pods succeeded. Yay. -{{% /capture %}} -{{% capture discussion %}} + + ## Alternatives @@ -331,4 +332,4 @@ exits with success, or if the node crashes before the kubelet is able to post th back to the api-server, then the Job will not appear to be complete, even though all items in the queue have been processed. -{{% /capture %}} + diff --git a/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md b/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md index 26fbbacaa7..f502113c8f 100644 --- a/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md +++ b/content/en/docs/tasks/job/fine-parallel-processing-work-queue.md @@ -1,11 +1,11 @@ --- title: Fine Parallel Processing Using a Work Queue -content_template: templates/task +content_type: task min-kubernetes-server-version: v1.8 weight: 40 --- -{{% capture overview %}} + In this example, we will run a Kubernetes Job with multiple parallel worker processes in a given pod. @@ -25,23 +25,24 @@ Here is an overview of the steps in this example: 1. **Start a Job that works on tasks from the queue**. The Job starts several pods. Each pod takes one task from the message queue, processes it, and repeats until the end of the queue is reached. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + Be familiar with the basic, non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/). -{{% /capture %}} -{{% capture steps %}} + + ## Starting Redis @@ -226,9 +227,9 @@ Working on lemon As you can see, one of our pods worked on several work units. -{{% /capture %}} -{{% capture discussion %}} + + ## Alternatives @@ -240,4 +241,4 @@ consider running your background workers with a `ReplicaSet` instead, and consider running a background processing library such as [https://github.com/resque/resque](https://github.com/resque/resque). -{{% /capture %}} + diff --git a/content/en/docs/tasks/job/parallel-processing-expansion.md b/content/en/docs/tasks/job/parallel-processing-expansion.md index e2d0975a70..3477be2650 100644 --- a/content/en/docs/tasks/job/parallel-processing-expansion.md +++ b/content/en/docs/tasks/job/parallel-processing-expansion.md @@ -1,11 +1,11 @@ --- title: Parallel Processing using Expansions -content_template: templates/task +content_type: task min-kubernetes-server-version: v1.8 weight: 20 --- -{{% capture overview %}} + This task demonstrates running multiple {{< glossary_tooltip text="Jobs" term_id="job" >}} based on a common template. You can use this approach to process batches of work in @@ -16,9 +16,10 @@ The sample Jobs process each item simply by printing a string then pausing. See [using Jobs in real workloads](#using-jobs-in-real-workloads) to learn about how this pattern fits more realistic use cases. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You should be familiar with the basic, non-parallel, use of [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/). @@ -35,10 +36,10 @@ Once you have Python set up, you can install Jinja2 by running: ```shell pip install --user jinja2 ``` -{{% /capture %}} -{{% capture steps %}} + + ## Create Jobs based on a template @@ -252,8 +253,8 @@ Kubernetes accepts and runs the Jobs you created. kubectl delete job -l jobgroup=jobexample ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Using Jobs in real workloads @@ -310,4 +311,4 @@ objects. You could also consider writing your own [controller](/docs/concepts/architecture/controller/) to manage Job objects automatically. -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-daemon/rollback-daemon-set.md b/content/en/docs/tasks/manage-daemon/rollback-daemon-set.md index 4b1d424066..2d6dc9d0d6 100644 --- a/content/en/docs/tasks/manage-daemon/rollback-daemon-set.md +++ b/content/en/docs/tasks/manage-daemon/rollback-daemon-set.md @@ -2,28 +2,29 @@ reviewers: - janetkuo title: Perform a Rollback on a DaemonSet -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + This page shows how to perform a rollback on a DaemonSet. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * The DaemonSet rollout history and DaemonSet rollback features are only supported in `kubectl` in Kubernetes version 1.7 or later. * Make sure you know how to [perform a rolling update on a DaemonSet](/docs/tasks/manage-daemon/update-daemon-set/). -{{% /capture %}} -{{% capture steps %}} + + ## Performing a Rollback on a DaemonSet @@ -104,10 +105,10 @@ When the rollback is complete, the output is similar to this: daemonset "" successfully rolled out ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Understanding DaemonSet Revisions @@ -154,6 +155,6 @@ have revision 1 and 2 in the system, and roll back from revision 2 to revision * See [troubleshooting DaemonSet rolling update](/docs/tasks/manage-daemon/update-daemon-set/#troubleshooting). -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-daemon/update-daemon-set.md b/content/en/docs/tasks/manage-daemon/update-daemon-set.md index 8e32763e01..b9168ed098 100644 --- a/content/en/docs/tasks/manage-daemon/update-daemon-set.md +++ b/content/en/docs/tasks/manage-daemon/update-daemon-set.md @@ -2,25 +2,26 @@ reviewers: - janetkuo title: Perform a Rolling Update on a DaemonSet -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + This page shows how to perform a rolling update on a DaemonSet. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * The DaemonSet rolling update feature is only supported in Kubernetes version 1.6 or later. -{{% /capture %}} -{{% capture steps %}} + + ## DaemonSet Update Strategy @@ -190,13 +191,14 @@ Delete DaemonSet from a namespace : kubectl delete ds fluentd-elasticsearch -n kube-system ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * See [Task: Performing a rollback on a DaemonSet](/docs/tasks/manage-daemon/rollback-daemon-set/) * See [Concepts: Creating a DaemonSet to adopt existing DaemonSet pods](/docs/concepts/workloads/controllers/daemonset/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md index 4c0b9f9bc3..63c798afd6 100644 --- a/content/en/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/content/en/docs/tasks/manage-gpus/scheduling-gpus.md @@ -1,11 +1,11 @@ --- reviewers: - vishh -content_template: templates/concept +content_type: concept title: Schedule GPUs --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.10" >}} @@ -15,10 +15,10 @@ Kubernetes includes **experimental** support for managing AMD and NVIDIA GPUs This page describes how users can consume GPUs across different Kubernetes versions and the current limitations. -{{% /capture %}} -{{% capture body %}} + + ## Using device plugins @@ -216,4 +216,4 @@ spec: This will ensure that the Pod will be scheduled to a node that has the GPU type you specified. -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-hugepages/scheduling-hugepages.md b/content/en/docs/tasks/manage-hugepages/scheduling-hugepages.md index ad6b969c87..b01ae06df2 100644 --- a/content/en/docs/tasks/manage-hugepages/scheduling-hugepages.md +++ b/content/en/docs/tasks/manage-hugepages/scheduling-hugepages.md @@ -2,19 +2,20 @@ reviewers: - derekwaynecarr title: Manage HugePages -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state state="stable" >}} Kubernetes supports the allocation and consumption of pre-allocated huge pages by applications in a Pod as a **GA** feature. This page describes how users can consume huge pages and the current limitations. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 1. Kubernetes nodes must pre-allocate huge pages in order for the node to report its huge page capacity. A node can pre-allocate huge pages for multiple @@ -23,9 +24,9 @@ can consume huge pages and the current limitations. The nodes will automatically discover and report all huge page resources as schedulable resources. -{{% /capture %}} -{{% capture steps %}} + + ## API @@ -125,5 +126,5 @@ term_id="kube-apiserver" >}} (`--feature-gates=HugePageStorageMediumSize=true`). - NUMA locality guarantees as a feature of quality of service. - LimitRange support. -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-kubernetes-objects/declarative-config.md b/content/en/docs/tasks/manage-kubernetes-objects/declarative-config.md index f82e54d364..308a4cf9b8 100644 --- a/content/en/docs/tasks/manage-kubernetes-objects/declarative-config.md +++ b/content/en/docs/tasks/manage-kubernetes-objects/declarative-config.md @@ -1,27 +1,28 @@ --- title: Declarative Management of Kubernetes Objects Using Configuration Files -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + Kubernetes objects can be created, updated, and deleted by storing multiple object configuration files in a directory and using `kubectl apply` to recursively create and update those objects as needed. This method retains writes made to live objects without merging the changes back into the object configuration files. `kubectl diff` also gives you a preview of what changes `apply` will make. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Install [`kubectl`](/docs/tasks/tools/install-kubectl/). {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Trade-offs @@ -999,11 +1000,12 @@ template: controller-selector: "apps/v1/deployment/nginx" ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [Managing Kubernetes Objects Using Imperative Commands](/docs/tasks/manage-kubernetes-objects/imperative-command/) * [Imperative Management of Kubernetes Objects Using Configuration Files](/docs/tasks/manage-kubernetes-objects/imperative-config/) * [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/) * [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-kubernetes-objects/imperative-command.md b/content/en/docs/tasks/manage-kubernetes-objects/imperative-command.md index 6b1357a133..dd8b6b0f53 100644 --- a/content/en/docs/tasks/manage-kubernetes-objects/imperative-command.md +++ b/content/en/docs/tasks/manage-kubernetes-objects/imperative-command.md @@ -1,23 +1,24 @@ --- title: Managing Kubernetes Objects Using Imperative Commands -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + Kubernetes objects can quickly be created, updated, and deleted directly using imperative commands built into the `kubectl` command-line tool. This document explains how those commands are organized and how to use them to manage live objects. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Install [`kubectl`](/docs/tasks/tools/install-kubectl/). {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Trade-offs @@ -159,13 +160,14 @@ kubectl create --edit -f /tmp/srv.yaml 1. The `kubectl create service` command creates the configuration for the Service and saves it to `/tmp/srv.yaml`. 1. The `kubectl create --edit` command opens the configuration file for editing before it creates the object. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Managing Kubernetes Objects Using Object Configuration (Imperative)](/docs/tasks/manage-kubernetes-objects/imperative-config/) * [Managing Kubernetes Objects Using Object Configuration (Declarative)](/docs/tasks/manage-kubernetes-objects/declarative-config/) * [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/) * [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-kubernetes-objects/imperative-config.md b/content/en/docs/tasks/manage-kubernetes-objects/imperative-config.md index ec6057cd68..97b62e6f0f 100644 --- a/content/en/docs/tasks/manage-kubernetes-objects/imperative-config.md +++ b/content/en/docs/tasks/manage-kubernetes-objects/imperative-config.md @@ -1,24 +1,25 @@ --- title: Imperative Management of Kubernetes Objects Using Configuration Files -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + Kubernetes objects can be created, updated, and deleted by using the `kubectl` command-line tool along with an object configuration file written in YAML or JSON. This document explains how to define and manage objects using configuration files. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Install [`kubectl`](/docs/tasks/tools/install-kubectl/). {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Trade-offs @@ -142,13 +143,14 @@ template: controller-selector: "apps/v1/deployment/nginx" ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Managing Kubernetes Objects Using Imperative Commands](/docs/tasks/manage-kubernetes-objects/imperative-command/) * [Managing Kubernetes Objects Using Object Configuration (Declarative)](/docs/tasks/manage-kubernetes-objects/declarative-config/) * [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/) * [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md index c74374a0dc..a7d887da3b 100644 --- a/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md +++ b/content/en/docs/tasks/manage-kubernetes-objects/kustomization.md @@ -1,10 +1,10 @@ --- title: Declarative Management of Kubernetes Objects Using Kustomize -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + [Kustomize](https://github.com/kubernetes-sigs/kustomize) is a standalone tool to customize Kubernetes objects @@ -24,17 +24,18 @@ To apply those Resources, run `kubectl apply` with `--kustomize` or `-k` flag: kubectl apply -k ``` -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Install [`kubectl`](/docs/tasks/tools/install-kubectl/). {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Overview of Kustomize @@ -824,13 +825,14 @@ deployment.apps "dev-my-nginx" deleted | configurations | []string | Each entry in this list should resolve to a file containing [Kustomize transformer configurations](https://github.com/kubernetes-sigs/kustomize/tree/master/examples/transformerconfigs) | | crds | []string | Each entry in this list should resolve to an OpenAPI definition file for Kubernetes types | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kustomize](https://github.com/kubernetes-sigs/kustomize) * [Kubectl Book](https://kubectl.docs.kubernetes.io) * [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/) * [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md b/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md index 84f86495ae..60d6ae8099 100644 --- a/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md +++ b/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md @@ -1,25 +1,26 @@ --- title: Update API Objects in Place Using kubectl patch description: Use kubectl patch to update Kubernetes API objects in place. Do a strategic merge patch or a JSON merge patch. -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + This task shows how to use `kubectl patch` to update an API object in place. The exercises in this task demonstrate a strategic merge patch and a JSON merge patch. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Use a strategic merge patch to update a Deployment @@ -330,14 +331,15 @@ create the Deployment object. Other commands for updating API objects include and [kubectl apply](/docs/reference/generated/kubectl/kubectl-commands/#apply). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kubernetes Object Management](/docs/concepts/overview/working-with-objects/object-management/) * [Managing Kubernetes Objects Using Imperative Commands](/docs/tasks/manage-kubernetes-objects/imperative-command/) * [Imperative Management of Kubernetes Objects Using Configuration Files](/docs/tasks/manage-kubernetes-objects/imperative-config/) * [Declarative Management of Kubernetes Objects Using Configuration Files](/docs/tasks/manage-kubernetes-objects/declarative-config/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/network/validate-dual-stack.md b/content/en/docs/tasks/network/validate-dual-stack.md index 0e6d586bea..1e21af226d 100644 --- a/content/en/docs/tasks/network/validate-dual-stack.md +++ b/content/en/docs/tasks/network/validate-dual-stack.md @@ -4,14 +4,15 @@ reviewers: - khenidak min-kubernetes-server-version: v1.16 title: Validate IPv4/IPv6 dual-stack -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This document shares how to validate IPv4/IPv6 dual-stack enabled Kubernetes clusters. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Provider support for dual-stack networking (Cloud provider or otherwise must be able to provide Kubernetes nodes with routable IPv4/IPv6 network interfaces) * A [network plugin](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) that supports dual-stack (such as Kubenet or Calico) @@ -20,9 +21,9 @@ This document shares how to validate IPv4/IPv6 dual-stack enabled Kubernetes clu {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Validate addressing @@ -158,4 +159,4 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S my-service ClusterIP fe80:20d::d06b 2001:db8:f100:4002::9d37:c0d7 80:31868/TCP 30s ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/configure-pdb.md b/content/en/docs/tasks/run-application/configure-pdb.md index d98538c262..d00ad62e47 100644 --- a/content/en/docs/tasks/run-application/configure-pdb.md +++ b/content/en/docs/tasks/run-application/configure-pdb.md @@ -1,10 +1,10 @@ --- title: Specifying a Disruption Budget for your Application -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.5" state="beta" >}} @@ -13,9 +13,10 @@ that your application experiences, allowing for higher availability while permitting the cluster administrator to manage the clusters nodes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * You are the owner of an application running on a Kubernetes cluster that requires high availability. * You should know how to deploy [Replicated Stateless Applications](/docs/tasks/run-application/run-stateless-application-deployment/) @@ -23,9 +24,9 @@ nodes. * You should have read about [Pod Disruptions](/docs/concepts/workloads/pods/disruptions/). * You should confirm with your cluster owner or service provider that they respect Pod Disruption Budgets. -{{% /capture %}} -{{% capture steps %}} + + ## Protecting an Application with a PodDisruptionBudget @@ -34,9 +35,9 @@ nodes. 1. Create a PDB definition as a YAML file. 1. Create the PDB object from the YAML file. -{{% /capture %}} -{{% capture discussion %}} + + ## Identify an Application to Protect @@ -238,6 +239,6 @@ You can use a selector which selects a subset or superset of the pods belonging controller. However, when there are multiple PDBs in a namespace, you must be careful not to create PDBs whose selectors overlap. -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/delete-stateful-set.md b/content/en/docs/tasks/run-application/delete-stateful-set.md index d37e3ba7a0..7a4a94fab4 100644 --- a/content/en/docs/tasks/run-application/delete-stateful-set.md +++ b/content/en/docs/tasks/run-application/delete-stateful-set.md @@ -6,23 +6,24 @@ reviewers: - janetkuo - smarterclayton title: Delete a StatefulSet -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + This task shows you how to delete a {{< glossary_tooltip term_id="StatefulSet" >}}. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * This task assumes you have an application running on your cluster represented by a StatefulSet. -{{% /capture %}} -{{% capture steps %}} + + ## Deleting a StatefulSet @@ -81,12 +82,13 @@ In the example above, the Pods have the label `app=myapp`; substitute your own l If you find that some pods in your StatefulSet are stuck in the 'Terminating' or 'Unknown' states for an extended period of time, you may need to manually intervene to forcefully delete the pods from the apiserver. This is a potentially dangerous task. Refer to [Force Delete StatefulSet Pods](/docs/tasks/run-application/force-delete-stateful-set-pod/) for details. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [force deleting StatefulSet Pods](/docs/tasks/run-application/force-delete-stateful-set-pod/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/force-delete-stateful-set-pod.md b/content/en/docs/tasks/run-application/force-delete-stateful-set-pod.md index b2b364f5f9..48a61a260d 100644 --- a/content/en/docs/tasks/run-application/force-delete-stateful-set-pod.md +++ b/content/en/docs/tasks/run-application/force-delete-stateful-set-pod.md @@ -5,22 +5,23 @@ reviewers: - foxish - smarterclayton title: Force Delete StatefulSet Pods -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + This page shows how to delete Pods which are part of a {{< glossary_tooltip text="stateful set" term_id="StatefulSet" >}}, and explains the considerations to keep in mind when doing so. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * This is a fairly advanced task and has the potential to violate some of the properties inherent to StatefulSet. * Before proceeding, make yourself familiar with the considerations enumerated below. -{{% /capture %}} -{{% capture steps %}} + + ## StatefulSet considerations @@ -74,10 +75,11 @@ kubectl patch pod -p '{"metadata":{"finalizers":null}}' Always perform force deletion of StatefulSet Pods carefully and with complete knowledge of the risks involved. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [debugging a StatefulSet](/docs/tasks/debug-application-cluster/debug-stateful-set/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index cab3e0af7f..7f3b046b68 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -5,11 +5,11 @@ reviewers: - justinsb - directxman12 title: Horizontal Pod Autoscaler Walkthrough -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + Horizontal Pod Autoscaler automatically scales the number of pods in a replication controller, deployment, replica set or stateful set based on observed CPU utilization @@ -17,11 +17,12 @@ in a replication controller, deployment, replica set or stateful set based on ob This document walks you through an example of enabling Horizontal Pod Autoscaler for the php-apache server. For more information on how Horizontal Pod Autoscaler behaves, see the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + This example requires a running Kubernetes cluster and kubectl, version 1.2 or later. [metrics-server](https://github.com/kubernetes-incubator/metrics-server/) monitoring needs to be deployed in the cluster @@ -35,9 +36,9 @@ not related to any Kubernetes object you must have a Kubernetes cluster at versi you must be able to communicate with the API server that provides the external metrics API. See the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics) for more details. -{{% /capture %}} -{{% capture steps %}} + + ## Run & expose php-apache server @@ -181,9 +182,9 @@ Here CPU utilization dropped to 0, and so HPA autoscaled the number of replicas Autoscaling the replicas may take a few minutes. {{< /note >}} -{{% /capture %}} -{{% capture discussion %}} + + ## Autoscaling on multiple metrics and custom metrics @@ -483,4 +484,4 @@ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml horizontalpodautoscaler.autoscaling/php-apache created ``` -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md index f6852845ec..dc6681063f 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -9,11 +9,11 @@ feature: description: > Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage. -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + The Horizontal Pod Autoscaler automatically scales the number of pods in a replication controller, deployment, replica set or stateful set based on observed CPU utilization (or, with @@ -26,10 +26,10 @@ The resource determines the behavior of the controller. The controller periodically adjusts the number of replicas in a replication controller or deployment to match the observed average CPU utilization to the target specified by user. -{{% /capture %}} -{{% capture body %}} + + ## How does the Horizontal Pod Autoscaler work? @@ -431,12 +431,13 @@ behavior: selectPolicy: Disabled ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Design documentation: [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md). * kubectl autoscale command: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale). * Usage example of [Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/run-replicated-stateful-application.md b/content/en/docs/tasks/run-application/run-replicated-stateful-application.md index 7a85a74014..2a7d255c2b 100644 --- a/content/en/docs/tasks/run-application/run-replicated-stateful-application.md +++ b/content/en/docs/tasks/run-application/run-replicated-stateful-application.md @@ -7,11 +7,11 @@ reviewers: - kow3ns - smarterclayton title: Run a Replicated Stateful Application -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + This page shows how to run a replicated stateful application using a [StatefulSet](/docs/concepts/workloads/controllers/statefulset/) controller. @@ -23,9 +23,10 @@ asynchronous replication. on general patterns for running stateful applications in Kubernetes. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * {{< include "default-storage-class-prereqs.md" >}} @@ -38,18 +39,19 @@ on general patterns for running stateful applications in Kubernetes. * Some familiarity with MySQL helps, but this tutorial aims to present general patterns that should be useful for other systems. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Deploy a replicated MySQL topology with a StatefulSet controller. * Send MySQL client traffic. * Observe resistance to downtime. * Scale the StatefulSet up and down. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Deploy MySQL @@ -479,9 +481,10 @@ kubectl delete pvc data-mysql-3 kubectl delete pvc data-mysql-4 ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 1. Cancel the `SELECT @@server_id` loop by pressing **Ctrl+C** in its terminal, or running the following from another terminal: @@ -522,9 +525,10 @@ kubectl delete pvc data-mysql-4 Some dynamic provisioners (such as those for EBS and PD) also release the underlying resources upon deleting the PersistentVolumes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [scaling a StatefulSet](/docs/tasks/run-application/scale-stateful-set/). * Learn more about [debugging a StatefulSet](/docs/tasks/debug-application-cluster/debug-stateful-set/). * Learn more about [deleting a StatefulSet](/docs/tasks/run-application/delete-stateful-set/). @@ -532,7 +536,7 @@ kubectl delete pvc data-mysql-4 * Look in the [Helm Charts repository](https://github.com/kubernetes/charts) for other stateful application examples. -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md b/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md index 777265c68b..4c43948a21 100644 --- a/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md +++ b/content/en/docs/tasks/run-application/run-single-instance-stateful-application.md @@ -1,37 +1,39 @@ --- title: Run a Single-Instance Stateful Application -content_template: templates/tutorial +content_type: tutorial weight: 20 --- -{{% capture overview %}} + This page shows you how to run a single-instance stateful application in Kubernetes using a PersistentVolume and a Deployment. The application is MySQL. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Create a PersistentVolume referencing a disk in your environment. * Create a MySQL Deployment. * Expose MySQL to other pods in the cluster at a known DNS name. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * {{< include "default-storage-class-prereqs.md" >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Deploy MySQL @@ -180,10 +182,11 @@ PersistentVolume when it sees that you deleted the PersistentVolumeClaim. Some dynamic provisioners (such as those for EBS and PD) also release the underlying resource upon deleting the PersistentVolume. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Deployment objects](/docs/concepts/workloads/controllers/deployment/). @@ -193,6 +196,6 @@ underlying resource upon deleting the PersistentVolume. * [Volumes](/docs/concepts/storage/volumes/) and [Persistent Volumes](/docs/concepts/storage/persistent-volumes/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/run-stateless-application-deployment.md b/content/en/docs/tasks/run-application/run-stateless-application-deployment.md index 68d41b5a83..9e6ed4a25e 100644 --- a/content/en/docs/tasks/run-application/run-stateless-application-deployment.md +++ b/content/en/docs/tasks/run-application/run-stateless-application-deployment.md @@ -1,34 +1,36 @@ --- title: Run a Stateless Application Using a Deployment min-kubernetes-server-version: v1.9 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + This page shows how to run an application using a Kubernetes Deployment object. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Create an nginx deployment. * Use kubectl to list information about the deployment. * Update the deployment. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creating and exploring an nginx deployment @@ -146,13 +148,14 @@ which in turn uses a ReplicaSet. Before the Deployment and ReplicaSet were added to Kubernetes, replicated applications were configured using a [ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Deployment objects](/docs/concepts/workloads/controllers/deployment/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/run-application/scale-stateful-set.md b/content/en/docs/tasks/run-application/scale-stateful-set.md index 462025836d..6e34babf9d 100644 --- a/content/en/docs/tasks/run-application/scale-stateful-set.md +++ b/content/en/docs/tasks/run-application/scale-stateful-set.md @@ -8,15 +8,16 @@ reviewers: - kow3ns - smarterclayton title: Scale a StatefulSet -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + This task shows how to scale a StatefulSet. Scaling a StatefulSet refers to increasing or decreasing the number of replicas. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * StatefulSets are only available in Kubernetes version 1.5 or later. To check your version of Kubernetes, run `kubectl version`. @@ -26,9 +27,9 @@ This task shows how to scale a StatefulSet. Scaling a StatefulSet refers to incr * You should perform scaling only when you are confident that your stateful application cluster is completely healthy. -{{% /capture %}} -{{% capture steps %}} + + ## Scaling StatefulSets @@ -90,10 +91,11 @@ to reason about scaling operations at the application level in these cases, and perform scaling only when you are sure that your stateful application cluster is completely healthy. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [deleting a StatefulSet](/docs/tasks/run-application/delete-stateful-set/). -{{% /capture %}} + diff --git a/content/en/docs/tasks/service-catalog/install-service-catalog-using-helm.md b/content/en/docs/tasks/service-catalog/install-service-catalog-using-helm.md index 73268ff714..499bc1fa90 100644 --- a/content/en/docs/tasks/service-catalog/install-service-catalog-using-helm.md +++ b/content/en/docs/tasks/service-catalog/install-service-catalog-using-helm.md @@ -2,18 +2,19 @@ title: Install Service Catalog using Helm reviewers: - chenopis -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog is" >}} Use [Helm](https://helm.sh/) to install Service Catalog on your Kubernetes cluster. Up to date information on this process can be found at the [kubernetes-sigs/service-catalog](https://github.com/kubernetes-sigs/service-catalog/blob/master/docs/install.md) repo. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Understand the key concepts of [Service Catalog](/docs/concepts/service-catalog/). * Service Catalog requires a Kubernetes cluster running version 1.7 or higher. * You must have a Kubernetes cluster with cluster DNS enabled. @@ -24,10 +25,10 @@ Use [Helm](https://helm.sh/) to install Service Catalog on your Kubernetes clust * Follow the [Helm install instructions](https://helm.sh/docs/intro/install/). * If you already have an appropriate version of Helm installed, execute `helm init` to install Tiller, the server-side component of Helm. -{{% /capture %}} -{{% capture steps %}} + + ## Add the service-catalog Helm repository Once Helm is installed, add the *service-catalog* Helm repository to your local machine by executing the following command: @@ -105,11 +106,12 @@ helm install svc-cat/catalog --name catalog --namespace catalog ``` {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * View [sample service brokers](https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md#sample-service-brokers). * Explore the [kubernetes-sigs/service-catalog](https://github.com/kubernetes-sigs/service-catalog) project. -{{% /capture %}} + diff --git a/content/en/docs/tasks/service-catalog/install-service-catalog-using-sc.md b/content/en/docs/tasks/service-catalog/install-service-catalog-using-sc.md index 2a50ca2ff8..a45474e297 100644 --- a/content/en/docs/tasks/service-catalog/install-service-catalog-using-sc.md +++ b/content/en/docs/tasks/service-catalog/install-service-catalog-using-sc.md @@ -2,10 +2,10 @@ title: Install Service Catalog using SC reviewers: - chenopis -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog is" >}} You can use the GCP [Service Catalog Installer](https://github.com/GoogleCloudPlatform/k8s-service-catalog#installation) @@ -14,10 +14,11 @@ Google Cloud projects. Service Catalog itself can work with any kind of managed service, not just Google Cloud. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Understand the key concepts of [Service Catalog](/docs/concepts/service-catalog/). * Install [Go 1.6+](https://golang.org/dl/) and set the `GOPATH`. * Install the [cfssl](https://github.com/cloudflare/cfssl) tool needed for generating SSL artifacts. @@ -27,10 +28,10 @@ Service Catalog itself can work with any kind of managed service, not just Googl kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user= -{{% /capture %}} -{{% capture steps %}} + + ## Install `sc` in your local environment The installer runs on your local computer as a CLI tool named `sc`. @@ -71,11 +72,12 @@ If you would like to uninstall Service Catalog from your Kubernetes cluster usin sc uninstall ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * View [sample service brokers](https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md#sample-service-brokers). * Explore the [kubernetes-incubator/service-catalog](https://github.com/kubernetes-incubator/service-catalog) project. -{{% /capture %}} + diff --git a/content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md b/content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md index b5dbd05215..da91611e17 100644 --- a/content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md +++ b/content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md @@ -1,23 +1,24 @@ --- title: Set up Konnectivity service -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + The Konnectivity service provides TCP level proxy for the Master → Cluster communication. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configure the Konnectivity service @@ -49,4 +50,3 @@ Last, if RBAC is enabled in your cluster, create the relevant RBAC rules: {{< codenew file="admin/konnectivity/konnectivity-rbac.yaml" >}} -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tasks/tls/certificate-rotation.md b/content/en/docs/tasks/tls/certificate-rotation.md index 3cf55db335..f7c6b55a36 100644 --- a/content/en/docs/tasks/tls/certificate-rotation.md +++ b/content/en/docs/tasks/tls/certificate-rotation.md @@ -3,22 +3,23 @@ reviewers: - jcbsmpsn - mikedanese title: Certificate Rotation -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page shows how to enable and configure certificate rotation for the kubelet. -{{% /capture %}} + {{< feature-state for_k8s_version="v1.8" state="beta" >}} -{{% capture prerequisites %}} +## {{% heading "prerequisites" %}} + * Kubernetes version 1.8.0 or later is required -{{% /capture %}} -{{% capture steps %}} + + ## Overview @@ -77,6 +78,6 @@ kubelet will retrieve the new signed certificate from the Kubernetes API and write that to disk. Then it will update the connections it has to the Kubernetes API to reconnect using the new certificate. -{{% /capture %}} + diff --git a/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md b/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md index 7cd4cc8be5..5098d353d8 100644 --- a/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md +++ b/content/en/docs/tasks/tls/managing-tls-in-a-cluster.md @@ -1,13 +1,13 @@ --- title: Manage TLS Certificates in a Cluster -content_template: templates/task +content_type: task reviewers: - mikedanese - beacham - liggit --- -{{% capture overview %}} + Kubernetes provides a `certificates.k8s.io` API, which lets you provision TLS certificates signed by a Certificate Authority (CA) that you control. These CA @@ -23,16 +23,17 @@ CA for this purpose, but you should never rely on this. Do not assume that these certificates will validate against the cluster root CA. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Trusting TLS in a Cluster @@ -222,4 +223,4 @@ enable it, pass the `--cluster-signing-cert-file` and `--cluster-signing-key-file` parameters to the controller manager with paths to your Certificate Authority's keypair. -{{% /capture %}} + diff --git a/content/en/docs/tasks/tools/install-kubectl.md b/content/en/docs/tasks/tools/install-kubectl.md index 131362109a..6dcad6b39c 100644 --- a/content/en/docs/tasks/tools/install-kubectl.md +++ b/content/en/docs/tasks/tools/install-kubectl.md @@ -2,7 +2,7 @@ reviewers: - mikedanese title: Install and Set Up kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -10,15 +10,16 @@ card: title: Install kubectl --- -{{% capture overview %}} + The Kubernetes command-line tool, [kubectl](/docs/user-guide/kubectl/), allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs. For a complete list of kubectl operations, see [Overview of kubectl](/docs/reference/kubectl/overview/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + You must use a kubectl version that is within one minor version difference of your cluster. For example, a v1.2 client should work with v1.1, v1.2, and v1.3 master. Using the latest version of kubectl helps avoid unforeseen issues. -{{% /capture %}} -{{% capture steps %}} + + ## Install kubectl on Linux @@ -508,12 +509,13 @@ compinit {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Install Minikube](/docs/tasks/tools/install-minikube/) * See the [getting started guides](/docs/setup/) for more about creating clusters. * [Learn how to launch and expose your application.](/docs/tasks/access-application-cluster/service-access-application-cluster/) * If you need access to a cluster you didn't create, see the [Sharing Cluster Access document](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). * Read the [kubectl reference docs](/docs/reference/kubectl/kubectl/) -{{% /capture %}} + diff --git a/content/en/docs/tasks/tools/install-minikube.md b/content/en/docs/tasks/tools/install-minikube.md index 50e4436dec..84c6dd0341 100644 --- a/content/en/docs/tasks/tools/install-minikube.md +++ b/content/en/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Install Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + This page shows you how to install [Minikube](/docs/tutorials/hello-minikube), a tool that runs a single-node Kubernetes cluster in a virtual machine on your personal computer. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="Linux" %}} @@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # Installing minikube @@ -200,13 +201,14 @@ To install Minikube manually on Windows, download [`minikube-windows-amd64`](htt {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Running Kubernetes Locally via Minikube](/docs/setup/learning-environment/minikube/) -{{% /capture %}} + ## Confirm Installation diff --git a/content/en/docs/tutorials/_index.md b/content/en/docs/tutorials/_index.md index 9f8de2129e..95b8ec9e1f 100644 --- a/content/en/docs/tutorials/_index.md +++ b/content/en/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: Tutorials main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This section of the Kubernetes documentation contains tutorials. A tutorial shows how to accomplish a goal that is larger than a single @@ -14,9 +14,9 @@ each of which has a sequence of steps. Before walking through each tutorial, you may want to bookmark the [Standardized Glossary](/docs/reference/glossary/) page for later references. -{{% /capture %}} -{{% capture body %}} + + ## Basics @@ -64,12 +64,13 @@ Before walking through each tutorial, you may want to bookmark the * [Using Source IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + If you would like to write a tutorial, see [Using Page Templates](/docs/home/contribute/page-templates/) for information about the tutorial page type and the tutorial template. -{{% /capture %}} + diff --git a/content/en/docs/tutorials/clusters/apparmor.md b/content/en/docs/tutorials/clusters/apparmor.md index ae1de98ab2..d791a57e33 100644 --- a/content/en/docs/tutorials/clusters/apparmor.md +++ b/content/en/docs/tutorials/clusters/apparmor.md @@ -2,10 +2,10 @@ reviewers: - stclair title: AppArmor -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.4" state="beta" >}} @@ -24,9 +24,10 @@ that AppArmor is not a silver bullet and can only do so much to protect against application code. It is important to provide good, restrictive profiles, and harden your applications and cluster from other angles as well. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * See an example of how to load a profile on a node * Learn how to enforce the profile on a Pod @@ -34,9 +35,10 @@ applications and cluster from other angles as well. * See what happens when a profile is violated * See what happens when a profile cannot be loaded -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Make sure: @@ -111,9 +113,9 @@ gke-test-default-pool-239f5d02-x1kf: kubelet is posting ready status. AppArmor e gke-test-default-pool-239f5d02-xwux: kubelet is posting ready status. AppArmor enabled ``` -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Securing a Pod @@ -458,13 +460,14 @@ Specifying the list of profiles Pod containers is allowed to specify: - Although an escaped comma is a legal character in a profile name, it cannot be explicitly allowed here. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Additional resources: * [Quick guide to the AppArmor profile language](https://gitlab.com/apparmor/apparmor/wikis/QuickProfileLanguage) * [AppArmor core policy reference](https://gitlab.com/apparmor/apparmor/wikis/Policy_Layout) -{{% /capture %}} + diff --git a/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md index 7ae7fb087b..37f6f9e014 100644 --- a/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/en/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -3,16 +3,17 @@ reviewers: - eparis - pmorie title: Configuring Redis using a ConfigMap -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + This page provides a real world example of how to configure Redis using a ConfigMap and builds upon the [Configure Containers Using a ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/) task. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Create a `kustomization.yaml` file containing: * a ConfigMap generator @@ -20,18 +21,19 @@ This page provides a real world example of how to configure Redis using a Config * Apply the directory by running `kubectl apply -k ./` * Verify that the configuration was correctly applied. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * The example shown on this page works with `kubectl` 1.14 and above. * Understand [Configure Containers Using a ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Real World Example: Configuring Redis using a ConfigMap @@ -105,12 +107,13 @@ Delete the created pod: kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/). -{{% /capture %}} + diff --git a/content/en/docs/tutorials/hello-minikube.md b/content/en/docs/tutorials/hello-minikube.md index de6875b582..9ba2de1abf 100644 --- a/content/en/docs/tutorials/hello-minikube.md +++ b/content/en/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + This tutorial shows you how to run a sample app on Kubernetes using [Minikube](/docs/setup/learning-environment/minikube) and Katacoda. @@ -23,23 +23,25 @@ Katacoda provides a free, in-browser Kubernetes environment. You can also follow this tutorial if you've installed [Minikube locally](/docs/tasks/tools/install-minikube/). {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Deploy a sample application to Minikube. * Run the app. * View application logs. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + This tutorial provides a container image that uses NGINX to echo back all the requests. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Create a Minikube cluster @@ -272,12 +274,13 @@ Optionally, delete the Minikube VM: minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Deployment objects](/docs/concepts/workloads/controllers/deployment/). * Learn more about [Deploying applications](/docs/tasks/run-application/run-stateless-application-deployment/). * Learn more about [Service objects](/docs/concepts/services-networking/service/). -{{% /capture %}} + diff --git a/content/en/docs/tutorials/services/source-ip.md b/content/en/docs/tutorials/services/source-ip.md index ca3a2bb409..03a9bb097c 100644 --- a/content/en/docs/tutorials/services/source-ip.md +++ b/content/en/docs/tutorials/services/source-ip.md @@ -1,19 +1,20 @@ --- title: Using Source IP -content_template: templates/tutorial +content_type: tutorial min-kubernetes-server-version: v1.5 --- -{{% capture overview %}} + Applications running in a Kubernetes cluster find and communicate with each other, and the outside world, through the Service abstraction. This document explains what happens to the source IP of packets sent to different types of Services, and how you can toggle this behavior according to your needs. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + ### Terminology @@ -54,18 +55,19 @@ The output is: deployment.apps/source-ip-app created ``` -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Expose a simple application through various types of Services * Understand how each Service type handles source IP NAT * Understand the tradeoffs involved in preserving source IP -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Source IP for Services with `Type=ClusterIP` @@ -423,9 +425,10 @@ Load balancers in the second category can leverage the feature described above by creating an HTTP health check pointing at the port stored in the `service.spec.healthCheckNodePort` field on the Service. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + Delete the Services: @@ -439,10 +442,11 @@ Delete the Deployment, ReplicaSet and Pod: kubectl delete deployment source-ip-app ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [connecting applications via services](/docs/concepts/services-networking/connect-applications-service/) * Read how to [Create an External Load Balancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) -{{% /capture %}} + diff --git a/content/en/docs/tutorials/stateful-application/basic-stateful-set.md b/content/en/docs/tutorials/stateful-application/basic-stateful-set.md index e8f3156694..235de6cfaa 100644 --- a/content/en/docs/tutorials/stateful-application/basic-stateful-set.md +++ b/content/en/docs/tutorials/stateful-application/basic-stateful-set.md @@ -7,17 +7,18 @@ reviewers: - kow3ns - smarterclayton title: StatefulSet Basics -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + This tutorial provides an introduction to managing applications with [StatefulSets](/docs/concepts/workloads/controllers/statefulset/). It demonstrates how to create, delete, scale, and update the Pods of StatefulSets. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Before you begin this tutorial, you should familiarize yourself with the following Kubernetes concepts. @@ -33,9 +34,10 @@ This tutorial assumes that your cluster is configured to dynamically provision PersistentVolumes. If your cluster is not configured to do so, you will have to manually provision two 1 GiB volumes prior to starting this tutorial. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + StatefulSets are intended to be used with stateful applications and distributed systems. However, the administration of stateful applications and distributed systems on Kubernetes is a broad, complex topic. In order to @@ -49,9 +51,9 @@ After this tutorial, you will be familiar with the following. * How to delete a StatefulSet * How to scale a StatefulSet * How to update a StatefulSet's Pods -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creating a StatefulSet Begin by creating a StatefulSet using the example below. It is similar to the @@ -1035,13 +1037,14 @@ Service. ```shell kubectl delete svc nginx ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + You will need to delete the persistent storage media for the PersistentVolumes used in this tutorial. Follow the necessary steps, based on your environment, storage configuration, and provisioning method, to ensure that all storage is reclaimed. -{{% /capture %}} + diff --git a/content/en/docs/tutorials/stateful-application/cassandra.md b/content/en/docs/tutorials/stateful-application/cassandra.md index f55a852abb..3fa56b26ea 100644 --- a/content/en/docs/tutorials/stateful-application/cassandra.md +++ b/content/en/docs/tutorials/stateful-application/cassandra.md @@ -2,11 +2,11 @@ title: "Example: Deploying Cassandra with a StatefulSet" reviewers: - ahmetb -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + This tutorial shows you how to run [Apache Cassandra](http://cassandra.apache.org/) on Kubernetes. Cassandra, a database, needs persistent storage to provide data durability (application _state_). In this example, a custom Cassandra seed provider lets the database discover new Cassandra instances as they join the Cassandra cluster. *StatefulSets* make it easier to deploy stateful applications into your Kubernetes cluster. For more information on the features used in this tutorial, see [StatefulSet](/docs/concepts/workloads/controllers/statefulset/). @@ -23,17 +23,19 @@ nodes in the ring. This tutorial deploys a custom Cassandra seed provider that lets the database discover new Cassandra Pods as they appear inside your Kubernetes cluster. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Create and validate a Cassandra headless {{< glossary_tooltip text="Service" term_id="service" >}}. * Use a {{< glossary_tooltip term_id="StatefulSet" >}} to create a Cassandra ring. * Validate the StatefulSet. * Modify the StatefulSet. * Delete the StatefulSet and its {{< glossary_tooltip text="Pods" term_id="pod" >}}. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} To complete this tutorial, you should already have a basic familiarity with {{< glossary_tooltip text="Pods" term_id="pod" >}}, {{< glossary_tooltip text="Services" term_id="service" >}}, and {{< glossary_tooltip text="StatefulSets" term_id="StatefulSet" >}}. @@ -48,9 +50,9 @@ minikube start --memory 5120 --cpus=4 ``` {{< /caution >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creating a headless Service for Cassandra {#creating-a-cassandra-headless-service} In Kubernetes, a {{< glossary_tooltip text="Service" term_id="service" >}} describes a set of {{< glossary_tooltip text="Pods" term_id="pod" >}} that perform the same task. @@ -219,9 +221,10 @@ Use `kubectl edit` to modify the size of a Cassandra StatefulSet. cassandra 4 4 36m ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + Deleting or scaling a StatefulSet down does not delete the volumes associated with the StatefulSet. This setting is for your safety because your data is more valuable than automatically purging all related StatefulSet resources. {{< warning >}} @@ -261,12 +264,13 @@ By using environment variables you can change values that are inserted into `cas | `CASSANDRA_RPC_ADDRESS` | `0.0.0.0` | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn how to [Scale a StatefulSet](/docs/tasks/run-application/scale-stateful-set/). * Learn more about the [*KubernetesSeedProvider*](https://github.com/kubernetes/examples/blob/master/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java) * See more custom [Seed Provider Configurations](https://git.k8s.io/examples/cassandra/java/README.md) -{{% /capture %}} + diff --git a/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index 0f97c2160b..eb389abf36 100644 --- a/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/en/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -2,7 +2,7 @@ title: "Example: Deploying WordPress and MySQL with Persistent Volumes" reviewers: - ahmetb -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -10,7 +10,7 @@ card: title: "Stateful Example: Wordpress with Persistent Volumes" --- -{{% capture overview %}} + This tutorial shows you how to deploy a WordPress site and a MySQL database using Minikube. Both applications use PersistentVolumes and PersistentVolumeClaims to store data. A [PersistentVolume](/docs/concepts/storage/persistent-volumes/) (PV) is a piece of storage in the cluster that has been manually provisioned by an administrator, or dynamically provisioned by Kubernetes using a [StorageClass](/docs/concepts/storage/storage-classes). A [PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) (PVC) is a request for storage by a user that can be fulfilled by a PV. PersistentVolumes and PersistentVolumeClaims are independent from Pod lifecycles and preserve data through restarting, rescheduling, and even deleting Pods. @@ -23,9 +23,10 @@ This deployment is not suitable for production use cases, as it uses single inst The files provided in this tutorial are using GA Deployment APIs and are specific to kubernetes version 1.9 and later. If you wish to use this tutorial with an earlier version of Kubernetes, please update the API version appropriately, or reference earlier versions of this tutorial. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Create PersistentVolumeClaims and PersistentVolumes * Create a `kustomization.yaml` with * a Secret generator @@ -34,9 +35,10 @@ The files provided in this tutorial are using GA Deployment APIs and are specifi * Apply the kustomization directory by `kubectl apply -k ./` * Clean up -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} The example shown on this page works with `kubectl` 1.14 and above. @@ -47,9 +49,9 @@ Download the following configuration files: 1. [wordpress-deployment.yaml](/examples/application/wordpress/wordpress-deployment.yaml) -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Create PersistentVolumeClaims and PersistentVolumes @@ -218,9 +220,10 @@ Now you can verify that all objects exist. Do not leave your WordPress installation on this page. If another user finds it, they can set up a website on your instance and use it to serve malicious content.

    Either install WordPress by creating a username and password or delete your instance. {{< /warning >}} -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 1. Run the following command to delete your Secret, Deployments, Services and PersistentVolumeClaims: @@ -228,14 +231,15 @@ Do not leave your WordPress installation on this page. If another user finds it, kubectl delete -k ./ ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about [Introspection and Debugging](/docs/tasks/debug-application-cluster/debug-application-introspection/) * Learn more about [Jobs](/docs/concepts/workloads/controllers/jobs-run-to-completion/) * Learn more about [Port Forwarding](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) * Learn how to [Get a Shell to a Container](/docs/tasks/debug-application-cluster/get-shell-running-container/) -{{% /capture %}} + diff --git a/content/en/docs/tutorials/stateful-application/zookeeper.md b/content/en/docs/tutorials/stateful-application/zookeeper.md index ee58827f83..3bed3e059c 100644 --- a/content/en/docs/tutorials/stateful-application/zookeeper.md +++ b/content/en/docs/tutorials/stateful-application/zookeeper.md @@ -8,18 +8,19 @@ reviewers: - kow3ns - smarterclayton title: Running ZooKeeper, A Distributed System Coordinator -content_template: templates/tutorial +content_type: tutorial weight: 40 --- -{{% capture overview %}} + This tutorial demonstrates running [Apache Zookeeper](https://zookeeper.apache.org) on Kubernetes using [StatefulSets](/docs/concepts/workloads/controllers/statefulset/), [PodDisruptionBudgets](/docs/concepts/workloads/pods/disruptions/#specifying-a-poddisruptionbudget), and [PodAntiAffinity](/docs/user-guide/node-selection/#inter-pod-affinity-and-anti-affinity-beta-feature). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Before starting this tutorial, you should be familiar with the following Kubernetes concepts. @@ -40,18 +41,19 @@ This tutorial assumes that you have configured your cluster to dynamically provi PersistentVolumes. If your cluster is not configured to do so, you will have to manually provision three 20 GiB volumes before starting this tutorial. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + After this tutorial, you will know the following. - How to deploy a ZooKeeper ensemble using StatefulSet. - How to consistently configure the ensemble using ConfigMaps. - How to spread the deployment of ZooKeeper servers in the ensemble. - How to use PodDisruptionBudgets to ensure service availability during planned maintenance. - {{% /capture %}} + -{{% capture lessoncontent %}} + ### ZooKeeper Basics @@ -1090,9 +1092,10 @@ node "kubernetes-node-ixsl" uncordoned You can use `kubectl drain` in conjunction with `PodDisruptionBudgets` to ensure that your services remain available during maintenance. If drain is used to cordon nodes and evict pods prior to taking the node offline for maintenance, services that express a disruption budget will have that budget respected. You should always allocate additional capacity for critical services so that their Pods can be immediately rescheduled. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + - Use `kubectl uncordon` to uncordon all the nodes in your cluster. - You will need to delete the persistent storage media for the PersistentVolumes @@ -1100,5 +1103,5 @@ You can use `kubectl drain` in conjunction with `PodDisruptionBudgets` to ensure storage configuration, and provisioning method, to ensure that all storage is reclaimed. -{{% /capture %}} + diff --git a/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md b/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md index 4f4dbda986..2974c77c94 100644 --- a/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md +++ b/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md @@ -1,18 +1,19 @@ --- title: Exposing an External IP Address to Access an Application in a Cluster -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + This page shows how to create a Kubernetes Service object that exposes an external IP address. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Install [kubectl](/docs/tasks/tools/install-kubectl/). @@ -24,19 +25,20 @@ external IP address. * Configure `kubectl` to communicate with your Kubernetes API server. For instructions, see the documentation for your cloud provider. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Run five instances of a Hello World application. * Create a Service object that exposes an external IP address. * Use the Service object to access the running application. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creating a service for an application running in five pods @@ -148,10 +150,11 @@ The preceding command creates a Hello Kubernetes! -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + To delete the Service, enter this command: @@ -162,11 +165,12 @@ the Hello World application, enter this command: kubectl delete deployment hello-world -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Learn more about [connecting applications with services](/docs/concepts/services-networking/connect-applications-service/). -{{% /capture %}} + diff --git a/content/en/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md b/content/en/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md index bc991098d5..0c4964a17f 100644 --- a/content/en/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md +++ b/content/en/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md @@ -2,7 +2,7 @@ title: "Example: Add logging and metrics to the PHP / Redis Guestbook example" reviewers: - sftim -content_template: templates/tutorial +content_type: tutorial weight: 21 card: name: tutorials @@ -10,7 +10,7 @@ card: title: "Example: Add logging and metrics to the PHP / Redis Guestbook example" --- -{{% capture overview %}} + This tutorial builds upon the [PHP Guestbook with Redis](/docs/tutorials/stateless-application/guestbook) tutorial. Lightweight log, metric, and network data open source shippers, or *Beats*, from Elastic are deployed in the same Kubernetes cluster as the guestbook. The Beats collect, parse, and index the data into Elasticsearch so that you can view and analyze the resulting operational information in Kibana. This example consists of the following components: * A running instance of the [PHP Guestbook with Redis tutorial](/docs/tutorials/stateless-application/guestbook) @@ -19,17 +19,19 @@ This tutorial builds upon the [PHP Guestbook with Redis](/docs/tutorials/statele * Metricbeat * Packetbeat -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Start up the PHP Guestbook with Redis. * Install kube-state-metrics. * Create a Kubernetes secret. * Deploy the Beats. * View dashboards of your logs and metrics. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -40,9 +42,9 @@ Additionally you need: * A running Elasticsearch and Kibana deployment. You can use [Elasticsearch Service in Elastic Cloud](https://cloud.elastic.co), run the [download files](https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html) on your workstation or servers, or the [Elastic Helm Charts](https://github.com/elastic/helm-charts). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Start up the PHP Guestbook with Redis This tutorial builds on the [PHP Guestbook with Redis](/docs/tutorials/stateless-application/guestbook) tutorial. If you have the guestbook application running, then you can monitor that. If you do not have it running then follow the instructions to deploy the guestbook and do not perform the **Cleanup** steps. Come back to this page when you have the guestbook running. @@ -366,9 +368,10 @@ kubectl scale --replicas=3 deployment/frontend See the screenshot, add the indicated filters and then add the columns to the view. You can see the ScalingReplicaSet entry that is marked, following from there to the top of the list of events shows the image being pulled, the volumes mounted, the pod starting, etc. ![Kibana Discover](https://raw.githubusercontent.com/elastic/examples/master/beats-k8s-send-anywhere/scaling-up.png) -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + Deleting the Deployments and Services also deletes any running Pods. Use labels to delete multiple resources with one command. 1. Run the following commands to delete all Pods, Deployments, and Services. @@ -396,11 +399,11 @@ Deleting the Deployments and Services also deletes any running Pods. Use labels No resources found. ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn about [tools for monitoring resources](/docs/tasks/debug-application-cluster/resource-usage-monitoring/) * Read more about [logging architecture](/docs/concepts/cluster-administration/logging/) * Read more about [application introspection and debugging](/docs/tasks/debug-application-cluster/) * Read more about [troubleshoot applications](/docs/tasks/debug-application-cluster/resource-usage-monitoring/) -{{% /capture %}} \ No newline at end of file diff --git a/content/en/docs/tutorials/stateless-application/guestbook.md b/content/en/docs/tutorials/stateless-application/guestbook.md index e8c71bc613..f321d5391a 100644 --- a/content/en/docs/tutorials/stateless-application/guestbook.md +++ b/content/en/docs/tutorials/stateless-application/guestbook.md @@ -2,7 +2,7 @@ title: "Example: Deploying PHP Guestbook application with Redis" reviewers: - ahmetb -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -10,32 +10,34 @@ card: title: "Stateless Example: PHP Guestbook with Redis" --- -{{% capture overview %}} + This tutorial shows you how to build and deploy a simple, multi-tier web application using Kubernetes and [Docker](https://www.docker.com/). This example consists of the following components: * A single-instance [Redis](https://redis.io/) master to store guestbook entries * Multiple [replicated Redis](https://redis.io/topics/replication) instances to serve reads * Multiple web frontend instances -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Start up a Redis master. * Start up Redis slaves. * Start up the guestbook frontend. * Expose and view the Frontend Service. * Clean up. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Start up the Redis Master @@ -321,9 +323,10 @@ Scaling up or down is easy because your servers are defined as a Service that us redis-slave-2005841000-phfv9 1/1 Running 0 1h ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + Deleting the Deployments and Services also deletes any running Pods. Use labels to delete multiple resources with one command. 1. Run the following commands to delete all Pods, Deployments, and Services. @@ -358,12 +361,13 @@ Deleting the Deployments and Services also deletes any running Pods. Use labels No resources found. ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Add [ELK logging and monitoring](../guestbook-logs-metrics-with-elk/) to your Guestbook application * Complete the [Kubernetes Basics](/docs/tutorials/kubernetes-basics/) Interactive Tutorials * Use Kubernetes to create a blog using [Persistent Volumes for MySQL and Wordpress](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/#visit-your-new-wordpress-blog) * Read more about [connecting applications](/docs/concepts/services-networking/connect-applications-service/) * Read more about [Managing Resources](/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively) -{{% /capture %}} + From e5825ea8f9026ed1cb91edd89c936ce978574d68 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:19:34 -0400 Subject: [PATCH 331/533] add de pages --- content/de/docs/concepts/_index.md | 15 +++++------ .../concepts/architecture/cloud-controller.md | 10 ++++---- .../architecture/master-node-communication.md | 10 ++++---- .../de/docs/concepts/architecture/nodes.md | 10 ++++---- .../concepts/cluster-administration/addons.md | 10 ++++---- .../controller-metrics.md | 9 +++---- .../cluster-administration/proxies.md | 9 +++---- content/de/docs/concepts/containers/images.md | 10 ++++---- .../docs/concepts/example-concept-template.md | 15 +++++------ .../de/docs/concepts/overview/components.md | 10 ++++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++------ content/de/docs/contribute/_index.md | 8 +++--- content/de/docs/contribute/localization.md | 15 +++++------ .../de/docs/home/supported-doc-versions.md | 10 ++++---- content/de/docs/setup/_index.md | 10 ++++---- content/de/docs/setup/minikube.md | 10 ++++---- .../setup/release/building-from-source.md | 10 ++++---- content/de/docs/tasks/_index.md | 15 +++++------ .../horizontal-pod-autoscale.md | 15 +++++------ .../de/docs/tasks/tools/install-kubectl.md | 20 ++++++++------- .../de/docs/tasks/tools/install-minikube.md | 20 ++++++++------- content/de/docs/tutorials/_index.md | 15 +++++------ content/de/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 23 files changed, 154 insertions(+), 142 deletions(-) diff --git a/content/de/docs/concepts/_index.md b/content/de/docs/concepts/_index.md index 82b5b0e5b0..43d273b432 100644 --- a/content/de/docs/concepts/_index.md +++ b/content/de/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: Konzepte main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Im Abschnitt Konzepte erfahren Sie mehr über die Bestandteile des Kubernetes-Systems und die Abstraktionen, die Kubernetes zur Verwaltung Ihres Clusters zur Verfügung stellt. Sie erhalten zudem ein tieferes Verständnis der Funktionsweise von Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Überblick @@ -65,11 +65,12 @@ Die Nodes in einem Cluster sind die Maschinen (VMs, physische Server usw.), auf * [Anmerkungen](/docs/concepts/overview/working-with-objects/annotations/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Wenn Sie eine Konzeptseite schreiben möchten, lesen Sie [Seitenvorlagen verwenden](/docs/home/contribute/page-templates/) für Informationen zum Konzeptseitentyp und zur Dokumentations Vorlage. -{{% /capture %}} + diff --git a/content/de/docs/concepts/architecture/cloud-controller.md b/content/de/docs/concepts/architecture/cloud-controller.md index 7e044119b8..21da96e612 100644 --- a/content/de/docs/concepts/architecture/cloud-controller.md +++ b/content/de/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Zugrunde liegende Konzepte des Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Das Konzept des Cloud Controller Managers (CCM) (nicht zu verwechseln mit der Binärdatei) wurde ursprünglich entwickelt, um Cloud-spezifischen Anbieter Code und den Kubernetes Kern unabhängig voneinander entwickeln zu können. Der Cloud Controller Manager läuft zusammen mit anderen Master Komponenten wie dem Kubernetes Controller Manager, dem API-Server und dem Scheduler auf dem Host. Es kann auch als Kubernetes Addon gestartet werden, in diesem Fall läuft er auf Kubernetes. Das Design des Cloud Controller Managers basiert auf einem Plugin Mechanismus, der es neuen Cloud Anbietern ermöglicht, sich mit Kubernetes einfach über Plugins zu integrieren. Es gibt Pläne für die Einbindung neuer Cloud Anbieter auf Kubernetes und für die Migration von Cloud Anbietern vom alten Modell auf das neue CCM-Modell. @@ -15,10 +15,10 @@ Die Architektur eines Kubernetes Clusters ohne den Cloud Controller Manager sieh ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Design @@ -235,4 +235,4 @@ Die folgenden Cloud Anbieter haben CCMs implementiert: Eine vollständige Anleitung zur Konfiguration und zum Betrieb des CCM findest du [hier](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/de/docs/concepts/architecture/master-node-communication.md b/content/de/docs/concepts/architecture/master-node-communication.md index e7903f2606..6874cdb687 100644 --- a/content/de/docs/concepts/architecture/master-node-communication.md +++ b/content/de/docs/concepts/architecture/master-node-communication.md @@ -1,18 +1,18 @@ --- title: Master-Node Kommunikation -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Dieses Dokument katalogisiert die Kommunikationspfade zwischen dem Master (eigentlich dem Apiserver) und des Kubernetes-Clusters. Die Absicht besteht darin, Benutzern die Möglichkeit zu geben, ihre Installation so anzupassen, dass die Netzwerkkonfiguration so abgesichert wird, dass der Cluster in einem nicht vertrauenswürdigen Netzwerk (oder mit vollständig öffentlichen IP-Adressen eines Cloud-Providers) ausgeführt werden kann. -{{% /capture %}} -{{% capture body %}} + + ## Cluster zum Master @@ -69,4 +69,4 @@ Dieser Tunnel stellt sicher, dass der Datenverkehr nicht außerhalb des Netzwerk SSH-Tunnel werden zur Zeit nicht unterstützt. Sie sollten also nicht verwendet werden, sei denn, man weiß, was man tut. Ein Ersatz für diesen Kommunikationskanal wird entwickelt. -{{% /capture %}} + diff --git a/content/de/docs/concepts/architecture/nodes.md b/content/de/docs/concepts/architecture/nodes.md index 0f3d396968..8a2b8b7fde 100644 --- a/content/de/docs/concepts/architecture/nodes.md +++ b/content/de/docs/concepts/architecture/nodes.md @@ -1,10 +1,10 @@ --- title: Nodes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Ein Knoten (Node in Englisch) ist eine Arbeitsmaschine in Kubernetes, früher als `minion` bekannt. Ein Node kann je nach Cluster eine VM oder eine physische Maschine sein. Jeder Node enthält @@ -13,10 +13,10 @@ und wird von den Master-Komponenten verwaltet. Die Dienste auf einem Node umfassen die [Container Runtime](/docs/concepts/overview/components/#node-components), das Kubelet und den Kube-Proxy. Weitere Informationen finden Sie im Abschnitt Kubernetes Node in der Architekturdesign-Dokumentation. -{{% /capture %}} -{{% capture body %}} + + ## Node Status @@ -244,4 +244,4 @@ Wenn Sie Ressourcen explizit für Nicht-Pod-Prozesse reservieren möchten, folge Node ist eine Top-Level-Ressource in der Kubernetes-REST-API. Weitere Details zum API-Objekt finden Sie unter: [Node API object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). -{{% /capture %}} + diff --git a/content/de/docs/concepts/cluster-administration/addons.md b/content/de/docs/concepts/cluster-administration/addons.md index 4d26b57da8..f5eedeb59b 100644 --- a/content/de/docs/concepts/cluster-administration/addons.md +++ b/content/de/docs/concepts/cluster-administration/addons.md @@ -1,9 +1,9 @@ --- title: Addons Installieren -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Add-Ons erweitern die Funktionalität von Kubernetes. @@ -12,10 +12,10 @@ Diese Seite gibt eine Übersicht über einige verfügbare Add-Ons und verweist a Die Add-Ons in den einzelnen Kategorien sind alphabetisch sortiert - Die Reihenfolge impliziert keine bevorzugung einzelner Projekte. -{{% /capture %}} -{{% capture body %}} + + ## Networking und Network Policy @@ -53,4 +53,4 @@ Es gibt einige weitere Add-Ons die in dem abgekündigten [cluster/addons](https: Add-Ons die ordentlich gewartet werden dürfen gerne hier aufgezählt werden. Wir freuen uns auf PRs! -{{% /capture %}} + diff --git a/content/de/docs/concepts/cluster-administration/controller-metrics.md b/content/de/docs/concepts/cluster-administration/controller-metrics.md index 4fd9b0d538..86cd0a1548 100644 --- a/content/de/docs/concepts/cluster-administration/controller-metrics.md +++ b/content/de/docs/concepts/cluster-administration/controller-metrics.md @@ -1,15 +1,15 @@ --- title: Controller Manager Metriken -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + Controller Manager Metriken liefern wichtige Erkenntnisse über die Leistung und den Zustand von den Controller Managern. -{{% /capture %}} -{{% capture body %}} + + ## Was sind Controller Manager Metriken Die Kennzahlen des Controller Managers liefert wichtige Erkenntnisse über die Leistung und den Zustand des Controller Managers. @@ -38,4 +38,3 @@ Die Metriken werden im [Prometheus Format](https://prometheus.io/docs/instrument In einer Produktionsumgebung können Sie Prometheus oder einen anderen Metrik Scraper konfigurieren, um diese Metriken regelmäßig zu sammeln und in einer Art Zeitreihen Datenbank verfügbar zu machen. -{{% /capture %}} \ No newline at end of file diff --git a/content/de/docs/concepts/cluster-administration/proxies.md b/content/de/docs/concepts/cluster-administration/proxies.md index 16d36ad518..a872dbad8d 100644 --- a/content/de/docs/concepts/cluster-administration/proxies.md +++ b/content/de/docs/concepts/cluster-administration/proxies.md @@ -1,14 +1,14 @@ --- title: Proxies in Kubernetes -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Auf dieser Seite werden die im Kubernetes verwendeten Proxies erläutert. -{{% /capture %}} -{{% capture body %}} + + ## Proxies @@ -61,4 +61,3 @@ Kubernetes Benutzer müssen sich in der Regel um nichts anderes als die ersten b Proxies haben die Möglichkeit der Umleitung (redirect) ersetzt. Umleitungen sind veraltet. -{{% /capture %}} \ No newline at end of file diff --git a/content/de/docs/concepts/containers/images.md b/content/de/docs/concepts/containers/images.md index 03ec9b4a0e..d142405f06 100644 --- a/content/de/docs/concepts/containers/images.md +++ b/content/de/docs/concepts/containers/images.md @@ -1,18 +1,18 @@ --- title: Images -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Sie erstellen ihr Docker Image und laden es in eine Registry hoch, bevor es in einem Kubernetes Pod referenziert werden kann. Die `image` Eigenschaft eines Containers unterstüzt die gleiche Syntax wie die des `docker` Kommandos, inklusive privater Registries und Tags. -{{% /capture %}} -{{% capture body %}} + + ## Aktualisieren von Images @@ -334,7 +334,7 @@ Es gibt eine Anzahl an Lösungen um eigene Registries zu konfigurieren, hier sin - Generieren die Registry - Zugriffsdaten für jeden Mandanten, abgelegt in einem Secret das in jedem Mandanten - Namespace vorhanden ist. - Der Mandant fügt dieses Sercret zu den imagePullSecrets in jedem seiner Namespace hinzu. -{{% /capture %}} + Falls die Zugriff auf mehrere Registries benötigen, können sie ein Secret für jede Registry erstellen, Kubelet wird jedwede `imagePullSecrets` in einer einzelnen `.docker/config.json` zusammenfassen. diff --git a/content/de/docs/concepts/example-concept-template.md b/content/de/docs/concepts/example-concept-template.md index 9f3a2bcfac..a7694cc54b 100644 --- a/content/de/docs/concepts/example-concept-template.md +++ b/content/de/docs/concepts/example-concept-template.md @@ -1,10 +1,10 @@ --- title: Konzept Dokumentations-Vorlage -content_template: templates/concept +content_type: concept toc_hide: true --- -{{% capture overview %}} + {{< note >}} Stellen Sie auch sicher [einen Eintrag im Inhaltsverzeichnis](/docs/home/contribute/write-new-topic/#creating-an-entry-in-the-table-of-contents) für Ihr neues Dokument zu erstellen. @@ -12,9 +12,9 @@ Stellen Sie auch sicher [einen Eintrag im Inhaltsverzeichnis](/docs/home/contrib Diese Seite erklärt ... -{{% /capture %}} -{{% capture body %}} + + ## Verstehen ... @@ -24,15 +24,16 @@ Kubernetes bietet ... Benutzen Sie ... -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + **[Optionaler Bereich]** * Lernen Sie mehr über [ein neues Thema schreiben](/docs/home/contribute/write-new-topic/). * Besuchen Sie [Seitenvorlagen verwenden - Konzeptvorlage](/docs/home/contribute/page-templates/#concept_template) wie Sie diese Vorlage verwenden. -{{% /capture %}} + diff --git a/content/de/docs/concepts/overview/components.md b/content/de/docs/concepts/overview/components.md index 47560e0a68..af371e3b87 100644 --- a/content/de/docs/concepts/overview/components.md +++ b/content/de/docs/concepts/overview/components.md @@ -1,17 +1,17 @@ --- title: Kubernetes Komponenten -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + In diesem Dokument werden die verschiedenen binären Komponenten beschrieben, die zur Bereitstellung eines funktionsfähigen Kubernetes-Clusters erforderlich sind. -{{% /capture %}} -{{% capture body %}} + + ## Master-Komponenten Master-Komponenten stellen die Steuerungsebene des Clusters bereit. Master-Komponenten treffen globale Entscheidungen über den Cluster (z. B. Zeitplanung) und das Erkennen und Reagieren auf Clusterereignisse (Starten eines neuen Pods, wenn das `replicas`-Feld eines Replikationscontrollers nicht zufriedenstellend ist). @@ -107,6 +107,6 @@ Von Kubernetes gestartete Container schließen diesen DNS-Server automatisch in Ein [Cluster-level logging](/docs/concepts/cluster-administration/logging/) Mechanismus ist für das Speichern von Containerprotokollen in einem zentralen Protokollspeicher mit Such- / Browsing-Schnittstelle verantwortlich. -{{% /capture %}} + diff --git a/content/de/docs/concepts/overview/what-is-kubernetes.md b/content/de/docs/concepts/overview/what-is-kubernetes.md index af7cfc614a..66b79d6928 100644 --- a/content/de/docs/concepts/overview/what-is-kubernetes.md +++ b/content/de/docs/concepts/overview/what-is-kubernetes.md @@ -1,17 +1,17 @@ --- title: Was ist Kubernetes? -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Diese Seite ist eine Übersicht über Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes ist eine portable, erweiterbare Open-Source-Plattform zur Verwaltung von containerisierten Arbeitslasten und Services, die sowohl die deklarative Konfiguration als auch die Automatisierung erleichtert. @@ -160,11 +160,12 @@ Der Name **Kubernetes** stammt aus dem Griechischen, bedeutet *Steuermann* oder [cybernetic](http://www.etymonline.com/index.php?term=cybernetics). *K8s* ist eine Abkürzung, die durch Ersetzen der 8 Buchstaben "ubernete" mit "8" abgeleitet wird. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Bereit loszulegen](/docs/setup/)? * Weitere Einzelheiten finden Sie in der [Kubernetes Dokumentation](/docs/home/). -{{% /capture %}} + diff --git a/content/de/docs/contribute/_index.md b/content/de/docs/contribute/_index.md index 9853ef4e54..db7c6687ab 100644 --- a/content/de/docs/contribute/_index.md +++ b/content/de/docs/contribute/_index.md @@ -1,12 +1,12 @@ --- -content_template: templates/concept +content_type: concept title: Zur Kubernets-Dokumentation beitragen linktitle: Mitmachen main_menu: true weight: 80 --- -{{% capture overview %}} + Wenn Sie an der Dokumentation oder der Website von Kubernetes mitwirken möchten, freuen wir uns über Ihre Hilfe! Jeder kann seinen Beitrag leisten, unabhängig davon ob Sie neu im Projekt sind oder schon lange dabei sind, und ob Sie sich als @@ -15,7 +15,7 @@ Entwickler, Endbenutzer oder einfach jemanden, der es einfach nicht aushält, Ti Weitere Möglichkeiten, sich in der Kubernetes-Community zu engagieren oder mehr über uns zu erfahren, finden Sie auf der [Kubernetes-Community-Seite](/community/). Informationen zum Handbuch zur Dokumentation von Kubernetes finden Sie im [Gestaltungshandbuch](/docs/contribute/style/style-guide/). -{{% capture body %}} + ## Arten von Mitwirkenden @@ -59,4 +59,4 @@ Dies ist keine vollständige Liste von Möglichkeiten, wie Sie zur Kubernetes-Do - Verbesserungsvorschläge für Dokumentprüfungen vorschlagen - Vorschläge für Verbesserungen der Kubernetes-Website oder anderer Tools -{{% /capture %}} + diff --git a/content/de/docs/contribute/localization.md b/content/de/docs/contribute/localization.md index 79084cc0f2..031eeb8755 100644 --- a/content/de/docs/contribute/localization.md +++ b/content/de/docs/contribute/localization.md @@ -1,6 +1,6 @@ --- title: Lokalisierung der Kubernetes Dokumentation -content_template: templates/concept +content_type: concept weight: 50 card: name: mitarbeiten @@ -8,13 +8,13 @@ card: title: Übersetzen der Dokumentation --- -{{% capture overview %}} + Diese Seite zeigt dir wie die Dokumentation für verschiedene Sprachen [lokalisiert](https://blog.mozilla.org/l10n/2011/12/14/i18n-vs-l10n-whats-the-diff/) wird. -{{% /capture %}} -{{% capture body %}} + + ## Erste Schritte @@ -277,13 +277,14 @@ SIG Docs begrüßt Upstream Beiträge, also auf das englische Original, und Korr Du kannst auch dazu beitragen, Inhalte zu einer bestehenden Lokalisierung hinzuzufügen oder zu verbessern. Trete dem [Slack-Kanal](https://kubernetes.slack.com/messages/C1J0BPD2M/) für die Lokalisierung bei und beginne mit der Eröffnung von PRs, um zu helfen. Bitte beschränke deine Pull-Anfragen auf eine einzige Lokalisierung, da Pull-Anfragen, die Inhalte in mehreren Lokalisierungen ändern, schwer zu überprüfen sein könnten. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Sobald eine Lokalisierung die Anforderungen an den Arbeitsablauf und die Mindestausgabe erfüllt, wird SIG docs: - Die Sprachauswahl auf der Website aktivieren - Die Verfügbarkeit der Lokalisierung über die Kanäle der [Cloud Native Computing Foundation](https://www.cncf.io/about/) (CNCF), einschließlich des [Kubernetes Blogs](https://kubernetes.io/blog/) veröffentlichen. -{{% /capture %}} + diff --git a/content/de/docs/home/supported-doc-versions.md b/content/de/docs/home/supported-doc-versions.md index 8463d1bcd9..c1064b9730 100644 --- a/content/de/docs/home/supported-doc-versions.md +++ b/content/de/docs/home/supported-doc-versions.md @@ -1,20 +1,20 @@ --- title: Unterstützte Versionen der Kubernetes-Dokumentation -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Unterstützte Versionen der Dokumentation --- -{{% capture overview %}} + Diese Website enthält Dokumentation für die aktuelle Version von Kubernetes und die vier vorherigen Versionen von Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Aktuelle Version @@ -25,6 +25,6 @@ Die aktuelle Version ist {{< versions-other >}} -{{% /capture %}} + diff --git a/content/de/docs/setup/_index.md b/content/de/docs/setup/_index.md index 3ee12cbb7b..d7f074efb3 100644 --- a/content/de/docs/setup/_index.md +++ b/content/de/docs/setup/_index.md @@ -2,10 +2,10 @@ title: Setup main_menu: true weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Diese Sektion umfasst verschiedene Optionen zum Einrichten und Betrieb von Kubernetes. @@ -15,9 +15,9 @@ Sie können einen Kubernetes-Cluster auf einer lokalen Maschine, Cloud, On-Prem Noch einfacher können Sie einen Kubernetes-Cluster in einer Lern- und Produktionsumgebung erstellen. -{{% /capture %}} -{{% capture body %}} + + ## Lernumgebung @@ -99,4 +99,4 @@ Die folgende Tabelle für Produktionsumgebungs-Lösungen listet Anbieter und der | [VMware](https://cloud.vmware.com/) | [VMware Cloud PKS](https://cloud.vmware.com/vmware-cloud-pks) |[VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | |[VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | [Z.A.R.V.I.S.](https://zarvis.ai/) | ✔ | | | | | | -{{% /capture %}} + diff --git a/content/de/docs/setup/minikube.md b/content/de/docs/setup/minikube.md index 06734bd28f..d4c0b9462e 100644 --- a/content/de/docs/setup/minikube.md +++ b/content/de/docs/setup/minikube.md @@ -1,15 +1,15 @@ --- title: Kubernetes lokal über Minikube betreiben -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikube ist ein Tool, mit dem Kubernetes lokal einfach ausgeführt werden kann. Minikube führt einen Kubernetes-Cluster mit einem einzigen Node in einer VM auf Ihrem Laptop aus, damit Anwender Kubernetes ausprobieren oder täglich damit entwickeln können. -{{% /capture %}} -{{% capture body %}} + + ## Minikube-Funktionen @@ -439,4 +439,4 @@ Weitere Informationen zu Minikube finden Sie im [Vorschlag](https://git.k8s.io/c Beiträge, Fragen und Kommentare werden begrüßt und ermutigt! Minikube-Entwickler finden Sie in [Slack](https://kubernetes.slack.com) im #minikube Kanal (Erhalten Sie [hier](http://slack.kubernetes.io/) eine Einladung). Wir haben ausserdem die [kubernetes-dev Google Groups-Mailingliste](https://groups.google.com/forum/#!forum/kubernetes-dev). Wenn Sie in der Liste posten, fügen Sie Ihrem Betreff bitte "minikube:" voran. -{{% /capture %}} + diff --git a/content/de/docs/setup/release/building-from-source.md b/content/de/docs/setup/release/building-from-source.md index 55d324574f..76879df995 100644 --- a/content/de/docs/setup/release/building-from-source.md +++ b/content/de/docs/setup/release/building-from-source.md @@ -1,19 +1,19 @@ --- title: Release erstellen -content_template: templates/concept +content_type: concept card: name: download weight: 20 title: Release erstellen --- -{{% capture overview %}} + Sie können entweder eine Version aus dem Quellcode erstellen oder eine bereits kompilierte Version herunterladen. Wenn Sie nicht vorhaben, Kubernetes selbst zu entwickeln, empfehlen wir die Verwendung eines vorkompilierten Builds der aktuellen Version, die Sie in den [Versionshinweisen](/docs/setup/release/notes/) finden. Der Kubernetes-Quellcode kann aus dem [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) repo der heruntergeladen werden. -{{% /capture %}} -{{% capture body %}} + + ## Aus dem Quellcode kompilieren @@ -29,4 +29,4 @@ make release Mehr Informationen zum Release-Prozess finden Sie im kubernetes/kubernetes [`build`](http://releases.k8s.io/{{< param "githubbranch" >}}/build/) Verzeichnis. -{{% /capture %}} + diff --git a/content/de/docs/tasks/_index.md b/content/de/docs/tasks/_index.md index 1589a013e0..bfa2a73dba 100644 --- a/content/de/docs/tasks/_index.md +++ b/content/de/docs/tasks/_index.md @@ -2,19 +2,19 @@ title: Aufgaben main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + Dieser Abschnitt der Kubernetes-Dokumentation enthält Seiten, die zeigen, wie man einzelne Aufgaben erledigt. Eine Aufgabenseite zeigt, wie man eine einzelne Aufgabe ausführt, typischerweise durch eine kurze Abfolge von Schritten. -{{% /capture %}} -{{% capture body %}} + + ## Webbenutzeroberfläche (Dashboard) @@ -76,10 +76,11 @@ Konfigurieren und planen Sie NVIDIA-GPUs für die Verwendung durch Nodes in eine Konfigurieren und verwalten Sie `HugePages` als planbare Ressource in einem Cluster. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Wenn Sie eine Aufgabenseite schreiben möchten, finden Sie weitere Informationen unter [Erstellen einer Pull-Anfrage für Dokumentation](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/de/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/de/docs/tasks/run-application/horizontal-pod-autoscale.md index 03cbb787bb..cd120285f1 100644 --- a/content/de/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/de/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -5,11 +5,11 @@ feature: description: > Skaliere deine Anwendung mit einem einfachen Befehl, über die Benutzeroberfläche oder automatisch, basierend auf der CPU-Auslastung. -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Der Horizontal Pod Autoscaler skaliert automatisch die Anzahl der Pods eines Replication Controller, Deployment oder Replikat Set basierend auf der beobachteten CPU-Auslastung (oder, mit Unterstützung von [benutzerdefinierter Metriken](https://git.k8s.io/community/contributors/design-proposals/instrumentation/custom-metrics-api.md), von der Anwendung bereitgestellten Metriken). Beachte, dass die horizontale Pod Autoskalierung nicht für Objekte gilt, die nicht skaliert werden können, z. B. DaemonSets. @@ -17,9 +17,9 @@ Der Horizontal Pod Autoscaler ist als Kubernetes API-Ressource und einem Control Die Ressource bestimmt das Verhalten des Controllers. Der Controller passt die Anzahl der Replikate eines Replication Controller oder Deployments regelmäßig an, um die beobachtete durchschnittliche CPU-Auslastung an das vom Benutzer angegebene Ziel anzupassen. -{{% /capture %}} -{{% capture body %}} + + ## Wie funktioniert der Horizontal Pod Autoscaler? @@ -161,12 +161,13 @@ Standardmäßig ruft der HorizontalPodAutoscaler Controller Metriken aus einer R * Das Flag `--horizontal-pod-autoscaler-use-rest-clients` ist auf `true` oder ungesetzt. Wird dies auf `false` gesetzt wird die Heapster basierte Autoskalierung aktiviert, welche veraltet ist. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Design Dokument [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md). * kubectl autoscale Befehl: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale). * Verwenden des [Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/). -{{% /capture %}} + diff --git a/content/de/docs/tasks/tools/install-kubectl.md b/content/de/docs/tasks/tools/install-kubectl.md index dd9c68c2ca..d7fb7aa759 100644 --- a/content/de/docs/tasks/tools/install-kubectl.md +++ b/content/de/docs/tasks/tools/install-kubectl.md @@ -1,6 +1,6 @@ --- title: Installieren und konfigurieren von kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -8,17 +8,18 @@ card: title: Kubectl installieren --- -{{% capture overview %}} + Verwenden Sie das Kubernetes Befehlszeilenprogramm, [kubectl](/docs/user-guide/kubectl/), um Anwendungen auf Kubernetes bereitzustellen und zu verwalten. Mit kubectl können Sie Clusterressourcen überprüfen, Komponenten erstellen, löschen und aktualisieren; Ihren neuen Cluster betrachten; und Beispielanwendungen aufrufen. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Sie müssen eine kubectl-Version verwenden, die innerhalb eines geringfügigen Versionsunterschieds zur Version Ihres Clusters liegt. Ein v1.2-Client sollte beispielsweise mit einem v1.1, v1.2 und v1.3-Master arbeiten. Die Verwendung der neuesten Version von kubectl verhindert unvorhergesehene Probleme. -{{% /capture %}} -{{% capture steps %}} + + ## Kubectl installieren @@ -421,9 +422,10 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Erfahren Sie, wie Sie Ihre Anwendung starten und verfügbar machen.](/docs/tasks/access-application-cluster/service-access-application-cluster/) -{{% /capture %}} + diff --git a/content/de/docs/tasks/tools/install-minikube.md b/content/de/docs/tasks/tools/install-minikube.md index c3d08bac30..7353df0733 100644 --- a/content/de/docs/tasks/tools/install-minikube.md +++ b/content/de/docs/tasks/tools/install-minikube.md @@ -1,28 +1,29 @@ --- title: Installation von Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + Diese Seite zeigt Ihnen, wie Sie [Minikube](/docs/tutorials/hello-minikube) installieren, ein Programm, das einen Kubernetes-Cluster mit einem einzigen Node in einer virtuellen Maschine auf Ihrem Laptop ausführt. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Die VT-x- oder AMD-v-Virtualisierung muss im BIOS Ihres Computers aktiviert sein. Um dies unter Linux zu überprüfen, führen Sie Folgendes aus und vergewissern Sie sich, dass die Ausgabe nicht leer ist: ```shell egrep --color 'vmx|svm' /proc/cpuinfo ``` -{{% /capture %}} -{{% capture steps %}} + + ## Einen Hypervisor installieren @@ -106,13 +107,14 @@ Schließen Sie nach der Installation von Minikube die aktuelle CLI-Sitzung und s So installieren Sie Minikube manuell unter Windows mit [Windows Installer](https://docs.microsoft.com/en-us/windows/desktop/msi/windows-installer-portal), laden Sie die Datei [`minikube-installer.exe`](https://github.com/kubernetes/minikube/releases/latest) und führen Sie den Installer aus. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kubernetes lokal über Minikube ausführen](/docs/setup/minikube/) -{{% /capture %}} + ## Eine bestehende Installation bereinigen diff --git a/content/de/docs/tutorials/_index.md b/content/de/docs/tutorials/_index.md index 4cb042c124..1dcbbd8a63 100644 --- a/content/de/docs/tutorials/_index.md +++ b/content/de/docs/tutorials/_index.md @@ -2,19 +2,19 @@ title: Tutorials main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Dieser Abschnitt der Kubernetes-Dokumentation enthält Tutorials. Ein Tutorial zeigt, wie Sie ein Ziel erreichen, das größer ist als eine einzelne [Aufgabe](/docs/tasks/). Ein Tutorial besteht normalerweise aus mehreren Abschnitten, die jeweils eine Abfolge von Schritten haben. Bevor Sie die einzelnen Lernprogramme durchgehen, möchten Sie möglicherweise ein Lesezeichen zur Seite mit dem [Standardisierten Glossar](/docs/reference/glossary/) setzen um später Informationen nachzuschlagen. -{{% /capture %}} -{{% capture body %}} + + ## Grundlagen @@ -64,12 +64,13 @@ Bevor Sie die einzelnen Lernprogramme durchgehen, möchten Sie möglicherweise e * [Source IP verwenden](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Wenn Sie ein Tutorial schreiben möchten, lesen Sie [Seitenvorlagen verwenden](/docs/home/contribute/page-templates/) für weitere Informationen zum Typ der Tutorial-Seite und zur Tutorial-Vorlage. -{{% /capture %}} + diff --git a/content/de/docs/tutorials/hello-minikube.md b/content/de/docs/tutorials/hello-minikube.md index 4d0bc7f0f6..a1bf6dd493 100644 --- a/content/de/docs/tutorials/hello-minikube.md +++ b/content/de/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hallo Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + Dieses Tutorial zeigt Ihnen, wie Sie eine einfache "Hallo Welt" Node.js-Anwendung auf Kubernetes mit [Minikube](/docs/getting-started-guides/minikube) und Katacoda ausführen. Katacoda bietet eine kostenlose Kubernetes-Umgebung im Browser. @@ -22,17 +22,19 @@ Katacoda bietet eine kostenlose Kubernetes-Umgebung im Browser. Sie können dieses Tutorial auch verwenden, wenn Sie [Minikube lokal](/docs/tasks/tools/install-minikube/) installiert haben. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Stellen Sie eine Hallo-Welt-Anwendung für Minikube bereit. * Führen Sie die App aus. * Betrachten Sie die Log Dateien. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Dieses Lernprogramm enthält ein aus den folgenden Dateien erstelltes Container-Image: @@ -42,9 +44,9 @@ Dieses Lernprogramm enthält ein aus den folgenden Dateien erstelltes Container- Weitere Informationen zum `docker build` Befehl, lesen Sie die [Docker Dokumentation](https://docs.docker.com/engine/reference/commandline/build/). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Erstellen Sie einen Minikube-Cluster @@ -260,12 +262,13 @@ Löschen Sie optional die Minikube-VM: minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Lernen Sie mehr über [Bereitstellungsobjekte](/docs/concepts/workloads/controllers/deployment/). * Lernen Sie mehr über [Anwendungen bereitstellen](/docs/user-guide/deploying-applications/). * Lernen Sie mehr über [Serviceobjekte](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 6a9c673a921f4b210b3e64e653572583e11c8c9a Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:30:50 -0400 Subject: [PATCH 332/533] add es pages --- content/es/docs/concepts/_index.md | 15 +++++------ .../concepts/architecture/cloud-controller.md | 10 ++++---- .../architecture/master-node-communication.md | 9 +++---- .../es/docs/concepts/architecture/nodes.md | 10 ++++---- .../organize-cluster-access-kubeconfig.md | 15 +++++------ .../container-environment-variables.md | 15 +++++------ .../containers/container-lifecycle-hooks.md | 15 +++++------ .../concepts/overview/what-is-kubernetes.md | 15 +++++------ .../working-with-objects/annotations.md | 15 +++++------ .../working-with-objects/common-labels.md | 9 +++---- .../kubernetes-objects.md | 15 +++++------ .../overview/working-with-objects/labels.md | 10 ++++---- .../overview/working-with-objects/names.md | 10 ++++---- .../working-with-objects/namespaces.md | 10 ++++---- .../workloads/controllers/cron-jobs.md | 10 ++++---- .../workloads/controllers/daemonset.md | 10 ++++---- .../controllers/replicationcontroller.md | 10 ++++---- .../workloads/controllers/statefulset.md | 15 +++++------ .../workloads/controllers/ttlafterfinished.md | 15 +++++------ .../workloads/pods/ephemeral-containers.md | 10 ++++---- .../docs/concepts/workloads/pods/podpreset.md | 15 +++++------ content/es/docs/contribute/_index.md | 8 +++--- content/es/docs/reference/_index.md | 10 ++++---- content/es/docs/setup/_index.md | 10 ++++---- .../setup/release/building-from-source.md | 10 ++++---- content/es/docs/tasks/_index.md | 15 +++++------ .../configure-volume-storage.md | 20 ++++++++------- .../resource-metrics-pipeline.md | 10 ++++---- .../tasks/run-application/configure-pdb.md | 19 +++++++------- .../run-stateless-application-deployment.md | 25 +++++++++++-------- .../es/docs/tasks/tools/install-kubectl.md | 20 ++++++++------- .../es/docs/tasks/tools/install-minikube.md | 20 ++++++++------- content/es/docs/tutorials/_index.md | 15 +++++------ content/es/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 34 files changed, 244 insertions(+), 221 deletions(-) diff --git a/content/es/docs/concepts/_index.md b/content/es/docs/concepts/_index.md index cd95ebfb9c..fddd126047 100644 --- a/content/es/docs/concepts/_index.md +++ b/content/es/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: Conceptos main_menu: true -content_template: templates/concept +content_type: 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 @@ -66,12 +66,13 @@ En un clúster de Kubernetes, los nodos son las máquinas (máquinas virtuales, * [Annotations](/docs/concepts/overview/working-with-objects/annotations/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "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/cloud-controller.md b/content/es/docs/concepts/architecture/cloud-controller.md index ead5481fd5..4de5b4418a 100644 --- a/content/es/docs/concepts/architecture/cloud-controller.md +++ b/content/es/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Conceptos subyacentes del Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + El concepto del Cloud Controller Manager (CCM) (no confundir con el ejecutable) fue creado originalmente para permitir que Kubernetes y el código específico de proveedores de servicios en la nube evolucionasen de forma independiente. El Cloud Controller Manager se ejecuta a la par con otros componentes maestros como el Kubernetes Controller Manager, el API Server y el planificador. También puede ejecutarse como un extra, en cuyo caso se ejecuta por encima de Kubernetes. @@ -16,10 +16,10 @@ En la siguiente imagen, se puede ver la arquitectura de un cluster de Kubernetes ![Arquitectura previa a CCM](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Diseño @@ -235,4 +235,4 @@ Los siguientes proveedores de servicios en la nube han implementado CCMs: Instrucciones para configurar y ejecutar el CCM pueden encontrarse [aquí](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/es/docs/concepts/architecture/master-node-communication.md b/content/es/docs/concepts/architecture/master-node-communication.md index 379f23589b..5b441b6bcd 100644 --- a/content/es/docs/concepts/architecture/master-node-communication.md +++ b/content/es/docs/concepts/architecture/master-node-communication.md @@ -2,17 +2,17 @@ reviewers: - glo-pena title: Comunicación Nodo-Maestro -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Este documento cataloga las diferentes vías de comunicación entre el nodo máster (en realidad el apiserver) y el clúster de Kubernetes. La intención es permitir a los usuarios personalizar sus instalaciones para proteger sus configuraciones de red de forma que el clúster pueda ejecutarse en una red insegura. (o en un proveedor de servicios en la nube con direcciones IP públicas) -{{% /capture %}} -{{% capture body %}} + + ### Clúster a Máster @@ -56,4 +56,3 @@ Kubernetes ofrece soporte para túneles SSH que protegen la comunicación Mást Los túneles SSH se consideran obsoletos, y no deberían utilizarse a menos que se sepa lo que se está haciendo. Se está diseñando un reemplazo para este canal de comunicación. -{{% /capture %}} \ No newline at end of file diff --git a/content/es/docs/concepts/architecture/nodes.md b/content/es/docs/concepts/architecture/nodes.md index 349e9f4a6c..34b0303082 100644 --- a/content/es/docs/concepts/architecture/nodes.md +++ b/content/es/docs/concepts/architecture/nodes.md @@ -2,18 +2,18 @@ reviewers: - glo-pena title: Nodos -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Un nodo es una máquina de trabajo en Kubernetes, previamente conocida como `minion`. Un nodo puede ser una máquina virtual o física, dependiendo del tipo de clúster. Cada nodo está gestionado por el componente máster y contiene los servicios necesarios para ejecutar [pods](/docs/concepts/workloads/pods/pod). Los servicios en un nodo incluyen el [container runtime](/docs/concepts/overview/components/#node-components), kubelet y el kube-proxy. Accede a la sección [The Kubernetes Node](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) en el documento de diseño de arquitectura para más detalle. -{{% /capture %}} -{{% capture body %}} + + ## Estado del Nodo @@ -180,4 +180,4 @@ Para reservar explícitamente recursos en la máquina huésped para procesos no Un nodo es un recurso principal dentro de la REST API de Kubernetes. Más detalles sobre el objeto en la API se puede encontrar en: [Object Node API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). -{{% /capture %}} + diff --git a/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md b/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md index dc9f9e14a5..1fa5f7fc58 100644 --- a/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md +++ b/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md @@ -1,10 +1,10 @@ --- title: Organizar el acceso a los clústeres utilizando archivos kubeconfig -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Utilice los archivos kubeconfig para organizar la información acerca de los clústeres, los usuarios, los Namespaces y los mecanismos de autenticación. La herramienta de @@ -26,9 +26,9 @@ Para obtener instrucciones paso a paso acerca de cómo crear y especificar los a consulte el recurso [Configurar El Acceso A Múltiples Clústeres](/docs/tasks/access-application-cluster/configure-access-multiple-clusters). -{{% /capture %}} -{{% capture body %}} + + ## Compatibilidad con múltiples clústeres, usuarios y mecanismos de autenticación @@ -143,11 +143,12 @@ Las referencias de un archivo en la línea de comandos son relativas al director Dentro de `$HOME/.kube/config`, las rutas relativas se almacenan de manera relativa a la ubicación del archivo kubeconfig , al igual que las rutas absolutas se almacenan absolutamente. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Configurar el acceso a multiples Clústeres](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) * [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/es/docs/concepts/containers/container-environment-variables.md b/content/es/docs/concepts/containers/container-environment-variables.md index eb0f9a8d9c..7f35309329 100644 --- a/content/es/docs/concepts/containers/container-environment-variables.md +++ b/content/es/docs/concepts/containers/container-environment-variables.md @@ -3,18 +3,18 @@ reviewers: - astuky - raelga title: Variables de entorno de un Container -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Esta página explica los recursos disponibles para Containers dentro del entorno de un Container. -{{% /capture %}} -{{% capture body %}} + + ## Entorno del Container @@ -50,11 +50,12 @@ FOO_SERVICE_PORT= Los servicios tienen direcciones IP dedicadas y están disponibles para el Container a través de DNS, si el [complemento para DNS](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/) está habilitado. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Más información sobre cómo ejecutar código en respuesta a los cambios de etapa durante ciclo de vida de un contenedor la puedes encontrar en [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/). * Practica [añadiendo handlers a los lifecycle events de un Container ](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/containers/container-lifecycle-hooks.md b/content/es/docs/concepts/containers/container-lifecycle-hooks.md index 74fdc721cc..18cee92897 100644 --- a/content/es/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/es/docs/concepts/containers/container-lifecycle-hooks.md @@ -1,18 +1,18 @@ --- title: Container Lifecycle Hooks -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Esta página describe como los contenedores gestionados por kubelet pueden utilizar el framework _Container lifecycle hook_ (hook del ciclo de vida del contenedor) para ejecutar código disparado por eventos durante la gestión de su ciclo de vida (lifecycle). -{{% /capture %}} -{{% capture body %}} + + ## Introducción @@ -109,12 +109,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Aprende más sobre [variables de entorno de contenedores](/docs/concepts/containers/container-environment-variables/). * Practica [adjuntando controladores a los eventos de lifecycle de los contenedores](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/overview/what-is-kubernetes.md b/content/es/docs/concepts/overview/what-is-kubernetes.md index 5f3660009b..0c53e120c3 100644 --- a/content/es/docs/concepts/overview/what-is-kubernetes.md +++ b/content/es/docs/concepts/overview/what-is-kubernetes.md @@ -2,18 +2,18 @@ reviewers: - raelga title: ¿Qué es Kubernetes? -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Esta página ofrece una visión general sobre Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes es una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios. Kubernetes facilita la automatización y la configuración declarativa. Tiene un ecosistema grande y en rápido crecimiento. @@ -154,11 +154,12 @@ En resumen, los beneficios de usar contenedores incluyen: El nombre **Kubernetes** proviene del griego y significa *timonel* o *piloto*. Es la raíz de *gobernador* y de [cibernética](http://www.etymonline.com/index.php?term=cybernetics). *K8s* es una abrevación que se obtiene al reemplazar las ocho letras "ubernete" con el número 8. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * ¿Estás listo para [empezar](/docs/setup/)? * Para saber más, visita el resto de la [documentación de Kubernetes](/docs/home/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/overview/working-with-objects/annotations.md b/content/es/docs/concepts/overview/working-with-objects/annotations.md index 5cfa070d1b..d4d75cd680 100644 --- a/content/es/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/es/docs/concepts/overview/working-with-objects/annotations.md @@ -1,14 +1,14 @@ --- title: Anotaciones -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Puedes usar las anotaciones de Kubernetes para adjuntar metadatos arbitrarios a los objetos, de tal forma que clientes como herramientas y librerías puedan obtener fácilmente dichos metadatos. -{{% /capture %}} -{{% capture body %}} + + ## Adjuntar metadatos a los objetos Puedes usar las etiquetas o anotaciones para adjuntar metadatos a los objetos de Kubernetes. @@ -68,10 +68,11 @@ Si se omite el prefijo, la clave de la anotación se entiende que es privada par Los prefijos `kubernetes.io/` y `k8s.io/` se reservan para el uso exclusivo de los componentes principales de Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Aprende más acerca de las [Etiquetas y Selectores](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/overview/working-with-objects/common-labels.md b/content/es/docs/concepts/overview/working-with-objects/common-labels.md index 32d543652f..8ef8794d34 100644 --- a/content/es/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/es/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,9 +1,9 @@ --- title: Etiquetas recomendadas -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Puedes visualizar y gestionar los objetos de Kubernetes con herramientas adicionales a kubectl y el propio tablero de control. Un conjunto común de etiquetas permite a dichas herramientas trabajar de forma interoperable, describiendo los objetos de una forma común que todas las @@ -11,9 +11,9 @@ herramientas puedan entender. Además del soporte a herramientas, las etiquetas recomendadas describen las aplicaciones de forma que puedan ser consultadas. -{{% /capture %}} -{{% capture body %}} + + Los metadatos se organizan en torno al concepto de una _aplicación_. Kubernetes no es una plataforma como servicio (PaaS) y ni tiene o restringe la definición formal de una aplicación. Al contrario, las aplicaciones son informales y se describen mediante el uso de los metadatos. @@ -171,4 +171,3 @@ metadata: Con los objetos `StatefulSet` y `Service` de MySQL te darás cuenta que se incluye la información acerca de MySQL y Wordpress, la aplicación global. -{{% /capture %}} \ No newline at end of file diff --git a/content/es/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/es/docs/concepts/overview/working-with-objects/kubernetes-objects.md index b4d55ba10e..be14b38de6 100644 --- a/content/es/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/es/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,17 +1,17 @@ --- title: Entender los Objetos de Kubernetes -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + Esta página explica cómo se representan los objetos de Kubernetes en la API de Kubernetes, y cómo puedes definirlos en formato `.yaml`. -{{% /capture %}} -{{% capture body %}} + + ## Entender los Objetos de Kubernetes Los *Objetos de Kubernetes* son entidades persistentes dentro del sistema de Kubernetes. Kubernetes utiliza estas entidades para representar el estado de tu clúster. Específicamente, pueden describir: @@ -69,10 +69,11 @@ Por ejemplo, el formato de la `spec` para un objeto de tipo `Pod` lo puedes enco y el formato de la `spec` para un objeto de tipo `Deployment` lo puedes encontrar [aquí](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Aprender más acerca de los objetos básicos más importantes de Kubernetes, como el [Pod](/docs/concepts/workloads/pods/pod-overview/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/overview/working-with-objects/labels.md b/content/es/docs/concepts/overview/working-with-objects/labels.md index ae42584883..18815c01a4 100644 --- a/content/es/docs/concepts/overview/working-with-objects/labels.md +++ b/content/es/docs/concepts/overview/working-with-objects/labels.md @@ -1,10 +1,10 @@ --- title: Etiquetas y Selectores -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Las _etiquetas_ son pares de clave/valor que se asocian a los objetos, como los pods. El propósito de las etiquetas es permitir identificar atributos de los objetos que son relevantes y significativos para los usuarios, pero que no tienen significado para el sistema principal. @@ -22,10 +22,10 @@ Cada objeto puede tener un conjunto de etiquetas clave/valor definidas, donde ca Las etiquetas permiten consultar y monitorizar los objetos de forma más eficiente y son ideales para su uso en UIs y CLIs. El resto de información no identificada debe ser registrada usando [anotaciones](/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Motivación @@ -201,4 +201,4 @@ selector: Un caso de uso de selección basada en etiquetas es la posibilidad de limitar los nodos en los que un pod puede desplegarse. Ver la documentación sobre [selección de nodo](/docs/concepts/configuration/assign-pod-node/) para más información. -{{% /capture %}} + diff --git a/content/es/docs/concepts/overview/working-with-objects/names.md b/content/es/docs/concepts/overview/working-with-objects/names.md index 75e64b963e..ef241f6aff 100644 --- a/content/es/docs/concepts/overview/working-with-objects/names.md +++ b/content/es/docs/concepts/overview/working-with-objects/names.md @@ -1,10 +1,10 @@ --- title: Nombres -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Todos los objetos de la API REST de Kubernetes se identifica de forma inequívoca mediante un Nombre y un UID. @@ -12,10 +12,10 @@ Para aquellos atributos provistos por el usuario que no son únicos, Kubernetes Echa un vistazo al [documento de diseño de identificadores](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) para información precisa acerca de las reglas sintácticas de los Nombres y UIDs. -{{% /capture %}} -{{% capture body %}} + + ## Nombres @@ -27,4 +27,4 @@ Por regla general, los nombres de los recursos de Kubernetes no deben exceder la {{< glossary_definition term_id="uid" length="all" >}} -{{% /capture %}} + diff --git a/content/es/docs/concepts/overview/working-with-objects/namespaces.md b/content/es/docs/concepts/overview/working-with-objects/namespaces.md index 5f963c87cc..b3c3c73e14 100644 --- a/content/es/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/es/docs/concepts/overview/working-with-objects/namespaces.md @@ -1,18 +1,18 @@ --- title: Espacios de nombres -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Kubernetes soporta múltiples clústeres virtuales respaldados por el mismo clúster físico. Estos clústeres virtuales se denominan espacios de nombres (namespaces). -{{% /capture %}} -{{% capture body %}} + + ## Cuándo Usar Múltiple Espacios de Nombre @@ -112,4 +112,4 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/controllers/cron-jobs.md b/content/es/docs/concepts/workloads/controllers/cron-jobs.md index 906f5f8630..7be1e4befc 100644 --- a/content/es/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/es/docs/concepts/workloads/controllers/cron-jobs.md @@ -1,10 +1,10 @@ --- title: CronJob -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + Un _Cron Job_ ejecuta tareas, [Jobs](/docs/concepts/workloads/controllers/jobs-run-to-completion/), a intervalos regulares. @@ -19,10 +19,10 @@ Para instrucciones sobre cómo crear y trabajar con trabajos programados, incluyendo definiciones de ejemplo, puedes consultar [Ejecutar tareas automatizadas con trabajos programados](/docs/tasks/job/automated-tasks-with-cron-jobs). -{{% /capture %}} -{{% capture body %}} + + ## Limitaciones de las tareas programados @@ -58,4 +58,4 @@ Esto ocurre porque el controlador en este caso comprueba cuántas programaciones El CronJob es únicamente responsable de crear los Jobs que coinciden con su programación, y el Job por otro lado es el responsable de gestionar los Pods que representa. -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/controllers/daemonset.md b/content/es/docs/concepts/workloads/controllers/daemonset.md index ada033d84c..d52a5d7010 100644 --- a/content/es/docs/concepts/workloads/controllers/daemonset.md +++ b/content/es/docs/concepts/workloads/controllers/daemonset.md @@ -1,10 +1,10 @@ --- title: DaemonSet -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Un _DaemonSet_ garantiza que todos (o algunos) de los nodos ejecuten una copia de un Pod. Conforme se añade más nodos al clúster, nuevos Pods son añadidos a los mismos. Conforme se elimina nodos del clúster, dichos Pods se destruyen. @@ -26,10 +26,10 @@ De forma básica, se debería usar un DaemonSet, cubriendo todos los nodos, por En configuraciones más complejas se podría usar múltiples DaemonSets para un único tipo de proceso, pero con diferentes parámetros y/o diferentes peticiones de CPU y memoria según el tipo de hardware. -{{% /capture %}} -{{% capture body %}} + + ## Escribir una especificación de DaemonSet @@ -235,4 +235,4 @@ del número de réplicas y las actualizaciones continuas son mucho más importan Utiliza un DaemonSet cuando es importante que una copia de un Pod siempre se ejecute en cada uno de los nodos, y cuando se necesite que arranque antes que el resto de Pods. -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/controllers/replicationcontroller.md b/content/es/docs/concepts/workloads/controllers/replicationcontroller.md index 657523a650..970eb4e8ec 100644 --- a/content/es/docs/concepts/workloads/controllers/replicationcontroller.md +++ b/content/es/docs/concepts/workloads/controllers/replicationcontroller.md @@ -8,11 +8,11 @@ feature: mata los contenedores que no responden a tus pruebas de salud definidas, y no los expone a los clientes hasta que no están listo para servirse. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< note >}} hoy en día la forma recomendada de configurar la replicación es con un [`Deployment`](/docs/concepts/workloads/controllers/deployment/) que configura un [`ReplicaSet`](/docs/concepts/workloads/controllers/replicaset/). @@ -22,10 +22,10 @@ Un _ReplicationController_ garantiza que un número determinado de réplicas se en todo momento. En otras palabras, un ReplicationController se asegura que un pod o un conjunto homogéneo de pods siempre esté arriba y disponible. -{{% /capture %}} -{{% capture body %}} + + ## Cómo Funciona un ReplicationController @@ -327,6 +327,6 @@ terminarlo cuando el servidor está listo para reiniciarse/apagarse. Lee [Ejecutar Aplicaciones sin Estado con un ReplicationController](/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/controllers/statefulset.md b/content/es/docs/concepts/workloads/controllers/statefulset.md index 390fdc21fe..1211160545 100644 --- a/content/es/docs/concepts/workloads/controllers/statefulset.md +++ b/content/es/docs/concepts/workloads/controllers/statefulset.md @@ -1,10 +1,10 @@ --- title: StatefulSets -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Un StatefulSet es el objeto de la API workload que se usa para gestionar aplicaciones con estado. @@ -13,9 +13,9 @@ Los StatefulSets son estables (GA) en la versión 1.9. {{< /note >}} {{< glossary_definition term_id="statefulset" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## Usar StatefulSets @@ -257,11 +257,12 @@ Antes de revertir la plantilla, debes también eliminar cualquier Pod que el Sta intentando ejecutar con la configuración incorrecta. El StatefulSet comenzará entonces a recrear los Pods usando la plantilla revertida. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Sigue el ejemplo de cómo [desplegar un aplicación con estado](/docs/tutorials/stateful-application/basic-stateful-set/). * Sigue el ejemplo de cómo [desplegar Cassandra con StatefulSets](/docs/tutorials/stateful-application/cassandra/). -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/es/docs/concepts/workloads/controllers/ttlafterfinished.md index cd0cbda2e3..101004f3ec 100644 --- a/content/es/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/es/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -1,10 +1,10 @@ --- title: Controlador TTL para Recursos Finalizados -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -19,12 +19,12 @@ Descargo de responsabilidad Alpha: esta característica está actualmente en ver `TTLAfterFinished`. -{{% /capture %}} -{{% capture body %}} + + ## Controlador TTL @@ -74,12 +74,13 @@ En Kubernetes, se necesita ejecutar NTP en todos los nodos para evitar este problema. Los relojes no siempre son correctos, pero la diferencia debería ser muy pequeña. Ten presente este riesgo cuando pongas un valor distinto de cero para el TTL. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Limpiar Jobs automáticamente](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically) [Documento de diseño](https://github.com/kubernetes/community/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/pods/ephemeral-containers.md b/content/es/docs/concepts/workloads/pods/ephemeral-containers.md index dbf353db43..1b939c969e 100644 --- a/content/es/docs/concepts/workloads/pods/ephemeral-containers.md +++ b/content/es/docs/concepts/workloads/pods/ephemeral-containers.md @@ -3,11 +3,11 @@ reviewers: - astuky - raelga title: Containers Efímeros -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state state="alpha" >}} @@ -24,9 +24,9 @@ Deprecación de Kubernetes](/docs/reference/using-api/deprecation-policy/), esta alfa puede variar significativamente en el futuro o ser eliminada por completo. {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## Entendiendo los Containers efímeros @@ -211,4 +211,4 @@ PID USER TIME COMMAND 29 root 0:00 ps auxww ``` -{{% /capture %}} + diff --git a/content/es/docs/concepts/workloads/pods/podpreset.md b/content/es/docs/concepts/workloads/pods/podpreset.md index 5e38b534b6..87cd6bb83f 100644 --- a/content/es/docs/concepts/workloads/pods/podpreset.md +++ b/content/es/docs/concepts/workloads/pods/podpreset.md @@ -2,19 +2,19 @@ reviewers: - raelga title: Pod Preset -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Esta página provee una descripción general de los Pod Presets, los cuales son los objetos que se utilizan para inyectar cierta información en los Pods en el momento de la creación. Esta información puede incluir secretos, volúmenes, montajes de volúmenes y variables de entorno. -{{% /capture %}} -{{% capture body %}} + + ## Entendiendo los Pod Presets Un `Pod Preset` es un recurso de la API utilizado para poder inyectar requerimientos @@ -86,10 +86,11 @@ Con el fin de utilizar los Pod Presets en un clúster debe asegurarse de lo sigu 3. Que se han definido los Pod Presets mediante la creación de objetos `PodPreset` en el namespace que se utilizará. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Inyectando datos en un Pod usando PodPreset](/docs/tasks/inject-data-application/podpreset/) -{{% /capture %}} + diff --git a/content/es/docs/contribute/_index.md b/content/es/docs/contribute/_index.md index dc9de6efaa..46157bab39 100644 --- a/content/es/docs/contribute/_index.md +++ b/content/es/docs/contribute/_index.md @@ -1,12 +1,12 @@ --- -content_template: templates/concept +content_type: 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. @@ -22,7 +22,7 @@ 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 @@ -82,4 +82,4 @@ para proporcionar un punto de partida. - 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/reference/_index.md b/content/es/docs/reference/_index.md index ae49836e5f..070cb93765 100644 --- a/content/es/docs/reference/_index.md +++ b/content/es/docs/reference/_index.md @@ -5,16 +5,16 @@ approvers: linkTitle: "Referencia" main_menu: true weight: 70 -content_template: templates/concept +content_type: 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 @@ -61,4 +61,4 @@ 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/setup/_index.md b/content/es/docs/setup/_index.md index 0febe853f6..1aed608b20 100644 --- a/content/es/docs/setup/_index.md +++ b/content/es/docs/setup/_index.md @@ -3,10 +3,10 @@ no_issue: true title: Setup main_menu: true weight: 30 -content_template: templates/concept +content_type: 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**. @@ -23,9 +23,9 @@ 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 @@ -82,4 +82,4 @@ Deberías elegir una solución de este tipo si: Una solución personalizadas proporciona total libertad sobre los clústeres pero requiere más conocimiento y experiencia. -{{% /capture %}} + diff --git a/content/es/docs/setup/release/building-from-source.md b/content/es/docs/setup/release/building-from-source.md index ec0f10a4af..42db05df4c 100644 --- a/content/es/docs/setup/release/building-from-source.md +++ b/content/es/docs/setup/release/building-from-source.md @@ -2,7 +2,7 @@ reviewers: - seomago title: Compilando desde código fuente -content_template: templates/concept +content_type: concept card: name: download weight: 20 @@ -10,13 +10,13 @@ card: --- -{{% capture overview %}} + Se puede o bien crear una release desde el código fuente o bien descargar una versión pre-built. Si no se pretende hacer un desarrollo de Kubernetes en sí mismo, se sugiere usar una version pre-built de la release actual, que se puede encontrar en [Release Notes](/docs/setup/release/notes/). El código fuente de Kubernetes se puede descargar desde el repositorio [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) . -{{% /capture %}} -{{% capture body %}} + + ## Compilar desde código fuente @@ -34,4 +34,4 @@ Para más detalles sobre el proceso de compilación de una release, visita la ca -{{% /capture %}} + diff --git a/content/es/docs/tasks/_index.md b/content/es/docs/tasks/_index.md index d46fd8efda..12d741e263 100644 --- a/content/es/docs/tasks/_index.md +++ b/content/es/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: Tareas main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + Esta sección de la documentación de Kubernetes contiene páginas que muestran cómo acometer tareas individuales. Cada página de tarea muestra cómo realizar una única cosa, típicamente proporcionando una pequeña secuencia de comandos. -{{% /capture %}} -{{% capture body %}} + + ## Interfaz Web de Usuario (Tablero de Control) @@ -77,11 +77,12 @@ COnfigura y planifica GPUs de NVIDIA para hacerlas disponibles como recursos a l Configura y planifica HugePages como un recurso planificado en un clúster. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Si quisieras escribir una página de Tareas, echa un vistazo a [Crear una Petición de Subida de Documentación](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/es/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/es/docs/tasks/configure-pod-container/configure-volume-storage.md index 1ddcdaa7e7..c4f08f2969 100644 --- a/content/es/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/es/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -1,24 +1,25 @@ --- title: Configura un Pod para Usar un Volume como Almacenamiento -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + En esta página se muestra cómo configurar un Pod para usar un Volume (volumen) como almacenamiento. El sistema de ficheros de un Contenedor existe mientras el Contenedor exista. Por tanto, cuando un Contenedor es destruido o reiniciado, los cambios realizados en el sistema de ficheros se pierden. Para un almacenamiento más consistente que sea independiente del ciclo de vida del Contenedor, puedes usar un [Volume](/docs/concepts/storage/volumes/). Esta característica es especialmente importante para aplicaciones que deben mantener un estado, como motores de almacenamiento clave-valor (por ejemplo Redis) y bases de datos. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configura un Volume para un Pod @@ -116,9 +117,10 @@ de `Always` (siempre). kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Revisa [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core). @@ -126,6 +128,6 @@ de `Always` (siempre). * Además del almacenamiento local proporcionado por `emptyDir`, Kubernetes soporta diferentes tipos de soluciones de almacenamiento por red, incluyendo los discos gestionados de los diferentes proveedores cloud, como por ejemplo los *Persistent Disks* en Google Cloud Platform o el *Elastic Block Storage* de Amazon Web Services. Este tipo de soluciones para volúmenes son las preferidas para el almacenamiento de datos críticos. Kubernetes se encarga de todos los detalles, tal como montar y desmontar los dispositivos en los nodos del clúster. Revisa [Volumes](/docs/concepts/storage/volumes/) para obtener más información. -{{% /capture %}} + diff --git a/content/es/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md b/content/es/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md index c8fe825df2..b1398e2faa 100644 --- a/content/es/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md +++ b/content/es/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md @@ -2,20 +2,20 @@ reviewers: - raelga title: Pipeline de métricas de recursos -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Desde Kubernetes 1.8, las métricas de uso de recursos, tales como el uso de CPU y memoria del contenedor, están disponibles en Kubernetes a través de la API de métricas. Estas métricas son accedidas directamente por el usuario, por ejemplo usando el comando `kubectl top`, o usadas por un controlador en el cluster, por ejemplo el Horizontal Pod Autoscaler, para la toma de decisiones. -{{% /capture %}} -{{% capture body %}} + + ## La API de Métricas @@ -54,4 +54,4 @@ El servidor de métricas se añadió a la API de Kubernetes utilizando el Puedes aprender más acerca del servidor de métricas en el [documento de diseño](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md). -{{% /capture %}} + diff --git a/content/es/docs/tasks/run-application/configure-pdb.md b/content/es/docs/tasks/run-application/configure-pdb.md index b4d44ed296..c863eda497 100644 --- a/content/es/docs/tasks/run-application/configure-pdb.md +++ b/content/es/docs/tasks/run-application/configure-pdb.md @@ -1,24 +1,25 @@ --- title: Especificando un presupuesto de disrupción para tu aplicación -content_template: templates/task +content_type: 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 %}} + +## {{% heading "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 @@ -27,9 +28,9 @@ weight: 110 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 @@ -225,6 +226,6 @@ Puedes utilizar un PDB con pods controlados por otro tipo de controlador, por un 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 index 6696a0186b..4bbe221adf 100644 --- a/content/es/docs/tasks/run-application/run-stateless-application-deployment.md +++ b/content/es/docs/tasks/run-application/run-stateless-application-deployment.md @@ -1,34 +1,36 @@ --- title: Corre una aplicación stateless usando un Deployment min-kubernetes-server-version: v1.9 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + Ésta página enseña como correr una aplicación stateless usando un `deployment` de Kubernetes. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Crear un `deployment` de nginx. * Usar kubectl para obtener información acerca del `deployment`. * Actualizar el `deployment`. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Creando y explorando un nginx deployment @@ -141,11 +143,12 @@ Elimina el `deployment` por el nombre: 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 %}} + +## {{% heading "whatsnext" %}} + * Aprende más acerca de [Deployments](/docs/concepts/workloads/controllers/deployment/). -{{% /capture %}} + diff --git a/content/es/docs/tasks/tools/install-kubectl.md b/content/es/docs/tasks/tools/install-kubectl.md index 384116cc3a..8a0791e262 100644 --- a/content/es/docs/tasks/tools/install-kubectl.md +++ b/content/es/docs/tasks/tools/install-kubectl.md @@ -2,7 +2,7 @@ reviewers: - mikedanese title: Instalar y Configurar kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -10,16 +10,17 @@ card: title: Instalar kubectl --- -{{% capture overview %}} + Usa la herramienta de línea de comandos de Kubernetes, [kubectl](/docs/user-guide/kubectl/), para desplegar y gestionar aplicaciones en Kubernetes. Usando kubectl, puedes inspeccionar recursos del clúster; crear, eliminar, y actualizar componentes; explorar tu nuevo clúster; y arrancar aplicaciones de ejemplo. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Debes usar una versión de kubectl que esté a menos de una versión menor de diferencia con tu clúster. Por ejemplo, un cliente v1.2 debería funcionar con un máster v1.1, v1.2, y v1.3. Usar la última versión de kubectl ayuda a evitar problemas inesperados. -{{% /capture %}} -{{% capture steps %}} + + ## Instalar kubectl @@ -421,9 +422,10 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Aprender cómo lanzar y exponer tu aplicación.](/docs/tasks/access-application-cluster/service-access-application-cluster/) -{{% /capture %}} + diff --git a/content/es/docs/tasks/tools/install-minikube.md b/content/es/docs/tasks/tools/install-minikube.md index 7538afa704..fcdeb7c40b 100644 --- a/content/es/docs/tasks/tools/install-minikube.md +++ b/content/es/docs/tasks/tools/install-minikube.md @@ -1,28 +1,29 @@ --- title: Instalar Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + Esta página muestra cómo instalar [Minikube](/docs/tutorials/hello-minikube), una herramienta que despliega un clúster de Kubernetes con un único nodo en una máquina virtual. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + La virtualización VT-x o AMD-v debe estar habilitada en la BIOS de tu ordenador. En Linux, puedes comprobar si la tienes habilitada buscando 'vmx' o 'svm' en el fichero `/proc/cpuinfo`: ```shell egrep --color 'vmx|svm' /proc/cpuinfo ``` -{{% /capture %}} -{{% capture steps %}} + + ## Instalar un Hipervisor @@ -106,13 +107,14 @@ Para instalar Minikube manualmente en Windows, descarga [`minikube-windows-amd64 Para instalar Minikube manualmente en Windows usando [Windows Installer](https://docs.microsoft.com/en-us/windows/desktop/msi/windows-installer-portal), descarga [`minikube-installer.exe`](https://github.com/kubernetes/minikube/releases/latest) y ejecuta el instalador. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Ejecutar Kubernetes Localmente via Minikube](/docs/setup/minikube/) -{{% /capture %}} + ## Limpiar todo para comenzar de cero diff --git a/content/es/docs/tutorials/_index.md b/content/es/docs/tutorials/_index.md index 7fed31f2f6..ebf5de461c 100644 --- a/content/es/docs/tutorials/_index.md +++ b/content/es/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: Tutoriales main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Esta sección de la documentación de Kubernetes contiene tutoriales. @@ -15,9 +15,9 @@ 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 @@ -67,10 +67,11 @@ Antes de recorrer cada tutorial, recomendamos añadir un marcador a * [Using Source IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "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/hello-minikube.md b/content/es/docs/tutorials/hello-minikube.md index 144256637b..67d7bf7afa 100644 --- a/content/es/docs/tutorials/hello-minikube.md +++ b/content/es/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + Este tutorial muestra como ejecutar una aplicación Node.js Hola Mundo en Kubernetes utilizando [Minikube](/docs/setup/learning-environment/minikube) y Katacoda. @@ -23,17 +23,19 @@ Katacoda provee un ambiente de Kubernetes desde el navegador. También se puede seguir este tutorial si se ha instalado [Minikube localmente](/docs/tasks/tools/install-minikube/). {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Desplegar una aplicación Hola Mundo en Minikube. * Ejecutar la aplicación. * Ver los logs de la aplicación. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Este tutorial provee una imagen de contenedor construida desde los siguientes archivos: @@ -43,9 +45,9 @@ Este tutorial provee una imagen de contenedor construida desde los siguientes ar Para más información sobre el comando `docker build`, lea la [documentación de Docker ](https://docs.docker.com/engine/reference/commandline/build/). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Crear un clúster Minikube @@ -264,12 +266,13 @@ Opcional, eliminar la máquina virtual de Minikube: minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Leer más sobre [Deployments](/docs/concepts/workloads/controllers/deployment/). * Leer más sobre [Desplegando aplicaciones](/docs/tasks/run-application/run-stateless-application-deployment/). * Leer más sobre [Services](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 7daf3c55e95f312fddf31bd21b4cd3c0febab0b5 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:36:51 -0400 Subject: [PATCH 333/533] add fr pages --- content/fr/docs/concepts/_index.md | 15 +++++------ .../concepts/architecture/cloud-controller.md | 10 ++++---- .../architecture/master-node-communication.md | 10 ++++---- .../fr/docs/concepts/architecture/nodes.md | 10 ++++---- .../cluster-administration/certificates.md | 10 ++++---- .../cluster-administration-overview.md | 10 ++++---- .../cluster-administration/logging.md | 10 ++++---- .../fr/docs/concepts/configuration/secret.md | 13 +++++----- .../container-environment-variables.md | 15 +++++------ .../containers/container-lifecycle-hooks.md | 15 +++++------ content/fr/docs/concepts/containers/images.md | 10 ++++---- .../docs/concepts/containers/runtime-class.md | 10 ++++---- .../fr/docs/concepts/overview/components.md | 15 +++++------ .../concepts/overview/what-is-kubernetes.md | 15 +++++------ .../services-networking/dns-pod-service.md | 14 +++++------ .../services-networking/endpoint-slices.md | 14 +++++------ .../concepts/services-networking/ingress.md | 15 +++++------ .../concepts/services-networking/service.md | 15 +++++------ .../concepts/storage/persistent-volumes.md | 10 ++++---- content/fr/docs/concepts/storage/volumes.md | 13 +++++----- .../workloads/controllers/deployment.md | 10 ++++---- .../workloads/controllers/replicaset.md | 10 ++++---- .../workloads/pods/init-containers.md | 15 +++++------ .../concepts/workloads/pods/pod-lifecycle.md | 15 +++++------ .../concepts/workloads/pods/pod-overview.md | 15 +++++------ .../fr/docs/concepts/workloads/pods/pod.md | 10 ++++---- content/fr/docs/contribute/_index.md | 8 +++--- content/fr/docs/contribute/advanced.md | 10 ++++---- .../generate-ref-docs/federation-api.md | 20 ++++++++------- .../generate-ref-docs/kubernetes-api.md | 20 ++++++++------- .../kubernetes-components.md | 20 ++++++++------- content/fr/docs/contribute/localization.md | 15 +++++------ content/fr/docs/contribute/participating.md | 15 +++++------ content/fr/docs/contribute/start.md | 15 +++++------ .../contribute/style/content-organization.md | 15 +++++------ .../contribute/style/hugo-shortcodes/index.md | 15 +++++------ .../docs/contribute/style/page-templates.md | 21 ++++++++-------- .../fr/docs/contribute/style/style-guide.md | 15 +++++------ .../docs/contribute/style/write-new-topic.md | 20 ++++++++------- .../fr/docs/home/supported-doc-versions.md | 10 ++++---- content/fr/docs/reference/_index.md | 10 ++++---- .../fr/docs/reference/kubectl/cheatsheet.md | 15 +++++------ .../fr/docs/reference/kubectl/conventions.md | 10 ++++---- content/fr/docs/reference/kubectl/jsonpath.md | 10 ++++---- content/fr/docs/reference/kubectl/kubectl.md | 15 ++++++----- content/fr/docs/reference/kubectl/overview.md | 15 +++++------ .../setup-tools/kubeadm/kubeadm-init.md | 15 +++++------ content/fr/docs/setup/_index.md | 15 +++++------ content/fr/docs/setup/custom-cloud/coreos.md | 10 ++++---- content/fr/docs/setup/custom-cloud/kops.md | 15 +++++------ .../fr/docs/setup/custom-cloud/kubespray.md | 15 +++++------ .../setup/independent/control-plane-flags.md | 10 ++++---- .../independent/create-cluster-kubeadm.md | 13 +++++----- .../fr/docs/setup/independent/ha-topology.md | 14 +++++------ .../setup/independent/high-availability.md | 15 +++++------ .../docs/setup/independent/install-kubeadm.md | 18 +++++++------ .../setup/independent/kubelet-integration.md | 10 ++++---- .../independent/setup-ha-etcd-with-kubeadm.md | 20 ++++++++------- .../independent/troubleshooting-kubeadm.md | 10 ++++---- .../setup/learning-environment/minikube.md | 10 ++++---- content/fr/docs/setup/pick-right-solution.md | 10 ++++---- .../setup/release/building-from-source.md | 10 ++++---- content/fr/docs/tasks/_index.md | 15 +++++------ .../web-ui-dashboard.md | 15 +++++------ .../developing-cloud-controller-manager.md | 10 ++++---- .../running-cloud-controller.md | 10 ++++---- .../assign-cpu-resource.md | 20 ++++++++------- .../assign-memory-resource.md | 20 ++++++++------- .../assign-pods-nodes.md | 20 ++++++++------- .../configure-pod-initialization.md | 20 ++++++++------- .../configure-volume-storage.md | 20 ++++++++------- .../extended-resource.md | 19 +++++++------- .../pull-image-private-registry.md | 20 ++++++++------- .../quality-service-pod.md | 20 ++++++++------- .../translate-compose-kubernetes.md | 19 +++++++------- .../get-shell-running-container.md | 24 ++++++++++-------- .../fr/docs/tasks/tools/install-kubectl.md | 20 ++++++++------- .../fr/docs/tasks/tools/install-minikube.md | 20 ++++++++------- content/fr/docs/tutorials/_index.md | 15 +++++------ content/fr/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 80 files changed, 615 insertions(+), 545 deletions(-) diff --git a/content/fr/docs/concepts/_index.md b/content/fr/docs/concepts/_index.md index 60edaf66cf..8819065e27 100644 --- a/content/fr/docs/concepts/_index.md +++ b/content/fr/docs/concepts/_index.md @@ -2,18 +2,18 @@ title: Concepts main_menu: true description: Concepts Kubernetes -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + La section Concepts vous aide à mieux comprendre les composants du système Kubernetes et les abstractions que Kubernetes utilise pour représenter votre cluster. Elle vous aide également à mieux comprendre le fonctionnement de Kubernetes en général. -{{% /capture %}} -{{% capture body %}} + + ## Vue d'ensemble @@ -81,12 +81,13 @@ Le master node Kubernetes contrôle chaque noeud; vous interagirez rarement dire * [Annotations](/docs/concepts/overview/working-with-objects/annotations/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Si vous souhaitez écrire une page de concept, consultez [Utilisation de modèles de page](/docs/home/contribute/page-templates/) pour plus d'informations sur le type de page pour la documentation d'un concept. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/architecture/cloud-controller.md b/content/fr/docs/concepts/architecture/cloud-controller.md index ca0542a2c3..7fb9f8e588 100644 --- a/content/fr/docs/concepts/architecture/cloud-controller.md +++ b/content/fr/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Concepts sous-jacents au Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Le concept de cloud controller manager (CCM) (ne pas confondre avec le binaire) a été créé à l'origine pour permettre au code de fournisseur spécifique de cloud et au noyau Kubernetes d'évoluer indépendamment les uns des autres. Le gestionnaire de contrôleur de cloud fonctionne aux côtés d'autres composants principaux, tels que le gestionnaire de contrôleur Kubernetes, le serveur d'API et le planificateur. @@ -19,9 +19,9 @@ Voici l'architecture d'un cluster Kubernetes sans le cloud controller manager: ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Conception @@ -259,4 +259,4 @@ Les fournisseurs de cloud suivants ont implémenté leur CCM: Des instructions complètes pour la configuration et l'exécution du CCM sont fournies [ici](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/architecture/master-node-communication.md b/content/fr/docs/concepts/architecture/master-node-communication.md index 09790d3e21..23dd1a4b58 100644 --- a/content/fr/docs/concepts/architecture/master-node-communication.md +++ b/content/fr/docs/concepts/architecture/master-node-communication.md @@ -1,18 +1,18 @@ --- title: Communication Master-Node -content_template: templates/concept +content_type: concept description: Communication Master-Node Kubernetes weight: 20 --- -{{% capture overview %}} + Ce document répertorie les canaux de communication entre l'API du noeud maître (apiserver of master node en anglais) et le reste du cluster Kubernetes. L'objectif est de permettre aux utilisateurs de personnaliser leur installation afin de sécuriser la configuration réseau, de sorte que le cluster puisse être exécuté sur un réseau non approuvé (ou sur des adresses IP entièrement publiques d'un fournisseur de cloud). -{{% /capture %}} -{{% capture body %}} + + ## Communication du Cluster vers le Master @@ -72,4 +72,4 @@ Ce tunnel garantit que le trafic n'est pas exposé en dehors du réseau dans leq Les tunnels SSH étant actuellement obsolètes, vous ne devriez pas choisir de les utiliser à moins de savoir ce que vous faites. Un remplacement pour ce canal de communication est en cours de conception. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/architecture/nodes.md b/content/fr/docs/concepts/architecture/nodes.md index 17d5c807d3..fd211a1a35 100644 --- a/content/fr/docs/concepts/architecture/nodes.md +++ b/content/fr/docs/concepts/architecture/nodes.md @@ -3,11 +3,11 @@ reviewers: - sieben title: Noeuds description: Concept Noeud Kubernetes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Un nœud est une machine de travail dans Kubernetes, connue auparavant sous le nom de `minion`. Un nœud peut être une machine virtuelle ou une machine physique, selon le cluster. @@ -15,9 +15,9 @@ Chaque nœud contient les services nécessaires à l'exécution de [pods](/docs/ Les services sur un nœud incluent le [container runtime](/docs/concepts/overview/components/#node-components), kubelet and kube-proxy. Consultez la section [Le Nœud Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) dans le document de conception de l'architecture pour plus de détails. -{{% /capture %}} -{{% capture body %}} + + ## Statut du nœud @@ -229,4 +229,4 @@ Si vous souhaitez réserver explicitement des ressources pour des processus autr L'objet Node est une ressource de niveau supérieur dans l'API REST de Kubernetes. Plus de détails sur l'objet API peuvent être trouvés à l'adresse suivante: [Node API object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/cluster-administration/certificates.md b/content/fr/docs/concepts/cluster-administration/certificates.md index 6de85718f2..aea92f4967 100644 --- a/content/fr/docs/concepts/cluster-administration/certificates.md +++ b/content/fr/docs/concepts/cluster-administration/certificates.md @@ -1,19 +1,19 @@ --- title: Certificats -content_template: templates/concept +content_type: concept description: Certifications cluster Kubernetes weight: 20 --- -{{% capture overview %}} + Lorsque vous utilisez l'authentification par certificats client, vous pouvez générer des certificats manuellement grâce à `easyrsa`, `openssl` ou `cfssl`. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -245,4 +245,4 @@ Vous pouvez utiliser l’API `certificates.k8s.io` pour faire créer des Certificats x509 à utiliser pour l'authentification, comme documenté [ici](/docs/tasks/tls/managing-tls-in-a-cluster). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/fr/docs/concepts/cluster-administration/cluster-administration-overview.md index f0ce6315e8..134a6fb3a0 100644 --- a/content/fr/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/fr/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -1,16 +1,16 @@ --- title: Vue d'ensemble de l'administration d'un cluster -content_template: templates/concept +content_type: concept description: Administration cluster Kubernetes weight: 10 --- -{{% capture overview %}} + La vue d'ensemble de l'administration d'un cluster est destinée à toute personne créant ou administrant un cluster Kubernetes. Il suppose une certaine familiarité avec les [concepts](/docs/concepts/) de Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Planifier le déploiement d'un cluster Voir le guide: [choisir la bonne solution](/fr/docs/setup/pick-right-solution/) pour des exemples de planification, de mise en place et de configuration de clusters Kubernetes. Les solutions répertoriées dans cet article s'appellent des *distributions*. @@ -64,4 +64,4 @@ A noter: Toutes les distributions ne sont pas activement maintenues. Choisissez * [Integration DNS](/docs/concepts/services-networking/dns-pod-service/) décrit comment résoudre un nom DNS directement vers un service Kubernetes. * [Journalisation des évènements et surveillance de l'activité du cluster](/docs/concepts/cluster-administration/logging/) explique le fonctionnement de la journalisation des évènements dans Kubernetes et son implémentation. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/cluster-administration/logging.md b/content/fr/docs/concepts/cluster-administration/logging.md index 18e80dc650..b6384efe47 100644 --- a/content/fr/docs/concepts/cluster-administration/logging.md +++ b/content/fr/docs/concepts/cluster-administration/logging.md @@ -3,11 +3,11 @@ reviewers: - piosz - x13n title: Architecture de Journalisation d'évènements (logging) -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + La journalisation des évènements systèmes et d'applications peut aider à comprendre ce qui se passe dans un cluster. Les journaux sont particulièrement @@ -32,10 +32,10 @@ solution de stockage pour les journaux mais il est possible d'intégrer de nombreuses solutions de journalisation d'évènements dans un cluster Kubernetes. -{{% /capture %}} -{{% capture body %}} + + L'architecture de journalisation des évènements au niveau du cluster est décrite en considérant qu'un backend de journalisation est présent à l'intérieur ou à @@ -355,4 +355,4 @@ Toutefois l'implémentation de ce mécanisme de journalisation est hors du cadre de Kubernetes. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/configuration/secret.md b/content/fr/docs/concepts/configuration/secret.md index 5c7ac8d1b2..79b9e2e533 100644 --- a/content/fr/docs/concepts/configuration/secret.md +++ b/content/fr/docs/concepts/configuration/secret.md @@ -1,6 +1,6 @@ --- title: Secrets -content_template: templates/concept +content_type: concept feature: title: Gestion du secret et de la configuration description: > @@ -9,15 +9,15 @@ weight: 50 --- -{{% capture overview %}} + Les objets `secret` de Kubernetes vous permettent de stocker et de gérer des informations sensibles, telles que les mots de passe, les jetons OAuth et les clés ssh. Mettre ces informations dans un `secret` est plus sûr et plus flexible que de le mettre en dur dans la définition d'un {{< glossary_tooltip term_id="pod" >}} ou dans une {{< glossary_tooltip text="container image" term_id="image" >}}. Voir [Document de conception des secrets](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md) pour plus d'informations. -{{% /capture %}} -{{% capture body %}} + + ## Présentation des secrets @@ -976,6 +976,7 @@ Vous pouvez activer le [chiffrement au repos](/docs/tasks/administer-cluster/enc * Actuellement, toute personne disposant des droit root sur n'importe quel nœud peut lire _n'importe quel_ secret depuis l'apiserver, en usurpant l'identité du kubelet. Il est prévu de n'envoyer des secrets qu'aux nœuds qui en ont réellement besoin, pour limiter l'impact d'un exploit root sur un seul nœud. -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + + -{{% /capture %}} diff --git a/content/fr/docs/concepts/containers/container-environment-variables.md b/content/fr/docs/concepts/containers/container-environment-variables.md index 30767d63c0..547809ffbf 100644 --- a/content/fr/docs/concepts/containers/container-environment-variables.md +++ b/content/fr/docs/concepts/containers/container-environment-variables.md @@ -1,18 +1,18 @@ --- title: Les variables d’environnement du conteneur description: Variables d'environnement pour conteneur Kubernetes -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Cette page décrit les ressources disponibles pour les conteneurs dans l'environnement de conteneur. -{{% /capture %}} -{{% capture body %}} + + ## L'environnement du conteneur @@ -51,12 +51,13 @@ FOO_SERVICE_PORT= Les services ont des adresses IP dédiées et sont disponibles pour le conteneur avec le DNS, si le [module DNS](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/) est activé.  -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur [les hooks du cycle de vie d'un conteneur](/docs/concepts/containers/container-lifecycle-hooks/). * Acquérir une expérience pratique [en attachant les handlers aux événements du cycle de vie du conteneur](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/containers/container-lifecycle-hooks.md b/content/fr/docs/concepts/containers/container-lifecycle-hooks.md index 65aed32b62..82c1db2ec5 100644 --- a/content/fr/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/fr/docs/concepts/containers/container-lifecycle-hooks.md @@ -1,20 +1,20 @@ --- reviewers: title: Hooks de cycle de vie de conteneurs -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Cette page décrit comment un conteneur pris en charge par kubelet peut utiliser le framework de Hooks de cycle de vie de conteneurs pour exécuter du code déclenché par des événements durant son cycle de vie. -{{% /capture %}} -{{% capture body %}} + + ## Aperçu @@ -113,12 +113,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur l'[Environnement d'un conteneur](/fr/docs/concepts/containers/container-environment/). * Entraînez-vous à [attacher des handlers de conteneurs à des événements de cycle de vie](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/containers/images.md b/content/fr/docs/concepts/containers/images.md index 0e0160dd4b..1e7bbe3e98 100644 --- a/content/fr/docs/concepts/containers/images.md +++ b/content/fr/docs/concepts/containers/images.md @@ -1,20 +1,20 @@ --- title: Images description: Images conteneur Kubernetes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Vous créez une image Docker et la poussez dans un registre avant de la référencer depuis un pod Kubernetes. La propriété `image` d'un conteneur utilise la même syntaxe que la commande `docker`, y compris pour les registres privés et les tags. -{{% /capture %}} -{{% capture body %}} + + ## Mettre à jour des images @@ -356,4 +356,4 @@ pod - Le *tenant* ajoute ce secret dans les imagePullSecrets de chaque pod. Si vous devez accéder à plusieurs registres, vous pouvez créer un secret pour chaque registre. Kubelet va fusionner tous les `imagePullSecrets` dans un unique `.docker/config.json` virtuel. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/containers/runtime-class.md b/content/fr/docs/concepts/containers/runtime-class.md index 0106abc107..c8429d8507 100644 --- a/content/fr/docs/concepts/containers/runtime-class.md +++ b/content/fr/docs/concepts/containers/runtime-class.md @@ -1,20 +1,20 @@ --- title: Classe d'exécution (Runtime Class) description: Classe d'execution conteneur pour Kubernetes -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} Cette page décrit la ressource RuntimeClass et le mécanisme de sélection d'exécution (runtime). -{{% /capture %}} -{{% capture body %}} + + ## Runtime Class @@ -112,4 +112,4 @@ message d'erreur. Si aucun `runtimeClassName` n'est spécifié, le RuntimeHandler par défault sera utilisé, qui équivaut au comportement lorsque la fonctionnalité RuntimeClass est désactivée. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/overview/components.md b/content/fr/docs/concepts/overview/components.md index 7617e94573..8adc32f78e 100644 --- a/content/fr/docs/concepts/overview/components.md +++ b/content/fr/docs/concepts/overview/components.md @@ -1,18 +1,18 @@ --- title: Composants de Kubernetes -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + Ce document résume les divers composants binaires requis pour livrer un cluster Kubernetes fonctionnel. -{{% /capture %}} -{{% capture body %}} + + ## Composants Master Les composants Master fournissent le plan de contrôle (control plane) du cluster. @@ -120,9 +120,10 @@ fournit une interface utilisateur pour parcourir ces données. Un mécanisme de [logging au niveau cluster](/docs/concepts/cluster-administration/logging/) est chargé de sauvegarder les logs des conteneurs dans un magasin de logs central avec une interface de recherche/navigation. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur les [Nœuds](/fr/docs/concepts/architecture/nodes/) * En savoir plus sur [kube-scheduler](/docs/concepts/scheduling/kube-scheduler/) * Lire la [documentation officielle d'etcd](https://etcd.io/docs/) -{{% /capture %}} + diff --git a/content/fr/docs/concepts/overview/what-is-kubernetes.md b/content/fr/docs/concepts/overview/what-is-kubernetes.md index 1a6fce4f82..e71283aadf 100644 --- a/content/fr/docs/concepts/overview/what-is-kubernetes.md +++ b/content/fr/docs/concepts/overview/what-is-kubernetes.md @@ -1,18 +1,18 @@ --- title: Qu'est-ce-que Kubernetes ? description: Description de Kubernetes -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Cette page est une vue d'ensemble de Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes est une plate-forme open-source extensible et portable pour la gestion de charges de travail (workloads) et des services conteneurisés. Elle favorise à la fois l'écriture de configuration déclarative (declarative configuration) et l'automatisation. C'est un large écosystème en rapide expansion. @@ -125,9 +125,10 @@ Résumé des bénéfices des conteneurs : Le nom **Kubernetes** tire son origine du grec ancien, signifiant _capitaine_ ou _pilôte_ et est la racine de _gouverneur_ et [cybernetic](http://www.etymonline.com/index.php?term=cybernetics). _K8s_ est l'abréviation dérivée par le remplacement des 8 lettres "ubernete" par "8". -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Prêt à [commencer](/docs/setup/) ? * Pour plus de détails, voir la [documentation Kubernetes](/docs/home/). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/services-networking/dns-pod-service.md b/content/fr/docs/concepts/services-networking/dns-pod-service.md index 79d2c69ac9..67ee10ea0a 100644 --- a/content/fr/docs/concepts/services-networking/dns-pod-service.md +++ b/content/fr/docs/concepts/services-networking/dns-pod-service.md @@ -1,14 +1,14 @@ --- title: DNS pour les services et les pods description: DNS services pods Kubernetes -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Cette page fournit une vue d'ensemble du support DNS par Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -221,11 +221,11 @@ search default.svc.cluster.local svc.cluster.local cluster.local options ndots:5 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Pour obtenir des recommendations sur l’administration des configurations DNS, consultez [Configurer le service DNS](/docs/tasks/administer-cluster/dns-custom-nameservers/) -{{% /capture %}} \ No newline at end of file diff --git a/content/fr/docs/concepts/services-networking/endpoint-slices.md b/content/fr/docs/concepts/services-networking/endpoint-slices.md index b06117cc00..f019b1f0fe 100644 --- a/content/fr/docs/concepts/services-networking/endpoint-slices.md +++ b/content/fr/docs/concepts/services-networking/endpoint-slices.md @@ -6,20 +6,20 @@ feature: description: > Suivi évolutif des réseaux Endpoints dans un cluster Kubernetes. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} _EndpointSlices_ offrent une méthode simple pour suivre les Endpoints d'un réseau au sein d'un cluster de Kubernetes. Ils offrent une alternative plus évolutive et extensible aux Endpoints. -{{% /capture %}} -{{% capture body %}} + + ## Resource pour EndpointSlice {#endpointslice-resource} @@ -112,11 +112,11 @@ Puisque tous les Endpoints d'un réseau pour un Service ont été stockés dans Cela a affecté les performances des composants Kubernetes (notamment le plan de contrôle) et a causé une grande quantité de trafic réseau et de traitements lorsque les Endpoints changent. Les EndpointSlices aident à atténuer ces problèmes ainsi qu'à fournir une plate-forme extensible pour des fonctionnalités supplémentaires telles que le routage topologique. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Activer EndpointSlices](/docs/tasks/administer-cluster/enabling-endpointslices) * Lire [Connecter des applications aux Services](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} \ No newline at end of file diff --git a/content/fr/docs/concepts/services-networking/ingress.md b/content/fr/docs/concepts/services-networking/ingress.md index 250cd6f468..8be9ea32bf 100644 --- a/content/fr/docs/concepts/services-networking/ingress.md +++ b/content/fr/docs/concepts/services-networking/ingress.md @@ -5,17 +5,17 @@ reviewers: - rekcah78 - rbenzair title: Ingress -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Un Ingress est un objet Kubernetes qui gère l'accès externe aux services dans un cluster, généralement du trafic HTTP. Un Ingress peut fournir un équilibrage de charge, une terminaison TLS et un hébergement virtuel basé sur un nom. -{{% /capture %}} -{{% capture body %}} + + ## Terminologie @@ -431,8 +431,9 @@ Vous pouvez exposer un service de plusieurs manières sans impliquer directement * Utilisez [Service.Type=NodePort](/docs/concepts/services-networking/service/#nodeport) * Utilisez un [Proxy du port](https://git.k8s.io/contrib/for-demos/proxy-to-service) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Configurer Ingress sur Minikube avec le contrôleur NGINX](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/fr/docs/concepts/services-networking/service.md b/content/fr/docs/concepts/services-networking/service.md index 12b6453a6f..3360c48428 100644 --- a/content/fr/docs/concepts/services-networking/service.md +++ b/content/fr/docs/concepts/services-networking/service.md @@ -6,21 +6,21 @@ feature: Pas besoin de modifier votre application pour utiliser un mécanisme de découverte de services inconnu. Kubernetes donne aux pods leurs propres adresses IP et un nom DNS unique pour un ensemble de pods, et peut équilibrer la charge entre eux. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< glossary_definition term_id="service" length="short" >}} Avec Kubernetes, vous n'avez pas besoin de modifier votre application pour utiliser un mécanisme de découverte de services inconnu. Kubernetes donne aux pods leurs propres adresses IP et un nom DNS unique pour un ensemble de pods, et peut équilibrer la charge entre eux. -{{% /capture %}} -{{% capture body %}} + + ## Motivation @@ -995,12 +995,13 @@ Le projet Kubernetes vise à améliorer la prise en charge des services L7 (HTTP Le projet Kubernetes prévoit d'avoir des modes d'entrée plus flexibles pour les services, qui englobent les modes ClusterIP, NodePort et LoadBalancer actuels et plus encore. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Voir [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) * Voir [Ingress](/docs/concepts/services-networking/ingress/) * Voir [Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/) -{{% /capture %}} + diff --git a/content/fr/docs/concepts/storage/persistent-volumes.md b/content/fr/docs/concepts/storage/persistent-volumes.md index f8644b82a1..e1a1701fcb 100644 --- a/content/fr/docs/concepts/storage/persistent-volumes.md +++ b/content/fr/docs/concepts/storage/persistent-volumes.md @@ -5,18 +5,18 @@ feature: description: > Montez automatiquement le système de stockage de votre choix, que ce soit à partir du stockage local, d'un fournisseur de cloud public tel que GCP ou AWS, ou un système de stockage réseau tel que NFS, iSCSI, Gluster, Ceph, Cinder ou Flocker. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Ce document décrit l'état actuel de `PersistentVolumes` dans Kubernetes. Une connaissance des [volumes](/fr/docs/concepts/storage/volumes/) est suggérée. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -758,4 +758,4 @@ Si vous écrivez des templates de configuration ou des exemples qui s'exécutent De nombreux environnements de cluster ont une `StorageClass` par défaut installée, où les administrateurs peuvent créer leur propre `StorageClass` par défaut. * Dans votre outillage, surveillez les PVCs qui ne sont pas liés après un certain temps et signalez-le à l'utilisateur, car cela peut indiquer que le cluster n'a pas de support de stockage dynamique (auquel cas l'utilisateur doit créer un PV correspondant) ou que le cluster n'a aucun système de stockage (auquel cas l'utilisateur ne peut pas déployer de configuration nécessitant des PVCs). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/storage/volumes.md b/content/fr/docs/concepts/storage/volumes.md index 51f1c99dfd..1038e77ced 100644 --- a/content/fr/docs/concepts/storage/volumes.md +++ b/content/fr/docs/concepts/storage/volumes.md @@ -1,10 +1,10 @@ --- title: Volumes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Les fichiers sur disque dans un conteneur sont éphémères, ce qui présente des problèmes pour des applications non-triviales lorsqu'elles s'exécutent dans des conteneurs. Premièrement, lorsqu'un @@ -15,9 +15,9 @@ il est souvent nécessaire de partager des fichiers entre ces conteneurs. L'abst Une connaissance des [Pods](/fr/docs/concepts/workloads/pods/pod) est suggérée. -{{% /capture %}} -{{% capture body %}} + + ## Contexte @@ -1245,6 +1245,7 @@ sudo systemctl restart docker -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * Suivez un exemple de [déploiement de WordPress et MySQL avec des volumes persistants](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/workloads/controllers/deployment.md b/content/fr/docs/concepts/workloads/controllers/deployment.md index 4e6fb3bda5..e8034cc9ad 100644 --- a/content/fr/docs/concepts/workloads/controllers/deployment.md +++ b/content/fr/docs/concepts/workloads/controllers/deployment.md @@ -7,11 +7,11 @@ feature: En cas de problème, Kubernetes annulera le changement pour vous. Profitez d'un écosystème croissant de solutions de déploiement. -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Un _Deployment_ (déploiement en français) fournit des mises à jour déclaratives pour [Pods](/fr/docs/concepts/workloads/pods/pod/) et [ReplicaSets](/fr/docs/concepts/workloads/controllers/replicaset/). @@ -23,9 +23,9 @@ Ne gérez pas les ReplicaSets appartenant à un Deployment. Pensez à ouvrir un ticket dans le dépot Kubernetes principal si votre cas d'utilisation n'est pas traité ci-dessous. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Cas d'utilisation @@ -1222,4 +1222,4 @@ Un déploiement n'est pas suspendu par défaut lors de sa création. [`kubectl rolling-update`](/docs/reference/generated/kubectl/kubectl-commands#rolling-update) met à jour les pods et les ReplicationControllers de la même manière. Mais les déploiements sont recommandés, car ils sont déclaratifs, côté serveur et ont des fonctionnalités supplémentaires, telles que la restauration de toute révision précédente même après la mise à jour progressive.. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/workloads/controllers/replicaset.md b/content/fr/docs/concepts/workloads/controllers/replicaset.md index 24c7676017..81ccb6e7b3 100644 --- a/content/fr/docs/concepts/workloads/controllers/replicaset.md +++ b/content/fr/docs/concepts/workloads/controllers/replicaset.md @@ -1,17 +1,17 @@ --- title: ReplicaSet -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Un ReplicaSet (ensemble de réplicas en français) a pour but de maintenir un ensemble stable de Pods à un moment donné. Cet objet est souvent utilisé pour garantir la disponibilité d'un certain nombre identique de Pods. -{{% /capture %}} -{{% capture body %}} + + ## Comment un ReplicaSet fonctionne @@ -342,4 +342,4 @@ Les deux servent le même objectif et se comportent de la même manière, à la les exigences de sélecteur décrites dans le [labels user guide](/docs/concepts/overview/working-with-objects/labels/#label-selectors). En tant que tels, les ReplicaSets sont préférés aux ReplicationControllers. -{{% /capture %}} + diff --git a/content/fr/docs/concepts/workloads/pods/init-containers.md b/content/fr/docs/concepts/workloads/pods/init-containers.md index c2ac521df4..fb4b6f3270 100644 --- a/content/fr/docs/concepts/workloads/pods/init-containers.md +++ b/content/fr/docs/concepts/workloads/pods/init-containers.md @@ -1,17 +1,17 @@ --- title: Init Containers -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Cette page fournit une vue d'ensemble des _conteneurs d'initialisation_ (init containers) : des conteneurs spécialisés qui s'exécutent avant les conteneurs d'application dans un {{< glossary_tooltip text="Pod" term_id="pod" >}}. Les init containers peuvent contenir des utilitaires ou des scripts d'installation qui ne sont pas présents dans une image d'application. Vous pouvez spécifier des init containers dans la spécification du Pod à côté du tableau `containers` (qui décrit les conteneurs d'application) -{{% /capture %}} -{{% capture body %}} + + ## Comprendre les init containers @@ -318,12 +318,13 @@ redémarrage du conteneur d'application. * Le conteneur d'infrastructure Pod est redémarré. Ceci est peu commun et serait effectué par une personne ayant un accès root aux nœuds. * Tous les conteneurs dans un Pod sont terminés tandis que `restartPolicy` est configurée à "Always", ce qui force le redémarrage, et l'enregistrement de complétion du init container a été perdu à cause d'une opération de garbage collection (récupération de mémoire). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Lire à propos de la [création d'un Pod ayant un init container](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) * Apprendre à [debugger les init containers](/docs/tasks/debug-application-cluster/debug-init-containers/) -{{% /capture %}} + diff --git a/content/fr/docs/concepts/workloads/pods/pod-lifecycle.md b/content/fr/docs/concepts/workloads/pods/pod-lifecycle.md index d570b13bba..9a6f96d36a 100644 --- a/content/fr/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/fr/docs/concepts/workloads/pods/pod-lifecycle.md @@ -1,17 +1,17 @@ --- title: Cycle de vie d'un Pod -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Cette page décrit le cycle de vie d'un Pod. -{{% /capture %}} -{{% capture body %}} + + ## Phase du Pod @@ -381,10 +381,11 @@ spec: * Le contrôleur de Nœud passe la `phase` du Pod à Failed. * Si le Pod s'exécute sous un contrôleur, le Pod est recréé ailleurs. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Apprenez par la pratique [attacher des handlers à des événements de cycle de vie d'un conteneur](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). @@ -394,7 +395,7 @@ spec: * En apprendre plus sur les [hooks de cycle de vie d'un Conteneur](/docs/concepts/containers/container-lifecycle-hooks/). -{{% /capture %}} + diff --git a/content/fr/docs/concepts/workloads/pods/pod-overview.md b/content/fr/docs/concepts/workloads/pods/pod-overview.md index 385ce5ab86..b1803ba5e0 100644 --- a/content/fr/docs/concepts/workloads/pods/pod-overview.md +++ b/content/fr/docs/concepts/workloads/pods/pod-overview.md @@ -1,18 +1,18 @@ --- title: Aperçu du Pod description: Pod Concept Kubernetes -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 60 --- -{{% capture overview %}} + Cette page fournit un aperçu du `Pod`, l'objet déployable le plus petit dans le modèle d'objets Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Comprendre les Pods @@ -98,11 +98,12 @@ spec: ``` Plutôt que de spécifier tous les états désirés courants de tous les réplicas, les templates de pod sont comme des emporte-pièces. Une fois qu'une pièce a été coupée, la pièce n'a plus de relation avec l'outil. Il n'y a pas de lien qui persiste dans le temps entre le template et le pod. Un changement à venir dans le template ou même le changement pour un nouveau template n'a pas d'effet direct sur les pods déjà créés. De manière similaire, les pods créés par un replication controller peuvent par la suite être modifiés directement. C'est en contraste délibéré avec les pods, qui spécifient l'état désiré courant de tous les conteneurs appartenant au pod. Cette approche simplifie radicalement la sémantique système et augmente la flexibilité de la primitive. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur les [Pods](/docs/concepts/workloads/pods/pod/) * En savoir plus sur le comportement des Pods : * [Terminaison d'un Pod](/docs/concepts/workloads/pods/pod/#termination-of-pods) * [Cycle de vie d'un Pod](/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/fr/docs/concepts/workloads/pods/pod.md b/content/fr/docs/concepts/workloads/pods/pod.md index b4a6f66bc7..4d685cca80 100644 --- a/content/fr/docs/concepts/workloads/pods/pod.md +++ b/content/fr/docs/concepts/workloads/pods/pod.md @@ -1,19 +1,19 @@ --- reviewers: title: Pods -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Les _Pods_ sont les plus petites unités informatiques déployables qui peuvent être créées et gérées dans Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Qu'est-ce qu'un pod ? @@ -196,4 +196,4 @@ spec.containers[0].securityContext.privileged: forbidden '<*>(0xc20b222db0)true' Le Pod est une ressource au plus haut niveau dans l'API REST Kubernetes. Plus de détails sur l'objet de l'API peuvent être trouvés à : [Objet de l'API Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core). -{{% /capture %}} + diff --git a/content/fr/docs/contribute/_index.md b/content/fr/docs/contribute/_index.md index 60170f8396..821136d52d 100644 --- a/content/fr/docs/contribute/_index.md +++ b/content/fr/docs/contribute/_index.md @@ -1,5 +1,5 @@ --- -content_template: templates/concept +content_type: concept title: Contribuer à la documentation Kubernetes description: Contribution documentation Kubernetes linktitle: Contribuer @@ -7,7 +7,7 @@ main_menu: true weight: 80 --- -{{% capture overview %}} + Si vous souhaitez contribuer à la documentation ou au site Web de Kubernetes, nous serons ravis de vous aider! Tout le monde peut contribuer, que vous soyez nouveau dans le projet ou que vous y travailliez depuis longtemps, et que vous vous identifiez vous-même en tant que développeur, utilisateur final ou quelqu'un qui ne supporte tout simplement pas les fautes de frappe. @@ -15,7 +15,7 @@ Tout le monde peut contribuer, que vous soyez nouveau dans le projet ou que vous Pour vous impliquer de plusieurs façons dans la communauté Kubernetes ou d’en savoir plus sur nous, visitez le [Site de la communauté Kubernetes](/community/). Pour plus d'informations sur le guide de style de la documentation Kubernetes, reportez-vous à la section [style guide](/docs/contribute/style/style-guide/). -{{% capture body %}} + ## Types de contributeurs @@ -59,4 +59,4 @@ Il ne s'agit pas d'une liste exhaustive des manières dont vous pouvez contribue - Proposer des améliorations aux tests de documentation - Proposer des améliorations au site Web de Kubernetes ou à d'autres outils -{{% /capture %}} + diff --git a/content/fr/docs/contribute/advanced.md b/content/fr/docs/contribute/advanced.md index 7cf7ad7cba..1634ffd2bb 100644 --- a/content/fr/docs/contribute/advanced.md +++ b/content/fr/docs/contribute/advanced.md @@ -1,18 +1,18 @@ --- title: Contributions avancées slug: advanced -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Cette page suppose que vous avez lu et maîtrisé les sujets suivants : [Commencez à contribuer](/docs/contribute/start/) et [Contribution Intermédiaire](/docs/contribute/intermediate/) et êtes prêts à apprendre plus de façons de contribuer. Vous devez utiliser Git et d'autres outils pour certaines de ces tâches. -{{% /capture %}} -{{% capture body %}} + + ## Soyez le trieur de PR pendant une semaine @@ -91,4 +91,4 @@ Les nouveaux contributeurs docs peuvent demander des sponsors dans le canal #sig Si vous vous sentez confiant dans le travail des candidats, vous vous portez volontaire pour les parrainer. Lorsqu’ils soumettent leur demande d’adhésion, répondez-y avec un "+1" et indiquez les raisons pour lesquelles vous estimez que les demandeurs sont des candidat(e)s valables pour devenir membre de l’organisation Kubernetes. -{{% /capture %}} + diff --git a/content/fr/docs/contribute/generate-ref-docs/federation-api.md b/content/fr/docs/contribute/generate-ref-docs/federation-api.md index c0a792bfda..aa25853d64 100644 --- a/content/fr/docs/contribute/generate-ref-docs/federation-api.md +++ b/content/fr/docs/contribute/generate-ref-docs/federation-api.md @@ -1,16 +1,17 @@ --- title: Génération de la documentation de référence pour l'API de fédération Kubernetes description: Federation Référence API Kubernetes Documentation -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Cette page montre comment générer automatiquement des pages de référence pour l'API de fédération Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Vous devez avoir [Git](https://git-scm.com/book/fr/v2/D%C3%A9marrage-rapide-Installation-de-Git) installé. @@ -22,9 +23,9 @@ Cette page montre comment générer automatiquement des pages de référence pou Généralement, cela implique la création d'un fork du dépôt. Pour plus d'informations, voir [Création d'une pull request de documentation](/docs/home/contribute/create-pull-request/). -{{% /capture %}} -{{% capture steps %}} + + ## Exécution du script update-federation-api-docs.sh @@ -64,12 +65,13 @@ Ces fichiers sont publiés à [kubernetes.io/docs/reference](/docs/reference/): * [Federation API extensions/v1beta1 Operations](/docs/reference/federation/extensions/v1beta1/operations/) * [Federation API extensions/v1beta1 Definitions](/docs/reference/federation/extensions/v1beta1/definitions/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Génération de documentation de référence pour l'API Kubernetes](/docs/home/contribute/generated-reference/kubernetes-api/) * [Génération de documentation de référence pour les commandes kubectl](/docs/home/contribute/generated-reference/kubectl/) * [Génération de pages de référence pour les composants et les outils Kubernetes](/docs/home/contribute/generated-reference/kubernetes-components/) -{{% /capture %}} + diff --git a/content/fr/docs/contribute/generate-ref-docs/kubernetes-api.md b/content/fr/docs/contribute/generate-ref-docs/kubernetes-api.md index edf56ff826..9e00fb57b0 100644 --- a/content/fr/docs/contribute/generate-ref-docs/kubernetes-api.md +++ b/content/fr/docs/contribute/generate-ref-docs/kubernetes-api.md @@ -1,16 +1,17 @@ --- title: Génération de documentation de référence pour l'API Kubernetes description: Génération documentation référence API Kubernetes -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Cette page montre comment mettre à jour les documents de référence générés automatiquement pour l'API Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Vous devez avoir ces outils installés: @@ -25,9 +26,9 @@ Vous devez savoir comment créer une pull request dans un dépôt GitHub. Généralement, cela implique la création d'un fork du dépôt. Pour plus d'informations, voir [Créer une Pull Request de documentation](/docs/home/contribute/create-pull-request/) et [GitHub Standard Fork & Pull Request Workflow](https://gist.github.com/Chaser324/ce0505fbed06b947d962). -{{% /capture %}} -{{% capture steps %}} + + ## Généralités @@ -327,12 +328,13 @@ Continuez à surveiller votre pull request jusqu'à ce qu'elle ait été mergée Quelques minutes après que votre pull request soit fusionnée, vos modifications seront visibles dans la [documentation de référence publiée](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Génération de documents de référence pour les composants et les outils Kubernetes](/docs/home/contribute/generated-reference/kubernetes-components/) * [Génération de documentation de référence pour les commandes kubectl](/docs/home/contribute/generated-reference/kubectl/) * [Génération de documentation de référence pour l'API de fédération Kubernetes](/docs/home/contribute/generated-reference/federation-api/) -{{% /capture %}} + diff --git a/content/fr/docs/contribute/generate-ref-docs/kubernetes-components.md b/content/fr/docs/contribute/generate-ref-docs/kubernetes-components.md index 7bdf6fadd4..e473789e46 100644 --- a/content/fr/docs/contribute/generate-ref-docs/kubernetes-components.md +++ b/content/fr/docs/contribute/generate-ref-docs/kubernetes-components.md @@ -1,15 +1,16 @@ --- title: Génération de pages de référence pour les composants et les outils Kubernetes -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Cette page montre comment utiliser l'outil `update-importer-docs` pour générer une documentation de référence pour les outils et les composants des dépôts [Kubernetes](https://github.com/kubernetes/kubernetes) et [Federation](https://github.com/kubernetes/federation). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Vous avez besoin d'une machine qui exécute Linux ou macOS. @@ -29,9 +30,9 @@ Cette page montre comment utiliser l'outil `update-importer-docs` pour générer Cela implique généralement la création d’un fork d'un dépôt. Pour plus d'informations, consultez [Créer une Pull Request de documentation](/docs/home/contribute/create-pull-request/). -{{% /capture %}} -{{% capture steps %}} + + ## Obtenir deux dépôts @@ -193,12 +194,13 @@ Consultez votre pull request et répondez aux corrections suggérées par les r Quelques minutes après le merge votre pull request, vos références mises à jour seront visibles dans la [documentation publiée](/docs/home/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Génération de documentation de référence pour les commandes kubectl](/docs/home/contribute/generated-reference/kubectl/) * [Génération de documentation de référence pour l'API Kubernetes](/fr/docs/contribute/generate-ref-docs/kubernetes-api/) * [Génération de documentation de référence pour l'API de fédération Kubernetes](/docs/home/contribute/generated-reference/federation-api/) -{{% /capture %}} + diff --git a/content/fr/docs/contribute/localization.md b/content/fr/docs/contribute/localization.md index f07082672f..91667afdd2 100644 --- a/content/fr/docs/contribute/localization.md +++ b/content/fr/docs/contribute/localization.md @@ -1,20 +1,20 @@ --- title: Traduction de la documentation Kubernetes -content_template: templates/concept +content_type: concept card: name: contribute weight: 30 title: Translating the docs --- -{{% capture overview %}} + La documentation de Kubernetes est disponible dans plusieurs langues. Nous vous encourageons à ajouter de nouvelles [traductions](https://blog.mozilla.org/l10n/2011/12/14/i18n-vs-l10n-whats-the-diff/)! -{{% /capture %}} -{{% capture body %}} + + ## Commencer @@ -221,13 +221,14 @@ Pour plus d'informations sur le travail à partir de forks ou directement à par SIG Docs souhaite la bienvenue aux [contributions et corrections upstream](/docs/contribute/intermediate#localize-content) à la source anglaise. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Une fois qu'une traduction répond aux exigences de logistique et à une couverture admissible, le SIG docs se chargera des taches suivantes: - Activer la sélection de la langue sur le site Web - Publier la disponibilité de la traduction via les canaux de la [Cloud Native Computing Foundation](https://www.cncf.io/), y compris sur le blog de [Kubernetes](https://kubernetes.io/blog/). -{{% /capture %}} + diff --git a/content/fr/docs/contribute/participating.md b/content/fr/docs/contribute/participating.md index 199f2d5f33..34015b19b4 100644 --- a/content/fr/docs/contribute/participating.md +++ b/content/fr/docs/contribute/participating.md @@ -1,12 +1,12 @@ --- title: Participez au SIG Docs -content_template: templates/concept +content_type: concept card: name: contribute weight: 40 --- -{{% capture overview %}} + SIG Docs est l'un des [groupes d'intérêts spéciaux](https://github.com/kubernetes/community/blob/master/sig-list.md) au sein du projet Kubernetes, axé sur la rédaction, la mise à jour et la maintenance de la documentation de Kubernetes dans son ensemble. Pour plus d'informations sur le SIG consultez [le dépôt GitHub de la communauté](https://github.com/kubernetes/community/tree/master/sig-docs). @@ -19,9 +19,9 @@ Ces rôles nécessitent un plus grand accès et impliquent certaines responsabil Voir [appartenance à la communauté](https://github.com/kubernetes/community/blob/master/community-membership.md) pour plus d'informations sur le fonctionnement de l'adhésion au sein de la communauté Kubernetes. Le reste de ce document décrit certaines fonctions uniques de ces rôles au sein du SIG Docs, responsable de la gestion de l’un des aspects les plus accessibles du public de Kubernetes: le site Web et la documentation de Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Rôles et responsabilités @@ -194,13 +194,14 @@ En outre, un fichier Markdown individuel peut répertorier les relecteurs et les La combinaison des fichiers `OWNERS` et des entêtes dans les fichiers Markdown determinent les suggestions automatiques de relecteurs dans la PullRequest. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Pour plus d'informations sur la contribution à la documentation Kubernetes, voir: - [Commencez à contribuer](/docs/contribute/start/) - [Documentation style](/docs/contribute/style/) -{{% /capture %}} + diff --git a/content/fr/docs/contribute/start.md b/content/fr/docs/contribute/start.md index 39eee2a39d..7c13bbf506 100644 --- a/content/fr/docs/contribute/start.md +++ b/content/fr/docs/contribute/start.md @@ -2,14 +2,14 @@ title: Commencez à contribuer description: Démarrage contribution Kubernetes slug: start -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 10 --- -{{% capture overview %}} + Si vous souhaitez commencer à contribuer à la documentation de Kubernetes, cette page et les rubriques associées peuvent vous aider à démarrer. Vous n'avez pas besoin d'être un développeur ou un rédacteur technique pour avoir un impact important sur la documentation et l'expérience utilisateur de Kubernetes ! @@ -17,9 +17,9 @@ Tout ce dont vous avez besoin pour les sujets de cette page est un compte [GitHu Si vous recherchez des informations sur la façon de commencer à contribuer aux référentiels de code Kubernetes, reportez-vous à la section sur [les directives de la communauté Kubernetes](https://github.com/kubernetes/community/blob/master/governance.md). -{{% /capture %}} -{{% capture body %}} + + ## Les bases de notre documentation @@ -282,10 +282,11 @@ Elles sont écrites en collaboration avec l'équipe marketing de Kubernetes, qui Regardez la source des [études de cas existantes](https://github.com/kubernetes/website/tree/master/content/en/case-studies). Utilisez le [Formulaire de soumission d'étude de cas Kubernetes](https://www.cncf.io/people/end-user-community/) pour soumettre votre proposition. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Si vous êtes à l'aise avec toutes les tâches décrites dans cette rubrique et que vous souhaitez vous engager plus profondément dans l'équipe de documentation de Kubernetes, lisez le [guide de contribution de la documentation intermédiaire](/docs/contribute/intermediate/). -{{% /capture %}} + diff --git a/content/fr/docs/contribute/style/content-organization.md b/content/fr/docs/contribute/style/content-organization.md index fd0efdad07..057108ac00 100644 --- a/content/fr/docs/contribute/style/content-organization.md +++ b/content/fr/docs/contribute/style/content-organization.md @@ -1,18 +1,18 @@ --- title: Organisation du contenu -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Ce site utilise Hugo. Dans Hugo, l'[organisation du contenu](https://gohugo.io/content-management/organization/) est un concept de base. -{{% /capture %}} -{{% capture body %}} + + {{% note %}} **Astuce Hugo:** Démarrez Hugo avec `hugo server --navigateToChanged` pour les sessions d'édition de contenu. @@ -134,11 +134,12 @@ Quelques notes importantes sur les fichiers dans les paquets : La source `SASS` des feuilles de style pour ce site est stockée sous `src/sass` et peut être construite avec `make sass` (notez que Hugo aura bientôt le support `SASS`, voir . -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Hugo shortcodes personnalisés](/docs/contribute/style/hugo-shortcodes/) * [Style guide](/docs/contribute/style/style-guide) -{{% /capture %}} + diff --git a/content/fr/docs/contribute/style/hugo-shortcodes/index.md b/content/fr/docs/contribute/style/hugo-shortcodes/index.md index 359066ba8a..0de8705e69 100644 --- a/content/fr/docs/contribute/style/hugo-shortcodes/index.md +++ b/content/fr/docs/contribute/style/hugo-shortcodes/index.md @@ -1,16 +1,16 @@ --- title: Hugo Shortcodes personnalisés -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Cette page explique les shortcodes Hugo personnalisés pouvant être utilisés dans la documentation de Kubernetes Markdown. En savoir plus sur shortcodes dans la [documentation Hugo](https://gohugo.io/content-management/shortcodes). -{{% /capture %}} -{{% capture body %}} + + ## Etat de la fonctionnalité @@ -208,9 +208,10 @@ Rend à: {{< tab name="JSON File" include="podtemplate" />}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur [Hugo](https://gohugo.io/). * En savoir plus sur [écrire un nouveau sujet](/docs/home/contribute/write-new-topic/). @@ -218,4 +219,4 @@ Rend à: * En savoir plus sur [staging your changes](/docs/home/contribute/stage-documentation-changes/) * En savoir plus sur [créer une pull request](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/fr/docs/contribute/style/page-templates.md b/content/fr/docs/contribute/style/page-templates.md index 17cfdec6d1..23625c7fdc 100644 --- a/content/fr/docs/contribute/style/page-templates.md +++ b/content/fr/docs/contribute/style/page-templates.md @@ -1,13 +1,13 @@ --- title: Utilisation des modèles de page -content_template: templates/concept +content_type: concept weight: 30 card: name: contribute weight: 30 --- -{{% capture overview %}} + Lorsque vous ajoutez de nouveaux sujets, appliquez-leur l'un des templates suivants. Ceci standardise l'expérience utilisateur d'une page donnée. @@ -19,9 +19,9 @@ Chaque nouveau sujet doit utiliser un modèle. Si vous n'êtes pas sûr du modèle à utiliser pour un nouveau sujet, commencez par un [template concept](#concept-template). {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Concept template @@ -31,7 +31,7 @@ Généralement, les pages conceptuelles n'incluent pas de séquences d'étapes, Pour écrire une nouvelle page concept, créez un fichier Markdown dans un sous-répertoire du répertoire `/content/fr/docs/concepts`, avec les caractéristiques suivantes : -- Dans l'entête YAML de la page, définissez `content_template: templates/concept`. +- Dans l'entête YAML de la page, définissez `content_type: concept`. - Dans le corps de la page, définissez les variables `capture` requises et les variables optionnelles que vous voulez inclure : | Variable | Required? | @@ -72,7 +72,7 @@ Les pages de tâches ont une explication minimale, mais fournissent souvent des Pour écrire une nouvelle page de tâches, créez un fichier Markdown dans un sous-répertoire du répertoire `/content/fr/docs/tasks`, avec les caractéristiques suivantes : -- Dans l'entête YAML de la page, définissez `content_template: templates/task`. +- Dans l'entête YAML de la page, définissez `content_type: task`. - Dans le corps de la page, définissez les variables `capture` requises et les variables optionnelles que vous voulez inclure : | Variable | Required? | @@ -132,7 +132,7 @@ Les didacticiels peuvent inclure des explications au niveau de la surface, mais Pour écrire une nouvelle page de tutoriel, créez un fichier Markdown dans un sous-répertoire du répertoire `/content/fr/docs/tutorials`, avec les caractéristiques suivantes : -- Dans l'entête YAML de la page, définissez `content_template: templates/tutorial`. +- Dans l'entête YAML de la page, définissez `content_type: tutorial`. - Dans le corps de la page, définissez les variables `capture` requises et les variables optionnelles que vous voulez inclure : | Variable | Required? | @@ -187,11 +187,12 @@ Pour écrire une nouvelle page de tutoriel, créez un fichier Markdown dans un s Voici un exemple de sujet publié qui utilise le modèle de tutoriel [Running a Stateless Application Using a Deployment](/docs/tutorials/stateless-application/run-stateless-application-deployment/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - En savoir plus sur le [style guide](/docs/contribute/style/style-guide/) - En savoir plus sur l'[organisation des contenus](/docs/contribute/style/content-organization/) -{{% /capture %}} + diff --git a/content/fr/docs/contribute/style/style-guide.md b/content/fr/docs/contribute/style/style-guide.md index 27b530d0b6..6e282615d0 100644 --- a/content/fr/docs/contribute/style/style-guide.md +++ b/content/fr/docs/contribute/style/style-guide.md @@ -1,7 +1,7 @@ --- title: Documentation Style Guide linktitle: Style guide -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute @@ -9,15 +9,15 @@ card: title: Documentation Style Guide --- -{{% capture overview %}} + Cette page donne des directives de style d'écriture pour la documentation de Kubernetes. Ce sont des lignes directrices, pas des règles. Faites preuve de discernement et n'hésitez pas à proposer des modifications à ce document dans le cadre d'une pull request. Pour plus d'informations sur la création de nouveau contenu pour les documents Kubernetes, suivez les instructions sur[l'utilisation des templates](/fr/docs/contribute/style/page-templates/) et [création d'une pull request de documentation](/fr/docs/contribute/start/#improve-existing-content). -{{% /capture %}} -{{% capture body %}} + + {{< note >}} La documentation de Kubernetes utilise [Blackfriday Markdown Renderer](https://github.com/russross/blackfriday) ainsi que quelques [Hugo Shortcodes](/docs/home/contribute/includes/) pour prendre en charge les entrées de glossaire, les onglets et la représentation de l'état des fonctionnalités. @@ -403,13 +403,14 @@ Une caractéristique qui est nouvelle aujourd'hui pourrait ne pas être considé | Dans la version 1.4, ... | Dans la version actuelle, ... | | La fonction de fédération offre ... | La nouvelle fonctionnalité de la Fédération offre ... | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur [writing a new topic](/docs/home/contribute/write-new-topic/). * En savoir plus sur [using page templates](/docs/home/contribute/page-templates/). * En savoir plus sur [staging your changes](/docs/home/contribute/stage-documentation-changes/) * En savoir plus sur [creating a pull request](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/fr/docs/contribute/style/write-new-topic.md b/content/fr/docs/contribute/style/write-new-topic.md index d5f1575b1c..1027da53b6 100644 --- a/content/fr/docs/contribute/style/write-new-topic.md +++ b/content/fr/docs/contribute/style/write-new-topic.md @@ -1,18 +1,19 @@ --- title: Rédiger une nouveau sujet -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + Cette page montre comment créer un nouveau sujet pour la documentation Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Créez un fork du dépôt de la documentation de Kubernetes comme décrit dans [Commencez à contribuer](/fr/docs/contribute/start/). -{{% /capture %}} -{{% capture steps %}} + + ## Choisir un type de page @@ -143,12 +144,13 @@ Pour un exemple d'un sujet qui utilise cette technique, voir [Running a Single-I Placez les fichiers images dans le répertoire `/images`. Le format d'image préféré est SVG. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur [l'utilisation des templates de pages](/docs/home/contribute/page-templates/). * En savoir plus sur [le staging de vos changements](/docs/home/contribute/stage-documentation-changes/). * En savoir plus sur [la création d'une pull request](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/fr/docs/home/supported-doc-versions.md b/content/fr/docs/home/supported-doc-versions.md index 7f0e2f2a97..afd204d041 100644 --- a/content/fr/docs/home/supported-doc-versions.md +++ b/content/fr/docs/home/supported-doc-versions.md @@ -1,20 +1,20 @@ --- title: Versions supportées de la documentation Kubernetes description: Documentation de Kubernetes -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Versions supportées de la documentation --- -{{% capture overview %}} + Ce site contient la documentation de la version actuelle de Kubernetes et les quatre versions précédentes de Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Version courante @@ -24,4 +24,4 @@ La version actuelle est [{{< param "version" >}}](/). {{< versions-other >}} -{{% /capture %}} + diff --git a/content/fr/docs/reference/_index.md b/content/fr/docs/reference/_index.md index 514767f5ed..fac9ff8e49 100644 --- a/content/fr/docs/reference/_index.md +++ b/content/fr/docs/reference/_index.md @@ -3,16 +3,16 @@ title: Documents de Référence linkTitle: "Référence" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Cette section de la documentation de Kubernetes contient les informations de références. -{{% /capture %}} -{{% capture body %}} + + ## Documents de Référence de l'API @@ -55,4 +55,4 @@ Pour appeler l'API de Kubernetes depuis un langage de programmation on peut util * [Architecture de Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) * [Vue d'ensemble des documents de conception de Kubernetes](https://git.k8s.io/community/contributors/design-proposals). -{{% /capture %}} + diff --git a/content/fr/docs/reference/kubectl/cheatsheet.md b/content/fr/docs/reference/kubectl/cheatsheet.md index aa39822757..a50eb8f320 100644 --- a/content/fr/docs/reference/kubectl/cheatsheet.md +++ b/content/fr/docs/reference/kubectl/cheatsheet.md @@ -5,21 +5,21 @@ reviewers: - rbenzair - feloy - remyleone -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + Voir aussi : [Aperçu Kubectl](/docs/reference/kubectl/overview/) et [Guide JsonPath](/docs/reference/kubectl/jsonpath). Cette page donne un aperçu de la commande `kubectl`. -{{% /capture %}} -{{% capture body %}} + + # Aide-mémoire kubectl @@ -384,9 +384,10 @@ Verbosité | Description `--v=8` | Affiche les contenus des requêtes HTTP. `--v=9` | Affiche les contenus des requêtes HTTP sans les tronquer. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur l'[Aperçu de kubectl](/docs/reference/kubectl/overview/). @@ -396,4 +397,4 @@ Verbosité | Description * Voir plus d'[aides-mémoire kubectl](https://github.com/dennyzhang/cheatsheet-kubernetes-A4). -{{% /capture %}} + diff --git a/content/fr/docs/reference/kubectl/conventions.md b/content/fr/docs/reference/kubectl/conventions.md index 8b458871f6..03d16758a7 100644 --- a/content/fr/docs/reference/kubectl/conventions.md +++ b/content/fr/docs/reference/kubectl/conventions.md @@ -1,14 +1,14 @@ --- title: Conventions d'utilisation de kubectl description: kubectl conventions -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Conventions d'utilisation recommandées pour `kubectl`. -{{% /capture %}} -{{% capture body %}} + + ## Utiliser `kubectl` dans des scripts réutilisables @@ -58,4 +58,4 @@ Vous pouvez générer les ressources suivantes avec une commande kubectl, `kubec * Vous pouvez utiliser `kubectl apply` pour créer ou mettre à jour des ressources. Pour plus d'informations sur l'utilisation de `kubectl apply` pour la mise à jour de ressources, voir le [livre Kubectl](https://kubectl.docs.kubernetes.io). -{{% /capture %}} + diff --git a/content/fr/docs/reference/kubectl/jsonpath.md b/content/fr/docs/reference/kubectl/jsonpath.md index 427ae93516..9df389897b 100644 --- a/content/fr/docs/reference/kubectl/jsonpath.md +++ b/content/fr/docs/reference/kubectl/jsonpath.md @@ -1,15 +1,15 @@ --- title: Support de JSONPath description: JSONPath kubectl Kubernetes -content_template: templates/concept +content_type: concept weight: 25 --- -{{% capture overview %}} + Kubectl prend en charge les modèles JSONPath. -{{% /capture %}} -{{% capture body %}} + + Un modèle JSONPath est composé d'expressions JSONPath entourées par des accolades {}. Kubectl utilise les expressions JSONPath pour filtrer sur des champs spécifiques de l'objet JSON et formater la sortie. @@ -101,4 +101,4 @@ kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{\"\t\"}{.status. {{< /note >}} -{{% /capture %}} + diff --git a/content/fr/docs/reference/kubectl/kubectl.md b/content/fr/docs/reference/kubectl/kubectl.md index ceaa94b6c5..64a3c89ce1 100755 --- a/content/fr/docs/reference/kubectl/kubectl.md +++ b/content/fr/docs/reference/kubectl/kubectl.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference description: Référence kubectl notitle: true --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + kubectl contrôle le manager d'un cluster Kubernetes @@ -14,9 +15,10 @@ Vous trouverez plus d'informations ici : https://kubernetes.io/fr/docs/reference kubectl [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -506,9 +508,10 @@ kubectl [flags] -{{% /capture %}} -{{% capture seealso %}} + +## {{% heading "seealso" %}} + * [kubectl alpha](/docs/reference/generated/kubectl/kubectl-commands#alpha) - Commandes pour fonctionnalités alpha * [kubectl annotate](/docs/reference/generated/kubectl/kubectl-commands#annotate) - Met à jour les annotations d'une ressource @@ -554,4 +557,4 @@ kubectl [flags] * [kubectl version](/docs/reference/generated/kubectl/kubectl-commands#version) - Affiche les informations de version du client et du serveur * [kubectl wait](/docs/reference/generated/kubectl/kubectl-commands#wait) - Expérimental : Attend une condition particulière sur une ou plusieurs ressources -{{% /capture %}} + diff --git a/content/fr/docs/reference/kubectl/overview.md b/content/fr/docs/reference/kubectl/overview.md index 01d36d469e..1f69adc999 100644 --- a/content/fr/docs/reference/kubectl/overview.md +++ b/content/fr/docs/reference/kubectl/overview.md @@ -1,22 +1,22 @@ --- title: Aperçu de kubectl description: kubectl référence -content_template: templates/concept +content_type: concept weight: 20 card: name: reference weight: 20 --- -{{% capture overview %}} + Kubectl est un outil en ligne de commande pour contrôler des clusters Kubernetes. `kubectl` recherche un fichier appelé config dans le répertoire $HOME/.kube. Vous pouvez spécifier d'autres fichiers [kubeconfig](https://kube rnetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) en définissant la variable d'environnement KUBECONFIG ou en utilisant le paramètre [`--kubeconfig`](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/). Cet aperçu couvre la syntaxe `kubectl`, décrit les opérations et fournit des exemples classiques. Pour des détails sur chaque commande, incluant toutes les options et sous-commandes autorisées, voir la documentation de référence de [kubectl](/docs/reference/generated/kubectl/kubectl-commands/). Pour des instructions d'installation, voir [installer kubectl](/docs/tasks/kubectl/install/). -{{% /capture %}} -{{% capture body %}} + + ## Syntaxe @@ -473,10 +473,11 @@ Current user: plugins-user Pour en savoir plus sur les plugins, examinez [l'exemple de plugin CLI](https://github.com/kubernetes/sample-cli-plugin). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Commencez à utiliser les commandes [kubectl](/docs/reference/generated/kubectl/kubectl-commands/). -{{% /capture %}} + diff --git a/content/fr/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/fr/docs/reference/setup-tools/kubeadm/kubeadm-init.md index 1b8fd99ed2..dcd43b3634 100644 --- a/content/fr/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/fr/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -1,13 +1,13 @@ --- title: kubeadm init -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Cette commande initialise un noeud Kubernetes control-plane. -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_init.md" >}} @@ -293,11 +293,12 @@ et les utiliser pour communiquer avec le cluster. Vous remarquerez que ce type d'installation présente un niveau de sécurité inférieur puisqu'il ne permet pas la validation du hash du certificat racine avec `--discovery-token-ca-cert-hash` (puisqu'il n'est pas généré quand les noeuds sont provisionnés). Pour plus d'information, se référer à [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm init phase](/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/) pour mieux comprendre les phases `kubeadm init` * [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) pour amorcer un noeud Kubernetes worker node Kubernetes et le faire joindre le cluster * [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) pour mettre à jour un cluster Kubernetes vers une version plus récente * [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) pour annuler les changements appliqués avec `kubeadm init` ou `kubeadm join` à un noeud -{{% /capture %}} + diff --git a/content/fr/docs/setup/_index.md b/content/fr/docs/setup/_index.md index 23983eae9f..37161dbc0c 100644 --- a/content/fr/docs/setup/_index.md +++ b/content/fr/docs/setup/_index.md @@ -10,9 +10,9 @@ title: Installation description: Panorama de solution Kubernetes main_menu: true weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Utilisez cette page pour trouver le type de solution qui correspond le mieux à vos besoins. @@ -20,9 +20,9 @@ Le choix de distribution Kubernetes dépend des ressources dont vous disposez et Vous pouvez exécuter Kubernetes presque partout, de votre ordinateur portable aux machines virtuelles d'un fournisseur de cloud jusqu'à un rack de serveurs en bare metal. Vous pouvez également mettre en place un cluster entièrement géré en exécutant une seule commande ou bien créer votre propre cluster personnalisé sur vos serveurs bare-metal. -{{% /capture %}} -{{% capture body %}} + + ## Solutions locales @@ -86,8 +86,9 @@ différents systèmes d'exploitation. Choisissez une [solution personnalisée] (/fr/docs/setup/pick-right-solution/#solutions-personnalisées). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Allez à [Choisir la bonne solution] (/fr/docs/setup/pick-right-solution/) pour une liste complète de solutions. -{{% /capture %}} + diff --git a/content/fr/docs/setup/custom-cloud/coreos.md b/content/fr/docs/setup/custom-cloud/coreos.md index 4b18c56c8a..4b2f2f56a8 100644 --- a/content/fr/docs/setup/custom-cloud/coreos.md +++ b/content/fr/docs/setup/custom-cloud/coreos.md @@ -1,16 +1,16 @@ --- title: CoreOS sur AWS ou GCE description: Installation Kubernetes CoreOS sur AWS GCE -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Il existe plusieurs guides permettant d'utiliser Kubernetes avec [CoreOS](https://coreos.com/kubernetes/docs/latest/). -{{% /capture %}} -{{% capture body %}} + + ## Guides officiels CoreOS @@ -87,4 +87,4 @@ Ces guides sont maintenus par des membres de la communauté et couvrent des beso Pour le niveau de support de toutes les solutions se référer au [Tableau des solutions](/docs/getting-started-guides/#table-of-solutions). -{{% /capture %}} + diff --git a/content/fr/docs/setup/custom-cloud/kops.md b/content/fr/docs/setup/custom-cloud/kops.md index 81ebe89ab2..297ce01b73 100644 --- a/content/fr/docs/setup/custom-cloud/kops.md +++ b/content/fr/docs/setup/custom-cloud/kops.md @@ -1,10 +1,10 @@ --- title: Installer Kubernetes sur AWS avec kops description: Installation Kubernetes avec kops sur AWS -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Cette documentation pour un démarrage rapide montre comment facilement installer un cluster Kubernetes sur AWS. L'outil utilisé est [`kops`](https://github.com/kubernetes/kops). @@ -21,9 +21,9 @@ kops est un système de provisionnement dont les principes sont: Si ces principes ne vous conviennent pas, vous préférerez probablement construire votre propre cluster selon votre convenance grâce à [kubeadm](/docs/admin/kubeadm/). -{{% /capture %}} -{{% capture body %}} + + ## Créer un cluster @@ -211,12 +211,13 @@ Reportez-vous à la [liste des add-ons] (/docs/concepts/cluster-administration/a * Channel Slack: [#kops-users] (https://kubernetes.slack.com/messages/kops-users/) * [Problèmes GitHub] (https://github.com/kubernetes/kops/issues) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En apprendre davantages sur les [concepts](/docs/concepts/) Kubernetes et [`kubectl`](/docs/user-guide/kubectl-overview/). * En savoir plus sur les [utilisations avancées](https://github.com/kubernetes/kops) de `kops`. * Pour les bonnes pratiques et les options de configuration avancées de `kops` se référer à la [documentation](https://github.com/kubernetes/kops) -{{% /capture %}} + diff --git a/content/fr/docs/setup/custom-cloud/kubespray.md b/content/fr/docs/setup/custom-cloud/kubespray.md index 926295b7ac..2e10c21f46 100644 --- a/content/fr/docs/setup/custom-cloud/kubespray.md +++ b/content/fr/docs/setup/custom-cloud/kubespray.md @@ -1,10 +1,10 @@ --- title: Installer Kubernetes avec Kubespray (on-premises et fournisseurs de cloud) description: Installation de Kubernetes avec Kubespray -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Cette documentation permet d'installer rapidement un cluster Kubernetes hébergé sur GCE, Azure, Openstack, AWS, vSphere, Oracle Cloud Infrastructure (expérimental) ou sur des serveurs physiques (bare metal) grâce à [Kubespray](https://github.com/kubernetes-incubator/kubespray). @@ -23,9 +23,9 @@ Kubespray se base sur des outils de provisioning, des [paramètres](https://gith Afin de choisir l'outil le mieux adapté à votre besoin, veuillez lire [cette comparaison](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/comparisons.md) avec [kubeadm](/docs/admin/kubeadm/) et [kops](../kops). -{{% /capture %}} -{{% capture body %}} + + ## Créer un cluster @@ -116,10 +116,11 @@ Quand vous utilisez le playbook `reset`, assurez-vous de ne pas cibler accidente * Channel Slack: [#kubespray](https://kubernetes.slack.com/messages/kubespray/) * [Issues GitHub](https://github.com/kubernetes-incubator/kubespray/issues) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Jetez un oeil aux travaux prévus sur Kubespray: [roadmap](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/roadmap.md). -{{% /capture %}} + diff --git a/content/fr/docs/setup/independent/control-plane-flags.md b/content/fr/docs/setup/independent/control-plane-flags.md index faea105867..746602d8b4 100644 --- a/content/fr/docs/setup/independent/control-plane-flags.md +++ b/content/fr/docs/setup/independent/control-plane-flags.md @@ -1,11 +1,11 @@ --- title: Personnalisation de la configuration du control plane avec kubeadm description: Personnalisation de la configuration du control plane avec kubeadm -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.12" state="stable" >}} @@ -27,9 +27,9 @@ pour un composant du control plane: Pour plus de détails sur chaque champ de la configuration, vous pouvez accéder aux [pages de référence de l'API](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#ClusterConfiguration). -{{% /capture %}} -{{% capture body %}} + + ## Paramètres pour l'API Server @@ -86,4 +86,4 @@ scheduler: kubeconfig: /home/johndoe/kubeconfig.yaml ``` -{{% /capture %}} + diff --git a/content/fr/docs/setup/independent/create-cluster-kubeadm.md b/content/fr/docs/setup/independent/create-cluster-kubeadm.md index 8f93ee7f50..a2ac112b3a 100644 --- a/content/fr/docs/setup/independent/create-cluster-kubeadm.md +++ b/content/fr/docs/setup/independent/create-cluster-kubeadm.md @@ -1,11 +1,11 @@ --- title: Création d'un Cluster a master unique avec kubeadm description: Création d'un Cluster a master unique avec kubeadm -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} +**kubeadm** vous aide à démarrer un cluster Kubernetes minimum, viable et conforme aux meilleures pratiques. Avec kubeadm, votre cluster @@ -78,18 +78,19 @@ problème de sécurité est trouvé. Voici les dernières versions de Kubernetes | v1.12.x | Septembre 2018 | Juin 2019 | | v1.13.x | Décembre 2018 | Septembre 2019 | -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - Une ou plusieurs machines exécutant un système d'exploitation compatible deb/rpm, par exemple Ubuntu ou CentOS - 2 Go ou plus de RAM par machine. Si vous essayez moins cela laissera trop peu de place pour vos applications. - 2 processeurs ou plus sur le master - Connectivité réseau entre toutes les machines du cluster, qu'il soit public ou privé. -{{% /capture %}} -{{% capture steps %}} + + ## Objectifs diff --git a/content/fr/docs/setup/independent/ha-topology.md b/content/fr/docs/setup/independent/ha-topology.md index 1253183c50..cd0b6aec36 100644 --- a/content/fr/docs/setup/independent/ha-topology.md +++ b/content/fr/docs/setup/independent/ha-topology.md @@ -1,11 +1,11 @@ --- title: Options pour la topologie en haute disponibilité description: Topologie haute-disponibilité Kubernetes -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Cette page explique les deux options de configuration de topologie de vos clusters Kubernetes pour la haute disponibilité. @@ -17,9 +17,9 @@ Vous pouvez configurer un cluster en haute disponibilité: Vous devez examiner attentivement les avantages et les inconvénients de chaque topologie avant de configurer un cluster en haute disponibilité. -{{% /capture %}} -{{% capture body %}} + + ## Topologie etcd empilée @@ -73,10 +73,10 @@ Un minimum de trois machines pour les nœuds du control plane et de trois machin Schéma de la [Topologie externe etcd](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Configurer un cluster hautement disponible avec kubeadm](/docs/setup/independent/high-availability/) -{{% /capture %}} \ No newline at end of file diff --git a/content/fr/docs/setup/independent/high-availability.md b/content/fr/docs/setup/independent/high-availability.md index d8a95b5c89..210ba7e30c 100644 --- a/content/fr/docs/setup/independent/high-availability.md +++ b/content/fr/docs/setup/independent/high-availability.md @@ -1,11 +1,11 @@ --- title: Création de clusters hautement disponibles avec kubeadm description: Cluster Kubernetes haute-disponibilité kubeadm -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + Cette page explique deux approches différentes pour configurer un Kubernetes à haute disponibilité. cluster utilisant kubeadm: @@ -35,9 +35,10 @@ environnement Cloud, les approches documentées ici ne fonctionne ni avec des ob load balancer, ni avec des volumes persistants dynamiques. {{< /caution >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Pour les deux méthodes, vous avez besoin de cette infrastructure: @@ -57,9 +58,9 @@ Les exemples suivants utilisent Calico en tant que fournisseur de réseau de Pod CNI, pensez à remplacer les valeurs par défaut si nécessaire. {{< /note >}} -{{% /capture %}} -{{% capture steps %}} + + ## Premières étapes pour les deux méthodes @@ -344,4 +345,4 @@ Chaque nœud worker peut maintenant être joint au cluster avec la commande renv de n’importe quelle commande `kubeadm init`. L'option `--experimental-control-plane` ne doit pas être ajouté aux nœuds workers. -{{% /capture %}} + diff --git a/content/fr/docs/setup/independent/install-kubeadm.md b/content/fr/docs/setup/independent/install-kubeadm.md index 6366c6fdce..a32225872f 100644 --- a/content/fr/docs/setup/independent/install-kubeadm.md +++ b/content/fr/docs/setup/independent/install-kubeadm.md @@ -1,20 +1,21 @@ --- title: Installer kubeadm description: kubeadm installation Kubernetes -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} +Cette page vous apprend comment installer la boîte à outils `kubeadm`. Pour plus d'informations sur la création d'un cluster avec kubeadm, une fois que vous avez effectué ce processus d'installation, voir la page: [Utiliser kubeadm pour créer un cluster](/docs/setup/independent/create-cluster-kubeadm/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Une ou plusieurs machines exécutant: - Ubuntu 16.04+ @@ -31,9 +32,9 @@ effectué ce processus d'installation, voir la page: [Utiliser kubeadm pour cré * Certains ports doivent êtres ouverts sur vos machines. Voir [ici](#check-required-ports) pour plus de détails. * Swap désactivé. Vous devez impérativement désactiver le swap pour que la kubelet fonctionne correctement. -{{% /capture %}} -{{% capture steps %}} + + ## Vérifiez que les adresses MAC et product_uuid sont uniques pour chaque nœud {#verify-the-mac-address-and-product-uuid-are-unique-for-every-node} @@ -253,8 +254,9 @@ systemctl restart kubelet Si vous rencontrez des difficultés avec kubeadm, veuillez consulter notre [documentation de dépannage](/docs/setup/independent/troubleshooting-kubeadm/). -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [Utiliser kubeadm pour créer un cluster](/docs/setup/independent/create-cluster-kubeadm/) -{{% /capture %}} + diff --git a/content/fr/docs/setup/independent/kubelet-integration.md b/content/fr/docs/setup/independent/kubelet-integration.md index 786dfa18fb..18ea57310b 100644 --- a/content/fr/docs/setup/independent/kubelet-integration.md +++ b/content/fr/docs/setup/independent/kubelet-integration.md @@ -1,11 +1,11 @@ --- title: Configuration des kubelet de votre cluster avec kubeadm description: Configuration kubelet Kubernetes cluster kubeadm -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.11" state="stable" >}} @@ -26,9 +26,9 @@ d’une machine donnée, telles que le système d’exploitation, le stockage et mise en réseau. Vous pouvez gérer la configuration manuellement de vos kubelets, mais [kubeadm fournit maintenant un type d’API `KubeletConfiguration` pour la gestion centralisée de vos configurations de kubelets](#configure-kubelets-using-kubeadm). -{{% /capture %}} -{{% capture body %}} + + ## Patterns de configuration des Kubelets @@ -206,4 +206,4 @@ Les packages DEB et RPM fournis avec les versions de Kubernetes sont les suivant | `kubernetes-cni` | Installe les binaires officiels du CNI dans le repertoire `/opt/cni/bin`. | | `cri-tools` | Installe `/usr/bin/crictl` à partir de [https://github.com/kubernetes-incubator/cri-tools](https://github.com/kubernetes-incubator/cri-tools). | -{{% /capture %}} + diff --git a/content/fr/docs/setup/independent/setup-ha-etcd-with-kubeadm.md b/content/fr/docs/setup/independent/setup-ha-etcd-with-kubeadm.md index 678268a771..446548d0f1 100644 --- a/content/fr/docs/setup/independent/setup-ha-etcd-with-kubeadm.md +++ b/content/fr/docs/setup/independent/setup-ha-etcd-with-kubeadm.md @@ -1,20 +1,21 @@ --- title: Configurer un cluster etcd en haute disponibilité avec kubeadm description: Configuration d'un cluster etcd en haute disponibilité avec kubeadm -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + Par défaut, Kubeadm exécute un cluster etcd mono nœud dans un pod statique géré par la kubelet sur le nœud du plan de contrôle (control plane). Ce n'est pas une configuration haute disponibilité puisque le cluster etcd ne contient qu'un seul membre et ne peut donc supporter qu'aucun membre ne devienne indisponible. Cette page vous accompagne dans le processus de création d'un cluster etcd à trois membres en haute disponibilité, pouvant être utilisé en tant que cluster externe lors de l’utilisation de kubeadm pour configurer un cluster kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Trois machines pouvant communiquer entre elles via les ports 2379 et 2380. Cette  methode utilise ces ports par défaut. Cependant, ils sont configurables via  @@ -24,9 +25,9 @@ le fichier de configuration kubeadm. [toolbox]: /docs/setup/independent/install-kubeadm/ -{{% /capture %}} -{{% capture steps %}} + + ## Mise en place du cluster @@ -249,14 +250,15 @@ kubeadm contient tout ce qui est nécessaire pour générer les certificats déc - Configurez `${ETCD_TAG}` avec la version de votre image etcd. Par exemple `v3.2.24`. - Configurez `${HOST0}` avec l'adresse IP de l'hôte que vous testez. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Une fois que vous avez un cluster de 3 membres etcd qui fonctionne, vous pouvez continuer à configurer un control plane hautement disponible utilisant la [méthode etcd externe avec kubeadm](/docs/setup/independent/high-availability/). -{{% /capture %}} + diff --git a/content/fr/docs/setup/independent/troubleshooting-kubeadm.md b/content/fr/docs/setup/independent/troubleshooting-kubeadm.md index ba00d254c7..497c7ae7d7 100644 --- a/content/fr/docs/setup/independent/troubleshooting-kubeadm.md +++ b/content/fr/docs/setup/independent/troubleshooting-kubeadm.md @@ -1,11 +1,11 @@ --- title: Dépanner kubeadm description: Diagnostic pannes kubeadm debug -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Comme avec n'importe quel programme, vous pourriez rencontrer une erreur lors de l'installation ou de l'exécution de kubeadm. @@ -25,9 +25,9 @@ dans le canal #kubeadm, ou posez une questions sur [StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes). Merci d'ajouter les tags pertinents comme `#kubernetes` et `#kubeadm`, ainsi on pourra vous aider. -{{% /capture %}} -{{% capture body %}} + + ## `ebtables` ou un exécutable similaire introuvable lors de l'installation @@ -283,4 +283,4 @@ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/dock yum install docker-ce-18.06.1.ce-3.el7.x86_64 ``` -{{% /capture %}} + diff --git a/content/fr/docs/setup/learning-environment/minikube.md b/content/fr/docs/setup/learning-environment/minikube.md index d1a521c69d..77ddde7f4d 100644 --- a/content/fr/docs/setup/learning-environment/minikube.md +++ b/content/fr/docs/setup/learning-environment/minikube.md @@ -1,16 +1,16 @@ --- title: Installer Kubernetes avec Minikube -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikube est un outil facilitant l’exécution locale de Kubernetes. Minikube exécute un cluster Kubernetes à nœud unique dans une machine virtuelle (VM) de votre ordinateur portable pour les utilisateurs qui souhaitent essayer Kubernetes ou le développer au quotidien. -{{% /capture %}} -{{% capture body %}} + + ## Fonctionnalités de Minikube @@ -530,4 +530,4 @@ Les développeurs de minikube sont dans le canal #minikube du [Slack](https://ku Nous avons également la liste de diffusion [kubernetes-dev Google Groupes](https://groups.google.com/forum/#!forum/kubernetes-dev). Si vous publiez sur la liste, veuillez préfixer votre sujet avec "minikube:". -{{% /capture %}} + diff --git a/content/fr/docs/setup/pick-right-solution.md b/content/fr/docs/setup/pick-right-solution.md index 2571698270..929e7ffbfb 100644 --- a/content/fr/docs/setup/pick-right-solution.md +++ b/content/fr/docs/setup/pick-right-solution.md @@ -4,10 +4,10 @@ reviewers: title: Choisir la bonne solution description: Panorama de solutions Kubernetes weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kubernetes peut fonctionner sur des plateformes variées: sur votre PC portable, sur des VMs d'un fournisseur de cloud, ou un rack de serveurs bare-metal. L'effort demandé pour configurer un cluster varie de l'éxécution d'une simple commande à la création @@ -28,9 +28,9 @@ déployer un cluster grâce à une seule ligne de commande par machine. cluster Kubernetes en partant du début. -{{% /capture %}} -{{% capture body %}} + + ## Solutions locales @@ -300,4 +300,4 @@ Le tableau ci-dessus est ordonné par versions testées et utilisées dans les n [3]: https://gist.github.com/erictune/2f39b22f72565365e59b -{{% /capture %}} + diff --git a/content/fr/docs/setup/release/building-from-source.md b/content/fr/docs/setup/release/building-from-source.md index e3e0891f08..b8a8e46bca 100644 --- a/content/fr/docs/setup/release/building-from-source.md +++ b/content/fr/docs/setup/release/building-from-source.md @@ -1,22 +1,22 @@ --- title: Construire une release -content_template: templates/concept +content_type: concept description: Construire une release de la documentation Kubernetes card: name: download weight: 20 title: Construire une release --- -{{% capture overview %}} + Vous pouvez soit compiler une version à partir des sources, soit télécharger une version pré-compilée. Si vous ne prévoyez pas de développer Kubernetes nous vous suggérons d'utiliser une version pré-compilée de la version actuelle, que l'on peut trouver dans le répertoire [Release Notes](/docs/setup/release/notes/). Le code source de Kubernetes peut être téléchargé sur le repo [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes). -{{% /capture %}} -{{% capture body %}} + + ## Installer à partir des sources Si vous installez simplement une version à partir des sources, il n'est pas nécessaire de mettre en place un environnement golang complet car tous les builds se font dans un conteneur Docker. @@ -31,4 +31,4 @@ make release Pour plus de détails sur le processus de release, voir le repertoire [`build`](http://releases.k8s.io/{{< param "githubbranch" >}}/build/) dans kubernetes/kubernetes. -{{% /capture %}} + diff --git a/content/fr/docs/tasks/_index.md b/content/fr/docs/tasks/_index.md index 63dc8f8e0f..357430288a 100644 --- a/content/fr/docs/tasks/_index.md +++ b/content/fr/docs/tasks/_index.md @@ -2,19 +2,19 @@ title: Tâches main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + Cette section de la documentation de Kubernetes contient des pages qui montrent comment effectuer des tâches individuelles. Une page montre comment effectuer une seule chose, généralement en donnant une courte séquence d'étapes. -{{% /capture %}} -{{% capture body %}} + + ## Interface web (Dashboard) {#dashboard} @@ -76,11 +76,12 @@ Configurer des GPUs NVIDIA pour les utiliser dans des noeuds dans un cluster. Configuration des huge pages comme une ressource planifiable dans un cluster. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Si vous souhaitez écrire une page, consultez [Création d'une PullRequest de documentation](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md index f40e6c4fa3..ba5d296adb 100644 --- a/content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/fr/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -1,6 +1,6 @@ --- title: Tableau de bord (Dashboard) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -8,7 +8,7 @@ card: title: Utiliser le tableau de bord (Dashboard) --- -{{% capture overview %}} + Le tableau de bord (Dashboard) est une interface web pour Kubernetes. Vous pouvez utiliser ce tableau de bord pour déployer des applications conteneurisées dans un cluster Kubernetes, dépanner votre application conteneurisée et gérer les ressources du cluster. @@ -19,9 +19,9 @@ Le tableau de bord fournit également des informations sur l'état des ressource ![Tableau de bord Kubernetes](/images/docs/ui-dashboard.png) -{{% /capture %}} -{{% capture body %}} + + ## Déploiement du tableau de bord @@ -212,10 +212,11 @@ Le visualiseur permet d’exploiter les logs des conteneurs appartenant à un se ![Visualisation de journaux](/images/docs/ui-dashboard-logs-view.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Pour plus d'informations, voir la page du projet [Kubernetes Dashboard](https://github.com/kubernetes/dashboard). -{{% /capture %}} + diff --git a/content/fr/docs/tasks/administer-cluster/developing-cloud-controller-manager.md b/content/fr/docs/tasks/administer-cluster/developing-cloud-controller-manager.md index 4e76fe2e26..2f2beaba83 100644 --- a/content/fr/docs/tasks/administer-cluster/developing-cloud-controller-manager.md +++ b/content/fr/docs/tasks/administer-cluster/developing-cloud-controller-manager.md @@ -1,9 +1,9 @@ --- title: Développer un Cloud Controller Manager -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} Dans les prochaines versions, Cloud Controller Manager sera le moyen privilégié d’intégrer Kubernetes à n’importe quel cloud. @@ -17,9 +17,9 @@ La plupart des implémentations de contrôleurs génériques seront au cœur du Pour approfondir un peu les détails de la mise en œuvre, tous les gestionnaires de contrôleurs de nuage vont importer des packages à partir de Kubernetes core, la seule différence étant que chaque projet enregistre son propre fournisseur de nuage en appelant [cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/master/plugins.go#L56-L66) où une variable globale des fournisseurs de cloud disponibles est mise à jour. -{{% /capture %}} -{{% capture body %}} + + ## Développement @@ -39,4 +39,4 @@ Vous pouvez trouver la liste [ici](/docs/tasks/administer-cluster/running-cloud- Pour les cloud in-tree, vous pouvez exécuter le in-tree cloud controller manager comme un [Daemonset](/examples/admin/cloud/ccm-example.yaml) dans votre cluster. Voir la [documentation sur l'exécution d'un cloud controller manager](/docs/tasks/administer-cluster/running-cloud-controller.md) pour plus de détails. -{{% /capture %}} + diff --git a/content/fr/docs/tasks/administer-cluster/running-cloud-controller.md b/content/fr/docs/tasks/administer-cluster/running-cloud-controller.md index 631eda2baf..d2e9a02420 100644 --- a/content/fr/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/fr/docs/tasks/administer-cluster/running-cloud-controller.md @@ -1,9 +1,9 @@ --- title: Kubernetes cloud-controller-manager -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state state="beta" >}} @@ -17,9 +17,9 @@ Pour des raisons de retro-compatibilité, le [cloud-controller-manager](https:// Les fournisseurs de cloud déjà pris en charge nativement par Kubernetes devraient utiliser le cloud-controller-manager ​disponible ​dans le code de Kubernetes pour effectuer une transition visant à faire sortir cette prise en charge du code de Kubernetes. Dans les futures versions de Kubernetes, tous les cloud-controller-manager seront développés en dehors du projet de base de Kubernetes géré par des sig leads ou des fournisseurs de cloud. -{{% /capture %}} -{{% capture body %}} + + ## Administration @@ -108,4 +108,4 @@ Actuellement, l’amorçage TLS suppose que Kubelet aie la possibilité de deman Pour créer et développer votre propre cloud-controller-manager, lisez la documentation [Développer un cloud-controller-manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager.md). -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/fr/docs/tasks/configure-pod-container/assign-cpu-resource.md index 0e65c98765..0845cf2806 100644 --- a/content/fr/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/fr/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -1,19 +1,20 @@ --- title: Allouer des ressources CPU aux conteneurs et aux pods -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + Cette page montre comment assigner une *demande* (request en anglais) de CPU et une *limite* de CPU à un conteneur. Un conteneur est garanti d'avoir autant de CPU qu'il le demande, mais n'est pas autorisé à utiliser plus de CPU que sa limite. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -43,10 +44,10 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## Créer un namespace @@ -222,9 +223,10 @@ Supprimez votre namespace : kubectl delete namespace cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### Pour les développeurs d'applications @@ -249,7 +251,7 @@ kubectl delete namespace cpu-example * [Configuration des quotas pour les objets API](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/fr/docs/tasks/configure-pod-container/assign-memory-resource.md index 93d4fd63c9..754e91972b 100644 --- a/content/fr/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/fr/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -1,16 +1,17 @@ --- title: Allouer des ressources mémoire aux conteneurs et aux pods -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + Cette page montre comment assigner une mémoire *request* et une mémoire *limit* à un conteneur. Un conteneur est garanti d'avoir autant de mémoire qu'il le demande, mais n'est pas autorisé à consommer plus de mémoire que sa limite. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -39,9 +40,9 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## Créer un namespace @@ -303,9 +304,10 @@ Supprimez votre namespace. Ceci va supprimer tous les Pods que vous avez créés kubectl delete namespace mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### Pour les développeurs d'applications @@ -329,7 +331,7 @@ kubectl delete namespace mem-example * [Configuration des quotas pour les objets API](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/assign-pods-nodes.md b/content/fr/docs/tasks/configure-pod-container/assign-pods-nodes.md index c3c1a2a5e9..3b102eee1f 100644 --- a/content/fr/docs/tasks/configure-pod-container/assign-pods-nodes.md +++ b/content/fr/docs/tasks/configure-pod-container/assign-pods-nodes.md @@ -1,20 +1,21 @@ --- title: Assigner des pods aux nœuds -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + Cette page montre comment assigner un Pod à un nœud particulier dans un cluster Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Ajouter un label à un nœud @@ -89,10 +90,11 @@ Vous pouvez également ordonnancer un pod sur un nœud spécifique via le param Utilisez le fichier de configuration pour créer un pod qui sera ordonnancé sur `foo-node` uniquement. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Pour en savoir plus sur [labels et selectors](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/configure-pod-initialization.md b/content/fr/docs/tasks/configure-pod-container/configure-pod-initialization.md index e31b0f10e6..6d1ca96b31 100644 --- a/content/fr/docs/tasks/configure-pod-container/configure-pod-initialization.md +++ b/content/fr/docs/tasks/configure-pod-container/configure-pod-initialization.md @@ -1,21 +1,22 @@ --- title: Configurer l'initialisation du pod -content_template: templates/task +content_type: task weight: 130 --- -{{% capture overview %}} + Cette page montre comment utiliser un Init conteneur pour initialiser un Pod avant de lancer un conteneur d'application. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Créer un Pod qui a un Init Container @@ -71,9 +72,10 @@ La sortie montre que nginx sert la page web qui a été écrite par le conteneur

    Kubernetes is open source giving you the freedom to take advantage ...

    ... -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pour en savoir plus sur [communiquer entre conteneurs fonctionnant dans le même Pod](/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/). @@ -81,6 +83,6 @@ La sortie montre que nginx sert la page web qui a été écrite par le conteneur * Pour en savoir plus sur [Volumes](/docs/concepts/storage/volumes/). * Pour en savoir plus sur [Débogage des Init Conteneurs](/docs/tasks/debug-application-cluster/debug-init-containers/) -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/fr/docs/tasks/configure-pod-container/configure-volume-storage.md index fe35b1cb8b..eed01fc4ed 100644 --- a/content/fr/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/fr/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -1,10 +1,10 @@ --- title: Configurer un pod en utilisant un volume pour le stockage -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + Cette page montre comment configurer un Pod pour utiliser un Volume pour le stockage. @@ -12,15 +12,16 @@ Le système de fichiers d'un conteneur ne vit que tant que le conteneur vit. Ain [Volume](/fr/docs/concepts/storage/volumes/). C'est particulièrement important pour les applications Stateful, telles que les key-value stores (comme par exemple Redis) et les bases de données. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Configurer un volume pour un Pod @@ -120,9 +121,10 @@ fixé à `Always`. kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Voir [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core). @@ -130,6 +132,6 @@ fixé à `Always`. * En plus du stockage sur disque local fourni par `emptyDir`, Kubernetes supporte de nombreuses solutions de stockage connectées au réseau, y compris PD sur GCE et EBS sur EC2, qui sont préférés pour les données critiques et qui s'occuperont des autres détails tels que le montage et le démontage sur les nœuds. Voir [Volumes](/fr/docs/concepts/storage/volumes/) pour plus de détails. -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/extended-resource.md b/content/fr/docs/tasks/configure-pod-container/extended-resource.md index a19980c5b8..439714f6fd 100644 --- a/content/fr/docs/tasks/configure-pod-container/extended-resource.md +++ b/content/fr/docs/tasks/configure-pod-container/extended-resource.md @@ -1,19 +1,20 @@ --- title: Affecter des ressources supplémentaires à un conteneur -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + Cette page montre comment affecter des ressources supplémentaires à un conteneur. {{< feature-state state="stable" >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -21,10 +22,10 @@ Avant de commencer cet exercice, procédez à l'exercice en [Annoncer des ressources supplémentaires pour un nœud](/docs/tasks/administer-cluster/extended-resource-node/). Cela configurera l'un de vos nœuds pour qu'il annoncera une ressource dongle. -{{% /capture %}} -{{% capture steps %}} + + ## Affecter une ressource supplémentaire à un Pod @@ -124,9 +125,10 @@ kubectl delete pod extended-resource-demo kubectl delete pod extended-resource-demo-2 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### Pour les développeurs d'applications @@ -137,4 +139,3 @@ kubectl delete pod extended-resource-demo-2 * [Annoncer des ressources supplémentaires pour un nœud](/docs/tasks/administer-cluster/extended-resource-node/) -{{% /capture %}} \ No newline at end of file diff --git a/content/fr/docs/tasks/configure-pod-container/pull-image-private-registry.md b/content/fr/docs/tasks/configure-pod-container/pull-image-private-registry.md index 471448889e..efe9ee74fa 100644 --- a/content/fr/docs/tasks/configure-pod-container/pull-image-private-registry.md +++ b/content/fr/docs/tasks/configure-pod-container/pull-image-private-registry.md @@ -1,25 +1,26 @@ --- title: Récupération d'une image d'un registre privé -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + Cette page montre comment créer un Pod qui utilise un Secret pour récupérer une image d'un registre privé. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Pour faire cet exercice, vous avez besoin d'un [Docker ID](https://docs.docker.com/docker-id/) et un mot de passe. -{{% /capture %}} -{{% capture steps %}} + + ## Connectez-vous à Docker @@ -193,9 +194,10 @@ kubectl apply -f my-private-reg-pod.yaml kubectl get pod private-reg ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pour en savoir plus sur les [Secrets](/docs/concepts/configuration/secret/). * Pour en savoir plus sur l'[utilisation d'un registre privé](/docs/concepts/containers/images/#using-a-private-registry). @@ -204,5 +206,5 @@ kubectl get pod private-reg * Voir [Secret](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core). * Voir le champ `imagePullSecrets` de [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core). -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/quality-service-pod.md b/content/fr/docs/tasks/configure-pod-container/quality-service-pod.md index c866951ddb..8b666ccd98 100644 --- a/content/fr/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/fr/docs/tasks/configure-pod-container/quality-service-pod.md @@ -1,25 +1,26 @@ --- title: Configurer la qualité de service pour les pods -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + Cette page montre comment configurer les Pods pour qu'ils soient affectés à des classes particulières de qualité de service (QoS). Kubernetes utilise des classes de QoS pour prendre des décisions concernant l'ordonnancement et les évictions des pods. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Les Classes de QoS @@ -224,9 +225,10 @@ Supprimez votre namespace. kubectl delete namespace qos-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### Pour les développeurs d'applications @@ -251,7 +253,7 @@ kubectl delete namespace qos-example * [Configuration du quota de pods pour un Namespace](/docs/tasks/administer-cluster/quota-pod-namespace/) * [Configuration des quotas pour les objets API](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/fr/docs/tasks/configure-pod-container/translate-compose-kubernetes.md b/content/fr/docs/tasks/configure-pod-container/translate-compose-kubernetes.md index 444da1ff0a..f856847e85 100644 --- a/content/fr/docs/tasks/configure-pod-container/translate-compose-kubernetes.md +++ b/content/fr/docs/tasks/configure-pod-container/translate-compose-kubernetes.md @@ -1,23 +1,24 @@ --- title: Convertir un fichier Docker Compose en ressources Kubernetes -content_template: templates/task +content_type: task weight: 200 --- -{{% capture overview %}} + C'est quoi Kompose ? C'est un outil de conversion de tout ce qui compose (notamment Docker Compose) en orchestrateurs de conteneurs (Kubernetes ou OpenShift). Vous trouverez plus d'informations sur le site web de Kompose à [http://kompose.io](http:/kompose.io). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Installer Kompose @@ -192,9 +193,9 @@ En quelques étapes, nous vous emmenons de Docker Compose à Kubernetes. Tous do $ curl http://192.0.2.89 ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Guide de l'utilisateur @@ -600,4 +601,4 @@ Kompose supporte les versions Docker Compose : 1, 2 et 3. Nous avons un support Une liste complète sur la compatibilité entre les trois versions est donnée dans notre [document de conversion](https://github.com/kubernetes/kompose/blob/master/docs/conversion.md) incluant une liste de toutes les clés Docker Compose incompatibles. -{{% /capture %}} + diff --git a/content/fr/docs/tasks/debug-application-cluster/get-shell-running-container.md b/content/fr/docs/tasks/debug-application-cluster/get-shell-running-container.md index c699134a4e..b5fb0012a1 100644 --- a/content/fr/docs/tasks/debug-application-cluster/get-shell-running-container.md +++ b/content/fr/docs/tasks/debug-application-cluster/get-shell-running-container.md @@ -1,21 +1,22 @@ --- title: Obtenez un shell dans un conteneur en cours d'exécution -content_template: templates/task +content_type: task --- -{{% capture overview %}} + Cette page montre comment utiliser `kubectl exec` pour obtenir un shell dans un conteneur en cours d'exécution. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Obtenir un shell dans un conteneur @@ -116,9 +117,9 @@ kubectl exec shell-demo ls / kubectl exec shell-demo cat /proc/1/mounts ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Ouverture d'un shell lorsqu'un pod possède plusieurs conteneurs @@ -130,10 +131,11 @@ La commande suivante ouvrirait un shell sur le conteneur de l'application princi kubectl exec -it my-pod --container main-app -- /bin/bash ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubectl exec](/docs/reference/generated/kubectl/kubectl-commands/#exec) -{{% /capture %}} + diff --git a/content/fr/docs/tasks/tools/install-kubectl.md b/content/fr/docs/tasks/tools/install-kubectl.md index 2d1f50fccd..8d60357aea 100644 --- a/content/fr/docs/tasks/tools/install-kubectl.md +++ b/content/fr/docs/tasks/tools/install-kubectl.md @@ -4,7 +4,7 @@ reviewers: - rbenzair title: Installer et configurer kubectl description: Installation et configuration de kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -12,15 +12,16 @@ card: title: Installer kubectl --- -{{% capture overview %}} + L'outil en ligne de commande de kubernetes, [kubectl](/docs/user-guide/kubectl/), vous permet d'exécuter des commandes dans les clusters Kubernetes. Vous pouvez utiliser kubectl pour déployer des applications, inspecter et gérer les ressources du cluster et consulter les logs. Pour une liste complète des opérations kubectl, voir [Aperçu de kubectl](/fr/docs/reference/kubectl/overview/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Vous devez utiliser une version de kubectl qui différe seulement d'une version mineure de la version de votre cluster. Par exemple, un client v1.2 doit fonctionner avec un master v1.1, v1.2 et v1.3. L'utilisation de la dernière version de kubectl permet d'éviter des problèmes imprévus. -{{% /capture %}} -{{% capture steps %}} + + ## Installer kubectl sur Linux @@ -470,12 +471,13 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Installer Minikube](/docs/tasks/tools/install-minikube/) * Voir les [guides de démarrage](/fr/docs/setup/) pour plus d'informations sur la création de clusters. * [Apprenez comment lancer et exposer votre application](/docs/tasks/access-application-cluster/service-access-application-cluster/) * Si vous avez besoin d'accéder à un cluster que vous n'avez pas créé, consultez [Partager l'accès du Cluster](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). * Consulter les [documents de référence de kubectl](/fr/docs/reference/kubectl/kubectl/) -{{% /capture %}} + diff --git a/content/fr/docs/tasks/tools/install-minikube.md b/content/fr/docs/tasks/tools/install-minikube.md index e704e1bfa1..0e3f8ff424 100644 --- a/content/fr/docs/tasks/tools/install-minikube.md +++ b/content/fr/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Installer Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + Cette page vous montre comment installer [Minikube](/fr/docs/tutorials/hello-minikube/), qui est un outil qui fait tourner un cluster Kubernetes à un noeud unique dans une machine virtuelle sur votre machine. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="Linux" %}} @@ -53,9 +54,9 @@ Configuration requise pour Hyper-V: un hyperviseur a été détecté. Les foncti {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # Installer Minikube @@ -200,13 +201,14 @@ Pour installer Minikube manuellement sur Windows, téléchargez [`minikube-windo {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Exécutez Kubernetes localement via Minikube](/fr/docs/setup/learning-environment/minikube/) -{{% /capture %}} + ## Confirmer l'installation diff --git a/content/fr/docs/tutorials/_index.md b/content/fr/docs/tutorials/_index.md index 22d44440f3..10e1124620 100644 --- a/content/fr/docs/tutorials/_index.md +++ b/content/fr/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: Tutoriels main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Cette section de la documentation de Kubernetes contient des tutoriels. @@ -13,9 +13,9 @@ Un tutoriel montre comment atteindre un objectif qui est plus grand qu'une simpl Avant d'explorer chacun des tutoriels, il peut-être utile de garder un signet pour le [Glossaire standardisé](/docs/reference/glossary/) pour pouvoir le consulter plus facilement par la suite. -{{% /capture %}} -{{% capture body %}} + + ## Elémentaires @@ -66,10 +66,11 @@ Avant d'explorer chacun des tutoriels, il peut-être utile de garder un signet p * [Utiliser Source IP (EN)](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Si vous voulez écrire un tutoriel, regardez la section des modèles de page de tutoriel dans l'[Utilisation des modèles de pages ](/docs/home/contribute/page-templates/). -{{% /capture %}} + diff --git a/content/fr/docs/tutorials/hello-minikube.md b/content/fr/docs/tutorials/hello-minikube.md index 71f9d0f1ee..724919d0e6 100644 --- a/content/fr/docs/tutorials/hello-minikube.md +++ b/content/fr/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 description: Tutoriel Minikube menu: @@ -14,7 +14,7 @@ card: weight: 10 --- -{{% capture overview %}} + Ce tutoriel vous montre comment exécuter une simple application Hello World Node.js sur Kubernetes en utilisant [Minikube](/docs/getting-started-guides/minikube/) et Katacoda. Katacoda fournit un environnement Kubernetes gratuit dans le navigateur. @@ -23,17 +23,19 @@ Katacoda fournit un environnement Kubernetes gratuit dans le navigateur. Vous pouvez également suivre ce tutoriel si vous avez installé [Minikube localement](/docs/tasks/tools/install-minikube/). {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Déployez une application Hello World sur Minikube. * Lancez l'application. * Afficher les journaux des applications. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Ce tutoriel fournit une image de conteneur construite à partir des fichiers suivants : @@ -43,9 +45,9 @@ Ce tutoriel fournit une image de conteneur construite à partir des fichiers sui Pour plus d'informations sur la commande `docker build`, lisez la documentation de [Docker](https://docs.docker.com/engine/reference/commandline/build/). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Créer un cluster Minikube @@ -261,12 +263,13 @@ Si nécessaire, effacez la VM Minikube : minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * En savoir plus sur les [déploiement](/docs/concepts/workloads/controllers/deployment/). * En savoir plus sur le [Déploiement d'applications](/docs/user-guide/deploying-applications/). * En savoir plus sur les [Services](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 7d031344565a44b3943f99dfb2392dc0f6cb3f18 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:41:48 -0400 Subject: [PATCH 334/533] add id pages --- content/id/docs/concepts/_index.md | 14 +++++------ .../concepts/architecture/cloud-controller.md | 10 ++++---- .../docs/concepts/architecture/controller.md | 15 +++++------ .../architecture/master-node-communication.md | 10 ++++---- .../id/docs/concepts/architecture/nodes.md | 10 ++++---- .../concepts/cluster-administration/addons.md | 10 ++++---- .../cluster-administration/certificates.md | 10 ++++---- .../cluster-administration/cloud-providers.md | 10 ++++---- .../cluster-administration-overview.md | 10 ++++---- .../controller-metrics.md | 10 ++++---- .../cluster-administration/federation.md | 15 +++++------ .../cluster-administration/flow-control.md | 15 +++++------ .../kubelet-garbage-collection.md | 15 +++++------ .../cluster-administration/logging.md | 10 ++++---- .../manage-deployment.md | 15 +++++------ .../cluster-administration/monitoring.md | 15 +++++------ .../cluster-administration/networking.md | 15 +++++------ .../cluster-administration/proxies.md | 10 ++++---- .../concepts/configuration/assign-pod-node.md | 15 +++++------ .../manage-compute-resources-container.md | 15 +++++------ .../organize-cluster-access-kubeconfig.md | 15 +++++------ .../docs/concepts/configuration/overview.md | 10 ++++---- .../concepts/configuration/pod-overhead.md | 15 +++++------ .../configuration/pod-priority-preemption.md | 10 ++++---- .../configuration/resource-bin-packing.md | 10 ++++---- .../id/docs/concepts/configuration/secret.md | 13 +++++----- .../configuration/taint-and-toleration.md | 8 +++--- .../containers/container-environment.md | 15 +++++------ .../containers/container-lifecycle-hooks.md | 15 +++++------ content/id/docs/concepts/containers/images.md | 10 ++++---- .../id/docs/concepts/containers/overview.md | 9 +++---- .../docs/concepts/containers/runtime-class.md | 10 ++++---- .../api-extension/apiserver-aggregation.md | 14 +++++------ .../api-extension/custom-resources.md | 15 +++++------ .../compute-storage-net/device-plugins.md | 15 +++++------ .../compute-storage-net/network-plugins.md | 15 +++++------ .../extend-kubernetes/extend-cluster.md | 15 +++++------ .../concepts/extend-kubernetes/operator.md | 12 ++++----- .../poseidon-firmament-alternate-scheduler.md | 10 ++++---- .../extend-kubernetes/service-catalog.md | 15 +++++------ .../id/docs/concepts/overview/components.md | 10 ++++---- .../docs/concepts/overview/kubernetes-api.md | 10 ++++---- .../declarative-config.md | 13 +++++----- .../imperative-command.md | 15 +++++------ .../imperative-config.md | 15 +++++------ .../concepts/overview/what-is-kubernetes.md | 15 +++++------ .../working-with-objects/annotations.md | 15 +++++------ .../working-with-objects/common-labels.md | 10 ++++---- .../kubernetes-objects.md | 15 +++++------ .../overview/working-with-objects/labels.md | 10 ++++---- .../overview/working-with-objects/names.md | 10 ++++---- .../working-with-objects/namespaces.md | 10 ++++---- .../working-with-objects/object-management.md | 15 +++++------ .../concepts/policy/pod-security-policy.md | 10 ++++---- .../docs/concepts/policy/resource-quotas.md | 15 +++++------ .../concepts/scheduling/kube-scheduler.md | 15 +++++------ .../scheduling/scheduler-perf-tuning.md | 10 ++++---- .../scheduling/scheduling-framework.md | 10 ++++---- content/id/docs/concepts/security/overview.md | 15 +++++------ ...ries-to-pod-etc-hosts-with-host-aliases.md | 10 ++++---- .../connect-applications-service.md | 15 +++++------ .../services-networking/dns-pod-service.md | 15 +++++------ .../services-networking/dual-stack.md | 15 +++++------ .../services-networking/endpoint-slices.md | 15 +++++------ .../ingress-controllers.md | 15 +++++------ .../concepts/services-networking/ingress.md | 15 +++++------ .../services-networking/network-policies.md | 15 +++++------ .../services-networking/service-topology.md | 14 +++++------ .../concepts/services-networking/service.md | 15 +++++------ .../concepts/storage/dynamic-provisioning.md | 10 ++++---- .../concepts/storage/persistent-volumes.md | 10 ++++---- .../docs/concepts/storage/storage-classes.md | 10 ++++---- .../docs/concepts/storage/storage-limits.md | 10 ++++---- .../concepts/storage/volume-pvc-datasource.md | 10 ++++---- .../storage/volume-snapshot-classes.md | 10 ++++---- .../docs/concepts/storage/volume-snapshots.md | 10 ++++---- content/id/docs/concepts/storage/volumes.md | 13 +++++----- .../workloads/controllers/cron-jobs.md | 9 +++---- .../workloads/controllers/daemonset.md | 10 ++++---- .../workloads/controllers/deployment.md | 10 ++++---- .../controllers/garbage-collection.md | 15 +++++------ .../controllers/jobs-run-to-completion.md | 10 ++++---- .../workloads/controllers/replicaset.md | 9 +++---- .../controllers/replicationcontroller.md | 10 ++++---- .../workloads/controllers/statefulset.md | 15 +++++------ .../workloads/controllers/ttlafterfinished.md | 15 +++++------ .../concepts/workloads/pods/disruptions.md | 15 +++++------ .../workloads/pods/ephemeral-containers.md | 10 ++++---- .../workloads/pods/init-containers.md | 15 +++++------ .../concepts/workloads/pods/pod-lifecycle.md | 15 +++++------ .../concepts/workloads/pods/pod-overview.md | 15 +++++------ .../id/docs/concepts/workloads/pods/pod.md | 10 ++++---- .../docs/concepts/workloads/pods/podpreset.md | 15 +++++------ content/id/docs/contribute/_index.md | 8 +++--- .../id/docs/home/supported-doc-versions.md | 10 ++++---- .../id/docs/reference/kubectl/cheatsheet.md | 15 +++++------ content/id/docs/setup/_index.md | 15 +++++------ content/id/docs/tasks/_index.md | 15 +++++------ .../access-cluster.md | 10 ++++---- .../configure-access-multiple-clusters.md | 20 ++++++++------- ...port-forward-access-application-cluster.md | 24 ++++++++++-------- .../web-ui-dashboard.md | 15 +++++------ .../configure-pod-configmap.md | 24 ++++++++++-------- .../id/docs/tasks/example-task-template.md | 24 ++++++++++-------- .../define-environment-variable-container.md | 20 ++++++++------- .../job/automated-tasks-with-cron-jobs.md | 15 +++++------ .../id/docs/tasks/tools/install-kubectl.md | 20 ++++++++------- .../id/docs/tasks/tools/install-minikube.md | 20 ++++++++------- content/id/docs/tutorials/_index.md | 15 +++++------ content/id/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 110 files changed, 762 insertions(+), 696 deletions(-) diff --git a/content/id/docs/concepts/_index.md b/content/id/docs/concepts/_index.md index cd135ca14d..ebc205d84a 100644 --- a/content/id/docs/concepts/_index.md +++ b/content/id/docs/concepts/_index.md @@ -1,19 +1,19 @@ --- title: Konsep main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Bagian konsep ini membantu kamu belajar tentang bagian-bagian sistem serta abstraksi yang digunakan Kubernetes untuk merepresentasikan klaster kamu, serta membantu kamu belajar lebih dalam bagaimana cara kerja Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Ikhtisar @@ -97,12 +97,12 @@ dengan *node* secara langsung. * [Anotasi](/docs/concepts/overview/working-with-objects/annotations/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Jika kamu ingin menulis halaman konsep, perhatikan [cara penggunaan template pada laman](/docs/home/contribute/page-templates/) untuk informasi mengenai konsep tipe halaman dan *template* konsep. -{{% /capture %}} \ No newline at end of file diff --git a/content/id/docs/concepts/architecture/cloud-controller.md b/content/id/docs/concepts/architecture/cloud-controller.md index 03bc1c1f6a..2bde547273 100644 --- a/content/id/docs/concepts/architecture/cloud-controller.md +++ b/content/id/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Konsep-konsep di balik Controller Manager -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Konsep _Cloud Controller Manager_/CCM (jangan tertukar dengan program biner kube-controller-manager) awalnya dibuat untuk memungkinkan kode vendor _cloud_ spesifik dan kode inti Kubernetes untuk berkembang secara independen satu sama lainnya. CCM berjalan bersama dengan komponen Master lainnya seperti Kubernetes Controller Manager, API Server, dan Scheduler. CCM juga dapat dijalankan sebagai Kubernetes Addon (tambahan fungsi terhadap Kubernetes), yang akan berjalan di atas klaster Kubernetes. Desain CCM didasarkan pada mekanisme _plugin_ yang memungkinkan penyedia layanan _cloud_ untuk berintegrasi dengan Kubernetes dengan mudah dengan menggunakan _plugin_. Sudah ada rencana untuk pengenalan penyedia layanan _cloud_ baru pada Kubernetes, dan memindahkan penyedia layanan _cloud_ yang sudah ada dari model yang lama ke model CCM. @@ -15,10 +15,10 @@ Berikut adalah arsitektur sebuah klaster Kubernetes tanpa CCM: ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Desain @@ -234,4 +234,4 @@ Penyedia layanan cloud berikut telah mengimplementasikan CCM: Petunjuk lengkap untuk mengkonfigurasi dan menjalankan CCM disediakan [di sini](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/id/docs/concepts/architecture/controller.md b/content/id/docs/concepts/architecture/controller.md index 4ce6974b34..a0ff6b9256 100644 --- a/content/id/docs/concepts/architecture/controller.md +++ b/content/id/docs/concepts/architecture/controller.md @@ -1,10 +1,10 @@ --- title: Controller -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Dalam bidang robotika dan otomatisasi, _control loop_ atau kontrol tertutup adalah lingkaran tertutup yang mengatur keadaan suatu sistem. @@ -24,10 +24,10 @@ klaster saat ini mendekati keadaan yang diinginkan. {{< glossary_definition term_id="controller" length="short">}} -{{% /capture %}} -{{% capture body %}} + + ## Pola _controller_ @@ -168,11 +168,12 @@ satu kumpulan dari beberapa Pod, atau bisa juga sebagai bagian eksternal dari Kubernetes. Manakah yang paling sesuai akan tergantung pada apa yang _controller_ khusus itu lakukan. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Silahkan baca tentang [_control plane_ Kubernetes](/docs/concepts/#kubernetes-control-plane) * Temukan beberapa dasar tentang [objek-objek Kubernetes](/docs/concepts/#kubernetes-objects) * Pelajari lebih lanjut tentang [Kubernetes API](/docs/concepts/overview/kubernetes-api/) * Apabila kamu ingin membuat _controller_ sendiri, silakan lihat [pola perluasan](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) dalam memperluas Kubernetes. -{{% /capture %}} + diff --git a/content/id/docs/concepts/architecture/master-node-communication.md b/content/id/docs/concepts/architecture/master-node-communication.md index fcc9f66eed..80644983a4 100644 --- a/content/id/docs/concepts/architecture/master-node-communication.md +++ b/content/id/docs/concepts/architecture/master-node-communication.md @@ -1,19 +1,19 @@ --- title: Komunikasi Master-Node -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Dokumen ini menjelaskan tentang jalur-jalur komunikasi di antara klaster Kubernetes dan master yang sebenarnya hanya berhubungan dengan apiserver saja. Kenapa ada dokumen ini? Supaya kamu, para pengguna Kubernetes, punya gambaran bagaimana mengatur instalasi untuk memperketat konfigurasi jaringan di dalam klaster. Hal ini cukup penting, karena klaster bisa saja berjalan pada jaringan tak terpercaya (untrusted network), ataupun melalui alamat-alamat IP publik pada penyedia cloud. -{{% /capture %}} -{{% capture body %}} + + ## Klaster menuju Master @@ -74,4 +74,4 @@ Dengan ini, apiserver menginisiasi sebuah tunnel SSH untuk setiap node di Tunnel SSH saat ini sudah usang (deprecated), jadi sebaiknya jangan digunakan, kecuali kamu tahu pasti apa yang kamu lakukan. Sebuah desain baru untuk mengganti kanal komunikasi ini sedang disiapkan. -{{% /capture %}} + diff --git a/content/id/docs/concepts/architecture/nodes.md b/content/id/docs/concepts/architecture/nodes.md index 75875425c0..8913c9df65 100644 --- a/content/id/docs/concepts/architecture/nodes.md +++ b/content/id/docs/concepts/architecture/nodes.md @@ -1,10 +1,10 @@ --- title: Node -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Node merupakan sebuah mesin worker di dalam Kubernetes, yang sebelumnya dinamakan `minion`. Sebuah node bisa berupa VM ataupun mesin fisik, tergantung dari klaster-nya. @@ -12,10 +12,10 @@ Masing-masing node berisi beberapa servis yang berguna untuk menjalankan banyak Servis-servis di dalam sebuah node terdiri dari [runtime kontainer](/docs/concepts/overview/components/#node-components), kubelet dan kube-proxy. Untuk lebih detail, lihat dokumentasi desain arsitektur pada [Node Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node). -{{% /capture %}} -{{% capture body %}} + + ## Status Node @@ -228,4 +228,4 @@ Kalau kamu ingin secara eksplisit menyimpan resource cadangan untuk menja Node adalah tingkatan tertinggi dari resource di dalam Kubernetes REST API. Penjelasan lebih detail tentang obyek API dapat dilihat pada: [Obyek Node API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/addons.md b/content/id/docs/concepts/cluster-administration/addons.md index 0121182e3f..b404465d8f 100644 --- a/content/id/docs/concepts/cluster-administration/addons.md +++ b/content/id/docs/concepts/cluster-administration/addons.md @@ -1,9 +1,9 @@ --- title: Instalasi Add-ons -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + *Add-ons* berfungsi untuk menambah serta memperluas fungsionalitas dari Kubernetes. @@ -12,10 +12,10 @@ Laman ini akan menjabarkan beberapa *add-ons* yang tersedia serta tautan instruk *Add-ons* pada setiap bagian akan diurutkan secara alfabet - pengurutan ini tidak dilakukan berdasarkan status preferensi atau keunggulan. -{{% /capture %}} -{{% capture body %}} + + ## Jaringan dan *Policy* Jaringan @@ -50,4 +50,4 @@ Ada beberapa *add-on* lain yang didokumentasikan pada direktori deprekasi [*clus *Add-on* lain yang dipelihara dan dikelola dengan baik dapat ditulis di sini. Ditunggu PR-nya! -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/certificates.md b/content/id/docs/concepts/cluster-administration/certificates.md index dca5daec7a..a605a78547 100644 --- a/content/id/docs/concepts/cluster-administration/certificates.md +++ b/content/id/docs/concepts/cluster-administration/certificates.md @@ -1,18 +1,18 @@ --- title: Sertifikat -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Saat menggunakan autentikasi sertifikat klien, kamu dapat membuat sertifikat secara manual melalui `easyrsa`, `openssl` atau `cfssl`. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -247,4 +247,4 @@ Kamu dapat menggunakan API `Certificate.k8s.io` untuk menyediakan sertifikat x509 yang digunakan untuk autentikasi seperti yang didokumentasikan [di sini](/docs/tasks/tls/managing-tls-in-a-cluster). -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/cloud-providers.md b/content/id/docs/concepts/cluster-administration/cloud-providers.md index a130610fad..45820e3660 100644 --- a/content/id/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/id/docs/concepts/cluster-administration/cloud-providers.md @@ -1,15 +1,15 @@ --- title: Penyedia Layanan Cloud -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Laman ini akan menjelaskan bagaimana cara mengelola Kubernetes yang berjalan pada penyedia layanan cloud tertentu. -{{% /capture %}} -{{% capture body %}} + + ### Kubeadm [Kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) merupakan salah satu cara yang banyak digunakan untuk membuat klaster Kubernetes. Kubeadm memiliki beragam opsi untuk mengatur konfigurasi spesifik untuk penyedia layanan cloud. Salah satu contoh yang biasa digunakan pada penyedia cloud *in-tree* yang dapat diatur dengan kubeadm adalah sebagai berikut: @@ -303,7 +303,7 @@ dan harus berada pada bagian `[Router]` dari *file* `cloud.conf`: [kubenet]: /docs/concepts/cluster-administration/network-plugins/#kubenet -{{% /capture %}} + ## OVirt diff --git a/content/id/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/id/docs/concepts/cluster-administration/cluster-administration-overview.md index 67a6c36588..b485b5e142 100644 --- a/content/id/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/id/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -3,16 +3,16 @@ reviewers: - davidopp - lavalamp title: Ikhtisar Administrasi Klaster -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Ikhtisar administrasi klaster ini ditujukan untuk siapapun yang akan membuat atau mengelola klaster Kubernetes. Diharapkan untuk memahami beberapa [konsep](/docs/concepts/) dasar Kubernetes sebelumnya. -{{% /capture %}} -{{% capture body %}} + + ## Perencanaan Klaster Lihat panduan di [Persiapan](/docs/setup) untuk mempelajari beberapa contoh tentang bagaimana merencanakan, mengatur dan mengonfigurasi klaster Kubernetes. Solusi yang akan dipaparkan di bawah ini disebut *distro*. @@ -67,6 +67,6 @@ Catatan: Tidak semua distro aktif dikelola. Pilihlah distro yang telah diuji den * [*Logging* dan *Monitoring* Aktivitas Klaster](/docs/concepts/cluster-administration/logging/) akan menjelaskan bagaimana cara *logging* bekerja di Kubernetes serta bagaimana cara mengimplementasikannya. -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/controller-metrics.md b/content/id/docs/concepts/cluster-administration/controller-metrics.md index 3afade9907..c5df8c73e3 100644 --- a/content/id/docs/concepts/cluster-administration/controller-metrics.md +++ b/content/id/docs/concepts/cluster-administration/controller-metrics.md @@ -1,15 +1,15 @@ --- title: Metrik controller manager -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + Metrik _controller manager_ memberikan informasi penting tentang kinerja dan kesehatan dari _controller manager_. -{{% /capture %}} -{{% capture body %}} + + ## Tentang metrik _controller manager_ Metrik _controller manager_ ini berfungsi untuk memberikan informasi penting tentang kinerja dan kesehatan dari _controller manager_. @@ -39,4 +39,4 @@ Metrik ini dikeluarkan dalam bentuk [format prometheus](https://prometheus.io/do Pada _environment_ produksi, kamu mungkin juga ingin mengonfigurasi prometheus atau pengumpul metrik lainnya untuk mengumpulkan metrik-metrik ini secara berkala dalam bentuk basis data _time series_. -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/federation.md b/content/id/docs/concepts/cluster-administration/federation.md index b669501d72..7690a75a82 100644 --- a/content/id/docs/concepts/cluster-administration/federation.md +++ b/content/id/docs/concepts/cluster-administration/federation.md @@ -1,10 +1,10 @@ --- title: Federation -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -12,9 +12,9 @@ weight: 80 Laman ini menjelaskan alasan dan cara penggunaan _federation_ untuk melakukan manajemen klaster Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Kenapa _Federation_ ? _Federation_ membuat proses manajemen klaster multipel menjadi lebih mudah. @@ -181,9 +181,10 @@ Terakhir, jika klaster yang kamu miliki membutuhkan jumlah _node_ yang melebihi maka kamu membutuhkan lebih banyak klaster. Kubernetes v1.3 mampu menangani hingga 1000 node untuk setiap klaster. Kubernetes v1.8 mampu menangani hingga 5000 node untuk tiap klaster. Baca [Membangun Klaster Besar](/docs/setup/cluster-large/) untuk petunjuk lebih lanjut. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [proposal _Federation_](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/multicluster/federation.md). * Baca [petunjuk pengaktifan](/docs/tutorials/federation/set-up-cluster-federation-kubefed/) klaster _federation_. @@ -192,4 +193,4 @@ mampu menangani hingga 5000 node untuk tiap klaster. Baca [Membangun Klaster Bes * Lihat [_update_ _sig-multicluster_ pada Kubecon2018 Eropa](https://www.youtube.com/watch?v=vGZo5DaThQU) * Lihat [presentasi prototipe _Federation-v2_ pada Kubecon2018 Eropa](https://youtu.be/q27rbaX5Jis?t=7m20s) * Lihat [petunjuk penggunaan _Federation-v2_](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/userguide.md) -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/flow-control.md b/content/id/docs/concepts/cluster-administration/flow-control.md index e95bb84d82..b8d8f9acf7 100644 --- a/content/id/docs/concepts/cluster-administration/flow-control.md +++ b/content/id/docs/concepts/cluster-administration/flow-control.md @@ -1,10 +1,10 @@ --- title: Prioritas dan Kesetaraan API (API Priority and Fairness) -content_template: templates/concept +content_type: concept min-kubernetes-server-version: v1.18 --- -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.18" >}} @@ -32,9 +32,9 @@ opsi `--max-request-inflight` tanpa mengaktifkan APF. {{< /caution >}} -{{% /capture %}} -{{% capture body %}} + + ## Mengaktifkan prioritas dan kesetaraan API @@ -362,13 +362,14 @@ beban kerja yang berperilaku buruk yang dapat membahayakan kesehatan dari sistem berdasarkan FlowSchema yang cocok dengan permintaan dan tingkat prioritas yang ditetapkan pada permintaan tersebut. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Untuk latar belakang informasi mengenai detail desain dari prioritas dan kesetaraan API, silahkan lihat [proposal pembaharuan](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md). Kamu juga dapat membuat saran dan permintaan akan fitur melalui [SIG API Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery). -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/id/docs/concepts/cluster-administration/kubelet-garbage-collection.md index fd92c4896b..6990887cc1 100644 --- a/content/id/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/id/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,10 +1,10 @@ --- title: Konfigurasi Garbage Collection pada kubelet -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + *Garbage collection* merupakan fitur kubelet yang sangat bermanfaat, yang akan membersihkan *image-image* dan juga kontainer-kontainer yang tidak lagi digunakan. Kubelet akan melakukan *garbage collection* untuk kontainer setiap satu menit dan *garbage collection* untuk @@ -13,10 +13,10 @@ yang tidak lagi digunakan. Kubelet akan melakukan *garbage collection* untuk kon Perangkat *garbage collection* eksternal tidak direkomendasikan karena perangkat tersebut berpotensi merusak perilaku kubelet dengan menghilangkan kontainer-kontainer yang sebenarnya masih diperlukan. -{{% /capture %}} -{{% capture body %}} + + ## *Garbage Collection* untuk *Image* @@ -87,10 +87,11 @@ Beberapa fitur *Garbage Collection* pada kubelet di laman ini akan digantikan ol | `--low-diskspace-threshold-mb` | `--eviction-hard` atau `eviction-soft` | *eviction* memberi generalisasi *threshold* disk untuk *resource-resource* lainnya | | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | *eviction* memberi generalisasi transisi tekanan *disk* (*disk pressure*)untuk *resource-resource* lainnya | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Lihat [Konfigurasi untuk Menangani Kehabisan *Resource*](/docs/tasks/administer-cluster/out-of-resource/) untuk penjelasan lebih lanjut. -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/logging.md b/content/id/docs/concepts/cluster-administration/logging.md index 6ad7a86957..53203777f2 100644 --- a/content/id/docs/concepts/cluster-administration/logging.md +++ b/content/id/docs/concepts/cluster-administration/logging.md @@ -1,19 +1,19 @@ --- title: Arsitektur Logging -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Log aplikasi dan sistem dapat membantu kamu untuk memahami apa yang terjadi di dalam klaster kamu. Log berguna untuk mengidentifikasi dan menyelesaikan masalah serta memonitor aktivitas klaster. Hampir semua aplikasi modern mempunyai sejenis mekanisme log sehingga hampir semua mesin kontainer didesain untuk mendukung suatu mekanisme _logging_. Metode _logging_ yang paling mudah untuk aplikasi dalam bentuk kontainer adalah menggunakan _standard output_ dan _standard error_. Namun, fungsionalitas bawaan dari mesin kontainer atau _runtime_ biasanya tidak cukup memadai sebagai solusi log. Contohnya, jika sebuah kontainer gagal, sebuah pod dihapus, atau suatu _node_ mati, kamu biasanya tetap menginginkan untuk mengakses log dari aplikasimu. Oleh sebab itu, log sebaiknya berada pada penyimpanan dan _lifecyle_ yang terpisah dari node, pod, atau kontainer. Konsep ini dinamakan sebagai _logging_ pada level klaster. _Logging_ pada level klaster ini membutuhkan _backend_ yang terpisah untuk menyimpan, menganalisis, dan mengkueri log. Kubernetes tidak menyediakan solusi bawaan untuk penyimpanan data log, namun kamu dapat mengintegrasikan beragam solusi _logging_ yang telah ada ke dalam klaster Kubernetes kamu. -{{% /capture %}} -{{% capture body %}} + + Arsitektur _logging_ pada level klaster yang akan dijelaskan berikut mengasumsikan bahwa sebuah _logging backend_ telah tersedia baik di dalam maupun di luar klastermu. Meskipun kamu tidak tertarik menggunakan _logging_ pada level klaster, penjelasan tentang bagaimana log disimpan dan ditangani pada node di bawah ini mungkin dapat berguna untukmu. @@ -195,4 +195,4 @@ Ingat, ini hanya contoh saja dan kamu dapat mengganti fluentd dengan agen _loggi Kamu dapat mengimplementasikan klaster-level _logging_ dengan mengekspos atau mengeluarkan log langsung dari tiap aplikasi; namun cara implementasi mekanisme _logging_ tersebut diluar cakupan dari Kubernetes. -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/manage-deployment.md b/content/id/docs/concepts/cluster-administration/manage-deployment.md index 5a94792af2..81c0ba4d08 100644 --- a/content/id/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/id/docs/concepts/cluster-administration/manage-deployment.md @@ -1,17 +1,17 @@ --- title: Mengelola Resource -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Kamu telah melakukan _deploy_ pada aplikasimu dan mengeksposnya melalui sebuah _service_. Lalu? Kubernetes menyediakan berbagai peralatan untuk membantu mengatur mekanisme _deploy_ aplikasi, termasuk pengaturan kapasitas dan pembaruan. Diantara fitur yang akan didiskusikan lebih mendalam yaitu [berkas konfigurasi](/docs/concepts/configuration/overview/) dan [label](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} -{{% capture body %}} + + ## Mengelola konfigurasi _resource_ @@ -434,11 +434,12 @@ kubectl edit deployment/my-nginx Selesai! Deployment akan memperbarui aplikasi nginx yang terdeploy secara berangsur di belakang. Dia akan menjamin hanya ada sekian replika lama yang akan down selagi pembaruan berjalan dan hanya ada sekian replika baru akan dibuat melebihi jumlah pod. Untuk mempelajari lebih lanjut, kunjungi [laman Deployment](/docs/concepts/workloads/controllers/deployment/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Pelajari tentang bagaimana memakai `kubectl` untuk memeriksa dan _debug_ aplikasi.](/docs/tasks/debug-application-cluster/debug-application-introspection/) - [Praktik Terbaik dan Tips Konfigurasi](/docs/concepts/configuration/overview/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/monitoring.md b/content/id/docs/concepts/cluster-administration/monitoring.md index 501719a757..f4917496a9 100644 --- a/content/id/docs/concepts/cluster-administration/monitoring.md +++ b/content/id/docs/concepts/cluster-administration/monitoring.md @@ -1,12 +1,12 @@ --- title: Metrik-Metrik untuk Control Plane Kubernetes -content_template: templates/concept +content_type: concept weight: 60 aliases: - controller-metrics.md --- -{{% capture overview %}} + Metrik dari komponen sistem dapat memberikan pandangan yang lebih baik tentang apa yang sedang terjadi di dalam sistem. Metrik sangat berguna untuk membuat dasbor (_dashboard_) @@ -15,9 +15,9 @@ dan peringatan (_alert_). Metrik di dalam _control plane_ Kubernetes disajikan dalam [format prometheus](https://prometheus.io/docs/instrumenting/exposition_formats/) dan dapat terbaca oleh manusia. -{{% /capture %}} -{{% capture body %}} + + ## Metrik-Metrik pada Kubernetes @@ -158,10 +158,11 @@ cloudprovider_gce_api_request_duration_seconds { request = "detach_disk"} cloudprovider_gce_api_request_duration_seconds { request = "list_disk"} ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Baca tentang [format teks Prometheus](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-based-format) untuk berbagai metrik * Lihat daftar [metrik Kubernetes yang _stable_](https://github.com/kubernetes/kubernetes/blob/master/test/instrumentation/testdata/stable-metrics-list.yaml) * Baca tentang [kebijakan _deprecation_ Kubernetes](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-feature-or-behavior ) -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/networking.md b/content/id/docs/concepts/cluster-administration/networking.md index 23fd828fa7..038465bcb8 100644 --- a/content/id/docs/concepts/cluster-administration/networking.md +++ b/content/id/docs/concepts/cluster-administration/networking.md @@ -1,10 +1,10 @@ --- title: Jaringan Kluster -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Jaringan adalah bagian utama dari Kubernetes, tetapi bisa menjadi sulit untuk memahami persis bagaimana mengharapkannya bisa bekerja. Ada 4 masalah yang berbeda untuk diatasi: @@ -15,10 +15,10 @@ Ada 4 masalah yang berbeda untuk diatasi: 3. Komunikasi Pod dengan Service: ini terdapat di [Service](/docs/concepts/services-networking/service/). 4. Komunikasi eksternal dengan Service: ini terdapat di [Service](/docs/concepts/services-networking/service/). -{{% /capture %}} -{{% capture body %}} + + Kubernetes adalah tentang berbagi mesin antar aplikasi. Pada dasarnya, saat berbagi mesin harus memastikan bahwa dua aplikasi tidak mencoba menggunakan @@ -219,10 +219,11 @@ Calico juga dapat dijalankan dalam mode penegakan kebijakan bersama dengan solus [Weave Net](https://www.weave.works/products/weave-net/) adalah jaringan yang tangguh dan mudah digunakan untuk Kubernetes dan aplikasi yang dihostingnya. Weave Net berjalan sebagai [plug-in CNI](https://www.weave.works/docs/net/latest/cni-plugin/) atau berdiri sendiri. Di kedua versi, itu tidak memerlukan konfigurasi atau kode tambahan untuk dijalankan, dan dalam kedua kasus, jaringan menyediakan satu alamat IP per Pod - seperti standar untuk Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Desain awal model jaringan dan alasannya, dan beberapa rencana masa depan dijelaskan secara lebih rinci dalam [dokumen desain jaringan](https://git.k8s.io/community/contributors/design-proposals/network/networking.md). -{{% /capture %}} + diff --git a/content/id/docs/concepts/cluster-administration/proxies.md b/content/id/docs/concepts/cluster-administration/proxies.md index 50fa737c51..5595414aa9 100644 --- a/content/id/docs/concepts/cluster-administration/proxies.md +++ b/content/id/docs/concepts/cluster-administration/proxies.md @@ -1,14 +1,14 @@ --- title: Berbagai Proxy di Kubernetes -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Laman ini menjelaskan berbagai proxy yang ada di dalam Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Berbagai Jenis Proxy @@ -62,4 +62,4 @@ Untuk proxy-proxy lain di luar ini, admin klaster biasanya akan memastika Proxy telah menggantikan fungsi redirect. Redirect telah terdeprekasi. -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/assign-pod-node.md b/content/id/docs/concepts/configuration/assign-pod-node.md index 12cf9433d6..8af1abba28 100644 --- a/content/id/docs/concepts/configuration/assign-pod-node.md +++ b/content/id/docs/concepts/configuration/assign-pod-node.md @@ -1,19 +1,19 @@ --- title: Menetapkan Pod ke Node -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Kamu dapat memaksa sebuah [pod](/docs/concepts/workloads/pods/pod/) untuk hanya dapat berjalan pada [node](/docs/concepts/architecture/nodes/) tertentu atau mengajukannya agar berjalan pada node tertentu. Ada beberapa cara untuk melakukan hal tersebut. Semua cara yang direkomendasikan adalah dengan menggunakan [_selector_ label](/docs/concepts/overview/working-with-objects/labels/) untuk menetapkan pilihan yang kamu inginkan. Pada umumnya, pembatasan ini tidak dibutuhkan, sebagaimana _scheduler_ akan melakukan penempatan yang proporsional dengan otomatis (seperti contohnya menyebar pod di node-node, tidak menempatkan pod pada node dengan sumber daya yang tidak memadai, dst.) tetapi ada keadaan-keadaan tertentu yang membuat kamu memiliki kendali lebih terhadap node yang menjadi tempat pod dijalankan, contohnya untuk memastikan pod dijalankan pada mesin yang telah terpasang SSD, atau untuk menempatkan pod-pod dari dua servis yang berbeda yang sering berkomunikasi bersamaan ke dalam zona ketersediaan yang sama. Kamu dapat menemukan semua berkas untuk contoh-contoh berikut pada [dokumentasi yang kami sediakan di sini](https://github.com/kubernetes/website/tree/{{< param "docsbranch" >}}/content/en/docs/concepts/configuration/) -{{% /capture %}} -{{% capture body %}} + + ## nodeSelector @@ -317,8 +317,9 @@ spec: ``` Pod di atas akan berjalan pada node kube-01. -{{% /capture %}} -{{% capture whatsnext %}} -{{% /capture %}} +## {{% heading "whatsnext" %}} + + + diff --git a/content/id/docs/concepts/configuration/manage-compute-resources-container.md b/content/id/docs/concepts/configuration/manage-compute-resources-container.md index 61212e571d..3450bab459 100644 --- a/content/id/docs/concepts/configuration/manage-compute-resources-container.md +++ b/content/id/docs/concepts/configuration/manage-compute-resources-container.md @@ -1,6 +1,6 @@ --- title: Mengatur Sumber Daya Komputasi untuk Container -content_template: templates/concept +content_type: concept weight: 20 feature: title: Bin Packing Otomatis @@ -8,7 +8,7 @@ feature: Menaruh kontainer-kontainer secara otomatis berdasarkan kebutuhan sumber daya mereka dan batasan-batasan lainnya, tanpa mengorbankan ketersediaan. Membaurkan beban-beban kerja kritis dan _best-effort_ untuk meningkatkan penggunaan sumber daya dan menghemat lebih banyak sumber daya. --- -{{% capture overview %}} + Saat kamu membuat spesifikasi sebuah [Pod](/docs/concepts/workloads/pods/pod/), kamu dapat secara opsional menentukan seberapa banyak CPU dan memori (RAM) yang dibutuhkan @@ -18,9 +18,9 @@ untuk menaruh Pod-Pod. Dan saat limit (batas) sumber daya Container-Container te maka kemungkinan rebutan sumber daya pada sebuah Node dapat dihindari. Untuk informasi lebih lanjut mengenai perbedaan `request` dan `limit`, lihat [QoS Sumber Daya](https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md). -{{% /capture %}} -{{% capture body %}} + + ## Jenis-jenis sumber daya @@ -615,10 +615,11 @@ spec: -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Dapatkan pengalaman langsung [menentukan sumber daya memori untuk Container dan Pod](/docs/tasks/configure-pod-container/assign-memory-resource/). @@ -628,4 +629,4 @@ spec: * [ResourceRequirements](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcerequirements-v1-core) -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/organize-cluster-access-kubeconfig.md b/content/id/docs/concepts/configuration/organize-cluster-access-kubeconfig.md index f9eb8aa3cd..929c895821 100644 --- a/content/id/docs/concepts/configuration/organize-cluster-access-kubeconfig.md +++ b/content/id/docs/concepts/configuration/organize-cluster-access-kubeconfig.md @@ -1,10 +1,10 @@ --- title: Mengatur Akses Klaster Menggunakan Berkas kubeconfig -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Gunakan berkas kubeconfig untuk mengatur informasi mengenai klaster, pengguna, _namespace_, dan mekanisme autentikasi. Perintah `kubectl` menggunakan berkas @@ -26,10 +26,10 @@ Instruksi langkah demi langkah untuk membuat dan menentukan berkas kubeconfig, bisa mengacu pada [Mengatur Akses Pada Beberapa Klaster] (/docs/tasks/access-application-cluster/configure-access-multiple-clusters). -{{% /capture %}} -{{% capture body %}} + + ## Mendukung beberapa klaster, pengguna, dan mekanisme autentikasi @@ -152,14 +152,15 @@ Referensi _file_ pada perintah adalah relatif terhadap direktori kerja saat ini. Dalam `$HOME/.kube/config`, _relative path_ akan disimpan secara relatif, dan _absolute path_ akan disimpan secara mutlak. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Mengatur Akses Pada Beberapa Klaster](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) * [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/overview.md b/content/id/docs/concepts/configuration/overview.md index 7dfcc8f503..76d68658ec 100644 --- a/content/id/docs/concepts/configuration/overview.md +++ b/content/id/docs/concepts/configuration/overview.md @@ -1,16 +1,16 @@ --- title: Konfigurasi dan Penerapan Konsep -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Dokumen ini menyoroti dan memperkuat pemahaman konsep konfigurasi yang dikenalkan di seluruh panduan pengguna, dokumentasi Memulai, dan contoh-contoh. Dokumentasi ini terbuka. Jika Anda menemukan sesuatu yang tidak ada dalam daftar ini tetapi mungkin bermanfaat bagi orang lain, jangan ragu untuk mengajukan issue atau mengirimkan PR. -{{% /capture %}} -{{% capture body %}} + + ## Tip konfigurasi secara umum @@ -109,6 +109,6 @@ Semantik caching dari penyedia gambar yang mendasarinya membuat bahkan `imagePul - Gunakan `kubectl run` dan` kubectl expose` untuk dengan cepat membuat Deployment dan Service single-container. Lihat [Use a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster/) untuk Contoh. -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/pod-overhead.md b/content/id/docs/concepts/configuration/pod-overhead.md index 3c661e4bd5..e59301bb96 100644 --- a/content/id/docs/concepts/configuration/pod-overhead.md +++ b/content/id/docs/concepts/configuration/pod-overhead.md @@ -1,10 +1,10 @@ --- title: Overhead Pod -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -13,10 +13,10 @@ Ketika kamu menjalankan Pod pada Node, Pod itu akan mengambil sejumlah sumber da _Pod Overhead_ adalah fitur yang berfungsi untuk menghitung sumber daya digunakan oleh infrastruktur Pod selain permintaan dan limit Container. -{{% /capture %}} -{{% capture body %}} + + ## Overhead Pod @@ -44,11 +44,12 @@ Pengguna yang dapat mengubah sumber daya RuntimeClass dapat memengaruhi kinerja Lihat [Ringkasan Otorisasi](/docs/reference/access-authn-authz/authorization/) untuk lebih lanjut. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [RuntimeClass](/docs/concepts/containers/runtime-class/) * [Desain PodOverhead](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/pod-priority-preemption.md b/content/id/docs/concepts/configuration/pod-priority-preemption.md index ba19136fa1..a0c6035482 100644 --- a/content/id/docs/concepts/configuration/pod-priority-preemption.md +++ b/content/id/docs/concepts/configuration/pod-priority-preemption.md @@ -1,10 +1,10 @@ --- title: Prioritas dan Pemindahan Pod -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.14" state="stable" >}} @@ -27,9 +27,9 @@ Versi Kubernetes | Keadaan Priority and Pemindahan | Dihidupkan secara Bawaan {{< warning >}}Pada sebuah klaster di mana tidak semua pengguna dipercaya, seorang pengguna yang berniat jahat dapat membuat Pod-pod dengan prioritas paling tinggi, membuat Pod-pod lainnya dipindahkan/tidak dapat dijadwalkan. Untuk mengatasi masalah ini, [ResourceQuota](/docs/concepts/policy/resource-quotas/) ditambahkan untuk mendukung prioritas Pod. Seorang admin dapat membuat ResourceQuota untuk pengguna-pengguna pada tingkat prioritas tertentu, mencegah mereka untuk membuat Pod-pod pada prioritas tinggi. Fitur ini telah beta sejak Kubernetes 1.12. {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## Bagaimana cara menggunakan Priority dan pemindahan Pod @@ -253,4 +253,4 @@ Komponen satu-satunya yang mempertimbangkan baik QoS dan prioritas Pod adalah [p Kubelet menggolongkan Pod-pod untuk pengusiran pertama-tama berdasarkan apakah penggunaan sumber daya mereka melebihi `requests` mereka atau tidak, kemudian berdasarkan Priority, dan kemudian berdasarkan penggunaan sumber daya yang terbatas tersebut relatif terhadap `requests` dari Pod-pod tersebut. Lihat [Mengusir Pod-pod pengguna](/docs/tasks/administer-cluster/out-of-resource/#mengusir-pod-pod-pengguna) untuk lebih detail. Pengusiran oleh Kubelet karena kehabisan sumber daya tidak mengusir Pod-pod yang memiliki penggunaan sumber daya yang tidak melebihi `requests` mereka. Jika sebuah Pod dengan prioritas lebih rendah tidak melebihi `requests`-nya, ia tidak akan diusir. Pod lain dengan prioritas lebih tinggi yang melebihi `requests`-nya boleh diusir. -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/resource-bin-packing.md b/content/id/docs/concepts/configuration/resource-bin-packing.md index 26798dccfd..0f5b92784a 100644 --- a/content/id/docs/concepts/configuration/resource-bin-packing.md +++ b/content/id/docs/concepts/configuration/resource-bin-packing.md @@ -1,10 +1,10 @@ --- title: Bin Packing Sumber Daya untuk Sumber Daya Tambahan -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.16" state="alpha" >}} @@ -13,9 +13,9 @@ _Kube-scheduler_ dapat dikonfigurasikan untuk mengaktifkan pembungkusan rapat `RequestedToCapacityRatioResourceAllocation`. Fungsi-fungsi prioritas dapat digunakan untuk menyempurnakan _kube-scheduler_ sesuai dengan kebutuhan. -{{% /capture %}} -{{% capture body %}} + + ## Mengaktifkan _Bin Packing_ menggunakan RequestedToCapacityRatioResourceAllocation @@ -214,4 +214,4 @@ NodeScore = (5 * 5) + (7 * 1) + (10 * 3) / (5 + 1 + 3) ``` -{{% /capture %}} + diff --git a/content/id/docs/concepts/configuration/secret.md b/content/id/docs/concepts/configuration/secret.md index 1cb0622197..a6ca8dca88 100644 --- a/content/id/docs/concepts/configuration/secret.md +++ b/content/id/docs/concepts/configuration/secret.md @@ -1,6 +1,6 @@ --- title: Secret -content_template: templates/concept +content_type: concept feature: title: Secret dan manajemen konfigurasi description: > @@ -9,16 +9,16 @@ weight: 50 --- -{{% capture overview %}} + Objek `secret` pada Kubernetes mengizinkan kamu menyimpan dan mengatur informasi yang sifatnya sensitif, seperti _password_, token OAuth, dan ssh _keys_. Menyimpan informasi yang sifatnya sensitif ini ke dalam `secret` cenderung lebih aman dan fleksible jika dibandingkan dengan menyimpan informasi tersebut secara apa adanya pada definisi {{< glossary_tooltip term_id="pod" >}} atau di dalam {{< glossary_tooltip text="container image" term_id="image" >}}. Silahkan lihat [Dokumen desain Secret](https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md) untuk informasi yang sifatnya mendetail. -{{% /capture %}} -{{% capture body %}} + + ## Ikhtisar Secret @@ -1055,6 +1055,7 @@ dalam keadaan tidak terenkripsi. dengan cara meniru kubelet. Meskipun begitu, terdapat fitur yang direncanakan pada rilis selanjutnya yang memungkinkan pengiriman secret hanya dapat mengirimkan secret pada node yang membutuhkan secret tersebut untuk membatasi adanya eksploitasi akses _root_ pada node ini. -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + + -{{% /capture %}} diff --git a/content/id/docs/concepts/configuration/taint-and-toleration.md b/content/id/docs/concepts/configuration/taint-and-toleration.md index 03fa777fe2..9a30b48f5b 100644 --- a/content/id/docs/concepts/configuration/taint-and-toleration.md +++ b/content/id/docs/concepts/configuration/taint-and-toleration.md @@ -1,11 +1,11 @@ --- title: Taint dan Toleration -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Afinitas Node, seperti yang dideskripsikan [di sini](/docs/concepts/configuration/assign-pod-node/#node-affinity-beta-feature), adalah salah satu properti dari Pod yang menyebabkan pod tersebut memiliki preferensi untuk ditempatkan di sekelompok Node tertentu (preferensi ini dapat berupa _soft constraints_ atau @@ -16,9 +16,9 @@ _Taint_ dan _toleration_ bekerja sama untuk memastikan Pod dijadwalkan pada Node yang sesuai. Satu atau lebih _taint_ akan diterapkan pada suatu node; hal ini akan menyebabkan node tidak akan menerima pod yang tidak mengikuti _taint_ yang sudah diterapkan. -{{% /capture %}} -{{% capture body %}} + + ## Konsep diff --git a/content/id/docs/concepts/containers/container-environment.md b/content/id/docs/concepts/containers/container-environment.md index 55c1bea6cb..affb371001 100644 --- a/content/id/docs/concepts/containers/container-environment.md +++ b/content/id/docs/concepts/containers/container-environment.md @@ -1,17 +1,17 @@ --- title: Kontainer Environment -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Laman ini menjelaskan berbagai *resource* yang tersedia di dalam Kontainer pada suatu *environment*. -{{% /capture %}} -{{% capture body %}} + + ## *Environment* Kontainer @@ -48,12 +48,13 @@ FOO_SERVICE_PORT= Semua *Service* memiliki alamat-alamat IP yang bisa didapatkan di dalam Kontainer melalui DNS, jika [*addon* DNS](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/) diaktifkan.  -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [berbagai *hook* pada *lifecycle* Kontainer](/docs/concepts/containers/container-lifecycle-hooks/). * Dapatkan pengalaman praktis soal [memberikan *handler* untuk *event* dari *lifecycle* Kontainer](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/containers/container-lifecycle-hooks.md b/content/id/docs/concepts/containers/container-lifecycle-hooks.md index 812bd81ec8..a7b5164864 100644 --- a/content/id/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/id/docs/concepts/containers/container-lifecycle-hooks.md @@ -1,18 +1,18 @@ --- title: Lifecyle Hook pada Kontainer -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Laman ini menjelaskan bagaimana semua Kontainer yang diatur kubelet menggunakan *framework lifecycle hook* untuk menjalankan kode yang di-*trigger* oleh *event* selama *lifecycle* berlangsung. -{{% /capture %}} -{{% capture body %}} + + ## Ikhtisar @@ -108,12 +108,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [*environment* Kontainer](/docs/concepts/containers/container-environment-variables/). * Pelajari bagaimana caranya [melakukan *attach handler* pada *event lifecycle* sebuah Kontainer](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/containers/images.md b/content/id/docs/concepts/containers/images.md index 59f980a35a..7a5fa28154 100644 --- a/content/id/docs/concepts/containers/images.md +++ b/content/id/docs/concepts/containers/images.md @@ -1,19 +1,19 @@ --- title: Image -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Kamu membuat Docker _image_ dan mengunduhnya ke sebuah registri sebelum digunakan di dalam Kubernetes Pod. Properti `image` dari sebuah Container mendukung sintaksis yang sama seperti perintah `docker`, termasuk registri privat dan _tag_. -{{% /capture %}} -{{% capture body %}} + + ## Memperbarui Image @@ -367,4 +367,4 @@ dan solusi yang disarankan. Jika kamu memiliki akses pada beberapa registri, kamu dapat membuat satu _secret_ untuk setiap registri. Kubelet akan melakukan _merge_ `imagePullSecrets` manapun menjadi sebuah virtual `.docker/config.json`. -{{% /capture %}} + diff --git a/content/id/docs/concepts/containers/overview.md b/content/id/docs/concepts/containers/overview.md index 7ec5ef55d5..d31c760ee0 100644 --- a/content/id/docs/concepts/containers/overview.md +++ b/content/id/docs/concepts/containers/overview.md @@ -1,10 +1,10 @@ --- title: Ikhtisar Kontainer -content_template: templates/concept +content_type: concept weight: 1 --- -{{% capture overview %}} + Kontainer adalah teknologi untuk mengemas kode (yang telah dikompilasi) menjadi suatu aplikasi beserta dengan dependensi-dependensi yang dibutuhkannya pada saat @@ -15,9 +15,9 @@ sama di mana pun Anda menjalankannya. Kontainer memisahkan aplikasi dari infrastruktur host yang ada dibawahnya. Hal ini membuat penyebaran lebih mudah di lingkungan cloud atau OS yang berbeda. -{{% /capture %}} -{{% capture body %}} + + ## Image-Image Kontainer @@ -46,4 +46,3 @@ menjalankan kontainer. Kubernetes mendukung beberapa kontainer *runtime*: - Baca tentang [image-image kontainer](https://kubernetes.io/docs/concepts/containers/images/) - Baca tentang [Pod](https://kubernetes.io/docs/concepts/workloads/pods/) -{{% /capture %}} \ No newline at end of file diff --git a/content/id/docs/concepts/containers/runtime-class.md b/content/id/docs/concepts/containers/runtime-class.md index dca24e9b6d..31bd8a25ec 100644 --- a/content/id/docs/concepts/containers/runtime-class.md +++ b/content/id/docs/concepts/containers/runtime-class.md @@ -1,10 +1,10 @@ --- title: Runtime Class -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="beta" >}} @@ -15,10 +15,10 @@ RuntimeClass memiliki _breaking change_ untuk pembaruan ke beta pada v1.14. Jika RuntimeClass sebelum v1.14, lihat [Memperbarui RuntimeClass dari Alpha ke Beta](#memperbarui-runtimeclass-dari-alpha-ke-beta). {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## `Runtime Class` @@ -158,4 +158,4 @@ pembaruan fitur RuntimeClass dari versi alpha ke versi beta: kosong atau menggunakan karakter `.` pada _handler_. Ini harus dimigrasi ke _handler_ dengan konfigurasi yang valid (lihat petunjuk di atas). -{{% /capture %}} + diff --git a/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index 7276a0841d..fffc8709a6 100644 --- a/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -1,16 +1,16 @@ --- title: Memperluas Kubernetes API dengan Lapisan Agregasi -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Lapisan agregasi memungkinkan Kubernetes untuk diperluas dengan API tambahan, selain dari yang ditawarkan oleh API inti Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Ikhtisar Lapisan agregasi memungkinkan instalasi tambahan beragam API _Kubernetes-style_ di kluster kamu. Tambahan-tambahan ini dapat berupa solusi-solusi yang sudah dibangun (_prebuilt_) oleh pihak ke-3 yang sudah ada, seperti [_service-catalog_](https://github.com/kubernetes-incubator/service-catalog/blob/master/README.md), atau API yang dibuat oleh pengguna seperti [apiserver-builder](https://github.com/kubernetes-incubator/apiserver-builder/blob/master/README.md), yang dapat membantu kamu memulainya. @@ -25,12 +25,12 @@ Jika implementasi kamu tidak dapat menyanggupinya, kamu harus mempertimbangkan c _feature-gate_ `EnableAggregatedDiscoveryTimeout=false` di kube-apiserver akan menonaktifkan batasan waktu tersebut. Fitur ini akan dihapus dalam rilis mendatang. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Untuk mengaktifkan agregator di lingkungan kamu, aktifkan[konfigurasi lapisan agregasi](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). * Kemudian, [siapkan ekstensi api-server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) untuk bekerja dengan lapisan agregasi. * Selain itu, pelajari caranya [mengembangkan API Kubernetes menggunakan _Custom Resource Definition_](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). -{{% /capture %}} \ No newline at end of file diff --git a/content/id/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/id/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index 7599fecef7..d8be642856 100644 --- a/content/id/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/id/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -1,16 +1,16 @@ --- title: Custom Resource -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + _Custom Resource_ adalah ekstensi dari Kubernetes API. Laman ini mendiskusikan kapan kamu melakukan penambahan sebuah _Custom Resource_ ke klaster Kubernetes dan kapan kamu menggunakan sebuah layanan mandiri. Laman ini mendeskripsikan dua metode untuk menambahkan _Custom Resource_ dan bagaimana cara memilihnya. -{{% /capture %}} -{{% capture body %}} + + ## _Custom Resource_ @@ -211,12 +211,13 @@ Ketika kamu menambahkan sebuah _Custom Resource_, kamu dapat mengaksesnya dengan - Sebuah klien REST yang kamu tulis - Sebuah klien yang dibuat menggunakan [Kubernetes client generation tools](https://github.com/kubernetes/code-generator) (membuat satu adalah usaha lanjutan, tetapi beberapa proyek mungkin menyajikan sebuah klien bersama dengan CRD atau AA). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Belajar bagaimana untuk [Memperluas Kubernetes API dengan lapisan agregasi](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/). * Belajar bagaimana untuk [Memperluas Kubernetes API dengan CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index beb972e9bf..014a40171e 100644 --- a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -2,11 +2,11 @@ reviewers: title: Plugin Perangkat description: Gunakan kerangka kerja _plugin_ perangkat Kubernetes untuk mengimplementasikan plugin untuk GPU, NIC, FPGA, InfiniBand, dan sumber daya sejenis yang membutuhkan setelan spesifik vendor. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.10" state="beta" >}} Kubernetes menyediakan [kerangka kerja _plugin_ perangkat](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-management/device-plugin.md) @@ -17,9 +17,9 @@ _plugin_ perangkat yang di-_deploy_ secara manual atau sebagai {{< glossary_tool Perangkat yang dituju termasuk GPU, NIC berkinerja tinggi, FPGA, adaptor InfiniBand, dan sumber daya komputasi sejenis lainnya yang perlu inisialisasi dan setelan spesifik vendor. -{{% /capture %}} -{{% capture body %}} + + ## Pendaftaran _plugin_ perangkat @@ -223,12 +223,13 @@ Berikut beberapa contoh implementasi _plugin_ perangkat: * [Plugin perangkat SR-IOV Network](https://github.com/intel/sriov-network-device-plugin) * [Plugin perangkat Xilinx FPGA](https://github.com/Xilinx/FPGA_as_a_Service/tree/master/k8s-fpga-device-plugin/trunk) untuk perangkat Xilinx FPGA -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari bagaimana [menjadwalkan sumber daya GPU](/docs/tasks/manage-gpus/scheduling-gpus/) dengan _plugin_ perangkat * Pelajari bagaimana [mengumumkan sumber daya ekstensi](/docs/tasks/administer-cluster/extended-resource-node/) pada node * Baca tentang penggunaan [akselerasi perangkat keras untuk ingress TLS](https://kubernetes.io/blog/2019/04/24/hardware-accelerated-ssl/tls-termination-in-ingress-controllers-using-kubernetes-device-plugins-and-runtimeclass/) dengan Kubernetes * Pelajari tentang [Topology Manager] (/docs/tasks/adminster-cluster/topology-manager/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 7bf34d22d4..f54e285549 100644 --- a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -1,11 +1,11 @@ --- title: Plugin Jaringan -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state state="alpha" >}} {{< warning >}}Fitur-fitur Alpha berubah dengan cepat. {{< /warning >}} @@ -15,9 +15,9 @@ _Plugin_ jaringan di Kubernetes hadir dalam beberapa varian: * _Plugin_ CNI : mengikuti spesifikasi appc / CNI, yang dirancang untuk interoperabilitas. * _Plugin_ Kubenet : mengimplementasi `cbr0` sederhana menggunakan _plugin_ `bridge` dan `host-local` CNI -{{% /capture %}} -{{% capture body %}} + + ## Instalasi @@ -151,8 +151,9 @@ Opsi ini disediakan untuk _plugin_ jaringan; Saat ini **hanya kubenet yang mendu * `--network-plugin=kubenet` menentukan bahwa kita menggunakan _plugin_ jaringan` kubenet` dengan `bridge` CNI dan _plugin-plugin_ `host-local` yang terletak di `/opt/cni/bin` atau `cni-bin-dir`. * `--network-plugin-mtu=9001` menentukan MTU yang akan digunakan, saat ini hanya digunakan oleh _plugin_ jaringan `kubenet`. -{{% /capture %}} -{{% capture whatsnext %}} -{{% /capture %}} +## {{% heading "whatsnext" %}} + + + diff --git a/content/id/docs/concepts/extend-kubernetes/extend-cluster.md b/content/id/docs/concepts/extend-kubernetes/extend-cluster.md index 0d979f31d6..b7b07b46ff 100644 --- a/content/id/docs/concepts/extend-kubernetes/extend-cluster.md +++ b/content/id/docs/concepts/extend-kubernetes/extend-cluster.md @@ -1,10 +1,10 @@ --- title: Memperluas Klaster Kubernetes Kamu -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Kubernetes sangat mudah dikonfigurasi dan diperluas. Sehingga, jarang membutuhkan _fork_ atau menambahkan _patch_ ke kode proyek Kubernetes. @@ -16,10 +16,10 @@ memahami bagaimana menyesuaikan klaster Kubernetes dengan kebutuhan lingkungan k Developer yang prospektif {{< glossary_tooltip text="Developer Platform" term_id="platform-developer" >}} atau {{< glossary_tooltip text="Kontributor" term_id="contributor" >}} Proyek Kubernetes juga mendapatkan manfaat dari dokumen ini sebagai pengantar apa saja poin-poin dan pola-pola perluasan yang ada, untung-rugi, dan batasan-batasannya. -{{% /capture %}} -{{% capture body %}} + + ## Ikhtisar @@ -161,10 +161,11 @@ Ini adalah usaha yang signifikan, dan hampir semua pengguna Kubernetes merasa me Penjadwal juga mendukung [_webhook_](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/scheduler_extender.md) yang memperbolehkan sebuah _webhook backend_ (perluasan penjadwal) untuk menyaring dan memprioritaskan Node yang terpilih untuk sebuah Pod. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [Sumber Daya _Custom_](/docs/concepts/api-extension/custom-resources/) * Pelajari tentang [Kontrol Admisi Dinamis](/docs/reference/access-authn-authz/extensible-admission-controllers/) @@ -174,4 +175,4 @@ Penjadwal juga mendukung [_webhook_](https://github.com/kubernetes/community/blo * Pelajari tentang [_Plugin_ kubectl](/docs/tasks/extend-kubectl/kubectl-plugins/) * Pelajari tentang [Pola Operator](/docs/concepts/extend-kubernetes/operator/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/extend-kubernetes/operator.md b/content/id/docs/concepts/extend-kubernetes/operator.md index dd9b803485..02df63bb79 100644 --- a/content/id/docs/concepts/extend-kubernetes/operator.md +++ b/content/id/docs/concepts/extend-kubernetes/operator.md @@ -1,20 +1,20 @@ --- title: Pola Operator -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Operator adalah ekstensi perangkat lunak untuk Kubernetes yang memanfaatkan [_custom resource_](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) untuk mengelola aplikasi dan komponen-komponennya. Operator mengikuti prinsip Kubernetes, khususnya dalam hal [_control loop_](/docs/concepts/#kubernetes-control-plane). -{{% /capture %}} -{{% capture body %}} + + ## Motivasi @@ -124,7 +124,7 @@ Kamu juga dapat mengimplementasikan Operator (yaitu, _Controller_) dengan menggunakan bahasa / _runtime_ yang dapat bertindak sebagai [klien dari API Kubernetes](/docs/reference/using-api/client-libraries/). -{{% /capture %}} + {{% capture Selanjutnya %}} @@ -143,4 +143,4 @@ menggunakan bahasa / _runtime_ yang dapat bertindak sebagai yang memperkenalkan pola Operator * Baca sebuah [artikel](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps) dari Google Cloud soal panduan terbaik membangun Operator -{{% /capture %}} + diff --git a/content/id/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md b/content/id/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md index a9e49bf4f1..2b4fcdc17b 100644 --- a/content/id/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md +++ b/content/id/docs/concepts/extend-kubernetes/poseidon-firmament-alternate-scheduler.md @@ -1,18 +1,18 @@ --- title: Poseidon-Firmament - Sebuah Penjadwal Alternatif -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + **Rilis saat ini dari Penjadwal Poseidon-Firmament adalah rilis alpha .** Penjadwal Poseidon-Firmament adalah penjadwal alternatif yang dapat digunakan bersama penjadwal Kubernetes bawaan. -{{% /capture %}} -{{% capture body %}} + + ## Pengenalan @@ -111,4 +111,4 @@ Kelemahan dari penjadwal _pod-by-pod_ ini diatasi dengan penjadwalan secara terk Silakan merujuk ke [hasil _benchmark_ terbaru](https://github.com/kubernetes-sigs/poseidon/blob/master/docs/benchmark/README.md) untuk hasil uji perbandingan kinerja _throughput_ terperinci antara penjadwal Poseidon-Firmament dan Penjadwal bawaan Kubernetes. {{< /note >}} -{{% /capture %}} + diff --git a/content/id/docs/concepts/extend-kubernetes/service-catalog.md b/content/id/docs/concepts/extend-kubernetes/service-catalog.md index 2de908812e..efea4eda97 100644 --- a/content/id/docs/concepts/extend-kubernetes/service-catalog.md +++ b/content/id/docs/concepts/extend-kubernetes/service-catalog.md @@ -2,11 +2,11 @@ title: Service Catalog reviewers: - chenopis -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog adalah" >}} Sebuah makelar servis (_service broker_), seperti yang didefinisikan oleh [spesifikasi API makelar servis terbuka] @@ -22,10 +22,10 @@ seorang {{< glossary_tooltip text="pengelola klaster" term_id="cluster-operator" daftar servis terkelola yang ditawarkan oleh makelar servis, melakukan pembuatan terhadap sebuah servis terkelola, dan menghubungkan (_bind_) untuk membuat tersedia terhadap aplikasi pada suatu klaster Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Contoh kasus penggunaan Seorang {{< glossary_tooltip text="pengembang aplikasi" term_id="application-developer" >}} ingin menggunakan @@ -265,10 +265,11 @@ dengan nama `topic` ke dalam _environment variable_ `TOPIC`. key: topic ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Jika kamu terbiasa dengan {{< glossary_tooltip text="Helm Charts" term_id="helm-chart" >}}, [pasang Service Catalog menggunakan Helm](/docs/tasks/service-catalog/install-service-catalog-using-helm/) ke dalam klaster Kubernetes. Alternatif lain, kamu dapat [memasang Service Catalog dengan SC tool](/docs/tasks/service-catalog/install-service-catalog-using-sc/). @@ -276,7 +277,7 @@ dengan nama `topic` ke dalam _environment variable_ `TOPIC`. * Pelajari mengenai [kubernetes-incubator/service-catalog](https://github.com/kubernetes-incubator/service-catalog) proyek. * Lihat [svc-cat.io](https://svc-cat.io/docs/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/components.md b/content/id/docs/concepts/overview/components.md index 276c5b91fa..63e7b4b3af 100644 --- a/content/id/docs/concepts/overview/components.md +++ b/content/id/docs/concepts/overview/components.md @@ -1,19 +1,19 @@ --- title: Komponen-Komponen Kubernetes -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + Dokumen ini merupakan ikhtisar yang mencakup berbagai komponen yang dibutuhkan agar klaster Kubernetes dapat berjalan secara fungsional. -{{% /capture %}} -{{% capture body %}} + + ## Komponen Master Komponen master menyediakan control plane bagi klaster. @@ -147,6 +147,6 @@ untuk melakukan pencarian data yang dibutuhkan. penyimpanan log terpusat dengan antar muka yang dapat digunakan untuk melakukan pencarian. -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/kubernetes-api.md b/content/id/docs/concepts/overview/kubernetes-api.md index 304a7e0b5f..35bf3f67dc 100644 --- a/content/id/docs/concepts/overview/kubernetes-api.md +++ b/content/id/docs/concepts/overview/kubernetes-api.md @@ -1,13 +1,13 @@ --- title: API Kubernetes -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + Secara keseluruhan standar yang digunakan untuk API dijelaskan di dalam [dokumentasi API standar](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md). @@ -21,10 +21,10 @@ Kubernetes menyimpan bentuk terserialisasi dari obyek API yang dimilikinya di da Kubernetes sendiri dibagi menjadi beberapa komponen yang saling dapat saling interaksi melalui API. -{{% /capture %}} -{{% capture body %}} + + ## Perubahan API @@ -153,4 +153,4 @@ Ekstensi lain dapat diaktifkan penanda `--runtime-config` pada apiserver. Sebagai contoh untuk menonaktifkan deployments dan ingress, tetapkan. `--runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/ingresses=false` -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/object-management-kubectl/declarative-config.md b/content/id/docs/concepts/overview/object-management-kubectl/declarative-config.md index ad7c0dcfcf..9599feaf24 100644 --- a/content/id/docs/concepts/overview/object-management-kubectl/declarative-config.md +++ b/content/id/docs/concepts/overview/object-management-kubectl/declarative-config.md @@ -1,14 +1,14 @@ --- title: Pengelolaan Objek Kubernetes secara Deklaratif dengan Menggunakan File Konfigurasi -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Objek-objek Kubernetes dapat dibuat, diperbarui, dan dihapus dengan menjalankan perintah `kubectl apply` terhadap file-file konfigurasi objek yang disimpan dalam sebuah direktori secara rekursif sesuai dengan kebutuhan. Perintah `kubectl diff` bisa digunakan untuk menampilkan pratinjau tentang perubahan apa saja yang akan dibuat oleh perintah `kubectil apply`. -{{% /capture %}} -{{% capture body %}} + + ## Kelebihan dan kekurangan @@ -860,9 +860,10 @@ template: controller-selector: "extensions/v1beta1/deployment/nginx" ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + - [Pengelolaan Objek Kubernetes Menggunakan Perintah Imperatif](/docs/concepts/overview/object-management-kubectl/imperative-command/) - [Pengelolaan Objek Kubernetes secara Imperatif Menggunakan File Konfigurasi](/docs/concepts/overview/object-management-kubectl/imperative-config/) - [Rujukan Perintah Kubectl](/docs/reference/generated/kubectl/kubectl/) - [Rujukan API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/object-management-kubectl/imperative-command.md b/content/id/docs/concepts/overview/object-management-kubectl/imperative-command.md index 3cf2103122..e77cc9ca63 100644 --- a/content/id/docs/concepts/overview/object-management-kubectl/imperative-command.md +++ b/content/id/docs/concepts/overview/object-management-kubectl/imperative-command.md @@ -1,14 +1,14 @@ --- title: Pengelolaan Objek Kubernetes dengan Perintah Imperatif -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Objek-objek Kubernetes bisa dibuat, diperbarui, dan dihapus secara langsung dengan menggunakan perintah-perintah imperatif yang ada pada *command-line* `kubectl`. Dokumen ini menjelaskan cara perintah-perintah tersebut diorganisir dan cara menggunakan perintah-perintah tersebut untuk mengelola objek *live*. -{{% /capture %}} -{{% capture body %}} + + ## Kelebihan dan kekurangan @@ -122,11 +122,12 @@ kubectl create --edit -f /tmp/srv.yaml 1. Perintah `kubectl create service` membuat konfigurasi untuk objek Service dan menyimpannya di `/tmp/srv.yaml`. 1. Perintah `kubectl create --edit` membuka file konfigurasi untuk diedit sebelum objek dibuat. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Pengelolaan Objek Kubernetes secara Imperatif dengan Menggunakan Konfigurasi Objek](/docs/concepts/overview/object-management-kubectl/imperative-config/) - [Pengelolaan Objek Kubernetes secara Deklaratif dengan Menggunakan File Konfigurasi](/docs/concepts/overview/object-management-kubectl/declarative-config/) - [Rujukan Perintah Kubectl](/docs/reference/generated/kubectl/kubectl/) - [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/object-management-kubectl/imperative-config.md b/content/id/docs/concepts/overview/object-management-kubectl/imperative-config.md index 6390200bde..7df68f579d 100644 --- a/content/id/docs/concepts/overview/object-management-kubectl/imperative-config.md +++ b/content/id/docs/concepts/overview/object-management-kubectl/imperative-config.md @@ -1,14 +1,14 @@ --- title: Penglolaan Objek Kubernetes Secara Imperatif dengan Menggunakan File Konfigurasi -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Objek-objek Kubernetes bisa dibuat, diperbarui, dan dihapus dengan menggunakan perangkat *command-line* `kubectl` dan file konfigurasi objek yang ditulis dalam format YAML atau JSON. Dokumen ini menjelaskan cara mendefinisikan dan mengelola objek dengan menggunakan file konfigurasi. -{{% /capture %}} -{{% capture body %}} + + ## Kelebihan dan kekurangan @@ -104,13 +104,14 @@ template: controller-selector: "extensions/v1beta1/deployment/nginx" ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Pengelolaan Objek Kubernetes Menggunakan Perintah Imperatif](/docs/concepts/overview/object-management-kubectl/imperative-command/) - [Pengelolaan Objek Kubernetes secara Deklaratif dengan Menggunakan File Konfigurasi](/docs/concepts/overview/object-management-kubectl/declarative-config/) - [Rujukan Perintah Kubectl](/docs/reference/generated/kubectl/kubectl/) - [Rujukan API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/what-is-kubernetes.md b/content/id/docs/concepts/overview/what-is-kubernetes.md index 9a44701803..de35f65b29 100644 --- a/content/id/docs/concepts/overview/what-is-kubernetes.md +++ b/content/id/docs/concepts/overview/what-is-kubernetes.md @@ -1,17 +1,17 @@ --- title: Apa itu Kubernetes? -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Laman ini merupakan ikhtisar Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes merupakan platform open-source yang digunakan untuk melakukan manajemen workloads aplikasi yang dikontainerisasi, serta menyediakan konfigurasi dan otomatisasi secara deklaratif. Kubernetes berada di dalam ekosistem @@ -179,11 +179,12 @@ Nama **Kubernetes** berasal dari Bahasa Yunani, yang berarti *juru mudi* atau merupakan sebuah singkatan yang didapat dengan mengganti 8 huruf "ubernete" dengan "8". -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Siap untuk [memulai](/docs/setup/)? * Untuk penjelasan lebih rinci, silahkan lihat [Dokumentasi Kubernetes](/docs/home/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/annotations.md b/content/id/docs/concepts/overview/working-with-objects/annotations.md index c756c2d34c..8a822f255d 100644 --- a/content/id/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/id/docs/concepts/overview/working-with-objects/annotations.md @@ -1,16 +1,16 @@ --- title: Anotasi -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Kamu dapat menggunakan fitur anotasi dari Kubernetes untuk menempelkan sembarang metadata tanpa identitas pada suatu objek. Klien, seperti perangkat dan *library*, dapat memperoleh metadata tersebut. -{{% /capture %}} -{{% capture body %}} + + ## Mengaitkan metadata pada objek Kamu dapat menggunakan label maupun anotasi untuk menempelkan metadata pada suatu @@ -76,8 +76,9 @@ pada objek-objek pengguna harus memiliki sebuah prefiks. Prefiks `kubernetes.io/` dan `k8s.io/` merupakan reservasi dari komponen inti Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Pelajari lebih lanjut tentang [Label dan Selektor](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/common-labels.md b/content/id/docs/concepts/overview/working-with-objects/common-labels.md index 0e1e62c3e1..52350c4e14 100644 --- a/content/id/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/id/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,9 +1,9 @@ --- title: Label yang Disarankan -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kamu dapat melakukan visualisasi dan mengatur objek Kubernetes dengan lebih banyak _tools_ dibandingkan dengan perintah kubectl dan dasbor. Sekumpulan label mengizinkan _tools_ untuk bekerja dengan interoperabilitas, mendeskripsikan objek dengan cara yang umum yang dapat @@ -11,9 +11,9 @@ dipahami semua _tools_. Sebagai tambahan bagi _tooling_ tambahan, label yang disarankan ini mendeskripsikan aplikasi sehingga informasi yang ada diapat di-_query_. -{{% /capture %}} -{{% capture body %}} + + Metadata ini diorganisasi berbasis konsep dari sebuah aplikasi. Kubernetes bukan merupakan sebuah platform sebagai sebuah _service_ (_platform as a service_/PaaS) dan tidak mewajibkan sebuah gagasan formal dari sebuah aplikasi. @@ -176,4 +176,4 @@ metadata: Dengan StatefulSet MySQL dan Service kamu dapat mengetahui informasi yang ada pada MySQL dan Wordpress. -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/id/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 02517e8ef8..57eef5e9c6 100644 --- a/content/id/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/id/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,18 +1,18 @@ --- title: Memahami Konsep Objek-Objek yang ada pada Kubernetes -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + Laman ini menjelaskan bagaimana objek-objek Kubernetes direpresentasikan di dalam API Kubernetes, dan bagaimana kamu dapat merepresentasikannya di dalam format `.yaml`. -{{% /capture %}} -{{% capture body %}} + + ## Memahami Konsep Objek-Objek yang Ada pada Kubernetes Objek-objek Kubernetes adalah entitas persisten di dalam sistem Kubernetes. @@ -99,10 +99,11 @@ untuk _Pod_ dapat kamu temukan [di sini](/docs/reference/generated/kubernetes-ap dan format _spec_ untuk _Deployment_ dapat ditemukan [di sini](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut mengenai dasar-dasar penting bagi objek Kubernetes, seperti [Pod](/docs/concepts/workloads/pods/pod-overview/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/labels.md b/content/id/docs/concepts/overview/working-with-objects/labels.md index 0b6060e2fd..306edc0bfb 100644 --- a/content/id/docs/concepts/overview/working-with-objects/labels.md +++ b/content/id/docs/concepts/overview/working-with-objects/labels.md @@ -1,10 +1,10 @@ --- title: Label dan Selektor -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + _Label_ merupakan pasangan _key/value_ yang melekat pada objek-objek, misalnya pada Pod. Label digunakan untuk menentukan atribut identitas dari objek agar memiliki arti dan relevan bagi para pengguna, namun tidak secara langsung memiliki makna terhadap sistem inti. @@ -22,10 +22,10 @@ Setiap objek dapat memiliki satu set label _key/value_. Setiap _Key_ harus unik Label memungkinkan untuk menjalankan kueri dan pengamatan dengan efisien, serta ideal untuk digunakan pada UI dan CLI. Informasi yang tidak digunakan untuk identifikasi sebaiknya menggunakan [anotasi](/id/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Motivasi @@ -222,4 +222,4 @@ selector: Salah satu contoh penggunaan pemilihan dengan menggunakan label yaitu untuk membatasi suatu kumpulan Node tertentu yang dapat digunakan oleh Pod. Lihat dokumentasi pada [pemilihan Node](/id/docs/concepts/configuration/assign-pod-node/) untuk informasi lebih lanjut. -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/names.md b/content/id/docs/concepts/overview/working-with-objects/names.md index 331387dba5..5527c15b72 100644 --- a/content/id/docs/concepts/overview/working-with-objects/names.md +++ b/content/id/docs/concepts/overview/working-with-objects/names.md @@ -1,10 +1,10 @@ --- title: Nama -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Seluruh objek di dalam REST API Kubernetes secara jelas ditandai dengan nama dan UID. @@ -12,10 +12,10 @@ Apabila pengguna ingin memberikan atribut tidak unik, Kubernetes menyediakan [la Bacalah [dokumentasi desain penanda](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) agar kamu dapat memahami lebih lanjut sintaks yang digunakan untuk Nama dan UID. -{{% /capture %}} -{{% capture body %}} + + ## Nama @@ -27,4 +27,4 @@ Berdasarkan ketentuan, nama dari _resources_ Kubernetes memiliki panjang maksimu {{< glossary_definition term_id="uid" length="all" >}} -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/namespaces.md b/content/id/docs/concepts/overview/working-with-objects/namespaces.md index a2315fd12e..5eb358a17a 100644 --- a/content/id/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/id/docs/concepts/overview/working-with-objects/namespaces.md @@ -1,17 +1,17 @@ --- title: Namespace -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Kubernetes mendukung banyak klaster virtual di dalam satu klaster fisik. Klaster virtual tersebut disebut dengan *namespace*. -{{% /capture %}} -{{% capture body %}} + + ## Kapan menggunakan banyak Namespace @@ -91,4 +91,4 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} + diff --git a/content/id/docs/concepts/overview/working-with-objects/object-management.md b/content/id/docs/concepts/overview/working-with-objects/object-management.md index aa9d8cbc9e..aadb410473 100644 --- a/content/id/docs/concepts/overview/working-with-objects/object-management.md +++ b/content/id/docs/concepts/overview/working-with-objects/object-management.md @@ -1,16 +1,16 @@ --- title: Pengaturan Objek Kubernetes -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + Perangkat `kubectl` mendukung beberapa cara untuk membuat dan mengatur objek-objek Kubernetes. Laman ini menggambarkan berbagai macam metodenya. Baca [Kubectl gitbook](https://kubectl.docs.kubernetes.io) untuk penjelasan pengaturan objek dengan Kubectl secara detail. -{{% /capture %}} -{{% capture body %}} + + ## Metode pengaturan @@ -170,9 +170,10 @@ Beberapa kekurangan dibandingkan konfigurasi objek imperatif: - Konfigurasi objek deklaratif lebih sulit untuk di-_debug_ dan hasilnya lebih sulit dimengerti untuk perilaku yang tidak diinginkan. - Pembaruan sebagian menggunakan _diff_ menghasilkan operasi _merge_ dan _patch_ yang rumit. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Mengatur Objek Kubernetes menggunakan Perintah Imperatif](/docs/tasks/manage-kubernetes-objects/imperative-command/) - [Mengatur Objek Kubernetes menggunakan Konfigurasi Objek (Imperatif)](/docs/tasks/manage-kubernetes-objects/imperative-config/) @@ -182,4 +183,4 @@ Beberapa kekurangan dibandingkan konfigurasi objek imperatif: - [Kubectl Gitbook](https://kubectl.docs.kubernetes.io) - [Referensi API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/policy/pod-security-policy.md b/content/id/docs/concepts/policy/pod-security-policy.md index 0337db0f6c..2dbbd53144 100644 --- a/content/id/docs/concepts/policy/pod-security-policy.md +++ b/content/id/docs/concepts/policy/pod-security-policy.md @@ -1,18 +1,18 @@ --- title: Pod Security Policy -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state state="beta" >}} Pod Security Policies (kebijakan keamanan Pod) memungkinkan otorisasi secara detil dari pembuatan dan pembaruan Pod. -{{% /capture %}} -{{% capture body %}} + + ## Apa itu Pod Security Policy? @@ -466,4 +466,4 @@ Secara bawaan, semua _sysctl_ yang aman diizinkan. Lihat [dokumentasi Sysctl](/docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy). -{{% /capture %}} + diff --git a/content/id/docs/concepts/policy/resource-quotas.md b/content/id/docs/concepts/policy/resource-quotas.md index b4a3e28ebb..47bfa996bb 100644 --- a/content/id/docs/concepts/policy/resource-quotas.md +++ b/content/id/docs/concepts/policy/resource-quotas.md @@ -1,10 +1,10 @@ --- title: Resource Quota -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Saat beberapa pengguna atau tim berbagi sebuah klaster dengan jumlah Node yang tetap, ada satu hal yang perlu diperhatikan yaitu suatu tim dapat menggunakan sumber daya @@ -13,9 +13,9 @@ lebih dari jatah yang mereka perlukan. _Resource Quota_ (kuota sumber daya) adalah sebuah alat yang dapat digunakan oleh administrator untuk mengatasi hal ini. -{{% /capture %}} -{{% capture body %}} + + Sebuah Resource Quota, didefinisikan oleh objek API `ResourceQuota`, menyediakan batasan-batasan yang membatasi konsumsi gabungan sumber daya komputasi untuk tiap Namespace. Resource Quota dapat @@ -613,10 +613,11 @@ Lihat [LimitedResources](https://github.com/kubernetes/kubernetes/pull/36765) da Lihat [contoh detail cara menggunakan sebuah Resource Quota](/docs/tasks/administer-cluster/quota-api-object/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Lihat [dokumen desain ResourceQuota](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md) untuk informasi lebih lanjut. -{{% /capture %}} + diff --git a/content/id/docs/concepts/scheduling/kube-scheduler.md b/content/id/docs/concepts/scheduling/kube-scheduler.md index bf6fd768d8..f4cd477608 100644 --- a/content/id/docs/concepts/scheduling/kube-scheduler.md +++ b/content/id/docs/concepts/scheduling/kube-scheduler.md @@ -1,19 +1,19 @@ --- title: Penjadwal Kubernetes -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Dalam Kubernetes, _scheduling_ atau penjadwalan ditujukan untuk memastikan {{< glossary_tooltip text="Pod" term_id="pod" >}} mendapatkan {{< glossary_tooltip text="Node" term_id="node" >}} sehingga {{< glossary_tooltip term_id="kubelet" >}} dapat menjalankannya. -{{% /capture %}} -{{% capture body %}} + + ## Ikhtisar Penjadwalan {#penjadwalan} @@ -91,12 +91,13 @@ penilaian oleh penjadwal: lainnya. Kamu juga bisa mengonfigurasi _kube-scheduler_ untuk menjalankan profil yang berbeda. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Baca tentang [penyetelan performa penjadwal](/docs/concepts/scheduling/scheduler-perf-tuning/) * Baca tentang [pertimbangan penyebarang topologi pod](/docs/concepts/workloads/pods/pod-topology-spread-constraints/) * Baca [referensi dokumentasi](/docs/reference/command-line-tools-reference/kube-scheduler/) untuk _kube-scheduler_ * Pelajari tentang [mengkonfigurasi beberapa penjadwal](/docs/tasks/administer-cluster/configure-multiple-schedulers/) * Pelajari tentang [aturan manajemen topologi](/docs/tasks/administer-cluster/topology-manager/) * Pelajari tentang [pengeluaran tambahan Pod](/docs/concepts/configuration/pod-overhead/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/scheduling/scheduler-perf-tuning.md b/content/id/docs/concepts/scheduling/scheduler-perf-tuning.md index 11f9a23077..0a20d9050a 100644 --- a/content/id/docs/concepts/scheduling/scheduler-perf-tuning.md +++ b/content/id/docs/concepts/scheduling/scheduler-perf-tuning.md @@ -1,10 +1,10 @@ --- title: Penyetelan Kinerja Penjadwal -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="beta" >}} @@ -21,9 +21,9 @@ API server soal keputusan ini melalui sebuah proses yang disebut _Binding_. Laman ini menjelaskan optimasi penyetelan (_tuning_) kinerja yang relevan untuk klaster Kubernetes berskala besar. -{{% /capture %}} -{{% capture body %}} + + Pada klaster berskala besar, kamu bisa menyetel perilaku penjadwal untuk menyeimbangkan hasil akhir penjadwalan antara latensi (seberapa cepat Pod-Pod baru ditempatkan) @@ -157,4 +157,4 @@ Node 1, Node 5, Node 2, Node 6, Node 3, Node 4 Setelah semua Node telah dicek, penjadwal akan kembali pada Node 1. -{{% /capture %}} + diff --git a/content/id/docs/concepts/scheduling/scheduling-framework.md b/content/id/docs/concepts/scheduling/scheduling-framework.md index de1772286f..f08f9f40c7 100644 --- a/content/id/docs/concepts/scheduling/scheduling-framework.md +++ b/content/id/docs/concepts/scheduling/scheduling-framework.md @@ -1,10 +1,10 @@ --- title: Kerangka Kerja Penjadwalan (Scheduling Framework) -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.15" state="alpha" >}} @@ -20,9 +20,9 @@ tersebut. [kep]: https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/20180409-scheduling-framework.md -{{% /capture %}} -{{% capture body %}} + + # Alur kerja kerangka kerja @@ -246,4 +246,4 @@ mengonfigurasi sekumpulan _plugin_ sebagai profil penjadwal dan kemudian menetap beberapa profil agar sesuai dengan berbagai jenis beban kerja. Pelajari lebih lanjut di [multi profil](/docs/reference/scheduling/profiles/#multiple-profiles). -{{% /capture %}} + diff --git a/content/id/docs/concepts/security/overview.md b/content/id/docs/concepts/security/overview.md index e6a00f1cf5..caff040bc5 100644 --- a/content/id/docs/concepts/security/overview.md +++ b/content/id/docs/concepts/security/overview.md @@ -1,16 +1,16 @@ --- title: Ikhtisar Keamanan Cloud Native -content_template: templates/concept +content_type: concept weight: 1 --- {{< toc >}} -{{% capture overview %}} + Keamanan Kubernetes (dan keamanan secara umum) adalah sebuah topik sangat luas yang memiliki banyak bagian yang sangat berkaitan satu sama lain. Pada masa sekarang ini di mana perangkat lunak _open source_ telah diintegrasi ke dalam banyak sistem yang membantu berjalannya aplikasi web, ada beberapa konsep menyeluruh yang dapat membantu intuisimu untuk berpikir tentang konsep keamanan secara menyeluruh. Panduan ini akan mendefinisikan sebuah cara/model berpikir untuk beberapa konsep umum mengenai Keamanan _Cloud Native_. Cara berpikir ini sepenuhnya subjektif dan kamu sebaiknya hanya menggunakannya apabila ini membantumu berpikir tentang di mana harus mengamankan _stack_ perangkat lunakmu. -{{% /capture %}} -{{% capture body %}} + + ## 4C pada Keamanan _Cloud Native_ @@ -103,8 +103,9 @@ Serangan Pengamatan (_probing_) Dinamis | Ada sedikit peralatan otomatis yang da Kebanyakan dari saran yang disebut di atas dapat diotomasi di dalam _delivery pipeline_ kode kamu sebagai bagian dari rangkaian pemeriksaan keamanan. Untuk mempelajari lebih lanjut tentang pendekatan "_Continuous Hacking_" terhadap _delivery_ perangkat lunak, [artikel ini](https://thenewstack.io/beyond-ci-cd-how-continuous-hacking-of-docker-containers-and-pipeline-driven-security-keeps-ygrene-secure/) menyediakan lebih banyak detail. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari tentang [Network Policy untuk Pod](/docs/concepts/services-networking/network-policies/) * Pelajari tentang [mengamankan klaster kamu](/docs/tasks/administer-cluster/securing-a-cluster/) @@ -113,4 +114,4 @@ Kebanyakan dari saran yang disebut di atas dapat diotomasi di dalam _delivery pi * Pelajari tentang [enkripsi data saat diam](/docs/tasks/administer-cluster/encrypt-data/) * Pelajari tentang [Secret (data sensitif) pada Kubernetes](/docs/concepts/configuration/secret/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md index 2245f9f961..26a2473f46 100644 --- a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md +++ b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -1,12 +1,12 @@ --- title: Menambahkan Entry pada /etc/hosts Pod dengan HostAliases -content_template: templates/concept +content_type: concept weight: 60 --- {{< toc >}} -{{% capture overview %}} + Menambahkan entri pada berkas /etc/hosts Pod akan melakukan _override_ resolusi _hostname_ pada level Pod ketika DNS dan opsi lainnya tidak tersedia. Pada versi 1.7, pengguna dapat menambahkan entri yang diinginkan beserta _field_ HostAliases @@ -14,9 +14,9 @@ pada PodSpec. Modifikasi yang dilakukan tanpa menggunakan HostAliases tidaklah disarankan karena berkas ini diatur oleh Kubelet dan dapat di-_override_ ketika Pod dibuat/di-_restart_. -{{% /capture %}} -{{% capture body %}} + + ## Isi Default pada Berkas `Hosts` @@ -127,5 +127,5 @@ semua hal yang didefinisikan oleh pengguna akan ditimpa (_overwrite_) ketika ber atau Pod di-_schedule_ ulang. Dengan demikian tidak dianjurkan untuk memodifikasi berkas tersebut secara langsung. -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/connect-applications-service.md b/content/id/docs/concepts/services-networking/connect-applications-service.md index 7104af5409..4bbd0bbf56 100644 --- a/content/id/docs/concepts/services-networking/connect-applications-service.md +++ b/content/id/docs/concepts/services-networking/connect-applications-service.md @@ -1,11 +1,11 @@ --- title: Menghubungkan aplikasi dengan Service -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + ## Model Kubernetes untuk menghubungkan kontainer @@ -17,9 +17,9 @@ Akan sulit untuk mengkoordinasikan *port* yang digunakan oleh banyak pengembang. Panduan ini menggunakan server *nginx* sederhana untuk mendemonstrasikan konsepnya. Konsep yang sama juga ditulis lebih lengkap di [Aplikasi Jenkins CI](https://kubernetes.io/blog/2015/07/strong-simple-ssl-for-kubernetes). -{{% /capture %}} -{{% capture body %}} + + ## Mengekspos Pod ke dalam klaster @@ -357,10 +357,11 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el ... ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Kubernetes juga mendukung *Federated Service*, yang bisa mempengaruhi banyak klaster dan penyedia layanan *cloud*, untuk meningkatkan ketersediaan, peningkatan toleransi kesalahan, dan pengembangan dari *Service* kamu. Lihat [Panduan Federated Service](/docs/concepts/cluster-administration/federation-service-discovery/) untuk informasi lebih lanjut. -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/dns-pod-service.md b/content/id/docs/concepts/services-networking/dns-pod-service.md index f6b333319e..52ec19a420 100644 --- a/content/id/docs/concepts/services-networking/dns-pod-service.md +++ b/content/id/docs/concepts/services-networking/dns-pod-service.md @@ -1,13 +1,13 @@ --- title: DNS untuk Service dan Pod -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Laman ini menyediakan ikhtisar dari dukungan DNS oleh Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Pendahuluan @@ -258,11 +258,12 @@ Keberadaan Pod DNS Config dan DNS Policy "`None`"" diilustrasikan pada tabel di | 1.10 | Beta (aktif secara default)| | 1.9 | Alpha | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Untuk petunjuk lebih lanjut mengenai administrasi konfigurasi DNS, kamu dapat membaca [Cara Melakukan Konfigurasi Service DNS](/docs/tasks/administer-cluster/dns-custom-nameservers/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/dual-stack.md b/content/id/docs/concepts/services-networking/dual-stack.md index 0c3993b5ca..6714a00cde 100644 --- a/content/id/docs/concepts/services-networking/dual-stack.md +++ b/content/id/docs/concepts/services-networking/dual-stack.md @@ -5,11 +5,11 @@ feature: description: > Pengalokasian alamat IPv4 dan IPv6 untuk Pod dan Service -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -20,9 +20,9 @@ Jika kamu mengaktifkan jaringan _dual-stack_ IPv4/IPv6 untuk klaster Kubernetes kamu, klaster akan mendukung pengalokasian kedua alamat IPv4 dan IPv6 secara bersamaan. -{{% /capture %}} -{{% capture body %}} + + ## Fitur-fitur yang didukung @@ -131,10 +131,11 @@ _masquerading_ IP dari klaster _dual-stack_. * Kubenet memaksa pelaporan posisi IP untuk IPv4,IPv6 IP (--cluster-cidr) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Validasi jaringan _dual-stack_ IPv4/IPv6](/docs/tasks/network/validate-dual-stack) -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/endpoint-slices.md b/content/id/docs/concepts/services-networking/endpoint-slices.md index 158918a915..224e7b4bbd 100644 --- a/content/id/docs/concepts/services-networking/endpoint-slices.md +++ b/content/id/docs/concepts/services-networking/endpoint-slices.md @@ -5,21 +5,21 @@ feature: description: > Pelacakan _endpoint_ jaringan yang dapat diskalakan pada klaster Kubernetes. -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} EndpointSlice menyediakan sebuah cara yang mudah untuk melacak _endpoint_ jaringan dalam sebuah klaster Kubernetes. EndpointSlice memberikan alternatif yang lebih _scalable_ dan lebih dapat diperluas dibandingkan dengan Endpoints. -{{% /capture %}} -{{% capture body %}} + + ## Motivasi @@ -174,11 +174,12 @@ akan segera dibutuhkan. Pembaruan bertahap (_rolling update_) dari Deployment ju pengemasan ulang EndpointSlice yang natural seiring dengan digantikannya seluruh Pod dan _endpoint_ yang bersangkutan. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Mengaktifkan EndpointSlice](/docs/tasks/administer-cluster/enabling-endpointslices) * Baca [Menghubungkan Aplikasi dengan Service](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/ingress-controllers.md b/content/id/docs/concepts/services-networking/ingress-controllers.md index c6262ec91f..9491f5dc1c 100644 --- a/content/id/docs/concepts/services-networking/ingress-controllers.md +++ b/content/id/docs/concepts/services-networking/ingress-controllers.md @@ -1,10 +1,10 @@ --- title: Kontroler Ingress -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Agar Ingress dapat bekerja sebagaimana mestinya, sebuah klaster harus memiliki paling tidak sebuah kontroler Ingress. @@ -18,9 +18,9 @@ paling sesuai dengan kebutuhan kamu. Kubernetes sebagai sebuah proyek, saat ini, mendukung dan memaintain kontroler-kontroler [GCE](https://git.k8s.io/ingress-gce/README.md) dan [nginx](https://git.k8s.io/ingress-nginx/README.md). -{{% /capture %}} -{{% capture body %}} + + ## Kontroler-kontroler lainnya @@ -66,11 +66,12 @@ kontroler Ingress bisa saja memiliki sedikit perbedaan cara kerja. Pastikan kamu sudah terlebih dahulu memahami dokumentasi kontroler Ingress yang akan kamu pakai sebelum memutuskan untuk memakai kontroler tersebut. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari [Ingress](/docs/concepts/services-networking/ingress/) lebih lanjut. * [Melakukan konfigurasi Ingress pada Minikube dengan kontroler NGINX](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/ingress.md b/content/id/docs/concepts/services-networking/ingress.md index 905f6b03bb..617581b421 100644 --- a/content/id/docs/concepts/services-networking/ingress.md +++ b/content/id/docs/concepts/services-networking/ingress.md @@ -1,14 +1,14 @@ --- title: Ingress -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< glossary_definition term_id="ingress" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## Terminologi Untuk memudahkan, di awal akan dijelaskan beberapa terminologi yang sering dipakai: @@ -467,8 +467,9 @@ Kamu dapat mengekspos sebuah *Service* dalam berbagai cara, tanpa harus mengguna * [Service.Type=NodePort](/docs/concepts/services-networking/service/#nodeport) * [Port Proxy](https://git.k8s.io/contrib/for-demos/proxy-to-service) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Melakukan konfigurasi Ingress pada Minikube dengan kontroler NGINX](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/network-policies.md b/content/id/docs/concepts/services-networking/network-policies.md index 644a3c8cc2..25f42ddb98 100644 --- a/content/id/docs/concepts/services-networking/network-policies.md +++ b/content/id/docs/concepts/services-networking/network-policies.md @@ -1,20 +1,20 @@ --- title: NetworkPolicy -content_template: templates/concept +content_type: concept weight: 50 --- {{< toc >}} -{{% capture overview %}} + Sebuah NetworkPolicy adalah spesifikasi dari sekelompok Pod atau _endpoint_ yang diizinkan untuk saling berkomunikasi. `NetworkPolicy` menggunakan label untuk memilih Pod serta mendefinisikan serangkaian _rule_ yang digunakan untuk mendefinisikan trafik yang diizinkan untuk suatu Pod tertentu. -{{% /capture %}} -{{% capture body %}} + + ## Prasyarat NetworkPolicy diimplementasikan dengan menggunakan _plugin_ jaringan, @@ -275,11 +275,12 @@ Kubernetes mendukung SCTP sebagai _value_ `protocol` pada definisi `NetworkPolic _Plugin_ CNI harus mendukung SCTP sebagai _value_ dari `protocol` pada `NetworkPolicy`. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Lihat [Deklarasi _Network Policy_](/docs/tasks/administer-cluster/declare-network-policy/) untuk melihat lebih banyak contoh penggunaan. - Baca lebih lanjut soal [panduan](https://github.com/ahmetb/kubernetes-network-policy-recipes) bagi skenario generik _resource_ `NetworkPolicy`. -{{% /capture %}} + diff --git a/content/id/docs/concepts/services-networking/service-topology.md b/content/id/docs/concepts/services-networking/service-topology.md index 1480589589..ef15d1ab3d 100644 --- a/content/id/docs/concepts/services-networking/service-topology.md +++ b/content/id/docs/concepts/services-networking/service-topology.md @@ -5,12 +5,12 @@ feature: description: > Rute lalu lintas layanan berdasarkan topologi klaster. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="alpha" >}} @@ -20,9 +20,9 @@ layanan dapat menentukan lalu lintas jaringan yang lebih diutamakan untuk dirute beberapa _endpoint_ yang berada pada Node yang sama dengan klien, atau pada _availability zone_ yang sama. -{{% /capture %}} -{{% capture body %}} + + ## Pengantar @@ -180,11 +180,11 @@ spec: - "*" ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Baca tentang [mengaktifkan topologi Service](/docs/tasks/administer-cluster/enabling-service-topology) * Baca [menghubungkan aplikasi dengan Service](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} \ No newline at end of file diff --git a/content/id/docs/concepts/services-networking/service.md b/content/id/docs/concepts/services-networking/service.md index 7ae2d39b65..97626bf9ce 100644 --- a/content/id/docs/concepts/services-networking/service.md +++ b/content/id/docs/concepts/services-networking/service.md @@ -5,12 +5,12 @@ feature: description: > Kamu tidak perlu memodifikasi aplikasi kamu untuk menggunakan mekanisme _service discovery_ tambahan. Kubernetes menyediakan IP untuk setiap kontainer serta sebuah DNS bagi sebuah sekumpulan kontainer, serta akan melakukan mekanisme _load balance_ bagi sekumpulan kontainer tersebut. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + [`Pod`](/docs/concepts/workloads/pods/pod/) pada Kubernetes bersifat *mortal*. Artinya apabila _pod-pod_ tersebut dibuat dan kemudian mati, _pod-pod_ tersebut @@ -41,9 +41,9 @@ yang terus diubah apabila _state_ sebuah sekumpulan `Pod` di dalam suatu `Servic aplikasi _non-native_, Kubernetes menyediakan _bridge_ yang berbasis _virtual-IP_ bagi `Service` yang diarahkan pada `Pod` _backend_. -{{% /capture %}} -{{% capture body %}} + + ## Mendefinisikan sebuah `Service` @@ -1056,10 +1056,11 @@ SCTP tidak didukung pada _node_ berbasis Windows. _Kube-proxy_ tidak mendukung manajemen asosiasi SCTP ketika hal ini dilakukan pada mode _userspace_ -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Baca [Bagaimana cara menghubungkan _Front End_ ke _Back End_ menggunakan sebuah `Service`](/docs/tasks/access-application-cluster/connecting-frontend-backend/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/dynamic-provisioning.md b/content/id/docs/concepts/storage/dynamic-provisioning.md index 2d346ff80e..ac206dfacd 100644 --- a/content/id/docs/concepts/storage/dynamic-provisioning.md +++ b/content/id/docs/concepts/storage/dynamic-provisioning.md @@ -1,10 +1,10 @@ --- title: Penyediaan Volume Dinamis -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Penyediaan volume dinamis memungkinkan volume penyimpanan untuk dibuat sesuai permintaan (_on-demand_). Tanpa adanya penyediaan dinamis (_dynamic provisioning_), untuk membuat volume penyimpanan baru, admin klaster secara manual harus @@ -13,10 +13,10 @@ sebagai representasi di Kubernetes. Fitur penyediaan dinamis menghilangkan kebut penyimpanan sebelumnya (_pre-provision_). Dengan demikian, penyimpanan akan tersedia secara otomatis ketika diminta oleh pengguna. -{{% /capture %}} -{{% capture body %}} + + ## Latar Belakang @@ -125,4 +125,4 @@ pada sebuah Region. Penyimpanan dengan *backend* Zona-Tunggal seharusnya disedia Zona-Zona dimana Pod dijalankan. Hal ini dapat dicapai dengan mengatur [Mode Volume Binding](/docs/concepts/storage/storage-classes/#volume-binding-mode). -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/persistent-volumes.md b/content/id/docs/concepts/storage/persistent-volumes.md index 4063f1a282..f75941b86a 100644 --- a/content/id/docs/concepts/storage/persistent-volumes.md +++ b/content/id/docs/concepts/storage/persistent-volumes.md @@ -5,18 +5,18 @@ feature: description: > Secara otomatis memasang sistem penyimpanan pilihanmu, baik dari penyimpanan lokal, penyedia layanan _cloud_ seperti GCP atau AWS, maupun sebuah sistem penyimpanan jaringan seperti NFS, iSCSI, Gluster, Ceph, Cinder, atau Flocker. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Dokumen ini menjelaskan kondisi terkini dari `PersistentVolumes` pada Kubernetes. Disarankan telah memiliki familiaritas dengan [volume](/docs/concepts/storage/volumes/). -{{% /capture %}} -{{% capture body %}} + + ## Pengenalan @@ -698,4 +698,4 @@ dan membutuhkan _persistent storage_, kami merekomendasikan agar kamu menggunaka atau klaster tidak memiliki sistem penyimpanan (di mana penggun tidak dapat membuat PVC yang membutuhkan _config_). -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/storage-classes.md b/content/id/docs/concepts/storage/storage-classes.md index ceeadf2d90..6de85830e8 100644 --- a/content/id/docs/concepts/storage/storage-classes.md +++ b/content/id/docs/concepts/storage/storage-classes.md @@ -1,19 +1,19 @@ --- title: StorageClass -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Dokumen ini mendeskripsikan konsep StorageClass yang ada pada Kubernetes. Sebelum lanjut membaca, sangat dianjurkan untuk memiliki pengetahuan terhadap [volumes](/docs/concepts/storage/volumes/) dan [peristent volume](/docs/concepts/storage/persistent-volumes) terlebih dahulu. -{{% /capture %}} -{{% capture body %}} + + ## Pengenalan @@ -785,4 +785,4 @@ sampai _scheduling_ pod dilakukan. Hal ini dispesifikasikan oleh mode _binding_ Memperlambat _binding_ volume mengizinkan _scheduler_ untuk memastikan batasan _scheduling_ semua pod ketika memilih PersistentVolume untuk sebuah PersistentVolumeClaim. -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/storage-limits.md b/content/id/docs/concepts/storage/storage-limits.md index 45b2ef3b35..d4d7be47f6 100644 --- a/content/id/docs/concepts/storage/storage-limits.md +++ b/content/id/docs/concepts/storage/storage-limits.md @@ -1,9 +1,9 @@ --- title: Limit Volume yang Spesifik terhadap Node -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Laman ini menjelaskan soal jumlah volume maksimal yang dapat dihubungkan ke sebuah Node untuk berbagai penyedia layanan cloud. @@ -14,9 +14,9 @@ sangatlah penting untuk diketahui Kubernetes dalam menentukan keputusan. Jika ti Pod-pod yang telah dijadwalkan pada sebuah Node akan macet dan menunggu terus-menerus untuk terhubung pada volume. -{{% /capture %}} -{{% capture body %}} + + ## Limit _default_ pada Kubernetes @@ -77,4 +77,4 @@ bisa dilihat pada [Ukuran mesin virtual (VM) di Azure](https://docs.microsoft.co sebagai properti Node dan Scheduler tidak akan menjadwalkan Pod dengan volume pada Node manapun yang sudah penuh kapasitasnya. Untuk penjelasan lebih jauh lihat [spek CSI](https://github.com/container-storage-interface/spec/blob/master/spec.md#nodegetinfo). -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/volume-pvc-datasource.md b/content/id/docs/concepts/storage/volume-pvc-datasource.md index 5f197488bf..4a5f5d8c8c 100644 --- a/content/id/docs/concepts/storage/volume-pvc-datasource.md +++ b/content/id/docs/concepts/storage/volume-pvc-datasource.md @@ -1,17 +1,17 @@ --- title: Pengklonaan Volume CSI -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="beta" >}} Dokumen ini mendeskripsikan konsep pengklonaan Volume CSI yang telah tersedia di dalam Kubernetes. Pengetahuan tentang [Volume](/docs/concepts/storage/volumes) disarankan. -{{% /capture %}} -{{% capture body %}} + + ## Introduction @@ -59,4 +59,4 @@ Hasilnya adalah sebuah PVC baru dengan nama `clone-of-pvc-1` yang memiliki isi y Setelah tersedianya PVC baru tersebut, PVC baru yang diklonakan tersebut digunakan sama seperti PVC lainnya. Juga diharapkan pada titik ini bahwa PVC baru tersebut adalah sebuah objek terpisah yang independen. Ia dapat digunakan, diklonakan, di-_snapshot_, atau dihapus secara terpisah dan tanpa perlu memikirkan PVC dataSource aslinya. Hal ini juga berarti bahwa sumber tidak terikat sama sekali dengan klona yang baru dibuat tersebut, dan dapat diubah atau dihapus tanpa memengaruhi klona yang baru dibuat tersebut. -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/volume-snapshot-classes.md b/content/id/docs/concepts/storage/volume-snapshot-classes.md index 5fd92fb42a..0414a9d7de 100644 --- a/content/id/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/id/docs/concepts/storage/volume-snapshot-classes.md @@ -1,19 +1,19 @@ --- title: VolumeSnapshotClass -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Laman ini menjelaskan tentang konsep VolumeSnapshotClass pada Kubernetes. Sebelum melanjutkan, sangat disarankan untuk membaca [_snapshot_ volume](/docs/concepts/storage/volume-snapshots/) dan [kelas penyimpanan (_storage class_)](/docs/concepts/storage/storage-classes) terlebih dahulu. -{{% /capture %}} -{{% capture body %}} + + ## Pengenalan @@ -55,4 +55,4 @@ VolumeSnapshotClass memiliki parameter-parameter yang menggambarkan _snapshot_ v di dalam VolumeSnapshotClass. Parameter-parameter yang berbeda diperbolehkan tergantung dari `shapshotter`. -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/volume-snapshots.md b/content/id/docs/concepts/storage/volume-snapshots.md index c5b7c09e73..39ab3d31aa 100644 --- a/content/id/docs/concepts/storage/volume-snapshots.md +++ b/content/id/docs/concepts/storage/volume-snapshots.md @@ -1,18 +1,18 @@ --- title: VolumeSnapshot -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} Laman ini menjelaskan tentang fitur VolumeSnapshot pada Kubernetes. Sebelum lanjut membaca, sangat disarankan untuk memahami [PersistentVolume](/docs/concepts/storage/persistent-volumes/) terlebih dahulu. -{{% /capture %}} -{{% capture body %}} + + ## Pengenalan @@ -129,4 +129,4 @@ menggunakan _field_ `dataSource` pada objek PersistentVolumeClaim. Untuk detailnya bisa dilihat pada [VolumeSnapshot and Mengembalikan Volume dari _Snapshot_](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support). -{{% /capture %}} + diff --git a/content/id/docs/concepts/storage/volumes.md b/content/id/docs/concepts/storage/volumes.md index 6c179d508c..5a437cbd45 100644 --- a/content/id/docs/concepts/storage/volumes.md +++ b/content/id/docs/concepts/storage/volumes.md @@ -1,18 +1,18 @@ --- title: Volume -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Berkas-berkas yang disimpan di _disk_ di dalam Container bersifat tidak permanen (akan terhapus seiring dengan dihapusnya Container/Pod), yang menimbulkan beberapa masalah untuk aplikasi biasa saat berjalan di dalam Container. Pertama, saat sebuah Container mengalami kegagalan, Kubelet akan memulai kembali Container tersebut, tetapi semua berkas di dalamnya akan hilang - Container berjalan dalam kondisi yang bersih. Kedua, saat menjalankan banyak Container bersamaan di dalam sebuah `Pod`, biasanya diperlukan untuk saling berbagi berkas-berkas di antara Container-container tersebut. Kedua masalah tersebut dipecahkan oleh abstraksi `Volume` pada Kubernetes. Pengetahuan tentang [Pod](/docs/user-guide/pods) disarankan. -{{% /capture %}} -{{% capture body %}} + + ## Latar Belakang @@ -1144,8 +1144,9 @@ sudo systemctl daemon-reload sudo systemctl restart docker ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * Ikuti contoh [memasang WordPress dan MySQL dengan Persistent Volume](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/cron-jobs.md b/content/id/docs/concepts/workloads/controllers/cron-jobs.md index 9f50e0b42c..29fde331ea 100644 --- a/content/id/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/id/docs/concepts/workloads/controllers/cron-jobs.md @@ -1,10 +1,10 @@ --- title: CronJob -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + Suatu CronJob menciptakan [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/) yang dijadwalkan berdasarkan waktu tertentu. @@ -17,10 +17,10 @@ Seluruh waktu `schedule:` pada _**CronJob**_ mengikuti zona waktu dari _master_ Untuk panduan dalam berkreasi dengan _cron job_, dan contoh _spec file_ untuk suatu _cron job_, lihat [Menjalankan otomasi _task_ dengan _cron job_](/docs/tasks/job/automated-tasks-with-cron-jobs). -{{% /capture %}} -{{% capture body %}} + + ## Limitasi _Cron Job_ @@ -55,4 +55,3 @@ Job akan tetap dijalankan pada 10:22:00. Hal ini terjadi karena CronJob _control CronJob hanya bertanggung-jawab untuk menciptakan Job yang sesuai dengan jadwalnya sendiri, dan Job tersebut bertanggung jawab terhadap pengelolaan Pod yang direpresentasikan olehnya. -{{% /capture %}} \ No newline at end of file diff --git a/content/id/docs/concepts/workloads/controllers/daemonset.md b/content/id/docs/concepts/workloads/controllers/daemonset.md index c68a207edf..baa79aa3f2 100644 --- a/content/id/docs/concepts/workloads/controllers/daemonset.md +++ b/content/id/docs/concepts/workloads/controllers/daemonset.md @@ -1,10 +1,10 @@ --- title: DaemonSet -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + DaemonSet memastikan semua atau sebagian Node memiliki salinan sebuah Pod. Ketika Node baru ditambahkan ke klaster, Pod ditambahkan ke Node tersebut. @@ -24,10 +24,10 @@ setiap jenis _daemon_. Pengaturan yang lebih rumit bisa saja menggunakan lebih dari satu DaemonSet untuk satu jenis _daemon_, tapi dengan _flag_ dan/atau permintaan cpu/memori yang berbeda untuk jenis _hardware_ yang berbeda. -{{% /capture %}} -{{% capture body %}} + + ## Menulis Spek DaemonSet @@ -233,4 +233,4 @@ host mana Pod berjalan. Gunakan DaemonSet ketika penting untuk satu salinan Pod selalu berjalan di semua atau sebagian host, dan ketika Pod perlu berjalan sebelum Pod lainnya. -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/deployment.md b/content/id/docs/concepts/workloads/controllers/deployment.md index 5d8d681141..045c04e59b 100644 --- a/content/id/docs/concepts/workloads/controllers/deployment.md +++ b/content/id/docs/concepts/workloads/controllers/deployment.md @@ -5,11 +5,11 @@ feature: description: > Kubernetes merilis perubahan secara progresif pada aplikasimu atau konfigurasinya sambil memonitor kesehatan aplikasi untuk menjamin bahwa semua instances tidak mati bersamaan. Jika sesuatu yang buruk terjadi, Kubernetes akan melakukan rollback pada perubahanmu. Take advantage of a growing ecosystem of deployment solutions. -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Deployment menyediakan pembaruan [Pods](/id/docs/concepts/workloads/pods/pod/) dan [ReplicaSets](/id/docs/concepts/workloads/controllers/replicaset/) secara deklaratif. @@ -20,10 +20,10 @@ Kamu mendeskripsikan sebuah state yang diinginkan dalam Deployment, kemudian Dep Jangan mengganti ReplicaSets milik Deployment. Pertimbangkan untuk membuat isu pada repositori utama Kubernetes jika kasusmu tidak diatasi semua kasus di bawah. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Penggunaan @@ -1125,4 +1125,4 @@ Deployment umumnya tidak terjeda saat dibuat. dengan cara yang serupa. Namun, Deployments lebih disarankan karena deklaratif, berjalan di sisi server, dan punya fitur tambahan, seperti pembalikkan ke revisi manapun sebelumnya bahkan setelah pembaruan rolling selesais. -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/garbage-collection.md b/content/id/docs/concepts/workloads/controllers/garbage-collection.md index 63592fbe89..5eb00cf987 100644 --- a/content/id/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/id/docs/concepts/workloads/controllers/garbage-collection.md @@ -1,16 +1,16 @@ --- title: Garbage Collection -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Peran daripada _garbage collector_ Kubernetes adalah untuk menghapus objek tertentu yang sebelumnya mempunyai pemilik, tetapi tidak lagi mempunyai pemilik. -{{% /capture %}} -{{% capture body %}} + + ## Pemilik dan dependen @@ -125,12 +125,13 @@ Sebelum versi 1.7, ketika menggunakan _cascading delete_ dengan Deployment, kamu Ditemukan pada [#26120](https://github.com/kubernetes/kubernetes/issues/26120) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Dokumen Desain 1](https://git.k8s.io/community/contributors/design-proposals/api-machinery/garbage-collection.md) [Dokumen Desain 2](https://git.k8s.io/community/contributors/design-proposals/api-machinery/synchronous-garbage-collection.md) -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/id/docs/concepts/workloads/controllers/jobs-run-to-completion.md index 1cfe36117c..4aca03535f 100644 --- a/content/id/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/id/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -1,6 +1,6 @@ --- title: Job - Dijalankan Hingga Selesai -content_template: templates/concept +content_type: concept feature: title: Eksekusi batch description: > @@ -8,7 +8,7 @@ feature: weight: 70 --- -{{% capture overview %}} + Sebuah Job membuat satu atau beberapa Pod dan menjamin bahwa jumlah Pod yang telah dispesifikasikan sebelumnya berhasil dijalankan. Pada saat Pod telah dihentikan, Job akan menandainya sebagai Job yang sudah berhasil dijalankan. @@ -22,10 +22,10 @@ perangkat keras atau terjadinya _reboot_ pada Node). Kamu juga dapat menggunakan Job untuk menjalankan beberapa Pod secara paralel. -{{% /capture %}} -{{% capture body %}} + + ## Menjalankan Contoh Job @@ -502,4 +502,4 @@ dari sebuah Job, tetapi kontrol secara mutlak atas Pod yang dibuat serta tugas y Kamu dapat menggunakan [`CronJob`](/docs/concepts/workloads/controllers/cron-jobs/) untuk membuat Job yang akan dijalankan pada waktu/tanggal yang spesifik, mirip dengan perangkat lunak `cron` yang ada pada Unix. -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/replicaset.md b/content/id/docs/concepts/workloads/controllers/replicaset.md index 9c62a0fa72..c0c3a83d51 100644 --- a/content/id/docs/concepts/workloads/controllers/replicaset.md +++ b/content/id/docs/concepts/workloads/controllers/replicaset.md @@ -1,17 +1,17 @@ --- title: ReplicaSet -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Tujuan dari ReplicaSet adalah untuk memelihara himpunan stabil dari replika Pod yang sedang berjalan pada satu waktu tertentu. Maka dari itu, ReplicaSet seringkali digunakan untuk menjamin ketersediaan dari beberapa Pod identik dalam jumlah tertentu. -{{% /capture %}} -{{% capture body %}} + + ## Cara kerja ReplicaSet @@ -295,4 +295,3 @@ Gunakan [`DaemonSet`](/docs/concepts/workloads/controllers/daemonset/) alih-alih ReplicaSet adalah suksesor dari [_ReplicationControllers_](/docs/concepts/workloads/controllers/replicationcontroller/). Keduanya memenuhi tujuan yang sama dan memiliki perilaku yang serupa, kecuali bahwa ReplicationController tidak mendukung kebutuhan selektor _set-based_ seperti yang dijelaskan pada [panduan penggunaan label](/docs/concepts/overview/working-with-objects/labels/#label-selectors). Pada kasus tersebut, ReplicaSet lebih direkomendasikan dibandingkan ReplicationController. -{{% /capture %}} \ No newline at end of file diff --git a/content/id/docs/concepts/workloads/controllers/replicationcontroller.md b/content/id/docs/concepts/workloads/controllers/replicationcontroller.md index 3dad74fb07..f828ff9c64 100644 --- a/content/id/docs/concepts/workloads/controllers/replicationcontroller.md +++ b/content/id/docs/concepts/workloads/controllers/replicationcontroller.md @@ -6,11 +6,11 @@ feature: description: > Mengulang dan menjalankan kembali kontainer yang gagal, mengganti dan menjadwalkan ulang ketika ada Node yang mati, mematikan kontainer yang tidak memberikan respon terhadap health-check yang telah didefinisikan, dan tidak menunjukkannya ke klien sampai siap untuk digunakan. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< note >}} [`Deployment`](/docs/concepts/workloads/controllers/deployment/) yang mengonfigurasi [`ReplicaSet`](/docs/concepts/workloads/controllers/replicaset/) sekarang menjadi cara yang direkomendasikan untuk melakukan replikasi. @@ -18,10 +18,10 @@ weight: 20 Sebuah _ReplicationController_ memastikan bahwa terdapat sejumlah Pod yang sedang berjalan dalam suatu waktu tertentu. Dengan kata lain, ReplicationController memastikan bahwa sebuah Pod atau sebuah kumpulan Pod yang homogen selalu berjalan dan tersedia. -{{% /capture %}} -{{% capture body %}} + + ## Bagaimana ReplicationController Bekerja @@ -240,4 +240,4 @@ Gunakan [`DaemonSet`](/docs/concepts/workloads/controllers/daemonset/) sebagai g Baca [Menjalankan Kontroler Replikasi AP _Stateless_](/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/statefulset.md b/content/id/docs/concepts/workloads/controllers/statefulset.md index df85a59d39..9d12de91dd 100644 --- a/content/id/docs/concepts/workloads/controllers/statefulset.md +++ b/content/id/docs/concepts/workloads/controllers/statefulset.md @@ -1,10 +1,10 @@ --- title: StatefulSet -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + StatefulSet merupakan salah satu objek API _workload_ yang digunakan untuk aplikasi _stateful_. @@ -13,9 +13,9 @@ StatefulSet merupakan fitur stabil (GA) sejak versi 1.9. {{< /note >}} {{< glossary_definition term_id="statefulset" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## Menggunakan StatefulSet @@ -267,11 +267,12 @@ Setelah melakukan mekanisme _revert_ templat, kamu juga harus menghapus semua Po StatefulSet tersebut yang telah berusaha untuk menggunakan konfigurasi yang _broken_. StatefulSet akan mulai membuat Pod dengan templat konfigurasi yang sudah di-_revert_. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Ikuti contoh yang ada pada [bagaimana cara melakukan deployi aplikasi stateful](/docs/tutorials/stateful-application/basic-stateful-set/). * Ikuti contoh yang ada pada [bagaimana cara melakukan deploy Cassandra dengan StatefulSets](/docs/tutorials/stateful-application/cassandra/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/id/docs/concepts/workloads/controllers/ttlafterfinished.md index 07abe8e2a7..f2c232faf2 100644 --- a/content/id/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/id/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -1,10 +1,10 @@ --- title: Pengendali TTL untuk Sumber Daya yang Telah Selesai Digunakan -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -19,12 +19,12 @@ Peringatan Fitur Alpha: fitur ini tergolong datam fitur alpha dan dapat diaktifk `TTLAfterFinished`. -{{% /capture %}} -{{% capture body %}} + + ## Pengendali TTL @@ -78,12 +78,13 @@ Pada Kubernetes, NTP haruslah dilakukan pada semua node untuk mecegah adanya _ti _Clock_ tidak akan selalu tepat, meskipun begitu perbedaan yang ada haruslah diminimalisasi. Perhatikan bahwa hal ini dapat terjadi apabila TTL diaktifkan dengan nilai selain 0. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Membersikan Job secara Otomatis](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically) [Dokumentasi Rancangan](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/disruptions.md b/content/id/docs/concepts/workloads/pods/disruptions.md index c612405b97..1adde6c949 100644 --- a/content/id/docs/concepts/workloads/pods/disruptions.md +++ b/content/id/docs/concepts/workloads/pods/disruptions.md @@ -1,17 +1,17 @@ --- title: Disrupsi -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Petunjuk ini ditujukan pada pemilik aplikasi yang meninginkan aplikasinya memiliki ketersediaan yang tinggi, sehingga butuh untuk mengerti jenis-jenis Disrupsi yang dapat terjadi pada Pod-pod. Petunjuk ini juga ditujukan pada administrator klaster yang ingin melakukan berbagai tindakan otomasi pada klaster, seperti pembaruan dan _autoscaling_ klaster. -{{% /capture %}} -{{% capture body %}} + + ## Disrupsi yang Disengaja dan Tidak Disengaja @@ -174,12 +174,13 @@ Jika kamu adalah Administrator Klaster, maka kamu mesti melakukan tindakan disru - Mengizinkan lebih banyak otomasi administrasi klaster. - Membuat aplikasi yang toleran terhadap disrupsi agak rumit, tetapi usaha yang dilakukan untuk menoleransi disrupsi yang disengaja kebanyakan beririsan dengan usaha untuk mendukung _autoscaling_ dan menoleransi disrupsi yang tidak disengaja. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Ikuti langkah-langkah untuk melindungi aplikasimu dengan [membuat sebuah PodDisruptionBudget](/docs/tasks/run-application/configure-pdb/). - Pelajari lebih lanjut mengenai [melakukan _drain_ terhadap node](/docs/tasks/administer-cluster/safely-drain-node/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/ephemeral-containers.md b/content/id/docs/concepts/workloads/pods/ephemeral-containers.md index c74e6e63b4..45154caf25 100644 --- a/content/id/docs/concepts/workloads/pods/ephemeral-containers.md +++ b/content/id/docs/concepts/workloads/pods/ephemeral-containers.md @@ -1,10 +1,10 @@ --- title: Kontainer Sementara (Ephemeral) -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.16" >}} @@ -23,9 +23,9 @@ dari suatu kontainer. Sesuai dengan Kubernetes ini dapat berubah secara signifikan di masa depan atau akan dihapus seluruhnya. {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## Memahami Kontainer Sementara @@ -221,4 +221,4 @@ PID USER TIME COMMAND 29 root 0:00 ps auxww ``` -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/init-containers.md b/content/id/docs/concepts/workloads/pods/init-containers.md index 60ce9d31ce..91807fdaf6 100644 --- a/content/id/docs/concepts/workloads/pods/init-containers.md +++ b/content/id/docs/concepts/workloads/pods/init-containers.md @@ -1,16 +1,16 @@ --- title: Init Container -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Halaman ini menyediakan ikhtisar untuk Init Container, yaitu Container khusus yang dijalankan sebelum Container aplikasi dan berisi skrip peralatan atau _setup_ yang tidak tersedia di dalam _image_ dari Container aplikasi. -{{% /capture %}} + Fitur ini telah keluar dari trek Beta sejak versi 1.6. Init Container dapat dispesifikasikan di dalam PodSpec bersama dengan _array_ `containers` aplikasi. Nilai anotasi _beta_ akan tetap diperhitungkan dan akan menimpa nilai pada PodSpec, tetapi telah ditandai sebagai kedaluarsa pada versi 1.6 dan 1.7. Pada versi 1.8, anotasi _beta_ tidak didukung lagi dan harus diganti menjadi nilai pada PodSpec. -{{% capture body %}} + ## Memahami Init Container @@ -271,11 +271,12 @@ Sebuah klaster dengan versi Apiserver 1.6.0 ke atas mendukung Init Container mel Pada Apiserver dan Kubelet versi 1.8.0 ke atas, dukungan untuk anotasi _alpha_ dan _beta_ telah dihapus, sehingga dibutuhkan konversi (manual) dari anotasi yang telah kedaluwarsa tersebut ke dalam bentuk kolom `.spec.initContainers`. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Membuat Pod yang memiliki Init Container](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/pod-lifecycle.md b/content/id/docs/concepts/workloads/pods/pod-lifecycle.md index 59bd066a30..8dac6706a7 100644 --- a/content/id/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/id/docs/concepts/workloads/pods/pod-lifecycle.md @@ -1,20 +1,20 @@ --- title: Siklus Hidup Pod -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + {{< comment >}}Pembaruan: 4/14/2015{{< /comment >}} {{< comment >}}Diubah dan dipindahkan ke bagian konsep: 2/2/17{{< /comment >}} Halaman ini menjelaskan siklus hidup sebuah Pod -{{% /capture %}} -{{% capture body %}} + + ## Fase Pod @@ -334,10 +334,11 @@ spec: * Node pengontrol mengisi nilai `phase` Pod menjadi Failed. * Jika berjalan menggunakan pengontrol, maka Pod akan dibuat ulang di tempat lain. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Dapatkan pengalaman langsung mengenai [penambahan _handlers_ pada kontainer _lifecycle events_](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). @@ -347,7 +348,7 @@ spec: * Pelajari lebih lanjut mengenai [_lifecycle hooks_ pada kontainer](/docs/concepts/containers/container-lifecycle-hooks/). -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/pod-overview.md b/content/id/docs/concepts/workloads/pods/pod-overview.md index e5c6f23c68..0e9593e0d1 100644 --- a/content/id/docs/concepts/workloads/pods/pod-overview.md +++ b/content/id/docs/concepts/workloads/pods/pod-overview.md @@ -1,18 +1,18 @@ --- title: Pengenalan Pod -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 60 --- -{{% capture overview %}} + Halaman ini menyajikan ikhtisar dari `Pod`, objek terkecil yang dapat di *deploy* di dalam objek model Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Memahami Pod Sebuah *Pod* adalah unit dasar di Kubernetes--unit terkecil dan paling sederhana di dalam objek model Kubernetes yang dapat dibuat dan di *deploy*. Sebuah *Pod* merepresentasikan suatu proses yang berjalan di dalam klaster. @@ -97,10 +97,11 @@ spec: Perubahan yang terjadi pada templat atau berganti ke templat yang baru tidak memiliki efek langsung pada *Pod* yang sudah dibuat. *Pod* yang dibuat oleh *replication controller* dapat diperbarui secara langsung. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang perilaku *Pod*: * [Terminasi Pod](/docs/concepts/workloads/pods/pod/#termination-of-pods) * [Lifecycle Pod](/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/pod.md b/content/id/docs/concepts/workloads/pods/pod.md index 46bfadbe56..3838ec56b5 100644 --- a/content/id/docs/concepts/workloads/pods/pod.md +++ b/content/id/docs/concepts/workloads/pods/pod.md @@ -1,18 +1,18 @@ --- reviewers: title: Pod -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Pod adalah unit komputasi terkecil yang bisa di-_deploy_ dan dibuat serta dikelola dalam Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Apa Itu Pod? @@ -260,4 +260,4 @@ pengaturan ini menjadi relevan. Pod adalah sumber daya tingkat tinggi dalam Kubernetes REST API. Definisi [Objek Pod API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core) menjelaskan mengenai objek secara lengkap. -{{% /capture %}} + diff --git a/content/id/docs/concepts/workloads/pods/podpreset.md b/content/id/docs/concepts/workloads/pods/podpreset.md index d15f3648fb..2fc1b8598b 100644 --- a/content/id/docs/concepts/workloads/pods/podpreset.md +++ b/content/id/docs/concepts/workloads/pods/podpreset.md @@ -1,14 +1,14 @@ --- title: Pod Preset -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Halaman ini menyajikan gambaran umum tentang PodPreset, yang merupakan objek untuk memasukkan informasi tertentu ke dalam Pod pada saat waktu penciptaan. Informasi dapat berupa _secret_, _volume_, _volume mount_, dan variabel _environment_. -{{% /capture %}} -{{% capture body %}} + + ## Memahami Pod Preset --- @@ -53,9 +53,10 @@ Dalam rangka untuk menggunakan Pod Preset di dalam klaster kamu, kamu harus mema saat menginisialisasi klaster. 1. Kamu telah membuat objek `PodPreset` pada _namespace_ yang kamu gunakan dengan cara mendefinisikan Pod Preset. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Memasukkan data ke dalam sebuah Pod dengan PodPreset](/docs/concepts/workloads/pods/pod/#injecting-data-into-a-pod-using-podpreset.md) -{{% /capture %}} + diff --git a/content/id/docs/contribute/_index.md b/content/id/docs/contribute/_index.md index 43a63c8e68..d793a78967 100644 --- a/content/id/docs/contribute/_index.md +++ b/content/id/docs/contribute/_index.md @@ -1,12 +1,12 @@ --- -content_template: templates/concept +content_type: concept title: Berkontribusi ke Dokumentasi Kubernetes linktitle: Berkontribusi main_menu: true weight: 80 --- -{{% capture overview %}} + Jika kamu ingin membantu dengan berkontribusi ke dokumentasi atau situs web Kubernetes, kami dengan senang hati menerima bantuan kamu! Siapapun bisa berkontribusi, baik kamu yang masih @@ -16,7 +16,7 @@ atau bahkan seorang yang tidak tahan melihat saltik (_typo_)! Untuk informasi mengenai isi dan gaya (penulisan) dokumentasi Kubernetes, lihat [ikhtisar gaya penulisan dokumentasi](/docs/contribute/style/). -{{% capture body %}} + ## Jenis-jenis kontributor dokumentasi @@ -76,4 +76,4 @@ terhadap dokumentasi Kubernetes, tetapi daftar ini dapat membantumu memulainya. - Untuk berkontribusi ke komunitas Kubernetes melalui forum-forum daring seperti Twitter atau Stack Overflow, atau mengetahui tentang pertemuan komunitas (_meetup_) lokal dan acara-acara Kubernetes, kunjungi [situs komunitas Kubernetes](/community/). - Untuk mulai berkontribusi ke pengembangan fitur, baca [_cheatseet_ kontributor](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet). -{{% /capture %}} + diff --git a/content/id/docs/home/supported-doc-versions.md b/content/id/docs/home/supported-doc-versions.md index cd90ac42f1..6cecfdaec1 100644 --- a/content/id/docs/home/supported-doc-versions.md +++ b/content/id/docs/home/supported-doc-versions.md @@ -1,19 +1,19 @@ --- title: Versi Kubernetes yang Termasuk dalam Dokumentasi -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Versi Kubernetes yang Termasuk dalam Dokumentasi --- -{{% capture overview %}} + Situs ini merupakan dokumentasi dari Kubernetes versi saat ini dan 4 versi sebelumnya. -{{% /capture %}} -{{% capture body %}} + + ## Versi saat ini @@ -24,6 +24,6 @@ Versi saat ini adalah {{< versions-other >}} -{{% /capture %}} + diff --git a/content/id/docs/reference/kubectl/cheatsheet.md b/content/id/docs/reference/kubectl/cheatsheet.md index 80667814ac..9afe999064 100644 --- a/content/id/docs/reference/kubectl/cheatsheet.md +++ b/content/id/docs/reference/kubectl/cheatsheet.md @@ -1,20 +1,20 @@ --- title: Contekan kubectl -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + Lihat juga: [Ikhitsar Kubectl](/docs/reference/kubectl/overview/) dan [Panduan JsonPath](/docs/reference/kubectl/jsonpath). Laman ini merupakan ikhitisar dari perintah `kubectl`. -{{% /capture %}} -{{% capture body %}} + + # kubectl - Contekan @@ -386,9 +386,10 @@ Tingkat kelengkapan keluaran | Deskripsi `--v=8` | Memperlihatkan konten dari permintan HTTP. `--v=9` | Memperlihatkan kontek dari permintaan HTTP tanpa dipotong. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [Ikhitsar kubectl](/docs/reference/kubectl/overview/). @@ -398,4 +399,4 @@ Tingkat kelengkapan keluaran | Deskripsi * Pelajari [contekan kubectl](https://github.com/dennyzhang/cheatsheet-kubernetes-A4) dari komunitas. -{{% /capture %}} + diff --git a/content/id/docs/setup/_index.md b/content/id/docs/setup/_index.md index d170fb24e4..80677a97e4 100644 --- a/content/id/docs/setup/_index.md +++ b/content/id/docs/setup/_index.md @@ -3,10 +3,10 @@ no_issue: true title: Persiapan main_menu: true weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Gunakan halaman ini untuk mencari solusi yang paling sesuai dengan kebutuhan kamu. @@ -14,9 +14,9 @@ Menentukan dimana sebaiknya Kubernetes dijalankan sangat tergantung pada kapasit Kamu dapat menjalankan Kubernetes hampir dimana saja, mulai dari laptop, VM di penyedia cloud, sampai pada rak-rak berisi server baremetal. Kamu juga bisa menyiapkan klaster yang diatur sepenuhnya (fully-managed), dengan hanya menjalankan satu perintah, ataupun membuat klaster dengan solusi custom kamu sendiri pada server baremetal. -{{% /capture %}} -{{% capture body %}} + + ## Solusi pada Mesin Lokal @@ -74,8 +74,9 @@ Solusi-solusi ini cukup beragam, mulai dari bare-metal sampai ke penyedia cloud, Pilih [solusi custom](/docs/setup/pick-right-solution/#custom-solutions). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Lihat [Memilih Solusi Terbaik](/docs/setup/pick-right-solution/) untuk daftar solusi yang lengkap. -{{% /capture %}} + diff --git a/content/id/docs/tasks/_index.md b/content/id/docs/tasks/_index.md index 9e213d5a99..43d1986efe 100644 --- a/content/id/docs/tasks/_index.md +++ b/content/id/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: Tugas (Tasks) main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + Bagian dokumentasi Kubernetes ini berisi halaman-halaman yang perlihatkan bagaimana melakukan setiap tugas (_task_). Halaman tugas menunjukkan cara melakukan satu hal saja, biasanya dengan memberikan urutan langkah pendek. -{{% /capture %}} -{{% capture body %}} + + ## Antarmuka Pengguna Berbasis Web (Dashboard) @@ -84,11 +84,12 @@ oleh Node dalam sebuah klaster. Mengkonfigurasi dan menjadwalkan _HugePages_ sebagai sumber daya yang dapat dijadwalkan dalam sebuah klaster. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Jika kamu ingin menulis halaman tugas (_task_), silahkan lihat [Membuat Dokumentasi _Pull Request_](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/id/docs/tasks/access-application-cluster/access-cluster.md b/content/id/docs/tasks/access-application-cluster/access-cluster.md index cdb8a70962..148f402402 100644 --- a/content/id/docs/tasks/access-application-cluster/access-cluster.md +++ b/content/id/docs/tasks/access-application-cluster/access-cluster.md @@ -1,17 +1,17 @@ --- title: Mengakses Klaster weight: 20 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Topik ini membahas tentang berbagai cara untuk berinteraksi dengan klaster. -{{% /capture %}} -{{% capture body %}} + + ## Mengakses untuk pertama kalinya dengan kubectl @@ -340,4 +340,4 @@ Ada beberapa proksi berbeda yang mungkin kamu temui saat menggunakan Kubernetes: Pengguna Kubernetes biasanya tidak perlu khawatir tentang apa pun selain dua jenis pertama. Admin klaster biasanya akan memastikan bahwa tipe yang terakhir telah diatur dengan benar. -{{% /capture %}} + diff --git a/content/id/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/id/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 23f7dbd3fc..b2b80aacba 100644 --- a/content/id/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/id/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -1,6 +1,6 @@ --- title: Mengkonfigurasi Akses ke Banyak Klaster -content_template: templates/task +content_type: task weight: 30 card: name: tasks @@ -8,7 +8,7 @@ card: --- -{{% capture overview %}} + Halaman ini menunjukkan bagaimana mengkonfigurasi akses ke banyak klaster dengan menggunakan berkas (_file_) konfigurasi. Setelah semua klaster, pengguna, dan konteks didefinisikan di @@ -21,15 +21,16 @@ berkas *kubeconfig*. Ini adalah cara umum untuk merujuk ke berkas konfigurasi. Itu tidak berarti bahwa selalu ada berkas bernama `kubeconfig`. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Mendefinisikan klaster, pengguna, dan konteks @@ -366,13 +367,14 @@ export KUBECONFIG=$KUBECONFIG_SAVED $Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Mengatur Akses Cluster Menggunakan Berkas Kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/id/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md b/content/id/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md index e1404100b5..6db32dedf8 100644 --- a/content/id/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md +++ b/content/id/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md @@ -1,27 +1,28 @@ --- title: Menggunakan Port Forwarding untuk Mengakses Aplikasi di sebuah Klaster -content_template: templates/task +content_type: task weight: 40 min-kubernetes-server-version: v1.10 --- -{{% capture overview %}} + Halaman ini menunjukkan bagaimana menggunakan `kubectl port-forward` untuk menghubungkan sebuah server Redis yang sedang berjalan di sebuah klaster Kubernetes. Tipe dari koneksi ini dapat berguna untuk melakukan _debugging_ basis data. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Install [redis-cli](http://redis.io/topics/rediscli). -{{% /capture %}} -{{% capture steps %}} + + ## Membuat Deployment dan Service Redis @@ -177,10 +178,10 @@ Halaman ini menunjukkan bagaimana menggunakan `kubectl port-forward` untuk mengh PONG ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Diskusi @@ -193,9 +194,10 @@ Dukungan untuk protokol UDP bisa dilihat di [issue 47862](https://github.com/kubernetes/kubernetes/issues/47862). {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Belajar lebih tentang [kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands/#port-forward). -{{% /capture %}} + diff --git a/content/id/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/id/docs/tasks/access-application-cluster/web-ui-dashboard.md index 752e43b2f9..a83605db40 100644 --- a/content/id/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/id/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -1,6 +1,6 @@ --- title: Antarmuka Pengguna Berbasis Web (Dashboard) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -8,7 +8,7 @@ card: title: Menggunakan Antarmuka Pengguna Berbasis Web Dashboard --- -{{% capture overview %}} + Dashboard adalah antarmuka pengguna Kubernetes. Kamu dapat menggunakan Dashboard untuk men-_deploy_ aplikasi yang sudah dikontainerisasi ke klaster Kubernetes, memecahkan masalah pada aplikasi kamu, dan mengatur sumber daya klaster. Kamu dapat menggunakan Dashboard untuk melihat ringkasan dari aplikasi yang sedang berjalan di klaster kamu, dan juga membuat atau mengedit objek individu sumber daya Kubernetes (seperti Deployment, Job, DaemonSet, dll.). Sebagai contoh, kamu dapat mengembangkan sebuah Deployment, menginisiasi sebuah pembaruan bertahap (_rolling update_), memulai kembali sebuah Pod atau men-_deploy_ aplikasi baru menggunakan sebuah _deploy wizard_. @@ -16,10 +16,10 @@ Dashboard juga menyediakan informasi tentang status dari sumber daya Kubernetes ![Antarmuka Pengguna Dashboard Kubernetes](/images/docs/ui-dashboard.png) -{{% /capture %}} -{{% capture body %}} + + ## Men-_deploy_ Antarmuka Pengguna Dashboard @@ -158,11 +158,12 @@ Laman daftar dan detail Pod tertaut dengan laman penampil log (_log viewer_). Ka ![Logs viewer](/images/docs/ui-dashboard-logs-view.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Untuk informasi lebih lanjut, lihat [Laman proyek Kubernetes Dashboard](https://github.com/kubernetes/dashboard). -{{% /capture %}} + diff --git a/content/id/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/id/docs/tasks/configure-pod-container/configure-pod-configmap.md index 3d678ad75f..e5175ccf0e 100644 --- a/content/id/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/id/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -1,24 +1,25 @@ --- title: Mengatur Pod untuk Menggunakan ConfigMap -content_template: templates/task +content_type: task weight: 150 card: name: tasks weight: 50 --- -{{% capture overview %}} + ConfigMap mengizinkan kamu untuk memisahkan artifak-artifak konfigurasi dari konten _image_ untuk menjaga aplikasi yang dikontainerisasi tetap portabel. Artikel ini menyediakan sekumpulan contoh penerapan yang mendemonstrasikan bagaimana cara membuat ConfigMap dan mengatur Pod menggunakan data yang disimpan di dalam ConfigMap. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Membuat ConfigMap @@ -624,9 +625,9 @@ Ketika sebuah ConfigMap yang sudah dipasang pada sebuah volume diperbarui, kunci Kontainer yang menggunakan ConfigMap sebagai volume [subPath](/docs/concepts/storage/volumes/#using-subpath) tidak akan menerima pembaruan ConfigMap. {{< /note >}} -{{% /capture %}} -{{% capture discussion %}} + + ## Memahami ConfigMap dan Pod @@ -676,9 +677,10 @@ data: - Kamu tidak dapat menggunakan ConfigMap untuk {{< glossary_tooltip text="Pod statis" term_id="static-pod" >}}, karena Kubelet tidak mendukung hal ini. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Ikuti contoh penerapan pada dunia nyata [Mengatur Redis menggunakan ConfigMap](/docs/tutorials/configuration/configure-redis-using-configmap/). -{{% /capture %}} + diff --git a/content/id/docs/tasks/example-task-template.md b/content/id/docs/tasks/example-task-template.md index d5f9c8ca27..a1873501f3 100644 --- a/content/id/docs/tasks/example-task-template.md +++ b/content/id/docs/tasks/example-task-template.md @@ -1,10 +1,10 @@ --- title: Contoh Template Tugas (Task) -content_template: templates/task +content_type: task toc_hide: true --- -{{% capture overview %}} + {{< note >}} Pastikan juga kamu [membuat isian di daftar isi](/docs/home/contribute/write-new-topic/#creating-an-entry-in-the-table-of-contents) untuk dokumen baru kamu. @@ -12,41 +12,43 @@ Pastikan juga kamu [membuat isian di daftar isi](/docs/home/contribute/write-new Halaman ini menunjukkan bagaimana ... -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * Lakukan ini. * Lakukan ini juga. -{{% /capture %}} -{{% capture steps %}} + + ## Menjalankan ... 1. Lakukan ini. 1. Selanjutnya lakukan ini. Bila mungkin silahkan baca [penjelasan terkait](...). -{{% /capture %}} -{{% capture discussion %}} + + ## Memahami ... **[Bagian opsional]** Berikut ini hal-hal yang menarik untuk diketahui tentang langkah-langkah yang baru saja kamu lakukan. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + **[Bagian optional]** * Pelajari tentang [menulis topik baru](/docs/home/contribute/write-new-topic/). * Lihat [menggunakan _template_ halaman - _template_ tugas](/docs/home/contribute/page-templates/#task_template) untuk mengetahui cara menggunakan _template_ ini. -{{% /capture %}} + diff --git a/content/id/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/id/docs/tasks/inject-data-application/define-environment-variable-container.md index a9cce7b3e0..0f35ef27f7 100644 --- a/content/id/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/id/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -1,24 +1,25 @@ --- title: Mendefinisikan Variabel Lingkungan untuk sebuah Kontainer -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + Laman ini menunjukkan bagaimana cara untuk mendefinisikan variabel lingkungan (_environment variable_) untuk sebuah Container di dalam sebuah Pod Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Mendefinisikan sebuah variabel lingkungan untuk sebuah Container @@ -108,12 +109,13 @@ spec: Setelah dibuat, perintah `echo Warm greetings to The Most Honorable Kubernetes` dijalankan di Container tersebut. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [variabel lingkungan](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/). * Pelajari tentang [menggunakan informasi rahasia sebagai variabel lingkungan](/docs/user-guide/secrets/#using-secrets-as-environment-variables). * Lihat [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core). -{{% /capture %}} + diff --git a/content/id/docs/tasks/job/automated-tasks-with-cron-jobs.md b/content/id/docs/tasks/job/automated-tasks-with-cron-jobs.md index d945e156b4..2139f51629 100644 --- a/content/id/docs/tasks/job/automated-tasks-with-cron-jobs.md +++ b/content/id/docs/tasks/job/automated-tasks-with-cron-jobs.md @@ -1,11 +1,11 @@ --- title: Menjalankan Tugas-Tugas Otomatis dengan CronJob min-kubernetes-server-version: v1.8 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + Kamu dapat menggunakan {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} untuk menjalankan {{< glossary_tooltip text="Job" term_id="job" >}} yang dijadwalkan berbasis waktu. Job akan berjalan seperti pekerjaan-pekerjaan [Cron](https://en.wikipedia.org/wiki/Cron) di Linux atau sistem UNIX. @@ -18,15 +18,16 @@ Karena itu, Job haruslah _idempotent._ Untuk informasi lanjut mengenai keterbatasan, lihat [CronJob](/docs/concepts/workloads/controllers/cron-jobs). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Membuat Sebuah CronJob @@ -211,4 +212,4 @@ _Field_ `.spec.successfulJobHistoryLimit` dan `.spec.failedJobHistoryLimit` juga _Field_ tersebut menentukan berapa banyak Job yang sudah selesai dan gagal yang harus disimpan. Secara bawaan, masing-masing _field_ tersebut disetel 3 dan 1. Mensetel batas ke `0` untuk menjaga tidak ada Job yang sesuai setelah Job tersebut selesai. -{{% /capture %}} + diff --git a/content/id/docs/tasks/tools/install-kubectl.md b/content/id/docs/tasks/tools/install-kubectl.md index fc9b672c5e..e4d0019c3e 100644 --- a/content/id/docs/tasks/tools/install-kubectl.md +++ b/content/id/docs/tasks/tools/install-kubectl.md @@ -1,6 +1,6 @@ --- title: Menginstal dan Menyiapkan kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -8,15 +8,16 @@ card: title: Menginstal kubectl --- -{{% capture overview %}} + [Kubectl](/docs/user-guide/kubectl/) adalah alat baris perintah (_command line tool_) Kubernetes yang digunakan untuk menjalankan berbagai perintah untuk klaster Kubernetes. Kamu dapat menggunakan `kubectl` untuk men-_deploy_ aplikasi, mengatur sumber daya klaster, dan melihat log. Daftar operasi `kubectl` dapat dilihat di [Ikhtisar kubectl](/docs/reference/kubectl/overview/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Kamu harus menggunakan kubectl dengan perbedaan maksimal satu versi minor dengan klaster kamu. Misalnya, klien v1.2 masih dapat digunakan dengan master v1.1, v1.2, dan 1.3. Menggunakan versi terbaru `kubectl` dapat menghindari permasalahan yang tidak terduga. -{{% /capture %}} -{{% capture steps %}} + + ## Menginstal kubectl pada Linux @@ -485,12 +486,13 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Menginstal Minikube.](/docs/tasks/tools/install-minikube/) * Lihat [panduan persiapan](/docs/setup/) untuk mencari tahu tentang pembuatan klaster. * [Pelajari cara untuk menjalankan dan mengekspos aplikasimu.](/docs/tasks/access-application-cluster/service-access-application-cluster/) * Jika kamu membutuhkan akses ke klaster yang tidak kamu buat, lihat [dokumen Berbagi Akses Klaster](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). * Baca [dokumen referensi kubectl](/docs/reference/kubectl/kubectl/) -{{% /capture %}} + diff --git a/content/id/docs/tasks/tools/install-minikube.md b/content/id/docs/tasks/tools/install-minikube.md index f0e676e091..7e2d111637 100644 --- a/content/id/docs/tasks/tools/install-minikube.md +++ b/content/id/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Menginstal Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + Halaman ini menunjukkan cara instalasi [Minikube](/docs/tutorials/hello-minikube), sebuah alat untuk menjalankan sebuah klaster Kubernetes dengan satu Node pada mesin virtual yang ada di komputer kamu. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="Linux" %}} @@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # Menginstal minikube @@ -196,13 +197,14 @@ Untuk menginstal Minikube secara manual pada Windows, unduh [`minikube-windows-a {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Menjalanakan Kubernetes secara lokal dengan Minikube](/docs/setup/learning-environment/minikube/) -{{% /capture %}} + ## Memastikan instalasi diff --git a/content/id/docs/tutorials/_index.md b/content/id/docs/tutorials/_index.md index 5645744c39..687e2031fd 100644 --- a/content/id/docs/tutorials/_index.md +++ b/content/id/docs/tutorials/_index.md @@ -2,19 +2,19 @@ title: Tutorials main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Bagian ini membahas tentang tutorial Kubernetes. Tutorial berfungsi untuk memperlihatkan bagaimana caranya mencapai suatu tujuan yang lebih dari sekedar [task](/docs/tasks/) sederhana. Biasanya, sebuah tutorial punya beberapa bagian, masing-masing bagian terdiri dari langkah-langkah yang berurutan. Sebelum melangkah lebih lanjut ke tutorial, sebaiknya tandai dulu halaman [Kamus Istilah](/docs/reference/glossary/) untuk referensi nanti. -{{% /capture %}} -{{% capture body %}} + + ## Prinsip Dasar @@ -64,12 +64,13 @@ Sebelum melangkah lebih lanjut ke tutorial, sebaiknya tandai dulu halaman [Kamus * [Menggunakan Source IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Tertarik menulis tutorial? Lihat [Menggunakan Template Halaman](/docs/home/contribute/page-templates/) untuk info mengenai template dan ragam halaman tutorial. -{{% /capture %}} + diff --git a/content/id/docs/tutorials/hello-minikube.md b/content/id/docs/tutorials/hello-minikube.md index b8281c4c87..f2588e776b 100644 --- a/content/id/docs/tutorials/hello-minikube.md +++ b/content/id/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Halo Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + Tutorial ini menunjukkan bagaimana caranya menjalankan aplikasi sederhana Node.js Halo Dunia di Kubernetes, dengan [Minikube](/docs/getting-started-guides/minikube) dan Katacoda. Katacoda menyediakan environment Kubernetes secara gratis di dalam browser. @@ -22,17 +22,19 @@ Katacoda menyediakan environment Kubernetes secara gratis di dalam browse Kamupun bisa mengikuti tutorial ini kalau sudah instalasi [Minikube di lokal](/docs/tasks/tools/install-minikube/) kamu. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Deploy aplikasi halo dunia pada Minikube. * Jalankan aplikasinya. * Melihat log aplikasi. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Tutorial ini menyediakan image Kontainer yang dibuat melalui barisan kode berikut: @@ -42,9 +44,9 @@ Tutorial ini menyediakan image Kontainer yang dibuat melalui barisan kode beriku Untuk info lebih lanjut tentang perintah `docker build`, baca [dokumentasi Docker](https://docs.docker.com/engine/reference/commandline/build/). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Membuat sebuah klaster Minikube @@ -259,12 +261,13 @@ Kamu juga boleh menghapus Minikube VM: minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Pelajari lebih lanjut tentang [Deployment](/docs/concepts/workloads/controllers/deployment/). * Pelajari lebih lanjut tentang [Deploy aplikasi](/docs/user-guide/deploying-applications/). * Pelajari lebih lanjut tentang [Servis](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 74d006a754034ac5957e7003e94d6126a4c70bc5 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:43:58 -0400 Subject: [PATCH 335/533] add it pages --- content/it/docs/concepts/_index.md | 15 +++++------ .../concepts/architecture/cloud-controller.md | 10 ++++---- .../architecture/master-node-communication.md | 10 ++++---- .../it/docs/concepts/architecture/nodes.md | 10 ++++---- .../concepts/cluster-administration/addons.md | 10 ++++---- .../cluster-administration/certificates.md | 10 ++++---- .../cluster-administration/cloud-providers.md | 10 ++++---- .../cluster-administration-overview.md | 10 ++++---- .../controller-metrics.md | 10 ++++---- .../cluster-administration/federation.md | 15 +++++------ .../kubelet-garbage-collection.md | 15 +++++------ .../cluster-administration/logging.md | 10 ++++---- .../manage-deployment.md | 15 +++++------ .../cluster-administration/networking.md | 15 +++++------ .../cluster-administration/proxies.md | 10 ++++---- .../docs/concepts/example-concept-template.md | 15 +++++------ .../it/docs/concepts/overview/components.md | 15 +++++------ .../docs/concepts/overview/kubernetes-api.md | 10 ++++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++------ content/it/docs/tutorials/_index.md | 15 +++++------ content/it/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 21 files changed, 141 insertions(+), 129 deletions(-) diff --git a/content/it/docs/concepts/_index.md b/content/it/docs/concepts/_index.md index f471f2cd79..89b80f409d 100644 --- a/content/it/docs/concepts/_index.md +++ b/content/it/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: Concetti main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + La sezione Concetti ti aiuta a conoscere le parti del sistema Kubernetes e le astrazioni utilizzate da Kubernetes per rappresentare il tuo cluster e ti aiuta ad ottenere una comprensione più profonda di come funziona Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Overview @@ -66,12 +66,13 @@ I nodi di un cluster sono le macchine (VM, server fisici, ecc.) Che eseguono i f * [Annotations](/docs/concepts/overview/working-with-objects/annotations/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Se vuoi scrivere una pagina concettuale, vedi [Uso dei modelli di pagina](/docs/home/contribute/page-templates/) per informazioni sul tipo di pagina di concetto e il modello di concetto. -{{% /capture %}} + diff --git a/content/it/docs/concepts/architecture/cloud-controller.md b/content/it/docs/concepts/architecture/cloud-controller.md index 866309ce2d..5d8c044199 100644 --- a/content/it/docs/concepts/architecture/cloud-controller.md +++ b/content/it/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Concetti alla base del Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Il concetto di CCM (cloud controller manager), da non confondere con il binario, è stato originariamente creato per consentire di sviluppare Kubernetes indipendentemente dall'implementazione dello specifico cloud provider. Il cloud controller manager viene eseguito insieme ad altri componenti principali come il Kubernetes controller manager, il server API e lo scheduler. Può anche essere avviato come addon di Kubernetes, nel qual caso viene eseguito su Kubernetes. @@ -16,10 +16,10 @@ Ecco l'architettura di un cluster Kubernetes senza il gestore del controller clo ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Architettura @@ -242,4 +242,4 @@ I seguenti fornitori di cloud hanno una implementazione di CCM: Le istruzioni complete per la configurazione e l'esecuzione del CCM sono fornite [qui](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/it/docs/concepts/architecture/master-node-communication.md b/content/it/docs/concepts/architecture/master-node-communication.md index afbac85793..375c244a6c 100644 --- a/content/it/docs/concepts/architecture/master-node-communication.md +++ b/content/it/docs/concepts/architecture/master-node-communication.md @@ -1,11 +1,11 @@ --- draft: True title: Comunicazione Master-Node -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Questo documento cataloga i percorsi di comunicazione tra il master (in realtà il apiserver) e il cluster Kubernetes. L'intento è di consentire agli utenti di @@ -13,10 +13,10 @@ personalizzare la loro installazione per rafforzare la configurazione di rete in il cluster può essere eseguito su una rete non affidabile (o su IP completamente pubblici su a fornitore di servizi cloud). -{{% /capture %}} -{{% capture body %}} + + ## Cluster to Master @@ -92,4 +92,4 @@ la connessione verrà crittografata, non fornirà alcuna garanzia di integrità. Queste connessioni ** non sono attualmente al sicuro ** da eseguire su non attendibili e / o reti pubbliche. -{{% /capture %}} + diff --git a/content/it/docs/concepts/architecture/nodes.md b/content/it/docs/concepts/architecture/nodes.md index f881e8a8eb..0494050420 100644 --- a/content/it/docs/concepts/architecture/nodes.md +++ b/content/it/docs/concepts/architecture/nodes.md @@ -1,11 +1,11 @@ --- draft: True title: Nodi -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Un nodo è una macchina worker in Kubernetes, precedentemente noto come `minion`. Un nodo può essere una VM o una macchina fisica, a seconda del cluster. Ogni nodo contiene @@ -14,10 +14,10 @@ componenti. I servizi su un nodo includono il [container runtime](/docs/concepts [The Kubernetes Node](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) sezione in documento di progettazione dell'architettura per maggiori dettagli. -{{% /capture %}} -{{% capture body %}} + + ## Node Status @@ -283,4 +283,4 @@ Il nodo è una risorsa di livello superiore nell'API REST di Kubernetes. Maggior L'oggetto API può essere trovato a: [Node API object](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/addons.md b/content/it/docs/concepts/cluster-administration/addons.md index 65fe5c582f..3a91ff7b93 100644 --- a/content/it/docs/concepts/cluster-administration/addons.md +++ b/content/it/docs/concepts/cluster-administration/addons.md @@ -1,10 +1,10 @@ --- draft: True title: Installazione dei componenti aggiuntivi -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + I componenti aggiuntivi estendono la funzionalità di Kubernetes. @@ -13,10 +13,10 @@ Questa pagina elenca alcuni componenti aggiuntivi disponibili e collegamenti all I componenti aggiuntivi in ogni sezione sono ordinati alfabeticamente - l'ordine non implica uno stato preferenziale. -{{% /capture %}} -{{% capture body %}} + + ## Networking and Network Policy @@ -49,4 +49,4 @@ qui ci sono molti altri componenti aggiuntivi documentati nella directory deprec Quelli ben mantenuti dovrebbero essere collegati qui. -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/certificates.md b/content/it/docs/concepts/cluster-administration/certificates.md index 65bf22cf76..a05a982ccb 100644 --- a/content/it/docs/concepts/cluster-administration/certificates.md +++ b/content/it/docs/concepts/cluster-administration/certificates.md @@ -1,20 +1,20 @@ --- draft: True title: Certificati -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Quando si utilizza l'autenticazione del certificato client, è possibile generare certificati manualmente tramite `easyrsa`,` openssl` o `cfssl`. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -246,4 +246,4 @@ done. certificati x509 da utilizzare per l'autenticazione come documentato [here](/docs/tasks/tls/managing-tls-in-a-cluster). -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/cloud-providers.md b/content/it/docs/concepts/cluster-administration/cloud-providers.md index 393c7d3835..78e1f38bd2 100644 --- a/content/it/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/it/docs/concepts/cluster-administration/cloud-providers.md @@ -1,17 +1,17 @@ --- draft: True title: Cloud Providers -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Questa pagina spiega come gestire Kubernetes in esecuzione su uno specifico fornitore di servizi cloud. -{{% /capture %}} -{{% capture body %}} + + ### kubeadm [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) è un'opzione popolare per la creazione di cluster di kuberneti. @@ -342,7 +342,7 @@ File `cloud.conf`: [kubenet]: https://kubernetes.io/docs/concepts/cluster-administration/network-plugins/#kubenet -{{% /capture %}} + ## OVirt diff --git a/content/it/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/it/docs/concepts/cluster-administration/cluster-administration-overview.md index e3b848693f..a7c9974350 100644 --- a/content/it/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/it/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -1,16 +1,16 @@ --- draft: True title: Panoramica sull'amministrazione del cluster -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + La panoramica dell'amministrazione del cluster è per chiunque crei o gestisca un cluster Kubernetes. Presuppone una certa dimestichezza con i core Kubernetes [concetti](/docs/concepts/). -{{% /capture %}} -{{% capture body %}} + + ## Progettare un cluster Consulta le guide di [Setup](/docs/setup) per avere degli esempi su come pianificare, impostare e configurare cluster Kubernetes. Le soluzioni elencate in questo articolo sono chiamate *distribuzioni*. @@ -67,5 +67,5 @@ Nota: non tutte le distro vengono mantenute attivamente. Scegli le distro che so * [Registrazione e monitoraggio delle attività del cluster](/docs/concepts/cluster-administration/logging/) spiega come funziona il logging in Kubernetes e come implementarlo. -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/controller-metrics.md b/content/it/docs/concepts/cluster-administration/controller-metrics.md index ced1604da5..5cb6cee50e 100644 --- a/content/it/docs/concepts/cluster-administration/controller-metrics.md +++ b/content/it/docs/concepts/cluster-administration/controller-metrics.md @@ -1,16 +1,16 @@ --- draft: True title: Metriche del responsabile del controller -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + Le metriche del controller controller forniscono informazioni importanti sulle prestazioni e la salute di il responsabile del controller. -{{% /capture %}} -{{% capture body %}} + + ## Cosa sono le metriche del controller @@ -44,4 +44,4 @@ Le metriche sono emesse in [formato prometheus](https://prometheus.io/docs/instr In un ambiente di produzione è possibile configurare prometheus o altri strumenti di misurazione delle metriche per raccogliere periodicamente queste metriche e renderle disponibili in una sorta di database di serie temporali. -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/federation.md b/content/it/docs/concepts/cluster-administration/federation.md index 80e0d10b97..7f4bdb5998 100644 --- a/content/it/docs/concepts/cluster-administration/federation.md +++ b/content/it/docs/concepts/cluster-administration/federation.md @@ -1,11 +1,11 @@ --- draft: True title: Federation -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -13,9 +13,9 @@ weight: 80 Questa pagina spiega perché e come gestire più cluster di Kubernetes utilizzando federazione. -{{% /capture %}} -{{% capture body %}} + + ## Perché la federation La federation facilita la gestione di più cluster. Lo fa fornendo 2 @@ -170,9 +170,10 @@ Infine, se uno qualsiasi dei tuoi cluster richiederebbe più del numero massimo potresti aver bisogno di più cluster. Kubernetes v1.3 supporta cluster di dimensioni fino a 1000 nodi. Supporta Kubernetes v1.8 cluster fino a 5000 nodi. Vedi [Costruire cluster di grandi dimensioni](/docs/setup/cluster-large/) per maggiori informazioni. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Ulteriori informazioni sulla [Federazione proposta](https://github.com/kubernetes/community/blob/{{}}/contributors/design-proposal/multicluster/federation.md). * Vedi questo [guida alla configurazione](/docs/tutorial/federazione/set-up-cluster-federation-kubefed/) per la federazione dei cluster. * Vedi questo [Kubecon2016 talk on federation](https://www.youtube.com/watch?v=pq9lbkmxpS8) @@ -180,4 +181,4 @@ cluster fino a 5000 nodi. Vedi [Costruire cluster di grandi dimensioni](/docs/se * Vedi questo [Kubecon2018 aggiornamento Europa su sig-multicluster](https://www.youtube.com/watch?v=vGZo5DaThQU) * Vedi questo [Kubecon2018 Europe Federation-v2 presentazione prototipo](https://youtu.be/q27rbaX5Jis?t=7m20s) * Vedi questo [Federation-v2 Userguide](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/userguide.md) -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/it/docs/concepts/cluster-administration/kubelet-garbage-collection.md index 1aad1b22d9..10e0af08cc 100644 --- a/content/it/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/it/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,21 +1,21 @@ --- draft: True title: Configurazione della raccolta dati kubelet -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + La garbage collection è una funzione utile di kubelet che pulisce le immagini inutilizzate e i contenitori inutilizzati. Kubelet eseguirà la raccolta dei rifiuti per i contenitori ogni minuto e la raccolta dei dati inutili per le immagini ogni cinque minuti. Gli strumenti di garbage collection esterni non sono raccomandati in quanto questi strumenti possono potenzialmente interrompere il comportamento di kubelet rimuovendo i contenitori che si prevede esistano. -{{% /capture %}} -{{% capture body %}} + + ## Image Collection @@ -91,10 +91,11 @@ Compreso: | `--low-diskspace-threshold-mb` | `--eviction-hard` o` eviction-soft` | lo sfratto generalizza le soglie del disco ad altre risorse | | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | lo sfratto generalizza la transizione della pressione del disco verso altre risorse | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Vedi [Configurazione della gestione delle risorse esterne](/docs/tasks/administration-cluster/out-of-resource/) per maggiori dettagli. -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/logging.md b/content/it/docs/concepts/cluster-administration/logging.md index 179339ec4c..ea7235d532 100644 --- a/content/it/docs/concepts/cluster-administration/logging.md +++ b/content/it/docs/concepts/cluster-administration/logging.md @@ -1,20 +1,20 @@ --- draft: True title: Log di registrazione -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + I log di applicazioni e sistemi possono aiutarti a capire cosa sta accadendo all'interno del tuo cluster. I log sono particolarmente utili per il debug dei problemi e il monitoraggio delle attività del cluster. La maggior parte delle applicazioni moderne ha una sorta di meccanismo di registrazione; in quanto tale, la maggior parte dei motori di container sono progettati allo stesso modo per supportare alcuni tipi di registrazione. Il metodo di registrazione più semplice e più accettato per le applicazioni containerizzate è scrivere sull'output standard e sui flussi di errore standard. Tuttavia, la funzionalità nativa fornita da un motore contenitore o dal runtime di solito non è sufficiente per una soluzione di registrazione completa. Ad esempio, se un container si arresta in modo anomalo, un pod viene rimosso, o un nodo muore, di solito vuoi comunque accedere ai log dell'applicazione. Pertanto, i registri devono avere una memoria e un ciclo di vita separati, indipendenti da nodi, pod o contenitori. Questo concetto è chiamato _cluster-logging_. La registrazione a livello di cluster richiede un back-end separato per archiviare, analizzare e interrogare i registri. Kubernetes non fornisce alcuna soluzione di archiviazione nativa per i dati di registro, ma è possibile integrare molte soluzioni di registrazione esistenti nel proprio cluster Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Le architetture di registrazione a livello di cluster sono descritte nel presupposto che un back-end per la registrazione è presente all'interno o all'esterno del cluster. Se tu sei @@ -256,4 +256,4 @@ contenitore. ogni applicazione; tuttavia, l'implementazione di un tale meccanismo di registrazione è al di fuori dello scopo di Kubernetes. -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/manage-deployment.md b/content/it/docs/concepts/cluster-administration/manage-deployment.md index fabf9ffe35..5e8886ec6f 100644 --- a/content/it/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/it/docs/concepts/cluster-administration/manage-deployment.md @@ -1,21 +1,21 @@ --- draft: True title: Gestione delle risorse -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Hai distribuito la tua applicazione e l'hai esposta tramite un servizio. Ora cosa? Kubernetes fornisce una serie di strumenti per aiutarti a gestire la distribuzione delle applicazioni, compreso il ridimensionamento e l'aggiornamento. Tra le caratteristiche che discuteremo in modo più approfondito ci sono [file di configurazione](/docs/concepts/configuration/overview/) e [labels](/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} -{{% capture body %}} + + ## Organizzazione delle configurazioni delle risorse @@ -437,11 +437,12 @@ dietro la scena. Garantisce che solo un certo numero di vecchie repliche potrebb aggiornate e solo un certo numero di nuove repliche può essere creato sopra il numero desiderato di pod. Per ulteriori informazioni su di esso, visitare [Pagina di distribuzione](/docs/concepts/workloads/controller/deployment/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [[Scopri come usare `kubectl` per l'introspezione e il debug delle applicazioni.](/Docs/tasks/debug-application-cluster/debug-application-introspection/) - [Best practice e suggerimenti sulla configurazione](/docs/concepts/configuration/overview/) -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/networking.md b/content/it/docs/concepts/cluster-administration/networking.md index 77829b940f..4c83d201e0 100644 --- a/content/it/docs/concepts/cluster-administration/networking.md +++ b/content/it/docs/concepts/cluster-administration/networking.md @@ -1,11 +1,11 @@ --- draft: True title: Cluster Networking -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Il networking è una parte centrale di Kubernetes, ma può essere difficile capire esattamente come dovrebbe funzionare. Ci sono 4 reti distinte problemi da affrontare: @@ -14,10 +14,10 @@ Ci sono 4 reti distinte problemi da affrontare: 2. Comunicazioni Pod-to-Pod: questo è l'obiettivo principale di questo documento. 3. Comunicazioni Pod-to-Service: questo è coperto da [servizi](/docs/concepts/services-networking/service/). 4. Comunicazioni da esterno a servizio: questo è coperto da [servizi](/docs/concepts/services-networking/service/). -{{% /capture %}} -{{% capture body %}} + + Kubernetes è tutto basato sulla condivisione di macchine tra le applicazioni. Tipicamente, la condivisione di macchine richiede che due applicazioni non provino a utilizzare il @@ -334,11 +334,12 @@ sue applicazioni in hosting. Weave Net funziona come un plug-in [CNI](https://ww o stand-alone. In entrambe le versioni, non richiede alcuna configurazione o codice aggiuntivo per eseguire, e in entrambi i casi, la rete fornisce un indirizzo IP per pod, come è standard per Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Il progetto iniziale del modello di rete e la sua logica, e un po 'di futuro i piani sono descritti in maggior dettaglio nella [progettazione della rete documento](https://git.k8s.io/community/contributors/design-proposals/network/networking.md). -{{% /capture %}} + diff --git a/content/it/docs/concepts/cluster-administration/proxies.md b/content/it/docs/concepts/cluster-administration/proxies.md index beee7cfa8a..58d29e67fb 100644 --- a/content/it/docs/concepts/cluster-administration/proxies.md +++ b/content/it/docs/concepts/cluster-administration/proxies.md @@ -1,14 +1,14 @@ --- title: Proxy in Kubernetes -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Questa pagina spiega i proxy utilizzati con Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Proxy @@ -62,6 +62,6 @@ in genere assicurerà che gli altri tipi di proxy siano impostati correttamente. I proxy hanno sostituito le funzioni di reindirizzamento. I reindirizzamenti sono stati deprecati. -{{% /capture %}} + diff --git a/content/it/docs/concepts/example-concept-template.md b/content/it/docs/concepts/example-concept-template.md index db1bc0b960..fd91cdb085 100644 --- a/content/it/docs/concepts/example-concept-template.md +++ b/content/it/docs/concepts/example-concept-template.md @@ -1,10 +1,10 @@ --- title: Esempio di modello di concetto -content_template: templates/concept +content_type: concept toc_hide: true --- -{{% capture overview %}} + {{< note >}} Assicurati anche di [creare una voce nel sommario](/docs/home/contribute/write-new-topic/#creating-an-entry-in-the-table-of-contents) per il tuo nuovo documento. @@ -12,9 +12,9 @@ Assicurati anche di [creare una voce nel sommario](/docs/home/contribute/write-n Questa pagina spiega ... -{{% /capture %}} -{{% capture body %}} + + ## Comprendendo ... @@ -25,15 +25,16 @@ Kubernetes fornisce ... Usare -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + **[Sezione opzionale]** * Ulteriori informazioni su [Scrivere un nuovo argomento](/docs/home/contribuisci/scrivi-nuovo-argomento/). * Vedi [Uso dei modelli di pagina - Modello di concetto](/docs/home/contribuis/page-templates/#concept_template) su come utilizzare questo modello. -{{% /capture %}} + diff --git a/content/it/docs/concepts/overview/components.md b/content/it/docs/concepts/overview/components.md index 6e896ab21a..da5259971c 100644 --- a/content/it/docs/concepts/overview/components.md +++ b/content/it/docs/concepts/overview/components.md @@ -1,13 +1,13 @@ „--- title: I componenti di Kubernetes -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + Facendo il deployment di Kubernetes, ottieni un cluster. {{< glossary_definition term_id="cluster" length="all" prepend="Un cluster Kubernetes è">}} @@ -18,9 +18,9 @@ Questo è un diagramma di un cluster Kubernetes con tutti i componenti e le loro ![I componenti di Kubernetes](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## Componenti della Control Plane I componenti del Control Plane sono responsabili di tutte le decisioni globali sul cluster (ad esempio, lo scheduling) oltre che a rilevare e rispondere agli eventi del cluster (ad esempio, l'avvio di un nuovo {{< glossary_tooltip text="pod" term_id="pod">}} quando il valore `replicas` di un deployment non è soddisfatto). @@ -113,10 +113,11 @@ Il [Monitoraggio dei Container](/docs/tasks/debug-application-cluster/resource-u Un [log a livello di cluster](/docs/concepts/cluster-administration/logging/) è responsabile per il salvataggio dei log dei container in un log centralizzato la cui interfaccia permette di cercare e navigare nei log. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Scopri i concetti relativi ai [Nodi](/docs/concepts/architecture/nodes/) * Scopri i concetti relativi ai [Controller](/docs/concepts/architecture/controller/) * Scopri i concetti relativi al [kube-scheduler](/docs/concepts/scheduling/kube-scheduler/) * Leggi la [documentazione](https://etcd.io/docs/) ufficiale di etcd -{{% /capture %}} + diff --git a/content/it/docs/concepts/overview/kubernetes-api.md b/content/it/docs/concepts/overview/kubernetes-api.md index 7f122bcd14..5214bea53a 100644 --- a/content/it/docs/concepts/overview/kubernetes-api.md +++ b/content/it/docs/concepts/overview/kubernetes-api.md @@ -1,13 +1,13 @@ --- title: Le API di Kubernetes -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 20 --- -{{% capture overview %}} + Le convenzioni generali seguite dalle API sono descritte in [API conventions doc](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md). @@ -21,10 +21,10 @@ Kubernetes assicura la persistenza del suo stato (al momento in [etcd](https://c Kubernetes stesso è diviso in differenti componenti, i quali interagiscono tra loro attraverso le stesse API. -{{% /capture %}} -{{% capture body %}} + + ## Evoluzione delle API @@ -123,4 +123,4 @@ Per esempio: per abilitare deployments and daemonsets, utilizza la seguente conf {{< note >}}Abilitare/disabilitare una singola risorsa è supportato solo per il gruppo di API `extensions/v1beta1` per ragioni storiche.{{< /note >}} -{{% /capture %}} + diff --git a/content/it/docs/concepts/overview/what-is-kubernetes.md b/content/it/docs/concepts/overview/what-is-kubernetes.md index 399b31da9c..fa511b90c3 100644 --- a/content/it/docs/concepts/overview/what-is-kubernetes.md +++ b/content/it/docs/concepts/overview/what-is-kubernetes.md @@ -2,18 +2,18 @@ title: Cos'è Kubernetes? description: > Kubernetes è una piattaforma portatile, estensibile e open-source per la gestione di carichi di lavoro e servizi containerizzati, in grado di facilitare sia la configurazione dichiarativa che l'automazione. La piattaforma vanta un grande ecosistema in rapida crescita. Servizi, supporto e strumenti sono ampiamente disponibili nel mondo Kubernetes . -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Questa pagina è una panoramica generale su Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes è una piattaforma portatile, estensibile e open-source per la gestione di carichi di lavoro e servizi containerizzati, in grado di facilitare sia la configurazione dichiarativa che l'automazione. La piattaforma vanta un grande ecosistema in rapida crescita. Servizi, supporto e strumenti sono ampiamente disponibili nel mondo Kubernetes . Il nome Kubernetes deriva dal greco, significa timoniere o pilota. Google ha reso open-source il progetto Kubernetes nel 2014. Kubernetes unisce [oltre quindici anni di esperienza di Google nella gestione di carichi di lavoro di produzione su scala mondiale](https://ai.google/research/pubs/pub43438) con le migliori idee e pratiche della comunità. @@ -84,9 +84,10 @@ Kubernetes: * Non fornisce né adotta alcun sistema di gestione completa della macchina, configurazione, manutenzione, gestione o sistemi di self healing. * Inoltre, Kubernetes non è un semplice sistema di orchestrazione. Infatti, questo sistema elimina la necessità di orchestrazione. La definizione tecnica di orchestrazione è l'esecuzione di un flusso di lavoro definito: prima si fa A, poi B, poi C. Al contrario, Kubernetes è composto da un insieme di processi di controllo indipendenti e componibili che guidano costantemente lo stato attuale verso lo stato desiderato. Non dovrebbe importare come si passa dalla A alla C. Anche il controllo centralizzato non è richiesto. Questo si traduce in un sistema più facile da usare, più potente, robusto, resiliente ed estensibile. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Dai un'occhiata alla pagina [i componenti di Kubernetes](/docs/concepts/overview/components/) * Sai già [Come Iniziare](/docs/setup/)? -{{% /capture %}} + diff --git a/content/it/docs/tutorials/_index.md b/content/it/docs/tutorials/_index.md index cdd1c473e8..88ffbe41e5 100644 --- a/content/it/docs/tutorials/_index.md +++ b/content/it/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: Tutorials main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Questa sezione della documentazione di Kubernetes contiene i tutorials. Un tutorial mostra come raggiungere un obiettivo più complesso di un singolo @@ -14,9 +14,9 @@ consiste in una sequenza di più task. Prima di procedere con vari tutorial, raccomandiamo di aggiungere il [Glossario](/docs/reference/glossary/) ai tuoi bookmark per riferimenti successivi. -{{% /capture %}} -{{% capture body %}} + + ## Per cominciare @@ -64,12 +64,13 @@ Prima di procedere con vari tutorial, raccomandiamo di aggiungere il * [Utilizzare Source IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Se sei interessato a scrivere un tutorial, vedi [Utilizzare i Page Templates](/docs/home/contribute/page-templates/) per informazioni su come creare una tutorial page e sul tutorial template. -{{% /capture %}} + diff --git a/content/it/docs/tutorials/hello-minikube.md b/content/it/docs/tutorials/hello-minikube.md index 80b9b64b11..3dadc7a0cc 100644 --- a/content/it/docs/tutorials/hello-minikube.md +++ b/content/it/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + Questo tutorial mostra come eseguire una semplice applicazione in Kubernetes utilizzando [Minikube](/docs/setup/learning-environment/minikube) e Katacoda. @@ -23,24 +23,26 @@ Katacoda permette di operare su un'installazione di Kubernetes dal tuo browser. Come alternativa, è possibile eseguire questo tutorial [installando minikube](/docs/tasks/tools/install-minikube/) localmente. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Rilasciare una semplice applicazione su Minikube. * Eseguire l'applicazione. * Visualizzare i log dell'applicazione. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Questo tutorial fornisce una container image che utilizza NGINX per risponde a tutte le richieste con un echo che visualizza i dati della richiesta stessa. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Crea un Minikube cluster @@ -269,12 +271,13 @@ Eventualmente, puoi cancellare la Minikube VM: minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Approfondisci la tua conoscenza dei [Deployments](/docs/concepts/workloads/controllers/deployment/). * Approfondisci la tua conoscenza di [Rilasciare applicazioni](/docs/tasks/run-application/run-stateless-application-deployment/). * Approfondisci la tua conoscenza dei [Services](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 283572af585884417efe8265b8605ffea54ca3f6 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Sat, 30 May 2020 15:47:59 -0400 Subject: [PATCH 336/533] add ja pages --- content/ja/docs/concepts/_index.md | 15 +++++----- .../concepts/architecture/cloud-controller.md | 10 +++---- .../architecture/master-node-communication.md | 10 +++---- .../ja/docs/concepts/architecture/nodes.md | 10 +++---- .../cluster-administration-overview.md | 10 +++---- .../controller-metrics.md | 10 +++---- .../cluster-administration/networking.md | 15 +++++----- .../concepts/configuration/assign-pod-node.md | 15 +++++----- .../docs/concepts/configuration/overview.md | 10 +++---- .../container-environment-variables.md | 15 +++++----- .../containers/container-lifecycle-hooks.md | 15 +++++----- .../docs/concepts/containers/runtime-class.md | 10 +++---- .../api-extension/apiserver-aggregation.md | 15 +++++----- .../api-extension/custom-resources.md | 15 +++++----- .../extend-kubernetes/extend-cluster.md | 15 +++++----- .../concepts/extend-kubernetes/operator.md | 15 +++++----- .../ja/docs/concepts/overview/components.md | 15 +++++----- .../docs/concepts/overview/kubernetes-api.md | 10 +++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++----- .../working-with-objects/annotations.md | 15 +++++----- .../working-with-objects/common-labels.md | 9 +++--- .../kubernetes-objects.md | 15 +++++----- .../overview/working-with-objects/labels.md | 10 +++---- .../overview/working-with-objects/names.md | 10 +++---- .../working-with-objects/namespaces.md | 10 +++---- .../working-with-objects/object-management.md | 15 +++++----- .../concepts/scheduling/kube-scheduler.md | 15 +++++----- .../scheduling/scheduler-perf-tuning.md | 10 +++---- .../connect-applications-service.md | 15 +++++----- .../services-networking/dns-pod-service.md | 15 +++++----- .../concepts/services-networking/ingress.md | 15 +++++----- .../concepts/services-networking/service.md | 15 +++++----- .../concepts/storage/dynamic-provisioning.md | 10 +++---- .../concepts/storage/persistent-volumes.md | 10 +++---- .../concepts/storage/volume-pvc-datasource.md | 10 +++---- .../storage/volume-snapshot-classes.md | 10 +++---- .../workloads/controllers/cron-jobs.md | 10 +++---- .../workloads/controllers/daemonset.md | 10 +++---- .../workloads/controllers/deployment.md | 10 +++---- .../controllers/garbage-collection.md | 15 +++++----- .../workloads/controllers/replicaset.md | 10 +++---- .../workloads/controllers/statefulset.md | 15 +++++----- .../workloads/controllers/ttlafterfinished.md | 15 +++++----- .../workloads/pods/init-containers.md | 15 +++++----- .../concepts/workloads/pods/pod-lifecycle.md | 15 +++++----- .../concepts/workloads/pods/pod-overview.md | 15 +++++----- .../ja/docs/concepts/workloads/pods/pod.md | 10 +++---- .../docs/concepts/workloads/pods/podpreset.md | 15 +++++----- content/ja/docs/contribute/_index.md | 8 ++--- .../ja/docs/home/supported-doc-versions.md | 10 +++---- content/ja/docs/reference/_index.md | 10 +++---- .../feature-gates.md | 15 +++++----- .../ja/docs/reference/kubectl/cheatsheet.md | 15 +++++----- content/ja/docs/setup/_index.md | 10 +++---- .../docs/setup/best-practices/certificates.md | 10 +++---- .../setup/best-practices/multiple-zones.md | 10 +++---- .../setup/learning-environment/minikube.md | 10 +++---- .../container-runtimes.md | 10 +++---- .../on-premises-vm/cloudstack.md | 10 +++---- .../on-premises-vm/dcos.md | 10 +++---- .../on-premises-vm/ovirt.md | 10 +++---- .../production-environment/tools/kops.md | 15 +++++----- .../tools/kubeadm/control-plane-flags.md | 10 +++---- .../tools/kubeadm/create-cluster-kubeadm.md | 13 ++++---- .../tools/kubeadm/ha-topology.md | 15 +++++----- .../tools/kubeadm/high-availability.md | 15 +++++----- .../tools/kubeadm/install-kubeadm.md | 18 ++++++----- .../tools/kubeadm/kubelet-integration.md | 10 +++---- .../tools/kubeadm/self-hosting.md | 10 +++---- .../kubeadm/setup-ha-etcd-with-kubeadm.md | 20 +++++++------ .../tools/kubeadm/troubleshooting-kubeadm.md | 10 +++---- .../production-environment/tools/kubespray.md | 15 +++++----- .../production-environment/turnkey/aws.md | 15 +++++----- .../production-environment/turnkey/gce.md | 15 +++++----- .../turnkey/stackpoint.md | 10 +++---- .../windows/intro-windows-in-kubernetes.md | 15 +++++----- .../windows/user-guide-windows-containers.md | 10 +++---- .../windows/user-guide-windows-nodes.md | 10 +++---- .../setup/release/building-from-source.md | 10 +++---- .../docs/setup/release/version-skew-policy.md | 8 ++--- content/ja/docs/tasks/_index.md | 15 +++++----- ...icate-containers-same-pod-shared-volume.md | 24 ++++++++------- .../configure-access-multiple-clusters.md | 19 ++++++------ .../connecting-frontend-backend.md | 25 +++++++++------- .../service-access-application-cluster.md | 30 +++++++++++-------- .../developing-cloud-controller-manager.md | 10 +++---- .../enabling-endpointslices.md | 18 ++++++----- .../running-cloud-controller.md | 10 +++---- .../assign-cpu-resource.md | 20 +++++++------ .../assign-memory-resource.md | 20 +++++++------ .../attach-handler-lifecycle-event.md | 24 ++++++++------- .../configure-projected-volume-storage.md | 20 +++++++------ .../configure-volume-storage.md | 20 +++++++------ .../quality-service-pod.md | 20 +++++++------ .../share-process-namespace.md | 19 ++++++------ .../debug-init-containers.md | 19 ++++++------ .../debug-pod-replication-controller.md | 15 +++++----- .../debug-service.md | 15 +++++----- .../debug-stateful-set.md | 20 +++++++------ .../determine-reason-pod-failure.md | 20 +++++++------ .../get-shell-running-container.md | 24 ++++++++------- .../run-application/delete-stateful-set.md | 20 +++++++------ .../force-delete-stateful-set-pod.md | 20 +++++++------ .../run-replicated-stateful-application.md | 30 +++++++++++-------- ...un-single-instance-stateful-application.md | 25 +++++++++------- .../run-stateless-application-deployment.md | 25 +++++++++------- .../run-application/scale-stateful-set.md | 20 +++++++------ .../install-service-catalog-using-helm.md | 20 +++++++------ .../ja/docs/tasks/tools/install-kubectl.md | 20 +++++++------ .../ja/docs/tasks/tools/install-minikube.md | 20 +++++++------ content/ja/docs/tutorials/_index.md | 15 +++++----- .../configure-redis-using-configmap.md | 25 +++++++++------- content/ja/docs/tutorials/hello-minikube.md | 25 +++++++++------- .../expose-external-ip-address.md | 30 +++++++++++-------- 114 files changed, 900 insertions(+), 793 deletions(-) diff --git a/content/ja/docs/concepts/_index.md b/content/ja/docs/concepts/_index.md index a179d79113..ca572d2559 100644 --- a/content/ja/docs/concepts/_index.md +++ b/content/ja/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: コンセプト main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 本セクションは、Kubernetesシステムの各パートと、{{< glossary_tooltip text="クラスター" term_id="cluster" length="all" >}}を表現するためにKubernetesが使用する抽象概念について学習し、Kubernetesの仕組みをより深く理解するのに役立ちます。 -{{% /capture %}} -{{% capture body %}} + + ## 概要 @@ -59,12 +59,13 @@ Kubernetesのマスターは、クラスターの望ましい状態を維持す クラスターのノードは、アプリケーションとクラウドワークフローを実行するマシン(VM、物理サーバーなど)です。Kubernetesのマスターは各ノードを制御します。運用者自身がノードと直接対話することはほとんどありません。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + コンセプトページを追加したい場合は、 [ページテンプレートの使用](/docs/home/contribute/page-templates/) のコンセプトページタイプとコンセプトテンプレートに関する情報を確認してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/architecture/cloud-controller.md b/content/ja/docs/concepts/architecture/cloud-controller.md index 9d76076fc7..d722ced7a6 100644 --- a/content/ja/docs/concepts/architecture/cloud-controller.md +++ b/content/ja/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: クラウドコントローラーマネージャーとそのコンセプト -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + クラウドコントローラマネージャー(CCM)のコンセプト(バイナリと混同しないでください)は、もともとクラウドベンダー固有のソースコードと、Kubernetesのコアソースコードを独立して進化させることが出来るように作られました。クラウドコントローラーマネージャーは、Kubernetesコントローラーマネージャー、APIサーバー、そしてスケジューラーのような他のマスターコンポーネントと並行して動きます。またKubernetesのアドオンとしても動かすことができ、その場合はKubernetes上で動きます。 @@ -16,10 +16,10 @@ weight: 30 ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## 設計 @@ -235,4 +235,4 @@ rules: CCMを設定、動かすための完全な手順は[こちら](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager)で提供されています。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/architecture/master-node-communication.md b/content/ja/docs/concepts/architecture/master-node-communication.md index 711ce4a584..14f0678a20 100644 --- a/content/ja/docs/concepts/architecture/master-node-communication.md +++ b/content/ja/docs/concepts/architecture/master-node-communication.md @@ -1,18 +1,18 @@ --- title: マスターとノード間の通信 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 本ドキュメントでは、KubernetesにおけるMaster(実態はAPIサーバー)及びクラスター間のコミュニケーション経路についてまとめます。 この文書の目的は、信頼できないネットワーク上(またはクラウドプロバイダ上の完全にパブリックなIP上)でクラスタを実行できるように、ユーザーがインストールをカスタマイズしてネットワーク構成を強化できるようにすることです。 -{{% /capture %}} -{{% capture body %}} + + ## クラスターからマスターへの通信 @@ -69,4 +69,4 @@ Kubernetesはマスターからクラスターへの通信経路を保護する SSHトンネルは現在非推奨なので、自分がしていることが分からない限り、使用しないでください。この通信チャネルに代わるものが設計されています。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/architecture/nodes.md b/content/ja/docs/concepts/architecture/nodes.md index eac8388f41..d5631319a7 100644 --- a/content/ja/docs/concepts/architecture/nodes.md +++ b/content/ja/docs/concepts/architecture/nodes.md @@ -1,17 +1,17 @@ --- title: ノード -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + ノードは、以前には `ミニオン` としても知られていた、Kubernetesにおけるワーカーマシンです。1つのノードはクラスターの性質にもよりますが、1つのVMまたは物理的なマシンです。各ノードには[Pod](/ja/docs/concepts/workloads/pods/pod/)を動かすために必要なサービスが含まれており、マスターコンポーネントによって管理されています。ノード上のサービスには[コンテナランタイム](/ja/docs/concepts/overview/components/#container-runtime)、kubelet、kube-proxyが含まれています。詳細については、設計ドキュメントの[Kubernetes Node](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node)セクションをご覧ください。 -{{% /capture %}} -{{% capture body %}} + + ## ノードのステータス @@ -219,4 +219,4 @@ Pod以外のプロセス用にリソースを明示的に予約したい場合 NodeはKubernetesのREST APIにおけるトップレベルのリソースです。APIオブジェクトに関する詳細は以下の記事にてご覧いただけます: [Node APIオブジェクト](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core). -{{% /capture %}} + diff --git a/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md index 935edba7a3..93ab8c2fa5 100644 --- a/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/ja/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -1,15 +1,15 @@ --- reviewers: title: クラスター管理の概要 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + このページはKubernetesクラスターの作成や管理者向けの内容です。Kubernetesのコア[コンセプト](/ja/docs/concepts/)についてある程度精通していることを前提とします。 -{{% /capture %}} -{{% capture body %}} + + ## クラスターのプランニング Kubernetesクラスターの計画、セットアップ、設定の例を知るには[設定](/ja/docs/setup/)のガイドを参照してください。この記事で列挙されているソリューションは*ディストリビューション* と呼ばれます。 @@ -64,6 +64,6 @@ Kubernetesクラスターの計画、セットアップ、設定の例を知る * [クラスターアクティビィのロギングと監視](/docs/concepts/cluster-administration/logging/)では、Kubernetesにおけるロギングがどのように行われ、どう実装されているかについて解説します。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/cluster-administration/controller-metrics.md b/content/ja/docs/concepts/cluster-administration/controller-metrics.md index d8fb5232f9..d77f5bdf44 100644 --- a/content/ja/docs/concepts/cluster-administration/controller-metrics.md +++ b/content/ja/docs/concepts/cluster-administration/controller-metrics.md @@ -1,15 +1,15 @@ --- title: コントローラーマネージャーの指標 -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + コントローラーマネージャーの指標は、コントローラー内部のパフォーマンスについての重要で正確な情報と、クラウドコントローラーの状態についての情報を提供します。 -{{% /capture %}} -{{% capture body %}} + + ## コントローラーマネージャーの指標とは何か コントローラーマネージャーの指標は、コントローラー内部のパフォーマンスについての重要で正確な情報と、クラウドコントローラーの状態についての情報を提供します。 @@ -39,4 +39,4 @@ cloudprovider_gce_api_request_duration_seconds { request = "list_disk"} 本番環境ではこれらの指標を定期的に収集し、なんらかの時系列データベースで使用できるようにprometheusやその他の指標のスクレイパーを構成することが推奨されます。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/cluster-administration/networking.md b/content/ja/docs/concepts/cluster-administration/networking.md index 80cf72f0ee..2ec89adc4d 100644 --- a/content/ja/docs/concepts/cluster-administration/networking.md +++ b/content/ja/docs/concepts/cluster-administration/networking.md @@ -1,10 +1,10 @@ --- title: クラスターのネットワーク -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + ネットワークはKubernetesにおける中心的な部分ですが、どのように動作するかを正確に理解することは難解な場合もあります。 Kubernetesには、4つの異なる対応すべきネットワークの問題があります: @@ -14,10 +14,10 @@ Kubernetesには、4つの異なる対応すべきネットワークの問題が 3. Podからサービスへの通信:これは[Service](/ja/docs/concepts/services-networking/service/)でカバーされています。 4. 外部からサービスへの通信:これは[Service](/ja/docs/concepts/services-networking/service/)でカバーされています。 -{{% /capture %}} -{{% capture body %}} + + Kubernetesは、言ってしまえばアプリケーション間でマシンを共有するためのものです。通常、マシンを共有するには、2つのアプリケーションが同じポートを使用しないようにする必要があります。 複数の開発者間でポートを調整することは、大規模に行うことは非常に難しく、ユーザーが制御できないクラスターレベルの問題に見合うことがあります。 @@ -282,10 +282,11 @@ Weave Net runs as a [CNI plug-in](https://www.weave.works/docs/net/latest/cni-pl or stand-alone. In either version, it doesn't require any configuration or extra code to run, and in both cases, the network provides one IP address per pod - as is standard for Kubernetes. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ネットワークモデルの初期設計とその根拠、および将来の計画については、[ネットワーク設計ドキュメント](https://git.k8s.io/community/contributors/design-proposals/network/networking.md)で詳細に説明されています。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/configuration/assign-pod-node.md b/content/ja/docs/concepts/configuration/assign-pod-node.md index 0dbde41861..b34ea432e6 100644 --- a/content/ja/docs/concepts/configuration/assign-pod-node.md +++ b/content/ja/docs/concepts/configuration/assign-pod-node.md @@ -1,20 +1,20 @@ --- title: Node上へのPodのスケジューリング -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + [Pod](/ja/docs/concepts/workloads/pods/pod/)が稼働する[Node](/ja/docs/concepts/architecture/nodes/)を特定のものに指定したり、優先条件を指定して制限することができます。 これを実現するためにはいくつかの方法がありますが、推奨されている方法は[ラベルでの選択](/docs/concepts/overview/working-with-objects/labels/)です。 スケジューラーが最適な配置を選択するため、一般的にはこのような制限は不要です(例えば、複数のPodを別々のNodeへデプロイしたり、Podを配置する際にリソースが不十分なNodeにはデプロイされないことが挙げられます)が、 SSDが搭載されているNodeにPodをデプロイしたり、同じアベイラビリティーゾーン内で通信する異なるサービスのPodを同じNodeにデプロイする等、柔軟な制御が必要なこともあります。 -{{% /capture %}} -{{% capture body %}} + + ## nodeSelector @@ -357,9 +357,10 @@ spec: 上記のPodはkube-01という名前のNodeで稼働します。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Taints](/docs/concepts/configuration/taint-and-toleration/)を使うことで、NodeはPodを追い出すことができます。 @@ -367,4 +368,4 @@ spec: [Inter-Pod Affinity/Anti-Affinity](https://git.k8s.io/community/contributors/design-proposals/scheduling/podaffinity.md) には、Taintsの要点に関して様々な背景が紹介されています。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/configuration/overview.md b/content/ja/docs/concepts/configuration/overview.md index 8255db692a..a4b6b57763 100644 --- a/content/ja/docs/concepts/configuration/overview.md +++ b/content/ja/docs/concepts/configuration/overview.md @@ -1,16 +1,16 @@ --- title: 設定のベストプラクティス -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + このドキュメントでは、ユーザーガイド、入門マニュアル、および例を通して紹介されている設定のベストプラクティスを中心に説明します。 このドキュメントは生ものです。このリストには載っていないが他の人に役立つかもしれない何かについて考えている場合、IssueまたはPRを遠慮なく作成してください。 -{{% /capture %}} -{{% capture body %}} + + ## 一般的な設定のTips - 構成を定義する際には、最新の安定したAPIバージョンを指定してください。 @@ -98,6 +98,6 @@ weight: 10 - `get`や`delete`を行う際は、特定のオブジェクト名を指定するのではなくラベルセレクターを使いましょう。[ラベルセレクター](/docs/concepts/overview/working-with-objects/labels/#label-selectors)と[ラベルの効果的な使い方](/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively)のセクションを参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/containers/container-environment-variables.md b/content/ja/docs/concepts/containers/container-environment-variables.md index 1057cc0518..52e6f7e1ad 100644 --- a/content/ja/docs/concepts/containers/container-environment-variables.md +++ b/content/ja/docs/concepts/containers/container-environment-variables.md @@ -1,17 +1,17 @@ --- title: コンテナ環境変数 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + このページでは、コンテナ環境で利用可能なリソースについて説明します。 -{{% /capture %}} -{{% capture body %}} + + ## コンテナ環境 @@ -45,11 +45,12 @@ FOO_SERVICE_PORT=<サービスが実行されているポート> サービスは専用のIPアドレスを持ち、[DNSアドオン](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/)が有効の場合、DNSを介してコンテナで利用可能です。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [コンテナライフサイクルフック](/docs/concepts/containers/container-lifecycle-hooks/)の詳細 * [コンテナライフサイクルイベントへのハンドラー紐付け](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)のハンズオン -{{% /capture %}} + diff --git a/content/ja/docs/concepts/containers/container-lifecycle-hooks.md b/content/ja/docs/concepts/containers/container-lifecycle-hooks.md index 943e77aae2..5104ab1efb 100644 --- a/content/ja/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/ja/docs/concepts/containers/container-lifecycle-hooks.md @@ -1,17 +1,17 @@ --- title: コンテナライフサイクルフック -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + このページでは、kubeletにより管理されるコンテナがコンテナライフサイクルフックフレームワークを使用して、管理ライフサイクル中にイベントによって引き起こされたコードを実行する方法について説明します。 -{{% /capture %}} -{{% capture body %}} + + ## 概要 @@ -93,12 +93,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [コンテナ環境](/docs/concepts/containers/container-environment-variables/)の詳細 * [コンテナライフサイクルイベントへのハンドラー紐付け](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)のハンズオン -{{% /capture %}} + diff --git a/content/ja/docs/concepts/containers/runtime-class.md b/content/ja/docs/concepts/containers/runtime-class.md index 1acbdcf219..526eb62463 100644 --- a/content/ja/docs/concepts/containers/runtime-class.md +++ b/content/ja/docs/concepts/containers/runtime-class.md @@ -1,11 +1,11 @@ --- reviewers: title: ランタイムクラス(Runtime Class) -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="beta" >}} @@ -15,10 +15,10 @@ weight: 20 RuntimeClassはKubernetes1.14のβ版アップグレードにおいて*破壊的な* 変更を含んでいます。もしユーザーがKubernetes1.14以前のバージョンを使っていた場合、[RuntimeClassのα版からβ版へのアップグレード](#upgrading-runtimeclass-from-alpha-to-beta)を参照してください。 {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## RuntimeClassについて @@ -139,4 +139,4 @@ RuntimeClassのβ版の機能は、下記の変更点を含みます。 ``` - `runtimeHandler`の指定がないか、もしくは空文字の場合や、ハンドラー名に`.`文字列が使われている場合はα版のRuntimeClassにおいてもはや有効ではありません。正しい形式のハンドラー設定に変更しなくてはなりません(先ほど記載した内容を確認ください)。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index 5338d3071d..a47d894561 100644 --- a/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -1,16 +1,16 @@ --- title: アグリゲーションレイヤーを使ったKubernetes APIの拡張 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + アグリゲーションレイヤーを使用すると、KubernetesのコアAPIで提供されている機能を超えて、追加のAPIでKubernetesを拡張できます。 -{{% /capture %}} -{{% capture body %}} + + ## 概要 @@ -20,13 +20,14 @@ weight: 10 通常、APIServiceは、クラスター上で動いているPod内の *extension-apiserver* で実装されます。このextension-apiserverは、追加されたリソースに対するアクティブな管理が必要な場合、通常、1つか複数のコントローラーとペアになっている必要があります。そのため、実際にapiserver-builderはextension-apiserverとコントローラーの両方のスケルトンを提供します。一例として、service-catalogがインストールされると、extension-apiserverと提供するサービスのコントローラーの両方を提供します。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * アグリゲーターをあなたの環境で動かすには、まず[アグリゲーションレイヤーを設定](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/)します * そして、アグリゲーションレイヤーと一緒に動作させるために[extension api-serverをセットアップ](/docs/tasks/access-kubernetes-api/setup-extension-api-server/)します * また、[Custom Resource Definitionを使いKubernetes APIを拡張する](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)方法を学んで下さい -{{% /capture %}} + diff --git a/content/ja/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/ja/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index 6d8fbc1e2e..41f96a20ce 100644 --- a/content/ja/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/ja/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -1,16 +1,16 @@ --- title: カスタムリソース -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + *カスタムリソース* はKubernetes APIの拡張です。このページでは、いつKubernetesのクラスターにカスタムリソースを追加するべきなのか、そしていつスタンドアローンのサービスを利用するべきなのかを議論します。カスタムリソースを追加する2つの方法と、それらの選択方法について説明します。 -{{% /capture %}} -{{% capture body %}} + + ## カスタムリソース @@ -213,11 +213,12 @@ Kubernetesの[クライアントライブラリー](/docs/reference/using-api/cl - 自作のRESTクライアント - [Kubernetesクライアント生成ツール](https://github.com/kubernetes/code-generator)を使い生成したクライアント(生成は高度な作業ですが、一部のプロジェクトは、CRDまたはAAとともにクライアントを提供する場合があります) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kubernetes APIをアグリゲーションレイヤーで拡張する方法](/ja/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/)について学ぶ * [Kubernetes APIをCustomResourceDefinitionで拡張する方法](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/)について学ぶ -{{% /capture %}} + diff --git a/content/ja/docs/concepts/extend-kubernetes/extend-cluster.md b/content/ja/docs/concepts/extend-kubernetes/extend-cluster.md index b554f01819..dad9190345 100644 --- a/content/ja/docs/concepts/extend-kubernetes/extend-cluster.md +++ b/content/ja/docs/concepts/extend-kubernetes/extend-cluster.md @@ -1,10 +1,10 @@ --- title: Kubernetesクラスターの拡張 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + Kubernetesは柔軟な設定が可能で、高い拡張性を持っています。 結果として、Kubernetesのプロジェクトソースコードをフォークしたり、パッチを当てて利用することは滅多にありません。 @@ -13,9 +13,9 @@ Kubernetesは柔軟な設定が可能で、高い拡張性を持っています 管理しているKubernetesクラスターを、動作環境の要件にどのように適合させるべきかを理解したい{{< glossary_tooltip text="クラスター管理者" term_id="cluster-operator" >}}を対象にしています。 将来の {{< glossary_tooltip text="プラットフォーム開発者" term_id="platform-developer" >}} 、またはKubernetesプロジェクトの{{< glossary_tooltip text="コントリビューター" term_id="contributor" >}}にとっても、どのような拡張のポイントやパターンが存在するのか、また、それぞれのトレードオフや制限事項を学ぶための導入として役立つでしょう。 -{{% /capture %}} -{{% capture body %}} + + ## 概要 @@ -152,9 +152,10 @@ Kubernetesはいくつかのビルトイン認証方式と、それらが要件 スケジューラは[Webhook](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/scheduler_extender.md)もサポートしており、Webhookバックエンド(スケジューラーエクステンション)を通じてPodを配置するために選択されたノードをフィルタリング、優先度付けすることが可能です。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [カスタムリソース](/docs/concepts/api-extension/custom-resources/)についてより深く学ぶ * [動的Admission control](/docs/reference/access-authn-authz/extensible-admission-controllers/)について学ぶ @@ -164,4 +165,4 @@ Kubernetesはいくつかのビルトイン認証方式と、それらが要件 * [kubectlプラグイン](/docs/tasks/extend-kubectl/kubectl-plugins/)について学ぶ * [オペレーターパターン](/docs/concepts/extend-kubernetes/operator/)について学ぶ -{{% /capture %}} + diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 08c173ddff..cee9d31d5c 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -1,17 +1,17 @@ --- title: オペレーターパターン -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + オペレーターはサードパーティのアプリケーション、コンポーネントを管理するためのリソースを活用する、Kubernetesへのソフトウェア拡張です。 オペレーターは、特に[制御ループ](/docs/concepts/#kubernetes-control-plane)のようなKubernetesが持つ仕組みに準拠しています。 -{{% /capture %}} -{{% capture body %}} + + ## モチベーション @@ -79,9 +79,10 @@ kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更 オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装でき、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることができます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)をより深く学びます * ユースケースに合わせた、既製のオペレーターを[OperatorHub.io](https://operatorhub.io/)から見つけます @@ -94,4 +95,4 @@ kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更 * オペレーターパターンを紹介している[CoreOSオリジナル記事](https://coreos.com/blog/introducing-operators.html)を読みます * Google Cloudが出したオペレーター作成のベストプラクティス[記事](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps)を読みます -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/components.md b/content/ja/docs/concepts/overview/components.md index 5a4f894c44..933602567a 100644 --- a/content/ja/docs/concepts/overview/components.md +++ b/content/ja/docs/concepts/overview/components.md @@ -1,13 +1,13 @@ --- title: Kubernetesのコンポーネント -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + Kubernetesをデプロイすると、クラスターが展開されます。 {{< glossary_definition term_id="cluster" length="all" prepend="クラスターは、">}} @@ -17,9 +17,9 @@ Kubernetesをデプロイすると、クラスターが展開されます。 ![Kubernetesのコンポーネント](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## マスターコンポーネント @@ -112,10 +112,11 @@ Kubernetesによって開始されたコンテナは、DNS検索にこのDNSサ [クラスターレベルログ](/docs/concepts/cluster-administration/logging/)メカニズムは、コンテナのログを、検索/参照インターフェイスを備えた中央ログストアに保存します。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [ノード](/ja/docs/concepts/architecture/nodes/)について学ぶ * [コントローラー](/docs/concepts/architecture/controller/)について学ぶ * [kube-scheduler](/ja/docs/concepts/scheduling/kube-scheduler/)について学ぶ * etcdの公式 [ドキュメント](https://etcd.io/docs/)を読む -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/kubernetes-api.md b/content/ja/docs/concepts/overview/kubernetes-api.md index d7851d954b..b7abd72a9c 100644 --- a/content/ja/docs/concepts/overview/kubernetes-api.md +++ b/content/ja/docs/concepts/overview/kubernetes-api.md @@ -1,14 +1,14 @@ --- reviewers: title: Kubernetes API -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + 全般的なAPIの規則は、[API規則ドキュメント](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md)に記載されています。 @@ -22,9 +22,9 @@ Kubernetes APIは、システムの宣言的設定スキーマの基礎として Kubernetesそれ自身は複数のコンポーネントから構成されており、APIを介して連携しています。 -{{% /capture %}} -{{% capture body %}} + + ## APIの変更 @@ -113,4 +113,4 @@ APIグループは、RESTのパスとシリアライズされたオブジェク DaemonSets、Deployments、HorizontalPodAutoscalers、Ingresses、JobsReplicaSets、そしてReplicaSetsはデフォルトで有効です。 その他の拡張リソースは、APIサーバーの`--runtime-config`を設定することで有効化できます。`--runtime-config`はカンマ区切りの複数の値を設定可能です。例えば、deploymentsとingressを無効化する場合、`--runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/ingresses=false`と設定します。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/what-is-kubernetes.md b/content/ja/docs/concepts/overview/what-is-kubernetes.md index 6299002ac6..f6da4c1b0d 100644 --- a/content/ja/docs/concepts/overview/what-is-kubernetes.md +++ b/content/ja/docs/concepts/overview/what-is-kubernetes.md @@ -1,17 +1,17 @@ --- title: Kubernetesとは何か? -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + このページでは、Kubernetesの概要について説明します。 -{{% /capture %}} -{{% capture body %}} + + Kubernetesは、宣言的な構成管理と自動化を促進し、コンテナ化されたワークロードやサービスを管理するための、ポータブルで拡張性のあるオープンソースプラットホームです。 Kubernetesは膨大で、急速に成長しているエコシステムを備えており、それらのサービス、サポート、ツールは幅広い形で利用可能です。 @@ -94,11 +94,12 @@ Kubernetesは... **Kubernetes** という名前はギリシャ語で *操舵手* や *パイロット* という意味があり、*知事* や[サイバネティックス](http://www.etymonline.com/index.php?term=cybernetics)の語源にもなっています。*K8s* は、8文字の「ubernete」を「8」に置き換えた略語です。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [はじめる](/docs/setup/)準備はできましたか? * さらなる詳細については、[Kubernetesのドキュメント](/ja/docs/home/)を御覧ください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/working-with-objects/annotations.md b/content/ja/docs/concepts/overview/working-with-objects/annotations.md index a169bdee03..282a671825 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/ja/docs/concepts/overview/working-with-objects/annotations.md @@ -1,14 +1,14 @@ --- title: アノテーション(Annotations) -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + ユーザーは、識別用途でない任意のメタデータをオブジェクトに割り当てるためにアノテーションを使用できます。ツールやライブラリなどのクライアントは、このメタデータを取得できます。 -{{% /capture %}} -{{% capture body %}} + + ## オブジェクトにメタデータを割り当てる ユーザーは、Kubernetesオブジェクトに対してラベルやアノテーションの両方またはどちらか一方を割り当てることができます。 @@ -59,9 +59,10 @@ _アノテーション_ はキーとバリューのペアです。有効なア `kubernetes.io/`と`k8s.io/`プレフィックスは、Kubernetesコアコンポーネントのために予約されています。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [ラベルとセレクター](/docs/concepts/overview/working-with-objects/labels/)について学習してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/working-with-objects/common-labels.md b/content/ja/docs/concepts/overview/working-with-objects/common-labels.md index 9a6c4508df..0e65cffc5d 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,15 +1,15 @@ --- title: 推奨ラベル(Recommended Labels) -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + ユーザーはkubectlやダッシュボード以外に、多くのツールでKubernetesオブジェクトの管理と可視化ができます。共通のラベルセットにより、全てのツールにおいて解釈可能な共通のマナーに沿ってオブジェクトを表現することで、ツールの相互運用を可能にします。 ツール化に対するサポートに加えて、推奨ラベルはクエリ可能な方法でアプリケーションを表現します。 -{{% /capture %}} -{{% capture body %}} + + メタデータは、_アプリケーション_ のコンセプトを中心に構成されています。KubernetesはPaaS(Platform as a Service)でなく、アプリケーションの公式な概念を持たず、またそれを強制することはありません。 そのかわり、アプリケーションは、非公式で、メタデータによって表現されています。単一のアプリケーションが有する項目に対する定義は厳密に決められていません。 @@ -153,4 +153,3 @@ metadata: MySQLの`StatefulSet`と`Service`により、MySQLとWordPressに関するより広範な情報が含まれていることに気づくでしょう。 -{{% /capture %}} \ No newline at end of file diff --git a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 81bee4ca68..ace4fae929 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ja/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,17 +1,17 @@ --- title: Kubernetesオブジェクトを理解する -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + このページでは、KubernetesオブジェクトがKubernetes APIでどのように表現されているか、またそれらを`.yaml`フォーマットでどのように表現するかを説明します。 -{{% /capture %}} -{{% capture body %}} + + ## Kubernetesオブジェクトを理解する *Kubernetesオブジェクト* は、Kubernetes上で永続的なエンティティです。Kubernetesはこれらのエンティティを使い、クラスターの状態を表現します。具体的に言うと、下記のような内容が表現出来ます: @@ -63,10 +63,11 @@ Kubernetesオブジェクトを`.yaml`ファイルに記載して作成する場 またオブジェクトの`spec`の値も指定する必要があります。`spec`の正確なフォーマットは、Kubernetesオブジェクトごとに異なり、オブジェクトごとに特有な入れ子のフィールドを持っています。[Kubernetes API リファレンス](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)が、Kubernetesで作成出来る全てのオブジェクトに関するspecのフォーマットを探すのに役立ちます。 例えば、`Pod`オブジェクトに関する`spec`のフォーマットは[こちら](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)を、また`Deployment`オブジェクトに関する`spec`のフォーマットは[こちら](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps)をご確認ください。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 最も重要、かつ基本的なKubernetesオブジェクト群を学びましょう、例えば、[Pod](/ja/docs/concepts/workloads/pods/pod-overview/)です。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/working-with-objects/labels.md b/content/ja/docs/concepts/overview/working-with-objects/labels.md index 9d42742759..f543ef938c 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ja/docs/concepts/overview/working-with-objects/labels.md @@ -1,10 +1,10 @@ --- title: ラベル(Labels)とセレクター(Selectors) -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキーとバリューのペアです。 ラベルはユーザーに関連した意味のあるオブジェクトの属性を指定するために使われることを目的としています。しかしKubernetesのコアシステムに対して直接的にその意味を暗示するものではありません。 @@ -22,10 +22,10 @@ _ラベル(Labels)_ はPodなどのオブジェクトに割り当てられたキ ラベルは効率的な検索・閲覧を可能にし、UIやCLI上での利用に最適です。 識別用途でない情報は、[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を用いて記録されるべきです。 -{{% /capture %}} -{{% capture body %}} + + ## ラベルを使う動機 @@ -216,4 +216,4 @@ selector: ラベルを選択するための1つのユースケースはPodがスケジュールできるNodeのセットを制限することです。 さらなる情報に関しては、[Node選定](/ja/docs/concepts/configuration/assign-pod-node/) のドキュメントを参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index b8762cb33c..2be57e51a5 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -1,11 +1,11 @@ --- reviewers: title: 名前 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + KubernetesのREST API内の全てのオブジェクトは、名前とUIDで明確に識別されます。 @@ -13,9 +13,9 @@ KubernetesのREST API内の全てのオブジェクトは、名前とUIDで明 名前とUIDに関する正確な構文については、[識別子デザインドキュメント](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)を参照してください。 -{{% /capture %}} -{{% capture body %}} + + ## 名前 @@ -27,4 +27,4 @@ KubernetesのREST API内の全てのオブジェクトは、名前とUIDで明 {{< glossary_definition term_id="uid" length="all" >}} -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md index 8e21224587..1cf310f2bd 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ja/docs/concepts/overview/working-with-objects/namespaces.md @@ -1,18 +1,18 @@ --- title: Namespace(名前空間) -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Kubernetesは、同一の物理クラスター上で複数の仮想クラスターの動作をサポートします。 この仮想クラスターをNamespaceと呼びます。 -{{% /capture %}} -{{% capture body %}} + + ## 複数のNamespaceを使う時 @@ -97,4 +97,4 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} + diff --git a/content/ja/docs/concepts/overview/working-with-objects/object-management.md b/content/ja/docs/concepts/overview/working-with-objects/object-management.md index 356426b375..bbf0085cf1 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/object-management.md +++ b/content/ja/docs/concepts/overview/working-with-objects/object-management.md @@ -1,16 +1,16 @@ --- title: Kubernetesオブジェクト管理 -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + `kubectl`コマンドラインツールは、Kubernetesオブジェクトを作成、管理するためにいくつかの異なる方法をサポートしています。 このドキュメントでは、それらの異なるアプローチごとの概要を提供します。 Kubectlを使ったオブジェクト管理の詳細は、[Kubectl book](https://kubectl.docs.kubernetes.io)を参照してください。 -{{% /capture %}} -{{% capture body %}} + + ## 管理手法 @@ -157,9 +157,10 @@ kubectl apply -R -f configs/ - 宣言型オブジェクト設定は、デバッグ、そして想定外の結果が出たときに理解するのが困難です - 差分を利用した一部のみの更新は、複雑なマージ、パッチの操作が必要です -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [命令型コマンドを利用したKubernetesオブジェクトの管理](/docs/tasks/manage-kubernetes-objects/imperative-command/) - [オブジェクト設定(命令型)を利用したKubernetesオブジェクトの管理](/docs/tasks/manage-kubernetes-objects/imperative-config/) @@ -169,4 +170,4 @@ kubectl apply -R -f configs/ - [Kubectl Book](https://kubectl.docs.kubernetes.io) - [Kubernetes APIリファレンス](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ja/docs/concepts/scheduling/kube-scheduler.md b/content/ja/docs/concepts/scheduling/kube-scheduler.md index 53fd5c67b7..15e2c4e638 100644 --- a/content/ja/docs/concepts/scheduling/kube-scheduler.md +++ b/content/ja/docs/concepts/scheduling/kube-scheduler.md @@ -1,16 +1,16 @@ --- title: Kubernetesのスケジューラー -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Kubernetesにおいて、_スケジューリング_ とは、{{< glossary_tooltip term_id="kubelet" >}}が{{< glossary_tooltip text="Pod" term_id="pod" >}}を稼働させるために{{< glossary_tooltip text="Node" term_id="node" >}}に割り当てることを意味します。 -{{% /capture %}} -{{% capture body %}} + + ## スケジューリングの概要{#scheduling} @@ -110,9 +110,10 @@ kube-schedulerは、デフォルトで用意されているスケジューリン - `EqualPriorityMap`: 全てのNodeに対して等しい重みを与えます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [スケジューラーのパフォーマンスチューニング](/docs/concepts/scheduling/scheduler-perf-tuning/)を参照してください。 * kube-schedulerの[リファレンスドキュメント](/docs/reference/command-line-tools-reference/kube-scheduler/)を参照してください。 * [複数のスケジューラーの設定](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/)について学んでください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/scheduling/scheduler-perf-tuning.md b/content/ja/docs/concepts/scheduling/scheduler-perf-tuning.md index ccc04a54f3..2a096295a1 100644 --- a/content/ja/docs/concepts/scheduling/scheduler-perf-tuning.md +++ b/content/ja/docs/concepts/scheduling/scheduler-perf-tuning.md @@ -1,10 +1,10 @@ --- title: スケジューラーのパフォーマンスチューニング -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.14" state="beta" >}} @@ -14,9 +14,9 @@ weight: 70 このページでは、大規模のKubernetesクラスターにおけるパフォーマンス最適化のためのチューニングについて説明します。 -{{% /capture %}} -{{% capture body %}} + + ## スコア付けするノードの割合 @@ -71,4 +71,4 @@ Node 1, Node 5, Node 2, Node 6, Node 3, Node 4 全てのノードのチェックを終えたら、1番目のノードに戻ってチェックをします。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/services-networking/connect-applications-service.md b/content/ja/docs/concepts/services-networking/connect-applications-service.md index e1250bbdea..1bb6d404c1 100644 --- a/content/ja/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ja/docs/concepts/services-networking/connect-applications-service.md @@ -1,11 +1,11 @@ --- title: サービスとアプリケーションの接続 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + ## コンテナを接続するためのKubernetesモデル @@ -25,9 +25,9 @@ Kubernetesでは、どのホストで稼働するかに関わらず、Podが他 このガイドでは、シンプルなnginxサーバーを使用して概念実証を示します。 同じ原則が、より完全な[Jenkins CIアプリケーション](https://kubernetes.io/blog/2015/07/strong-simple-ssl-for-kubernetes)で具体化されています。 -{{% /capture %}} -{{% capture body %}} + + ## Podをクラスターに公開する @@ -410,11 +410,12 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el ... ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Kubernetesは、複数のクラスターおよびクラウドプロバイダーにまたがるフェデレーションサービスもサポートし、可用性の向上、フォールトトレランスの向上、サービスのスケーラビリティの向上を実現します。 詳細については[フェデレーションサービスユーザーガイド](/docs/concepts/cluster-administration/federation-service-discovery/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/services-networking/dns-pod-service.md b/content/ja/docs/concepts/services-networking/dns-pod-service.md index fa76965e8e..0b2b28da27 100644 --- a/content/ja/docs/concepts/services-networking/dns-pod-service.md +++ b/content/ja/docs/concepts/services-networking/dns-pod-service.md @@ -1,14 +1,14 @@ --- reviewers: title: ServiceとPodに対するDNS -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + このページではKubernetesによるDNSサポートについて概観します。 -{{% /capture %}} -{{% capture body %}} + + ## イントロダクション @@ -191,13 +191,14 @@ PodのDNS設定と"`None`"というDNSポリシーの利用可能なバージョ | 1.10 | β版 (デフォルトで有効)| | 1.9 | α版 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + DNS設定の管理方法に関しては、[DNS Serviceの設定](/docs/tasks/administer-cluster/dns-custom-nameservers/) を確認してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/services-networking/ingress.md b/content/ja/docs/concepts/services-networking/ingress.md index 7fd3a81bab..273e2dbba2 100644 --- a/content/ja/docs/concepts/services-networking/ingress.md +++ b/content/ja/docs/concepts/services-networking/ingress.md @@ -1,15 +1,15 @@ --- title: Ingress -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.1" state="beta" >}} {{< glossary_definition term_id="ingress" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## 用語 @@ -395,9 +395,10 @@ Ingressリソースに直接関与しない複数の方法でServiceを公開で * [Service.Type=LoadBalancer](/ja/docs/concepts/services-networking/service/#loadbalancer) * [Service.Type=NodePort](/ja/docs/concepts/services-networking/service/#nodeport) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Ingressコントローラー](/docs/concepts/services-networking/ingress-controllers/)について学ぶ * [MinikubeとNGINXコントローラーでIngressのセットアップを行う](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/ja/docs/concepts/services-networking/service.md b/content/ja/docs/concepts/services-networking/service.md index 4556752eae..ea12c8e0a7 100644 --- a/content/ja/docs/concepts/services-networking/service.md +++ b/content/ja/docs/concepts/services-networking/service.md @@ -5,21 +5,21 @@ feature: description: > Kubernetesでは、なじみのないサービスディスカバリーのメカニズムを使用するためにユーザーがアプリケーションの修正をする必要はありません。KubernetesはPodにそれぞれのIPアドレス割り振りや、Podのセットに対する単一のDNS名を提供したり、それらのPodのセットに対する負荷分散が可能です。 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< glossary_definition term_id="service" length="short" >}} Kubernetesでは、なじみのないサービスディスカバリーのメカニズムを使用するためにユーザーがアプリケーションの修正をする必要はありません。 KubernetesはPodにそれぞれのIPアドレス割り振りや、Podのセットに対する単一のDNS名を提供したり、それらのPodのセットに対する負荷分散が可能です。 -{{% /capture %}} -{{% capture body %}} + + ## Serviceを利用する動機 @@ -941,12 +941,13 @@ Kubernetesプロジェクトは、L7 (HTTP) Serviceへのサポートをもっ Kubernetesプロジェクトは、現在利用可能なClusterIP、NodePortやLoadBalancerタイプのServiceに対して、より柔軟なIngressのモードを追加する予定です。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/)を参照してください。 * [Ingress](/docs/concepts/services-networking/ingress/)を参照してください。 * [Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/storage/dynamic-provisioning.md b/content/ja/docs/concepts/storage/dynamic-provisioning.md index e2361e5e83..28aa61209e 100644 --- a/content/ja/docs/concepts/storage/dynamic-provisioning.md +++ b/content/ja/docs/concepts/storage/dynamic-provisioning.md @@ -1,19 +1,19 @@ --- reviewers: title: ボリュームの動的プロビジョニング(Dynamic Volume Provisioning) -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + ボリュームの動的プロビジョニングにより、ストレージ用のボリュームをオンデマンドに作成することができます。 動的プロビジョニングなしでは、クラスター管理者はクラウドプロバイダーまたはストレージプロバイダーに対して新規のストレージ用のボリュームと[`PersistentVolume`オブジェクト](/docs/concepts/storage/persistent-volumes/)を作成するように手動で指示しなければなりません。動的プロビジョニングの機能によって、クラスター管理者がストレージを事前にプロビジョンする必要がなくなります。その代わりに、ユーザーによってリクエストされたときに自動でストレージをプロビジョンします。 -{{% /capture %}} -{{% capture body %}} + + ## バックグラウンド @@ -87,4 +87,4 @@ spec: [マルチゾーン](/docs/setup/multiple-zones)クラスター内では、Podは単一のリージョン内のゾーンをまたいでしか稼働できません。シングルゾーンのStorageバックエンドはPodがスケジュールされるゾーン内でプロビジョンされる必要があります。これは[Volume割り当てモード](/docs/concepts/storage/storage-classes/#volume-binding-mode)を設定することにより可能となります。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/storage/persistent-volumes.md b/content/ja/docs/concepts/storage/persistent-volumes.md index d7969f7d99..f6db1eba38 100644 --- a/content/ja/docs/concepts/storage/persistent-volumes.md +++ b/content/ja/docs/concepts/storage/persistent-volumes.md @@ -5,18 +5,18 @@ feature: description: > ローカルストレージやGCPAWSなどのパブリッククラウドプロバイダー、もしくはNFS、iSCSI、Gluster、Ceph、Cinder、Flockerのようなネットワークストレージシステムの中から選択されたものを自動的にマウントします。 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + このドキュメントではKubernetesの`PersistentVolume`について説明します。[ボリューム](/docs/concepts/storage/volumes/)を一読することをおすすめします。 -{{% /capture %}} -{{% capture body %}} + + ## 概要 @@ -658,4 +658,4 @@ spec: - ユーザーがストレージクラス名を指定しない場合、`persistentVolumeClaim.storageClassName`フィールドはnilのままにする。これにより、PVはユーザーにクラスターのデフォルトストレージクラスで自動的にプロビジョニングされる。多くのクラスター環境ではデフォルトのストレージクラスがインストールされているが、管理者は独自のデフォルトストレージクラスを作成することができる。 - ツールがPVCを監視し、しばらくしてもバインドされないことをユーザーに表示する。これはクラスターが動的ストレージをサポートしない(この場合ユーザーは対応するPVを作成するべき)、もしくはクラスターがストレージシステムを持っていない(この場合ユーザーはPVCを必要とする設定をデプロイできない)可能性があることを示す。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/storage/volume-pvc-datasource.md b/content/ja/docs/concepts/storage/volume-pvc-datasource.md index 7b6cb90601..fc742e558f 100644 --- a/content/ja/docs/concepts/storage/volume-pvc-datasource.md +++ b/content/ja/docs/concepts/storage/volume-pvc-datasource.md @@ -1,10 +1,10 @@ --- title: CSI Volume Cloning -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.15" state="alpha" >}} このドキュメントではKubernetesで既存のCSIボリュームの複製についてのコンセプトを説明します。このページを読む前にあらかじめ[ボリューム](/docs/concepts/storage/volumes)についてよく理解していることが望ましいです。 @@ -16,10 +16,10 @@ weight: 30 ``` -{{% /capture %}} -{{% capture body %}} + + ## イントロダクション @@ -61,4 +61,4 @@ spec: 新しいPVCが使用可能になると、複製されたPVCは他のPVCと同じように利用されます。またこの時点で新しく作成されたPVCは独立したオブジェクトであることが期待されます。元のdataSource PVCを考慮せず個別に利用、複製、スナップショット、削除できます。これはまた複製元が新しく作成された複製にリンクされておらず、新しく作成された複製に影響を与えずに変更または削除できることを意味します。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/storage/volume-snapshot-classes.md b/content/ja/docs/concepts/storage/volume-snapshot-classes.md index 829bde8a2e..0fd19e47be 100644 --- a/content/ja/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/ja/docs/concepts/storage/volume-snapshot-classes.md @@ -1,19 +1,19 @@ --- reviewers: title: VolumeSnapshotClass -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + このドキュメントでは、Kubernetesにおける`VolumeSnapshotClass`のコンセプトについて説明します。 関連する項目として、[Volumeのスナップショット](/docs/concepts/storage/volume-snapshots/)と[ストレージクラス](/docs/concepts/storage/storage-classes)も参照してください。 -{{% /capture %}} -{{% capture body %}} + + ## イントロダクション @@ -45,4 +45,4 @@ VolumeSnapshotClassは、VolumeSnapshotをプロビジョンするときに何 VolumeSnapshotClassは、そのクラスに属するVolumeSnapshotを指定するパラメータを持っています。 `snapshotter`に応じて様々なパラメータを使用できます。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md index 0520b8a97b..5e60e3501f 100644 --- a/content/ja/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ja/docs/concepts/workloads/controllers/cron-jobs.md @@ -1,10 +1,10 @@ --- title: CronJob -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + _CronJob_ は時刻ベースのスケジュールによって[Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)を作成します。 @@ -17,9 +17,9 @@ _CronJob_ オブジェクトとは _crontab_ (cron table)ファイルでみら cronジョブを作成し、実行するインストラクション、または、cronジョブ仕様ファイルのサンプルについては、[Running automated tasks with cron jobs](/docs/tasks/job/automated-tasks-with-cron-jobs)をご覧ください。 -{{% /capture %}} -{{% capture body %}} + + ## CronJobの制限 @@ -43,4 +43,4 @@ Cannot determine if job needs to be started. Too many missed start time (> 100). CronJobはスケジュールに一致するJobの作成にのみ関与するのに対して、JobはJobが示すPod管理を担います。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/daemonset.md b/content/ja/docs/concepts/workloads/controllers/daemonset.md index 1edf7636ce..2f0210c014 100644 --- a/content/ja/docs/concepts/workloads/controllers/daemonset.md +++ b/content/ja/docs/concepts/workloads/controllers/daemonset.md @@ -1,11 +1,11 @@ --- reviewers: title: DaemonSet -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + _DaemonSet_ は全て(またはいくつか)のNodeが単一のPodのコピーを稼働させることを保証します。Nodeがクラスターに追加されるとき、PodがNode上に追加されます。Nodeがクラスターから削除されたとき、それらのPodはガーベージコレクターにより除去されます。DaemonSetの削除により、DaemonSetが作成したPodもクリーンアップします。 @@ -18,10 +18,10 @@ DaemonSetのいくつかの典型的な使用例は以下の通りです。 シンプルなケースとして、各タイプのデーモンにおいて、全てのNodeをカバーする1つのDaemonSetが使用されるケースがあります。 さらに複雑な設定では、単一のタイプのデーモン用ですが、異なるフラグや、異なるハードウェアタイプに対するメモリー、CPUリクエストを要求する複数のDaemonSetを使用するケースもあります。 -{{% /capture %}} -{{% capture body %}} + + ## DaemonSet Specの記述 @@ -164,4 +164,4 @@ DaemonSetは、Podの作成し、そのPodが停止されることのないプ フロントエンドのようなServiceのように、どのホスト上にPodが稼働するか制御するよりも、レプリカ数をスケールアップまたはスケールダウンしたりローリングアップデートする方が重要であるような、状態をもたないServiceに対してDeploymentを使ってください。 Podのコピーが全てまたは特定のホスト上で常に稼働していることが重要な場合や、他のPodの前に起動させる必要があるときにDaemonSetを使ってください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/deployment.md b/content/ja/docs/concepts/workloads/controllers/deployment.md index 3146606573..68c1f2439f 100644 --- a/content/ja/docs/concepts/workloads/controllers/deployment.md +++ b/content/ja/docs/concepts/workloads/controllers/deployment.md @@ -5,11 +5,11 @@ feature: description: > Kubernetesはアプリケーションや設定への変更を段階的に行い、アプリケーションの状態を監視しながら、全てのインスタンスが同時停止しないようにします。更新に問題が起きたとき、Kubernetesは変更のロールバックを行います。進化を続けるDeploymnetのエコシステムを活用してください。 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + _Deployment_ コントローラーは[Pod](/ja/docs/concepts/workloads/pods/pod/)と[ReplicaSet](/ja/docs/concepts/workloads/controllers/replicaset/)の宣言的なアップデート機能を提供します。 @@ -19,10 +19,10 @@ _Deployment_ コントローラーは[Pod](/ja/docs/concepts/workloads/pods/pod/ Deploymentによって作成されたReplicaSetを管理しないでください。ユーザーのユースケースが下記の項目をカバーできていない場合はメインのKubernetesリポジトリーにイシューを作成することを検討してください。 {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## ユースケース @@ -996,4 +996,4 @@ Deploymentのリビジョン履歴は、Deploymentが管理するReplicaSetに [`kubectl rolling update`](/docs/reference/generated/kubectl/kubectl-commands#rolling-update)によって、同様の形式でPodとReplicationControllerを更新できます。しかしDeploymentの使用が推奨されます。なぜならDeploymentの作成は宣言的であり、ローリングアップデートが更新された後に過去のリビジョンにロールバックできるなど、いくつかの追加機能があります。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/garbage-collection.md b/content/ja/docs/concepts/workloads/controllers/garbage-collection.md index 0463849cd0..b7d2f544b3 100644 --- a/content/ja/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/ja/docs/concepts/workloads/controllers/garbage-collection.md @@ -1,16 +1,16 @@ --- title: ガベージコレクション -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Kubernetesのガベージコレクターの役割は、かつてオーナーがいたが、現時点でもはやオーナーがいないようなオブジェクトの削除を行うことです。 -{{% /capture %}} -{{% capture body %}} + + ## オーナーとその従属オブジェクト @@ -134,16 +134,17 @@ Kubernetes1.7以前では、Deploymentに対するカスケード削除におい [#26120](https://github.com/kubernetes/kubernetes/issues/26120)にてイシューがトラックされています。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Design Doc 1](https://git.k8s.io/community/contributors/design-proposals/api-machinery/garbage-collection.md) [Design Doc 2](https://git.k8s.io/community/contributors/design-proposals/api-machinery/synchronous-garbage-collection.md) -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/replicaset.md b/content/ja/docs/concepts/workloads/controllers/replicaset.md index 3c20e295e6..a164182000 100644 --- a/content/ja/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ja/docs/concepts/workloads/controllers/replicaset.md @@ -1,18 +1,18 @@ --- reviewers: title: ReplicaSet -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + ReplicaSetの目的は、どのような時でも安定したレプリカPodのセットを維持することです。これは、理想的なレプリカ数のPodが利用可能であることを保証するものとして使用されます。 -{{% /capture %}} -{{% capture body %}} + + ## ReplicaSetがどのように動くか @@ -312,4 +312,4 @@ ReplicaSetは[_ReplicationControllers_](/docs/concepts/workloads/controllers/rep この2つは、ReplicationControllerが[ラベルについてのユーザーガイド](/docs/concepts/overview/working-with-objects/labels/#label-selectors)に書かれているように、集合ベース(set-based)のセレクター要求をサポートしていないことを除いては、同じ目的を果たし、同じようにふるまいます。 このように、ReplicaSetはReplicationControllerよりも好まれます。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/statefulset.md b/content/ja/docs/concepts/workloads/controllers/statefulset.md index 90de9d1a40..9f01ece3e3 100644 --- a/content/ja/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ja/docs/concepts/workloads/controllers/statefulset.md @@ -1,11 +1,11 @@ --- reviewers: title: StatefulSet -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + StatefulSetはステートフルなアプリケーションを管理するためのワークロードAPIです。 @@ -14,9 +14,9 @@ StatefulSetはKubernetes1.9において利用可能(GA)です。 {{< /note >}} {{< glossary_definition term_id="statefulset" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## StatefulSetの使用 @@ -195,11 +195,12 @@ Kubernetes1.7とそれ以降のバージョンにおいて、StatefulSetの`.spe そのテンプレートを戻したあと、ユーザーはまたStatefulSetが異常状態で稼働しようとしていたPodをすべて削除する必要があります。StatefulSetはその戻されたテンプレートを使ってPodの再作成を始めます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [ステートフルなアプリケーションのデプロイ](/docs/tutorials/stateful-application/basic-stateful-set/)の例を参考にしてください。 * [StatefulSetを使ったCassandraのデプロイ](/docs/tutorials/stateful-application/cassandra/)の例を参考にしてください。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md index 3c28fe25ea..f3d55d952c 100644 --- a/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/ja/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -1,11 +1,11 @@ --- reviewers: title: 終了したリソースのためのTTLコントローラー(TTL Controller for Finished Resources) -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -14,12 +14,12 @@ TTLコントローラーは現在[Job](/docs/concepts/workloads/controllers/jobs α版の免責事項: この機能は現在α版の機能で、[Feature Gate](/docs/reference/command-line-tools-reference/feature-gates/)の`TTLAfterFinished`を有効にすることで使用可能です。 -{{% /capture %}} -{{% capture body %}} + + ## TTLコントローラー @@ -45,12 +45,13 @@ TTLコントローラーが、TTL値が期限切れかそうでないかを決 Kubernetesにおいてタイムスキューを避けるために、全てのNode上でNTPの稼働を必須とします([#6159](https://github.com/kubernetes/kubernetes/issues/6159#issuecomment-93844058)を参照してください)。クロックは常に正しいものではありませんが、Node間におけるその差はとても小さいものとなります。TTLに0でない値をセットするときにこのリスクに対して注意してください。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Jobの自動クリーンアップ](/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically) [設計ドキュメント](https://github.com/kubernetes/community/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/pods/init-containers.md b/content/ja/docs/concepts/workloads/pods/init-containers.md index 0f25a656b2..f23defc198 100644 --- a/content/ja/docs/concepts/workloads/pods/init-containers.md +++ b/content/ja/docs/concepts/workloads/pods/init-containers.md @@ -1,16 +1,16 @@ --- title: Initコンテナ(Init Containers) -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + このページでは、Initコンテナについて概観します。Initコンテナとは、アプリケーションコンテナの前に実行され、アプリケーションコンテナのイメージに存在しないセットアップスクリプトやユーティリティーを含んだ特別なコンテナです。 -{{% /capture %}} + この機能はKubernetes1.6からβ版の機能として存在しています。InitコンテナはPodSpec内で、アプリケーションの`containers`という配列と並べて指定されます。そのベータ版のアノテーション値はまだ扱われ、PodSpecのフィールド値を上書きします。しかしながら、それらはKubernetesバージョン1.6と1.7において廃止されました。Kubernetesバージョン1.8からはそのアノテーション値はサポートされず、PodSpecフィールドの値に変換する必要があります。 -{{% capture body %}} + ## Initコンテナを理解する 単一の[Pod](/ja/docs/concepts/workloads/pods/pod-overview/)は、Pod内に複数のコンテナを稼働させることができますが、Initコンテナもまた、アプリケーションコンテナが稼働する前に1つまたは複数稼働できます。 @@ -266,11 +266,12 @@ ApiServerのバージョン1.6.0かそれ以上のバージョンのクラスタ ApiServerとKubeletバージョン1.8.0かそれ以上のバージョンでは、α版とβ版のアノテーションは削除されており、廃止されたアノテーションは`.spec.initContainers`フィールドへの移行が必須となります。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Initコンテナを持っているPodの作成](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md index 07437b9847..65e4e10a00 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ja/docs/concepts/workloads/pods/pod-lifecycle.md @@ -1,17 +1,17 @@ --- title: Podのライフサイクル -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + このページではPodのライフサイクルについて説明します。 -{{% /capture %}} -{{% capture body %}} + + ## PodのPhase @@ -317,10 +317,11 @@ spec: * NodeコントローラがPodの`phase`をFailedにします。 * Podがコントローラで作成されていた場合は、別の場所で再作成されます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)のハンズオンをやってみる @@ -328,4 +329,4 @@ spec: * [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/)についてもっと学ぶ -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/pods/pod-overview.md b/content/ja/docs/concepts/workloads/pods/pod-overview.md index 44388337c7..ad7d531cbd 100644 --- a/content/ja/docs/concepts/workloads/pods/pod-overview.md +++ b/content/ja/docs/concepts/workloads/pods/pod-overview.md @@ -1,18 +1,18 @@ --- title: Podについての概観(Pod Overview) -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 60 --- -{{% capture overview %}} + このページでは、Kubernetesのオブジェクトモデルにおいて、デプロイ可能な最小単位のオブジェクトである`Pod`に関して概観します。 -{{% /capture %}} -{{% capture body %}} + + ## Podについて理解する *Pod* は、Kubernetesアプリケーションの基本的な実行単位です。これは、作成またはデプロイするKubernetesオブジェクトモデルの中で最小かつ最も単純な単位です。Podは、{{< glossary_tooltip term_id="cluster" >}}で実行されているプロセスを表します。 @@ -108,11 +108,12 @@ spec: 全てのレプリカの現在の理想的な状態を指定するというよりも、Podテンプレートはクッキーの抜き型のようなものです。一度クッキーがカットされると、そのクッキーは抜き型から離れて関係が無くなります。そこにはいわゆる”量子もつれ”といったものはありません。テンプレートに対するその後の変更や新しいテンプレートへの切り替えは、すでに作成されたPod上には直接的な影響はありません。 同様に、ReplicationControllerによって作成されたPodは、変更後に直接更新されます。これはPodとの意図的な違いとなり、そのPodに属する全てのコンテナの現在の理想的な状態を指定します。このアプローチは根本的にシステムのセマンティクスを単純化し、機能の柔軟性を高めます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Pod](/ja/docs/concepts/workloads/pods/pod/)について更に学びましょう * Podの振る舞いに関して学ぶには下記を参照してください * [Podの停止](/ja/docs/concepts/workloads/pods/pod/#podの終了) * [Podのライフサイクル](/ja/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/pods/pod.md b/content/ja/docs/concepts/workloads/pods/pod.md index 48be657bc8..22b214b06f 100644 --- a/content/ja/docs/concepts/workloads/pods/pod.md +++ b/content/ja/docs/concepts/workloads/pods/pod.md @@ -1,18 +1,18 @@ --- reviewers: title: Pod -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + _Pod_ は、Kubernetesで作成および管理できる、デプロイ可能な最小のコンピューティング単位です。 -{{% /capture %}} -{{% capture body %}} + + ## Podとは @@ -187,4 +187,4 @@ spec.containers[0].securityContext.privileged: forbidden '<*>(0xc20b222db0)true' PodはKubernetes REST APIのトップレベルのリソースです。 APIオブジェクトの詳細については、[Pod APIオブジェクト](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)を参照してください 。 -{{% /capture %}} + diff --git a/content/ja/docs/concepts/workloads/pods/podpreset.md b/content/ja/docs/concepts/workloads/pods/podpreset.md index 7638d63acb..89b7865e99 100644 --- a/content/ja/docs/concepts/workloads/pods/podpreset.md +++ b/content/ja/docs/concepts/workloads/pods/podpreset.md @@ -1,16 +1,16 @@ --- reviewers: title: Pod Preset -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + このページではPodPresetについて概観します。PodPresetは、Podの作成時にそのPodに対して、Secret、Volume、VolumeMountや環境変数など、特定の情報を注入するためのオブジェクトです。 -{{% /capture %}} -{{% capture body %}} + + ## PodPresetを理解する `PodPreset`はPodの作成時に追加のランタイム要求を注入するためのAPIリソースです。 @@ -51,10 +51,11 @@ PodPresetによるPodの変更を受け付けたくないようなインスタ 1. `PodPreset`に対する管理コントローラーを有効にします。これを行うための1つの方法として、API Serverの`--enable-admission-plugins`オプションの値に`PodPreset`を含む方法があります。Minikubeにおいては、クラスターの起動時に`--extra-config=apiserver.enable-admission-plugins=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset`を追加することで可能になります。 1. ユーザーが使う予定のNamespaceにおいて、`PodPreset`オブジェクトを作成することによりPodPresetを定義します。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [PodPresetを使ったPodへのデータの注入](/docs/tasks/inject-data-application/podpreset/) -{{% /capture %}} + diff --git a/content/ja/docs/contribute/_index.md b/content/ja/docs/contribute/_index.md index 2f6f64fac2..fbbac548d4 100644 --- a/content/ja/docs/contribute/_index.md +++ b/content/ja/docs/contribute/_index.md @@ -1,19 +1,19 @@ --- -content_template: templates/concept +content_type: concept title: Kubernetesのドキュメントに貢献する linktitle: 貢献 main_menu: true weight: 80 --- -{{% capture overview %}} + ドキュメントやウェブサイトに貢献したい方、ご協力お待ちしています。 はじめての方、久しぶりの方、開発者でもエンドユーザでも、はたまたタイポを見逃せない方でもどなたでも貢献可能です。 ドキュメントのスタイルガイドについては[こちら](/docs/contribute/style/style-guide/)。 -{{% capture body %}} + ## コントリビューターの種類 @@ -60,4 +60,4 @@ weight: 80 - TwitterやStack Overflowといったオンラインフォーラムを通してKubernetesコミュニティに貢献したい方、または各地のミートアップやイベントについて知りたい方は[Kubernetes community site](/community/)へ。 - 機能開発に貢献したい方は、まずはじめに[Kubernetesコントリビューターチートシート](https://github.com/kubernetes/community/blob/master/contributors/guide/contributor-cheatsheet/README-ja.md)を読んでください。 -{{% /capture %}} + diff --git a/content/ja/docs/home/supported-doc-versions.md b/content/ja/docs/home/supported-doc-versions.md index d15db3875b..a4c9ac18ce 100644 --- a/content/ja/docs/home/supported-doc-versions.md +++ b/content/ja/docs/home/supported-doc-versions.md @@ -1,19 +1,19 @@ --- title: Kubernetesドキュメントがサポートしているバージョン -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: ドキュメントがサポートしているバージョン --- -{{% capture overview %}} + 本ウェブサイトでは、現行版とその直前4バージョンのKubernetesドキュメントを含んでいます。 -{{% /capture %}} -{{% capture body %}} + + ## 現行版 @@ -24,6 +24,6 @@ card: {{< versions-other >}} -{{% /capture %}} + diff --git a/content/ja/docs/reference/_index.md b/content/ja/docs/reference/_index.md index 7cbe46514b..d6a8dfc828 100644 --- a/content/ja/docs/reference/_index.md +++ b/content/ja/docs/reference/_index.md @@ -3,16 +3,16 @@ title: リファレンス linkTitle: "リファレンス" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 本セクションには、Kubernetesのドキュメントのリファレンスが含まれています。 -{{% /capture %}} -{{% capture body %}} + + ## APIリファレンス @@ -52,4 +52,4 @@ content_template: templates/concept Kubernetesの機能に関する設計ドキュメントのアーカイブです。[Kubernetesアーキテクチャ](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) と[Kubernetesデザイン概要](https://git.k8s.io/community/contributors/design-proposals)から読み始めると良いでしょう。 -{{% /capture %}} + diff --git a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md index 582d432e94..9500ad674c 100644 --- a/content/ja/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/ja/docs/reference/command-line-tools-reference/feature-gates.md @@ -1,16 +1,16 @@ --- title: フィーチャーゲート weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + このページでは管理者がそれぞれのKubernetesコンポーネントで指定できるさまざまなフィーチャーゲートの概要について説明しています。 各機能におけるステージの説明については、[機能のステージ](#feature-stages)を参照してください。 -{{% /capture %}} -{{% capture body %}} + + ## 概要 フィーチャーゲートはアルファ機能または実験的機能を記述するkey=valueのペアのセットです。管理者は各コンポーネントで`--feature-gates`コマンドラインフラグを使用することで機能をオンまたはオフにできます。 @@ -398,7 +398,8 @@ GAになってからさらなる変更を加えることは現実的ではない - `WinDSR`: kube-proxyがWindows用のDSRロードバランサーを作成できるようにします。 - `WinOverlay`: kube-proxyをWindowsのオーバーレイモードで実行できるようにします。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Kubernetesの[非推奨ポリシー](/docs/reference/using-api/deprecation-policy/)では、機能とコンポーネントを削除するためのプロジェクトのアプローチを説明しています。 -{{% /capture %}} + diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 9380b50c07..92c6c475c7 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -1,20 +1,20 @@ --- title: kubectlチートシート -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + [Kubectl概要](/docs/reference/kubectl/overview/)と[JsonPathガイド](/docs/reference/kubectl/jsonpath)も合わせてご覧ください。 このページは`kubectl`コマンドの概要です。 -{{% /capture %}} -{{% capture body %}} + + # kubectl - チートシート @@ -369,9 +369,10 @@ kubectlのログレベルは、レベルを表す整数が後に続く`-v`また `--v=8` | HTTPリクエストのコンテンツを表示します `--v=9` | HTTPリクエストのコンテンツをtruncationなしで表示します -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * kubectlについてより深く学びたい方は[kubectl概要](/docs/reference/kubectl/overview/)をご覧ください。 @@ -381,4 +382,4 @@ kubectlのログレベルは、レベルを表す整数が後に続く`-v`また * コミュニティ版[kubectlチートシート](https://github.com/dennyzhang/cheatsheet-kubernetes-A4)もご覧ください。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/_index.md b/content/ja/docs/setup/_index.md index 0508e24afa..15592cbb05 100644 --- a/content/ja/docs/setup/_index.md +++ b/content/ja/docs/setup/_index.md @@ -3,7 +3,7 @@ no_issue: true title: はじめに main_menu: true weight: 20 -content_template: templates/concept +content_type: concept card: name: setup weight: 20 @@ -14,7 +14,7 @@ card: title: 本番環境 --- -{{% capture overview %}} + このセクションではKubernetesをセットアップして動かすための複数のやり方について説明します。 @@ -24,9 +24,9 @@ Kubernetesクラスタはローカルマシン、クラウド、オンプレの 簡潔に言えば、学習用としても、本番環境用としてもKubernetesクラスターを作成することができます。 -{{% /capture %}} -{{% capture body %}} + + ## 環境について学ぶ @@ -110,4 +110,4 @@ Kubernetesクラスタにおける抽象レイヤには {{< glossary_tooltip tex | [VMware](https://cloud.vmware.com/) | [VMware Cloud PKS](https://cloud.vmware.com/vmware-cloud-pks) |[VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | |[VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | [Z.A.R.V.I.S.](https://zarvis.ai/) | ✔ | | | | | | -{{% /capture %}} + diff --git a/content/ja/docs/setup/best-practices/certificates.md b/content/ja/docs/setup/best-practices/certificates.md index e28f82311b..9f315a9bce 100644 --- a/content/ja/docs/setup/best-practices/certificates.md +++ b/content/ja/docs/setup/best-practices/certificates.md @@ -1,19 +1,19 @@ --- title: PKI証明書とその要件 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Kubernetes requires PKI certificates for authentication over TLS. If you install Kubernetes with [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/), the certificates that your cluster requires are automatically generated. You can also generate your own certificates -- for example, to keep your private keys more secure by not storing them on the API server. This page explains the certificates that your cluster requires. -{{% /capture %}} -{{% capture body %}} + + ## クラスタではどのように証明書が使われているのか @@ -140,4 +140,4 @@ These files are used as follows: [kubeadm]: /docs/reference/setup-tools/kubeadm/kubeadm/ [proxy]: /docs/tasks/access-kubernetes-api/configure-aggregation-layer/ -{{% /capture %}} + diff --git a/content/ja/docs/setup/best-practices/multiple-zones.md b/content/ja/docs/setup/best-practices/multiple-zones.md index 64e28a2762..ded3cad434 100644 --- a/content/ja/docs/setup/best-practices/multiple-zones.md +++ b/content/ja/docs/setup/best-practices/multiple-zones.md @@ -1,16 +1,16 @@ --- title: 複数のゾーンで動かす weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + This page describes how to run a cluster in multiple zones. -{{% /capture %}} -{{% capture body %}} + + ## 始めに @@ -397,4 +397,4 @@ KUBERNETES_PROVIDER=aws KUBE_USE_EXISTING_MASTER=true KUBE_AWS_ZONE=us-west-2b k KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2a kubernetes/cluster/kube-down.sh ``` -{{% /capture %}} + diff --git a/content/ja/docs/setup/learning-environment/minikube.md b/content/ja/docs/setup/learning-environment/minikube.md index c626ae23ed..aeac7747d9 100644 --- a/content/ja/docs/setup/learning-environment/minikube.md +++ b/content/ja/docs/setup/learning-environment/minikube.md @@ -1,15 +1,15 @@ --- title: Minikubeを使用してローカル環境でKubernetesを動かす -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikubeはローカル環境でKubernetesを簡単に実行するためのツールです。Kubernetesを試したり日々の開発への使用を検討するユーザー向けに、PC上のVM内でシングルノードのKubernetesクラスタを実行することができます。 -{{% /capture %}} -{{% capture body %}} + + ## Minikubeの機能 @@ -441,4 +441,4 @@ Minikubeの詳細については、[proposal](https://git.k8s.io/community/contr コントリビューションや質問、コメントは歓迎・奨励されています! Minikubeの開発者は[Slack](https://kubernetes.slack.com)の#minikubeチャンネルにいます(Slackへの招待状は[こちら](http://slack.kubernetes.io/))。[kubernetes-dev Google Groupsメーリングリスト](https://groups.google.com/forum/#!forum/kubernetes-dev)もあります。メーリングリストに投稿する際は件名の最初に "minikube: " をつけてください。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/container-runtimes.md b/content/ja/docs/setup/production-environment/container-runtimes.md index 35796a43aa..a9604a7b59 100644 --- a/content/ja/docs/setup/production-environment/container-runtimes.md +++ b/content/ja/docs/setup/production-environment/container-runtimes.md @@ -1,16 +1,16 @@ --- title: CRIのインストール -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="stable" >}} Podのコンテナを実行するために、Kubernetesはコンテナランタイムを使用します。 様々なランタイムのインストール手順は次のとおりです。 -{{% /capture %}} -{{% capture body %}} + + {{< caution >}} @@ -253,4 +253,4 @@ systemctl start containerd 詳細については[Fraktiのクイックスタートガイド](https://github.com/kubernetes/frakti#quickstart)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/on-premises-vm/cloudstack.md b/content/ja/docs/setup/production-environment/on-premises-vm/cloudstack.md index 5b6bd9b3eb..1177bcdd94 100644 --- a/content/ja/docs/setup/production-environment/on-premises-vm/cloudstack.md +++ b/content/ja/docs/setup/production-environment/on-premises-vm/cloudstack.md @@ -1,9 +1,9 @@ --- title: Cloudstack -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + [CloudStack](https://cloudstack.apache.org/) is a software to build public and private clouds based on hardware virtualization principles (traditional IaaS). To deploy Kubernetes on CloudStack there are several possibilities depending on the Cloud being used and what images are made available. CloudStack also has a vagrant plugin available, hence Vagrant could be used to deploy Kubernetes either using the existing shell provisioner or using new Salt based recipes. @@ -11,9 +11,9 @@ content_template: templates/concept This guide uses a single [Ansible playbook](https://github.com/apachecloudstack/k8s), which is completely automated and can deploy Kubernetes on a CloudStack based Cloud using CoreOS images. The playbook, creates an ssh key pair, creates a security group and associated rules and finally starts coreOS instances configured via cloud-init. -{{% /capture %}} -{{% capture body %}} + + ## 前提条件 @@ -115,4 +115,4 @@ IaaS Provider | Config. Mgmt | OS | Networking | Docs -------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ---------------------------- CloudStack | Ansible | CoreOS | flannel | [docs](/docs/setup/production-environment/on-premises-vm/cloudstack/) | | Community ([@Guiques](https://github.com/ltupin/)) -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/on-premises-vm/dcos.md b/content/ja/docs/setup/production-environment/on-premises-vm/dcos.md index 52e6a8b6c9..a41309d23b 100644 --- a/content/ja/docs/setup/production-environment/on-premises-vm/dcos.md +++ b/content/ja/docs/setup/production-environment/on-premises-vm/dcos.md @@ -1,9 +1,9 @@ --- title: DC/OS上のKubernetes -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Mesosphereは[DC/OS](https://mesosphere.com/product/)上にKubernetesを構築する為の簡単な選択肢を提供します。それは @@ -14,12 +14,12 @@ Mesosphereは[DC/OS](https://mesosphere.com/product/)上にKubernetesを構築 です。 -{{% /capture %}} -{{% capture body %}} + + ## 公式Mesosphereガイド DC/OS入門の正規のソースは[クイックスタートリポジトリ](https://github.com/mesosphere/dcos-kubernetes-quickstart)にあります。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/on-premises-vm/ovirt.md b/content/ja/docs/setup/production-environment/on-premises-vm/ovirt.md index 9f0c9356f0..167c55a244 100644 --- a/content/ja/docs/setup/production-environment/on-premises-vm/ovirt.md +++ b/content/ja/docs/setup/production-environment/on-premises-vm/ovirt.md @@ -1,15 +1,15 @@ --- title: oVirt -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + oVirt is a virtual datacenter manager that delivers powerful management of multiple virtual machines on multiple hosts. Using KVM and libvirt, oVirt can be installed on Fedora, CentOS, or Red Hat Enterprise Linux hosts to set up and manage your virtual data center. -{{% /capture %}} -{{% capture body %}} + + ## oVirtクラウドプロバイダーによる構築 @@ -65,4 +65,4 @@ IaaS Provider | Config. Mgmt | OS | Networking | Docs -------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ---------------------------- oVirt | | | | [docs](/docs/setup/production-environment/on-premises-vm/ovirt/) | | Community ([@simon3z](https://github.com/simon3z)) -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kops.md b/content/ja/docs/setup/production-environment/tools/kops.md index ba2914f966..e0203ca097 100644 --- a/content/ja/docs/setup/production-environment/tools/kops.md +++ b/content/ja/docs/setup/production-environment/tools/kops.md @@ -1,10 +1,10 @@ --- title: kopsを使ったAWS上でのKubernetesのインストール -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + This quickstart shows you how to easily install a Kubernetes cluster on AWS. It uses a tool called [`kops`](https://github.com/kubernetes/kops). @@ -21,9 +21,9 @@ kops is an opinionated provisioning system: If your opinions differ from these you may prefer to build your own cluster using [kubeadm](/docs/admin/kubeadm/) as a building block. kops builds on the kubeadm work. -{{% /capture %}} -{{% capture body %}} + + ## クラスタの作成 @@ -224,12 +224,13 @@ See the [list of add-ons](/docs/concepts/cluster-administration/addons/) to expl * Slack Channel: [#kops-users](https://kubernetes.slack.com/messages/kops-users/) * [GitHub Issues](https://github.com/kubernetes/kops/issues) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/user-guide/kubectl-overview/). * Learn about `kops` [advanced usage](https://github.com/kubernetes/kops) * See the `kops` [docs](https://github.com/kubernetes/kops) section for tutorials, best practices and advanced configuration options. -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md b/content/ja/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md index 5393e15b91..b4ff9024f6 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md @@ -1,10 +1,10 @@ --- title: kubeadmを使ったコントロールプレーンの設定のカスタマイズ -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.12" state="stable" >}} @@ -27,9 +27,9 @@ kubeadmの`ClusterConfiguration`オブジェクトはAPIServer、ControllerManag `kubeadm config print init-defaults`を実行し、選択したファイルに出力を保存することで、デフォルト値で`ClusterConfiguration`オブジェクトを生成できます。 {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## APIServerフラグ @@ -80,4 +80,4 @@ scheduler: kubeconfig: /home/johndoe/kubeconfig.yaml ``` -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index a79e3367d1..f6dd643942 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -1,10 +1,10 @@ --- title: kubeadmを使用したシングルコントロールプレーンクラスターの作成 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + **kubeadm** helps you bootstrap a minimum viable Kubernetes cluster that conforms to best practices. With kubeadm, your cluster should pass [Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification). Kubeadm also supports other cluster lifecycle functions, such as upgrades, downgrade, and managing [bootstrap tokens](/ja/docs/reference/access-authn-authz/bootstrap-tokens/). @@ -53,9 +53,10 @@ timeframe; which also applies to `kubeadm`. | v1.15.x | June 2019 | March 2020 | | v1.16.x | September 2019 | June 2020 | -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - One or more machines running a deb/rpm-compatible OS, for example Ubuntu or CentOS - 2 GB or more of RAM per machine. Any less leaves little room for your @@ -64,9 +65,9 @@ timeframe; which also applies to `kubeadm`. - Full network connectivity among all machines in the cluster. A public or private network is fine. -{{% /capture %}} -{{% capture steps %}} + + ## 目的 diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md index 429a37f440..ac094e4a92 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -1,10 +1,10 @@ --- title: Options for Highly Available topology -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + This page explains the two options for configuring the topology of your highly available (HA) Kubernetes clusters. @@ -15,9 +15,9 @@ You can set up an HA cluster: You should carefully consider the advantages and disadvantages of each topology before setting up an HA cluster. -{{% /capture %}} -{{% capture body %}} + + ## Stacked etcd topology @@ -60,10 +60,11 @@ A minimum of three hosts for control plane nodes and three hosts for etcd nodes ![External etcd topology](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Set up a highly available cluster with kubeadm](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/) -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/high-availability.md b/content/ja/docs/setup/production-environment/tools/kubeadm/high-availability.md index c74e4b806c..b9e82a7838 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/high-availability.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/high-availability.md @@ -1,10 +1,10 @@ --- title: kubeadmを使用した高可用性クラスターの作成 -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + このページでは、kubeadmを使用して、高可用性クラスターを作成する、2つの異なるアプローチを説明します: @@ -23,9 +23,10 @@ alpha feature gateである`HighAvailability`はv1.12で非推奨となり、v1. このページはクラウド上でクラスターを構築することには対応していません。ここで説明されているどちらのアプローチも、クラウド上で、LoadBalancerタイプのServiceオブジェクトや、動的なPersistentVolumeを利用して動かすことはできません。 {{< /caution >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + どちらの方法でも、以下のインフラストラクチャーが必要です: @@ -44,9 +45,9 @@ alpha feature gateである`HighAvailability`はv1.12で非推奨となり、v1. 以下の例では、CalicoをPodネットワーキングプロバイダーとして使用します。別のネットワーキングプロバイダーを使用する場合、必要に応じてデフォルトの値を変更してください。 {{< /note >}} -{{% /capture %}} -{{% capture steps %}} + + ## 両手順における最初のステップ @@ -299,4 +300,4 @@ Podネットワークをインストールするには、[こちらの手順に `kubeadm init`コマンドから返されたコマンドを利用して、workerノードをクラスターに参加させることが可能です。workerノードには、`--experimental-control-plane`フラグを追加する必要はありません。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md index 426ca84b25..07d23909cd 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md @@ -1,6 +1,6 @@ --- title: kubeadmのインストール -content_template: templates/task +content_type: task weight: 20 card: name: setup @@ -8,14 +8,15 @@ card: title: kubeadmセットアップツールのインストール --- -{{% capture overview %}} + このページでは`kubeadm`コマンドをインストールする方法を示します。このインストール処理実行後にkubeadmを使用してクラスターを作成する方法については、[kubeadmを使用したシングルマスタークラスターの作成](/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)を参照してください。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 次のいずれかが動作しているマシンが必要です - Ubuntu 16.04+ @@ -32,9 +33,9 @@ card: * マシン内の特定のポートが開いていること。詳細は[ここ](#必須ポートの確認)を参照してください。 * Swapがオフであること。kubeletが正常に動作するためにはswapは**必ず**オフでなければなりません。 -{{% /capture %}} -{{% capture steps %}} + + ## MACアドレスとproduct_uuidが全てのノードでユニークであることの検証 @@ -269,8 +270,9 @@ CRI-Oやcontainerdといった他のコンテナランタイムのcgroup driver kubeadmで問題が発生した場合は、[トラブルシューティング](/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)を参照してください。 -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [kubeadmを使用したシングルコントロールプレーンクラスターの作成](/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md b/content/ja/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md index b53e0462b9..edf95ce712 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md @@ -1,10 +1,10 @@ --- title: kubeadmを使用したクラスター内の各kubeletの設定 -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.11" state="stable" >}} @@ -24,9 +24,9 @@ characteristics of a given machine, such as OS, storage, and networking. You can of your kubelets manually, but [kubeadm now provides a `KubeletConfiguration` API type for managing your kubelet configurations centrally](#configure-kubelets-using-kubeadm). -{{% /capture %}} -{{% capture body %}} + + ## Kubeletの設定パターン @@ -197,4 +197,4 @@ The DEB and RPM packages shipped with the Kubernetes releases are: | `kubernetes-cni` | Installs the official CNI binaries into the `/opt/cni/bin` directory. | | `cri-tools` | Installs the `/usr/bin/crictl` binary from the [cri-tools git repository](https://github.com/kubernetes-incubator/cri-tools). | -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/self-hosting.md b/content/ja/docs/setup/production-environment/tools/kubeadm/self-hosting.md index da61fca3f9..08f9efe0b8 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/self-hosting.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/self-hosting.md @@ -1,10 +1,10 @@ --- title: Configuring your kubernetes cluster to self-host the control plane -content_template: templates/concept +content_type: concept weight: 100 --- -{{% capture overview %}} + ### Self-hosting the Kubernetes control plane {#self-hosting} @@ -17,9 +17,9 @@ configured in the kubelet via static files. To create a self-hosted cluster see the [kubeadm alpha selfhosting pivot](/docs/reference/setup-tools/kubeadm/kubeadm-alpha/#cmd-selfhosting) command. -{{% /capture %}} -{{% capture body %}} + + #### Caveats @@ -65,4 +65,4 @@ In summary, `kubeadm alpha selfhosting` works as follows: 1. When the original static control plane stops, the new self-hosted control plane is able to bind to listening ports and become active. -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md index c0283901b2..90725de1d4 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md @@ -1,10 +1,10 @@ --- title: kubeadmを使用した高可用性etcdクラスターの作成 -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + Kubeadm defaults to running a single member etcd cluster in a static pod managed by the kubelet on the control plane node. This is not a high availability setup @@ -13,9 +13,10 @@ becoming unavailable. This task walks through the process of creating a high availability etcd cluster of three members that can be used as an external etcd when using kubeadm to set up a kubernetes cluster. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Three hosts that can talk to each other over ports 2379 and 2380. This document assumes these default ports. However, they are configurable through @@ -26,9 +27,9 @@ when using kubeadm to set up a kubernetes cluster. [toolbox]: /docs/setup/production-environment/tools/kubeadm/install-kubeadm/ -{{% /capture %}} -{{% capture steps %}} + + ## クラスターの構築 @@ -251,14 +252,15 @@ this example. - Set `${ETCD_TAG}` to the version tag of your etcd image. For example `v3.2.24`. - Set `${HOST0}`to the IP address of the host you are testing. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Once you have a working 3 member etcd cluster, you can continue setting up a highly available control plane using the [external etcd method with kubeadm](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/). -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md index 0021ac6cee..669cc3a302 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md @@ -1,10 +1,10 @@ --- title: kubeadmのトラブルシューティング -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + As with any program, you might run into an error installing or running kubeadm. This page lists some common failure scenarios and have provided steps that can help you understand and fix the problem. @@ -18,9 +18,9 @@ If your problem is not listed below, please follow the following steps: - If you are unsure about how kubeadm works, you can ask on [Slack](http://slack.k8s.io/) in #kubeadm, or open a question on [StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes). Please include relevant tags like `#kubernetes` and `#kubeadm` so folks can help you. -{{% /capture %}} -{{% capture body %}} + + ## インストール中に`ebtables`もしくは他の似たような実行プログラムが見つからない @@ -318,4 +318,4 @@ There are at least two workarounds: ```bash kubectl taint nodes NODE_NAME role.kubernetes.io/master:NoSchedule- ``` -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/tools/kubespray.md b/content/ja/docs/setup/production-environment/tools/kubespray.md index 624887bd44..921ab0e3d8 100644 --- a/content/ja/docs/setup/production-environment/tools/kubespray.md +++ b/content/ja/docs/setup/production-environment/tools/kubespray.md @@ -1,10 +1,10 @@ --- title: kubesprayを使ったオンプレミス/クラウドプロバイダへのKubernetesのインストール -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + This quickstart helps to install a Kubernetes cluster hosted on GCE, Azure, OpenStack, AWS, vSphere, Oracle Cloud Infrastructure (Experimental) or Baremetal with [Kubespray](https://github.com/kubernetes-incubator/kubespray). @@ -23,9 +23,9 @@ Kubespray is a composition of [Ansible](http://docs.ansible.com/) playbooks, [in To choose a tool which best fits your use case, read [this comparison](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/comparisons.md) to [kubeadm](/docs/admin/kubeadm/) and [kops](../kops). -{{% /capture %}} -{{% capture body %}} + + ## クラスタの作成 @@ -112,10 +112,11 @@ When running the reset playbook, be sure not to accidentally target your product * Slack Channel: [#kubespray](https://kubernetes.slack.com/messages/kubespray/) * [GitHub Issues](https://github.com/kubernetes-incubator/kubespray/issues) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Check out planned work on Kubespray's [roadmap](https://github.com/kubernetes-incubator/kubespray/blob/master/docs/roadmap.md). -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/turnkey/aws.md b/content/ja/docs/setup/production-environment/turnkey/aws.md index 5367103984..728a6f8ccc 100644 --- a/content/ja/docs/setup/production-environment/turnkey/aws.md +++ b/content/ja/docs/setup/production-environment/turnkey/aws.md @@ -1,15 +1,16 @@ --- title: AWS EC2上でKubernetesを動かす -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このページでは、AWS上でKubernetesクラスターをインストールする方法について説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + AWS上でKubernetesクラスターを作成するには、AWSからアクセスキーIDおよびシークレットアクセスキーを入手する必要があります。 @@ -25,9 +26,9 @@ AWS上でKubernetesクラスターを作成するには、AWSからアクセス * [KubeOne](https://github.com/kubermatic/kubeone)は可用性の高いKubernetesクラスターを作成、アップグレード、管理するための、オープンソースのライフサイクル管理ツールです。 -{{% /capture %}} -{{% capture steps %}} + + ## クラスターの始まり @@ -84,4 +85,4 @@ AWS | KubeOne | Ubuntu, CoreOS, CentOS | canal, weave Kubernetesクラスターの利用と管理に関する詳細は、[Kubernetesドキュメント](/ja/docs/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/turnkey/gce.md b/content/ja/docs/setup/production-environment/turnkey/gce.md index a0d590fd57..b00d34ade6 100644 --- a/content/ja/docs/setup/production-environment/turnkey/gce.md +++ b/content/ja/docs/setup/production-environment/turnkey/gce.md @@ -1,15 +1,16 @@ --- title: Google Compute Engine上でKubernetesを動かす -content_template: templates/task +content_type: task --- -{{% capture overview %}} + The example below creates a Kubernetes cluster with 3 worker node Virtual Machines and a master Virtual Machine (i.e. 4 VMs in your cluster). This cluster is set up and controlled from your workstation (or wherever you find convenient). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + If you want a simplified getting started experience and GUI for managing clusters, please consider trying [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) for hosted cluster installation and management. @@ -31,9 +32,9 @@ If you want to use custom binaries or pure open source Kubernetes, please contin 1. Make sure you can start up a GCE VM from the command line. At least make sure you can do the [Create an instance](https://cloud.google.com/compute/docs/instances/#startinstancegcloud) part of the GCE Quickstart. 1. Make sure you can SSH into the VM without interactive prompts. See the [Log in to the instance](https://cloud.google.com/compute/docs/instances/#sshing) part of the GCE Quickstart. -{{% /capture %}} -{{% capture steps %}} + + ## クラスターの起動 @@ -220,4 +221,4 @@ GCE | Saltstack | Debian | GCE | [docs](/ja/docs/set Please see the [Kubernetes docs](/ja/docs/) for more details on administering and using a Kubernetes cluster. -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/turnkey/stackpoint.md b/content/ja/docs/setup/production-environment/turnkey/stackpoint.md index 8a86f13866..47711bf4d8 100644 --- a/content/ja/docs/setup/production-environment/turnkey/stackpoint.md +++ b/content/ja/docs/setup/production-environment/turnkey/stackpoint.md @@ -1,15 +1,15 @@ --- title: Stackpoint.ioを利用して複数のクラウド上でKubernetesを動かす -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + [StackPointCloud](https://stackpoint.io/) is the universal control plane for Kubernetes Anywhere. StackPointCloud allows you to deploy and manage a Kubernetes cluster to the cloud provider of your choice in 3 steps using a web-based interface. -{{% /capture %}} -{{% capture body %}} + + ## AWS @@ -184,4 +184,4 @@ To create a Kubernetes cluster on Packet, you will need a Packet API Key. For information on using and managing a Kubernetes cluster on Packet, consult [the official documentation](/ja/docs/home/). -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md b/content/ja/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md index c2406c7cc9..ab0181fd49 100644 --- a/content/ja/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md +++ b/content/ja/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md @@ -1,16 +1,16 @@ --- title: Intro to Windows support in Kubernetes -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + Windows applications constitute a large portion of the services and applications that run in many organizations. [Windows containers](https://aka.ms/windowscontainers) provide a modern way to encapsulate processes and package dependencies, making it easier to use DevOps practices and follow cloud native patterns for Windows applications. Kubernetes has become the defacto standard container orchestrator, and the release of Kubernetes 1.14 includes production support for scheduling Windows containers on Windows nodes in a Kubernetes cluster, enabling a vast ecosystem of Windows applications to leverage the power of Kubernetes. Organizations with investments in Windows-based applications and Linux-based applications don't have to look for separate orchestrators to manage their workloads, leading to increased operational efficiencies across their deployments, regardless of operating system. -{{% /capture %}} -{{% capture body %}} + + ## Windows containers in Kubernetes @@ -530,9 +530,10 @@ If filing a bug, please include detailed information about how to reproduce the * [Relevant logs](https://github.com/kubernetes/community/blob/master/sig-windows/CONTRIBUTING.md#gathering-logs) * Tag the issue sig/windows by commenting on the issue with `/sig windows` to bring it to a SIG-Windows member's attention -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + We have a lot of features in our roadmap. An abbreviated high level list is included below, but we encourage you to view our [roadmap project](https://github.com/orgs/kubernetes/projects/8) and help us make Windows support better by [contributing](https://github.com/kubernetes/community/blob/master/sig-windows/). @@ -584,4 +585,4 @@ Kubeadm is becoming the de facto standard for users to deploy a Kubernetes clust * More CNIs * More Storage Plugins -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md b/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md index 60429629af..44e926eec3 100644 --- a/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md +++ b/content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md @@ -1,16 +1,16 @@ --- title: Guide for scheduling Windows containers in Kubernetes -content_template: templates/concept +content_type: concept weight: 75 --- -{{% capture overview %}} + Windows applications constitute a large portion of the services and applications that run in many organizations. This guide walks you through the steps to configure and deploy a Windows container in Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Objectives @@ -134,4 +134,4 @@ tolerations: effect: "NoSchedule" ``` -{{% /capture %}} + diff --git a/content/ja/docs/setup/production-environment/windows/user-guide-windows-nodes.md b/content/ja/docs/setup/production-environment/windows/user-guide-windows-nodes.md index da91d2c18f..29035e15d9 100644 --- a/content/ja/docs/setup/production-environment/windows/user-guide-windows-nodes.md +++ b/content/ja/docs/setup/production-environment/windows/user-guide-windows-nodes.md @@ -1,19 +1,19 @@ --- title: Guide for adding Windows Nodes in Kubernetes -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + The Kubernetes platform can now be used to run both Linux and Windows containers. One or more Windows nodes can be registered to a cluster. This guide shows how to: * Register a Windows node to the cluster * Configure networking so pods on Linux and Windows can communicate -{{% /capture %}} -{{% capture body %}} + + ## Before you begin @@ -261,4 +261,4 @@ Kubeadm is becoming the de facto standard for users to deploy a Kubernetes clust Now that you've configured a Windows worker in your cluster to run Windows containers you may want to add one or more Linux nodes as well to run Linux containers. You are now ready to schedule Windows containers on your cluster. -{{% /capture %}} + diff --git a/content/ja/docs/setup/release/building-from-source.md b/content/ja/docs/setup/release/building-from-source.md index e9fc081a25..21f056ce39 100644 --- a/content/ja/docs/setup/release/building-from-source.md +++ b/content/ja/docs/setup/release/building-from-source.md @@ -1,18 +1,18 @@ --- title: リリースのビルド -content_template: templates/concept +content_type: concept card: name: download weight: 20 title: リリースのビルド --- -{{% capture overview %}} + ソースコードからリリースをビルドすることもできますし、既にビルドされたリリースをダウンロードすることも可能です。Kubernetesを開発する予定が無いのであれば、[リリースノート](/docs/setup/release/notes/)内にて既にビルドされたバージョンを使用することを推奨します。 Kubernetes のソースコードは[kubernetes/kubernetes](https://github.com/kubernetes/kubernetes)のリポジトリからダウンロードすることが可能です。 -{{% /capture %}} -{{% capture body %}} + + ## ソースからのビルド 単にソースからリリースをビルドするだけであれば、完全なGOの環境を準備する必要はなく、全てのビルドはDockerコンテナの中で行われます。 @@ -27,4 +27,4 @@ make release リリース手段の詳細な情報はkubernetes/kubernetes内の[`build`](http://releases.k8s.io/{{< param "githubbranch" >}}/build/)ディレクトリを参照して下さい。 -{{% /capture %}} + diff --git a/content/ja/docs/setup/release/version-skew-policy.md b/content/ja/docs/setup/release/version-skew-policy.md index 4573e740a6..dda92c2597 100644 --- a/content/ja/docs/setup/release/version-skew-policy.md +++ b/content/ja/docs/setup/release/version-skew-policy.md @@ -1,14 +1,14 @@ --- title: Kubernetesバージョンとバージョンスキューサポートポリシー -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + このドキュメントでは、さまざまなKubernetesコンポーネント間でサポートされる最大のバージョンの差異(バージョンスキュー)について説明します。特定のクラスターデプロイツールは、バージョンの差異に追加の制限を加える場合があります。 -{{% /capture %}} -{{% capture body %}} + + ## サポートされるバージョン diff --git a/content/ja/docs/tasks/_index.md b/content/ja/docs/tasks/_index.md index 5ff0023dc0..758500260b 100644 --- a/content/ja/docs/tasks/_index.md +++ b/content/ja/docs/tasks/_index.md @@ -2,19 +2,19 @@ title: タスク main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + Kubernetesドキュメントのこのセクションには、個々のタスクの実行方法を示すページが含まれています。 タスクページは、通常、短い手順を実行することにより、1つのことを行う方法を示します。 -{{% /capture %}} -{{% capture body %}} + + ## Web UI (ダッシュボード) @@ -76,10 +76,11 @@ StatefulSetのスケーリング、削除、デバッグなど、ステートフ クラスター内のスケジュール可能なリソースとしてHuge Pageを構成およびスケジュールします。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + タスクページを作成する場合は、[ドキュメントのPull Requestの作成](/docs/home/contribute/create-pull-request/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md b/content/ja/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md index d6f2def08b..fa5cc9f976 100644 --- a/content/ja/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md +++ b/content/ja/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md @@ -1,25 +1,26 @@ --- title: 共有ボリュームを使用して同じPod内のコンテナ間で通信する -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + このページでは、ボリュームを使用して、同じPodで実行されている2つのコンテナ間で通信する方法を示します。 コンテナ間で[プロセス名前空間を共有する](/ja/docs/tasks/configure-pod-container/share-process-namespace/)ことにより、プロセスが通信できるようにする方法も参照してください。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 2つのコンテナを実行するPodの作成 @@ -105,10 +106,10 @@ debianコンテナがnginxルートディレクトリに`index.html`ファイル Hello from the debian container -{{% /capture %}} -{{% capture discussion %}} + + ## 議論 @@ -121,10 +122,11 @@ Podが複数のコンテナを持つことができる主な理由は、プラ この演習のボリュームは、コンテナがポッドの寿命中に通信する方法を提供します。 Podを削除して再作成すると、共有ボリュームに保存されているデータはすべて失われます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [複合コンテナのパターン](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)の詳細 @@ -138,7 +140,7 @@ Podを削除して再作成すると、共有ボリュームに保存されて * [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)を参照 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index fd5784a093..47af3be178 100644 --- a/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -1,6 +1,6 @@ --- title: 複数のクラスターへのアクセスを設定する -content_template: templates/task +content_type: task weight: 30 card: name: tasks @@ -8,7 +8,7 @@ card: --- -{{% capture overview %}} + ここでは、設定ファイルを使って複数のクラスターにアクセスする方法を紹介します。クラスター、ユーザー、contextの情報を一つ以上の設定ファイルにまとめることで、`kubectl config use-context`のコマンドを使ってクラスターを素早く切り替えることができます。 @@ -16,15 +16,16 @@ card: クラスターへのアクセスを設定するファイルを、*kubeconfig* ファイルと呼ぶことがあります。これは設定ファイルの一般的な呼び方です。`kubeconfig`という名前のファイルが存在するわけではありません。 {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## クラスター、ユーザー、contextを設定する @@ -325,11 +326,11 @@ Windows PowerShell $Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeconfigファイルを使ってクラスターへのアクセスを管理する](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} \ No newline at end of file diff --git a/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md b/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md index 9ff0a60455..af02efe7cd 100644 --- a/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md +++ b/content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md @@ -1,38 +1,40 @@ --- title: Serviceを使用してフロントエンドをバックエンドに接続する -content_template: templates/tutorial +content_type: tutorial weight: 70 --- -{{% capture overview %}} + このタスクでは、フロントエンドとバックエンドのマイクロサービスを作成する方法を示します。 バックエンドのマイクロサービスは挨拶です。 フロントエンドとバックエンドは、Kubernetes {{< glossary_tooltip term_id="service" >}}オブジェクトを使用して接続されます。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * {{< glossary_tooltip term_id="deployment" >}}オブジェクトを使用してマイクロサービスを作成および実行します。 * フロントエンドを経由してトラフィックをバックエンドにルーティングします。 * Serviceオブジェクトを使用して、フロントエンドアプリケーションをバックエンドアプリケーションに接続します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * このタスクでは[Serviceで外部ロードバランサー](/docs/tasks/access-application-cluster/create-external-load-balancer/)を使用しますが、外部ロードバランサーの使用がサポートされている環境である必要があります。 ご使用の環境がこれをサポートしていない場合は、代わりにタイプ[NodePort](/ja/docs/concepts/services-networking/service/#nodeport)のServiceを使用できます。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ### Deploymentを使用したバックエンドの作成 @@ -184,14 +186,15 @@ curl http://${EXTERNAL_IP} # これを前に見たEXTERNAL-IPに置き換えま {"message":"Hello"} ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Service](/ja/docs/concepts/services-networking/service/)の詳細 * [ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/)の詳細 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md b/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md index 48be31fdb4..004bf8ab37 100644 --- a/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md +++ b/content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md @@ -1,34 +1,36 @@ --- title: Serviceを利用したクラスター内のアプリケーションへのアクセス -content_template: templates/tutorial +content_type: tutorial weight: 60 --- -{{% capture overview %}} + ここでは、クラスター内で稼働しているアプリケーションに外部からアクセスするために、KubernetesのServiceオブジェクトを作成する方法を紹介します。 例として、2つのインスタンスから成るアプリケーションへのロードバランシングを扱います。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 2つのHellow Worldアプリケーションを稼働させる。 * Nodeのポートを公開するServiceオブジェクトを作成する。 * 稼働しているアプリケーションにアクセスするためにServiceオブジェクトを使用する。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 2つのPodから成るアプリケーションのServiceを作成 @@ -118,10 +120,11 @@ weight: 60 [service configuration file](/ja/docs/concepts/services-networking/service/) を使用してServiceを作成することもできます。 -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + Serviceを削除するには、以下のコマンドを実行します: @@ -131,12 +134,13 @@ Hello Worldアプリケーションが稼働しているDeployment、ReplicaSet kubectl delete deployment hello-world -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 詳細は [serviceを利用してアプリケーションと接続する](/docs/concepts/services-networking/connect-applications-service/) を確認してください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md b/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md index ea15264c78..e082c41219 100644 --- a/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md +++ b/content/ja/docs/tasks/administer-cluster/developing-cloud-controller-manager.md @@ -1,9 +1,9 @@ --- title: クラウドコントローラーマネージャーの開発 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} 今後のリリースで、クラウドコントローラーマネージャーはKubernetesを任意のクラウドと統合するための良い方法となります。これによりクラウドプロバイダーはKubernetesのコアリリースサイクルから独立して機能を開発できるようになります。 @@ -15,10 +15,10 @@ content_template: templates/concept 実装の詳細をもう少し掘り下げてみましょう。すべてのクラウドコントローラーマネージャーはKubernetesコアからパッケージをインポートします。唯一の違いは、各プロジェクトが利用可能なクラウドプロバイダーの情報(グローバル変数)が更新される場所である[cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/master/plugins.go#L56-L66)を呼び出すことによって独自のクラウドプロバイダーを登録する点です。 -{{% /capture %}} -{{% capture body %}} + + ## 開発 @@ -36,4 +36,4 @@ Kubernetesには登録されていない独自のクラウドプロバイダー Kubernetesに登録されているクラウドプロバイダーであれば、[Daemonset](https://kubernetes.io/examples/admin/cloud/ccm-example.yaml) を使ってあなたのクラスターで動かすことができます。詳細については[Kubernetesクラウドコントローラーマネージャードキュメント](/docs/tasks/administer-cluster/running-cloud-controller/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/administer-cluster/enabling-endpointslices.md b/content/ja/docs/tasks/administer-cluster/enabling-endpointslices.md index 736e6eb1c3..ddab0bb95d 100644 --- a/content/ja/docs/tasks/administer-cluster/enabling-endpointslices.md +++ b/content/ja/docs/tasks/administer-cluster/enabling-endpointslices.md @@ -1,18 +1,19 @@ --- title: EndpointSliceの有効化 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このページはKubernetesのEndpointSliceの有効化の概要を説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 概要 @@ -36,9 +37,10 @@ EndpointSliceコントローラーはクラスター内にEndpointSliceを作成 クラスター内でEndpointSliceを完全に有効にすると、各Endpointsリソースに対応するEndpointSliceリソースが表示されます。既存のEndpointsの機能をサポートすることに加えて、EndpointSliceはトポロジーなどの新しい情報を含める必要があります。これらにより、クラスター内のネットワークエンドポイントのスケーラビリティと拡張性が大きく向上します。 -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [EndpointSlice](/docs/concepts/services-networking/endpoint-slices/)を参照してください。 * [サービスとアプリケーションの接続](/ja/docs/concepts/services-networking/connect-applications-service/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/administer-cluster/running-cloud-controller.md b/content/ja/docs/tasks/administer-cluster/running-cloud-controller.md index 331ba92a01..e98cee60d8 100644 --- a/content/ja/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/ja/docs/tasks/administer-cluster/running-cloud-controller.md @@ -1,9 +1,9 @@ --- title: Kubernetesクラウドコントローラーマネージャー -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state state="beta" >}} @@ -11,10 +11,10 @@ Kubernetes v1.6では`cloud-controller-manager`という新しいバイナリが `cloud-controller-manager`は、[cloudprovider.Interface](https://github.com/kubernetes/cloud-provider/blob/master/cloud.go)を満たす任意のクラウドプロバイダーと接続できます。下位互換性のためにKubernetesのコアプロジェクトで提供される[cloud-controller-manager](https://github.com/kubernetes/kubernetes/tree/master/cmd/cloud-controller-manager)は`kube-controller-manager`と同じクラウドライブラリを使用します。Kubernetesのコアリポジトリで既にサポートされているクラウドプロバイダーは、Kubernetesリポジトリにあるcloud-controller-managerを使用してKubernetesのコアから移行することが期待されています。今後のKubernetesのリリースでは、すべてのクラウドコントローラーマネージャーはsigリードまたはクラウドベンダーが管理するKubernetesのコアプロジェクトの外で開発される予定です。 -{{% /capture %}} -{{% capture body %}} + + ## 運用 @@ -87,4 +87,4 @@ Kubernetesのコアリポジトリにないクラウドコントローラーマ 独自のクラウドコントローラーマネージャーを構築および開発するには[クラウドコントローラーマネージャーの開発](/docs/tasks/administer-cluster/developing-cloud-controller-manager.md)のドキュメントを参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md b/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md index f88e5e1f10..6626901a02 100644 --- a/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md +++ b/content/ja/docs/tasks/configure-pod-container/assign-cpu-resource.md @@ -1,17 +1,18 @@ --- title: コンテナおよびPodへのCPUリソースの割り当て -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + このページでは、CPUの *request* と *limit* をコンテナに割り当てる方法について示します。コンテナは設定された制限を超えてCPUを使用することはできません。システムにCPUの空き時間がある場合、コンテナには要求されたCPUを割り当てられます。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -38,10 +39,10 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## namespaceの作成 @@ -207,9 +208,10 @@ namespaceを削除してください: kubectl delete namespace cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### アプリケーション開発者向け @@ -234,4 +236,4 @@ kubectl delete namespace cpu-example * [APIオブジェクトのクォータを設定する](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/ja/docs/tasks/configure-pod-container/assign-memory-resource.md index bc68116ad7..fb361dfa72 100644 --- a/content/ja/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/ja/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -1,17 +1,18 @@ --- title: コンテナおよびPodへのメモリーリソースの割り当て -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + このページでは、メモリーの *要求* と *制限* をコンテナに割り当てる方法について示します。コンテナは要求されたメモリーを確保することを保証しますが、その制限を超えるメモリーの使用は許可されません。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -38,9 +39,9 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## namespaceの作成 @@ -288,9 +289,10 @@ namespaceを削除してください。これにより、今回のタスクで kubectl delete namespace mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### アプリケーション開発者向け @@ -314,7 +316,7 @@ kubectl delete namespace mem-example * [APIオブジェクトのクォータを設定する](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md b/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md index e0acddd5f7..f988d81ba9 100644 --- a/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md +++ b/content/ja/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md @@ -1,24 +1,25 @@ --- title: コンテナライフサイクルイベントへのハンドラー紐付け -content_template: templates/task +content_type: task weight: 140 --- -{{% capture overview %}} + このページでは、コンテナのライフサイクルイベントにハンドラーを紐付けする方法を説明します。KubernetesはpostStartとpreStopイベントをサポートしています。Kubernetesはコンテナの起動直後にpostStartイベントを送信し、コンテナの終了直前にpreStopイベントを送信します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## postStartハンドラーとpreStopハンドラーを定義する @@ -50,11 +51,11 @@ Pod内で実行されているコンテナでシェルを実行します: Hello from the postStart handler -{{% /capture %}} -{{% capture discussion %}} + + ## 議論 @@ -70,10 +71,11 @@ Kubernetesは、Podが *終了* したときにのみpreStopイベントを送 この制限は[issue #55087](https://github.com/kubernetes/kubernetes/issues/55807)で追跡されています。 {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [コンテナライフサイクルフック](/ja/docs/concepts/containers/container-lifecycle-hooks/)の詳細 * [Podのライフサイクル](/ja/docs/concepts/workloads/pods/pod-lifecycle/)の詳細 @@ -85,6 +87,6 @@ Kubernetesは、Podが *終了* したときにのみpreStopイベントを送 * [コンテナ](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) * [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)の`terminationGracePeriodSeconds` -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/configure-projected-volume-storage.md b/content/ja/docs/tasks/configure-pod-container/configure-projected-volume-storage.md index 5ee17ea721..f8e7341bb2 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-projected-volume-storage.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-projected-volume-storage.md @@ -1,23 +1,24 @@ --- title: ストレージにProjectedボリュームを使用するようPodを設定する -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + このページでは、[`projected`](/docs/concepts/storage/volumes/#projected)(投影)ボリュームを使用して、既存の複数のボリュームソースを同一ディレクトリ内にマウントする方法を説明します。 現在、`secret`、`configMap`、`downwardAPI`および`serviceAccountToken`ボリュームを投影できます。 {{< note >}} `serviceAccountToken`はボリュームタイプではありません。 {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## ProjectedボリュームをPodに設定する この課題では、ローカルファイルからユーザーネームおよびパスワードの{{< glossary_tooltip text="Secret" term_id="secret" >}}を作成します。 @@ -73,9 +74,10 @@ kubectl delete pod test-projected-volume kubectl delete secret user pass ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [`projected`](/docs/concepts/storage/volumes/#projected)ボリュームについてさらに学ぶ * [all-in-oneボリューム](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/node/all-in-one-volume.md)のデザインドキュメントを読む -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md index 6b998ca05d..87fa5d965e 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -1,10 +1,10 @@ --- title: ストレージにボリュームを使用するPodを構成する -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + このページでは、ストレージにボリュームを使用するPodを構成する方法を示します。 @@ -13,15 +13,16 @@ weight: 50 コンテナに依存しない、より一貫したストレージを実現するには、[ボリューム](/docs/concepts/storage/volumes/)を使用できます。 これは、キーバリューストア(Redisなど)やデータベースなどのステートフルアプリケーションにとって特に重要です。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Podのボリュームを構成する @@ -120,9 +121,10 @@ weight: 50 kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)参照 @@ -130,6 +132,6 @@ weight: 50 * `emptyDir`によって提供されるローカルディスクストレージに加えて、Kubernetesは、GCEのPDやEC2のEBSなど、さまざまなネットワーク接続ストレージソリューションをサポートします。これらは、重要なデータに好ましく、ノード上のデバイスのマウントやアンマウントなどの詳細を処理します。詳細は[ボリューム](/docs/concepts/storage/volumes/)を参照してください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md index f2a4edb2ee..ed95ed4ce3 100644 --- a/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/ja/docs/tasks/configure-pod-container/quality-service-pod.md @@ -1,25 +1,26 @@ --- title: PodにQuality of Serviceを設定する -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + このページでは、特定のQuality of Service (QoS)クラスをPodに割り当てるための設定方法を示します。Kubernetesは、Podのスケジューリングおよび退役を決定するためにQoSクラスを用います。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## QoSクラス @@ -222,9 +223,10 @@ namespaceを削除してください: kubectl delete namespace qos-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### アプリケーション開発者向け @@ -248,7 +250,7 @@ kubectl delete namespace qos-example * [NamespaceにPodのクォータを設定する](/docs/tasks/administer-cluster/quota-pod-namespace/) * [APIオブジェクトのクォータを設定する](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/ja/docs/tasks/configure-pod-container/share-process-namespace.md b/content/ja/docs/tasks/configure-pod-container/share-process-namespace.md index c24df13f1f..513da2365c 100644 --- a/content/ja/docs/tasks/configure-pod-container/share-process-namespace.md +++ b/content/ja/docs/tasks/configure-pod-container/share-process-namespace.md @@ -1,11 +1,11 @@ --- title: Pod内のコンテナ間でプロセス名前空間を共有する min-kubernetes-server-version: v1.10 -content_template: templates/task +content_type: task weight: 160 --- -{{% capture overview %}} + {{< feature-state state="stable" for_k8s_version="v1.17" >}} @@ -14,15 +14,16 @@ weight: 160 この機能を使用して、ログハンドラーサイドカーコンテナなどの協調コンテナを構成したり、シェルなどのデバッグユーティリティを含まないコンテナイメージをトラブルシューティングしたりできます。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Podを構成する @@ -86,9 +87,9 @@ events { worker_connections 1024; ``` -{{% /capture %}} -{{% capture discussion %}} + + ## プロセス名前空間の共有について理解する @@ -106,6 +107,6 @@ Podは多くのリソースを共有するため、プロセスの名前空間 1. **コンテナファイルシステムは、`/proc/$pid/root`リンクを介してPod内の他のコンテナに表示されます。** これによりデバッグが容易になりますが、ファイルシステム内の秘密情報はファイルシステムのアクセス許可によってのみ保護されることも意味します。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/debug-application-cluster/debug-init-containers.md b/content/ja/docs/tasks/debug-application-cluster/debug-init-containers.md index b9638ff0ba..9de4afeb87 100644 --- a/content/ja/docs/tasks/debug-application-cluster/debug-init-containers.md +++ b/content/ja/docs/tasks/debug-application-cluster/debug-init-containers.md @@ -1,24 +1,25 @@ --- title: Init Containerのデバッグ -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このページでは、Init Containerの実行に関連する問題を調査する方法を説明します。以下のコマンドラインの例では、Podを``、Init Containerを``および``として参照しています。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [Init Container](/docs/concepts/abstractions/init-containers/)の基本を理解しておきましょう。 * [Init Containerを設定](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container/)しておきましょう。 -{{% /capture %}} -{{% capture steps %}} + + ## Init Containerのステータスを確認する @@ -95,9 +96,9 @@ kubectl logs -c シェルスクリプトを実行するInit Containerは、実行時にコマンドを出力します。たとえば、スクリプトの始めに`set -x`を実行することでBashで同じことができます。 -{{% /capture %}} -{{% capture discussion %}} + + ## Podのステータスを理解する @@ -111,7 +112,7 @@ kubectl logs -c `Pending` | PodはまだInit Containerの実行を開始していません。 `PodInitializing` or `Running` | PodはすでにInit Containerの実行を終了しています。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md b/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md index 406466cc1c..9a423ce4ca 100644 --- a/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md +++ b/content/ja/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md @@ -1,23 +1,24 @@ --- title: PodとReplicationControllerのデバッグ -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このページでは、PodとReplicationControllerをデバッグする方法を説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [Pod](/ja/docs/concepts/workloads/pods/pod/)と[Podのライフサイクル](/ja/docs/concepts/workloads/pods/pod-lifecycle/)の基本を理解している必要があります。 -{{% /capture %}} -{{% capture steps %}} + + ## Podのデバッグ @@ -122,4 +123,4 @@ Podを作成できない場合は、[上述の手順](#Podのデバッグ)を参 `kubectl describe rc ${CONTROLLER_NAME}`を使用して、レプリケーションコントローラーに関連するイベントを調べることもできます。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/debug-application-cluster/debug-service.md b/content/ja/docs/tasks/debug-application-cluster/debug-service.md index a59bef5a6a..1a1f1b95f9 100644 --- a/content/ja/docs/tasks/debug-application-cluster/debug-service.md +++ b/content/ja/docs/tasks/debug-application-cluster/debug-service.md @@ -1,18 +1,18 @@ --- -content_template: templates/concept +content_type: concept title: Serviceのデバッグ --- -{{% capture overview %}} + 新規にKubernetesをインストールした環境でかなり頻繁に発生する問題は、`Service`が適切に機能しないというものです。 `Deployment`を実行して`Service`を作成したにもかかわらず、アクセスしようとしても応答がありません。 何が問題になっているのかを理解するのに、このドキュメントがきっと役立つでしょう。 -{{% /capture %}} -{{% capture body %}} + + ## 規則 @@ -588,10 +588,11 @@ DNSは動作していて、`iptables`ルールがインストールされてい [Forum](https://discuss.kubernetes.io)または [GitHub](https://github.com/kubernetes/kubernetes)でお問い合わせください。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 詳細については、[トラブルシューティングドキュメント](/docs/troubleshooting/)をご覧ください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/debug-application-cluster/debug-stateful-set.md b/content/ja/docs/tasks/debug-application-cluster/debug-stateful-set.md index 817db0ecde..2aa2ddc4e0 100644 --- a/content/ja/docs/tasks/debug-application-cluster/debug-stateful-set.md +++ b/content/ja/docs/tasks/debug-application-cluster/debug-stateful-set.md @@ -1,22 +1,23 @@ --- title: StatefulSetのデバッグ -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このタスクでは、StatefulSetをデバッグする方法を説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Kubernetesクラスターが必要です。また、kubectlコマンドラインツールがクラスターと通信するように設定されている必要があります。 * 調べたいStatefulSetを実行しておきましょう。 -{{% /capture %}} -{{% capture steps %}} + + ## StatefulSetのデバッグ @@ -29,12 +30,13 @@ kubectl get pods -l app=myapp Podが長期間`Unknown`または`Terminating`の状態になっていることがわかった場合は、それらを処理する方法について[StatefulSet Podsの削除](/docs/tasks/manage-stateful-set/delete-pods/)タスクを参照してください。 [Podのデバッグ](/docs/tasks/debug-application-cluster/debug-pod-replication-controller/)ガイドを使用して、StatefulSet内の個々のPodをデバッグできます。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [Init Containerのデバッグ](/ja/docs/tasks/debug-application-cluster/debug-init-containers/)の詳細 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md b/content/ja/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md index 5de335c32b..7ec722caa6 100644 --- a/content/ja/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md +++ b/content/ja/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md @@ -1,25 +1,26 @@ --- title: Pod障害の原因を特定する -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このページでは、コンテナ終了メッセージの読み書き方法を説明します。 終了メッセージは、致命的なイベントに関する情報を、ダッシュボードや監視ソフトウェアなどのツールで簡単に取得して表示できる場所にコンテナが書き込むための手段を提供します。 ほとんどの場合、終了メッセージに入力した情報も一般的な[Kubernetesログ](/docs/concepts/cluster-administration/logging/)に書き込まれるはずです。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 終了メッセージの書き込みと読み取り @@ -82,15 +83,16 @@ spec: さらに、ユーザーは追加のカスタマイズをするためにContainerの`terminationMessagePolicy`フィールドを設定できます。このフィールドのデフォルト値は`File`です。これは、終了メッセージが終了メッセージファイルからのみ取得されることを意味します。`terminationMessagePolicy`を`FallbackToLogsOnError`に設定することで、終了メッセージファイルが空でコンテナがエラーで終了した場合に、コンテナログ出力の最後のチャンクを使用するようにKubernetesに指示できます。ログ出力は、2048バイトまたは80行のどちらか小さい方に制限されています。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [コンテナ](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)の`terminationMessagePath`フィールド参照 * [ログ取得](/docs/concepts/cluster-administration/logging/)について * [Goテンプレート](https://golang.org/pkg/text/template/)について -{{% /capture %}} + diff --git a/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md b/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md index 40f903789f..b7bf3c83e0 100644 --- a/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md +++ b/content/ja/docs/tasks/debug-application-cluster/get-shell-running-container.md @@ -1,24 +1,25 @@ --- title: 実行中のコンテナへのシェルを取得する -content_template: templates/task +content_type: task --- -{{% capture overview %}} + このページは`kubectl exec`を使用して実行中のコンテナへのシェルを取得する方法を説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## コンテナへのシェルの取得 @@ -115,9 +116,9 @@ kubectl exec shell-demo ls / kubectl exec shell-demo cat /proc/1/mounts ``` -{{% /capture %}} -{{% capture discussion %}} + + ## Podが1つ以上のコンテナを持つ場合にシェルを開く @@ -129,14 +130,15 @@ Podが1つ以上のコンテナを持つ場合、`--container`か`-c`を使用 kubectl exec -it my-pod --container main-app -- /bin/bash ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubectl exec](/docs/reference/generated/kubectl/kubectl-commands/#exec) -{{% /capture %}} + diff --git a/content/ja/docs/tasks/run-application/delete-stateful-set.md b/content/ja/docs/tasks/run-application/delete-stateful-set.md index d6f7d981e4..530e41fc0c 100644 --- a/content/ja/docs/tasks/run-application/delete-stateful-set.md +++ b/content/ja/docs/tasks/run-application/delete-stateful-set.md @@ -1,22 +1,23 @@ --- title: StatefulSetの削除 -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + このタスクでは、StatefulSetを削除する方法を説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * このタスクは、クラスター上で、StatefulSetで表現されるアプリケーションが実行されていることを前提としています。 -{{% /capture %}} -{{% capture steps %}} + + ## StatefulSetの削除 @@ -74,12 +75,13 @@ kubectl delete pvc -l app=myapp StatefulSet内の一部のPodが長期間`Terminating`または`Unknown`状態のままになっていることが判明した場合は、手動でapiserverからPodを強制的に削除する必要があります。これは潜在的に危険な作業です。詳細は[StatefulSet Podの強制削除](/docs/tasks/run-application/force-delete-stateful-set-pod/)を参照してください。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [StatefulSet Podの強制削除](/docs/tasks/run-application/force-delete-stateful-set-pod/)の詳細 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md b/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md index be930f23e5..d318813fb4 100644 --- a/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md +++ b/content/ja/docs/tasks/run-application/force-delete-stateful-set-pod.md @@ -1,20 +1,21 @@ --- title: StatefulSet Podの強制削除 -content_template: templates/task +content_type: task weight: 70 --- -{{% capture overview %}} + このページでは、StatefulSetの一部であるPodを削除する方法と、削除する際に考慮すべき事項について説明します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * これはかなり高度なタスクであり、StatefulSetに固有のいくつかの特性に反する可能性があります。 * 先に進む前に、以下に列挙されている考慮事項をよく理解してください。 -{{% /capture %}} -{{% capture steps %}} + + ## StatefulSetに関する考慮事項 @@ -68,10 +69,11 @@ kubectl patch pod -p '{"metadata":{"finalizers":null}}' StatefulSet Podの強制削除は、常に慎重に、関連するリスクを完全に把握して実行してください。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [StatefulSetのデバッグ](/docs/tasks/debug-application-cluster/debug-stateful-set/)の詳細 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/run-application/run-replicated-stateful-application.md b/content/ja/docs/tasks/run-application/run-replicated-stateful-application.md index bd430ce44b..d76e60f5c3 100644 --- a/content/ja/docs/tasks/run-application/run-replicated-stateful-application.md +++ b/content/ja/docs/tasks/run-application/run-replicated-stateful-application.md @@ -1,10 +1,10 @@ --- title: レプリカを持つステートフルアプリケーションを実行する -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + このページでは、[StatefulSet](/ja/docs/concepts/workloads/controllers/statefulset/) コントローラーを使用して、レプリカを持つステートフルアプリケーションを実行する方法を説明します。 @@ -14,9 +14,10 @@ weight: 30 具体的には、MySQLの設定が安全ではないデフォルトのままとなっています。 これはKubernetesでステートフルアプリケーションを実行するための一般的なパターンに焦点を当てるためです。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * {{< include "default-storage-class-prereqs.md" >}} @@ -29,18 +30,19 @@ weight: 30 * MySQLに関する知識は記事の理解に役立ちますが、 このチュートリアルは他のシステムにも役立つ一般的なパターンを提示することを目的としています。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * StatefulSetコントローラーを使用して、レプリカを持つMySQLトポロジーをデプロイします。 * MySQLクライアントトラフィックを送信します。 * ダウンタイムに対する耐性を観察します。 * StatefulSetをスケールアップおよびスケールダウンします。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## MySQLをデプロイする @@ -437,9 +439,10 @@ kubectl delete pvc data-mysql-3 kubectl delete pvc data-mysql-4 ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 1. `SELECT @@server_id`ループを実行している端末で**Ctrl+C**を押すか、 別の端末から次のコマンドを実行して、ループをキャンセルします。 @@ -478,13 +481,14 @@ kubectl delete pvc data-mysql-4 動的プロビジョニング機能を使用した場合は、PersistentVolumeClaimを削除すれば、自動的にPersistentVolumeも削除されます。 一部の動的プロビジョナー(EBSやPDなど)は、PersistentVolumeを削除すると同時に下層にあるリソースも解放します。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * その他のステートフルアプリケーションの例は、[Helm Charts repository](https://github.com/kubernetes/charts)を見てください。 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/run-application/run-single-instance-stateful-application.md b/content/ja/docs/tasks/run-application/run-single-instance-stateful-application.md index c7efac3f8e..91b6f24adb 100644 --- a/content/ja/docs/tasks/run-application/run-single-instance-stateful-application.md +++ b/content/ja/docs/tasks/run-application/run-single-instance-stateful-application.md @@ -1,35 +1,37 @@ --- title: 単一レプリカのステートフルアプリケーションを実行する -content_template: templates/tutorial +content_type: tutorial weight: 20 --- -{{% capture overview %}} + このページでは、PersistentVolumeとDeploymentを使用して、Kubernetesで単一レプリカのステートフルアプリケーションを実行する方法を説明します。アプリケーションはMySQLです。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 自身の環境のディスクを参照するPersistentVolumeを作成します。 * MySQLのDeploymentを作成します。 * MySQLをDNS名でクラスター内の他のPodに公開します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * {{< include "default-storage-class-prereqs.md" >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## MySQLをデプロイする @@ -163,10 +165,11 @@ PersistentVolumeを手動でプロビジョニングした場合は、Persistent 動的プロビジョニング機能を使用した場合は、PersistentVolumeClaimを削除すれば、自動的にPersistentVolumeも削除されます。 一部の動的プロビジョナー(EBSやPDなど)は、PersistentVolumeを削除すると同時に下層にあるリソースも解放します。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Deploymentオブジェクト](/ja/docs/concepts/workloads/controllers/deployment/)についてもっと学ぶ @@ -176,6 +179,6 @@ PersistentVolumeを手動でプロビジョニングした場合は、Persistent * [Volumes](/docs/concepts/storage/volumes/)と[Persistent Volumes](/docs/concepts/storage/persistent-volumes/) -{{% /capture %}} + diff --git a/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md b/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md index dd4172138f..88a35b7d84 100644 --- a/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md +++ b/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md @@ -1,34 +1,36 @@ --- title: Deploymentを使用してステートレスアプリケーションを実行する min-kubernetes-server-version: v1.9 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + このページでは、Kubernetes Deploymentオブジェクトを使用してアプリケーションを実行する方法を説明します。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * nginx deploymentを作成します。 * kubectlを使ってdeploymentに関する情報を一覧表示します。 * deploymentを更新します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## nginx deploymentの作成と探検 @@ -138,13 +140,14 @@ Deploymentを名前を指定して削除します: 複製アプリケーションを作成するための好ましい方法はDeploymentを使用することです。そして、DeploymentはReplicaSetを使用します。 DeploymentとReplicaSetがKubernetesに追加される前は、[ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/)を使用して複製アプリケーションを構成していました。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Deploymentオブジェクト](/ja/docs/concepts/workloads/controllers/deployment/)の詳細 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/run-application/scale-stateful-set.md b/content/ja/docs/tasks/run-application/scale-stateful-set.md index 7e9352c1c1..155b93d069 100644 --- a/content/ja/docs/tasks/run-application/scale-stateful-set.md +++ b/content/ja/docs/tasks/run-application/scale-stateful-set.md @@ -1,14 +1,15 @@ --- title: StatefulSetのスケール -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + このタスクは、StatefulSetをスケールする方法を示します。StatefulSetをスケーリングするとは、レプリカの数を増減することです。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * StatefulSetはKubernetesバージョン1.5以降でのみ利用可能です。 Kubernetesのバージョンを確認するには、`kubectl version`を実行してください。 @@ -17,9 +18,9 @@ weight: 50 * ステートフルアプリケーションクラスターが完全に健全であると確信できる場合にのみ、スケーリングを実行してください。 -{{% /capture %}} -{{% capture steps %}} + + ## StatefulSetのスケール @@ -71,10 +72,11 @@ spec.replicas > 1の場合、Kubernetesは不健康なPodの理由を判断で 一時的な障害によってPodが正常でなくなり、Podが再び使用可能になる可能性がある場合は、一時的なエラーがスケールアップまたはスケールダウン操作の妨げになる可能性があります。一部の分散データベースでは、ノードが同時に参加および脱退するときに問題があります。このような場合は、アプリケーションレベルでスケーリング操作を考えることをお勧めします。また、ステートフルアプリケーションクラスタが完全に健全であることが確実な場合にのみスケーリングを実行してください。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [StatefulSetの削除](/ja/docs/tasks/run-application/delete-stateful-set/)の詳細 -{{% /capture %}} + diff --git a/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md b/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md index cac6668f16..e597d24a4d 100644 --- a/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md +++ b/content/ja/docs/tasks/service-catalog/install-service-catalog-using-helm.md @@ -1,17 +1,18 @@ --- title: Helmを使用したサービスカタログのインストール -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="サービスカタログは" >}} [Helm](https://helm.sh/)を使用してKubernetesクラスターにサービスカタログをインストールします。手順の最新情報は[kubernetes-sigs/service-catalog](https://github.com/kubernetes-sigs/service-catalog/blob/master/docs/install.md)リポジトリーを参照してください。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * [サービスカタログ](/docs/concepts/service-catalog/)の基本概念を理解してください。 * サービスカタログを使用するには、Kubernetesクラスターのバージョンが1.7以降である必要があります。 * KubernetesクラスターのクラスターDNSを有効化する必要があります。 @@ -22,10 +23,10 @@ content_template: templates/task * [Helm install instructions](https://helm.sh/docs/intro/install/)を参考にしてください。 * 上記のバージョンのHelmをすでにインストールしている場合は、`helm init`を実行し、HelmのサーバーサイドコンポーネントであるTillerをインストールしてください。 -{{% /capture %}} -{{% capture steps %}} + + ## Helmリポジトリーにサービスカタログを追加 Helmをインストールし、以下のコマンドを実行することでローカルマシンに*service-catalog*のHelmリポジトリーを追加します。 @@ -106,11 +107,12 @@ helm install svc-cat/catalog --name catalog --namespace catalog ``` {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [sample service brokers](https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md#sample-service-brokers) * [kubernetes-sigs/service-catalog](https://github.com/kubernetes-sigs/service-catalog) -{{% /capture %}} + diff --git a/content/ja/docs/tasks/tools/install-kubectl.md b/content/ja/docs/tasks/tools/install-kubectl.md index 1e6bb6b3a5..c20f0b8880 100644 --- a/content/ja/docs/tasks/tools/install-kubectl.md +++ b/content/ja/docs/tasks/tools/install-kubectl.md @@ -1,6 +1,6 @@ --- title: kubectlのインストールおよびセットアップ -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -8,15 +8,16 @@ card: title: Install kubectl --- -{{% capture overview %}} + Kubernetesのコマンドラインツールである[kubectl](/docs/user-guide/kubectl/)を使用して、Kubernetesクラスターに対してコマンドを実行することができます。kubectlによってアプリケーションのデプロイや、クラスターのリソース管理および検査を行うことができます。kubectlの操作に関する完全なリストは、[Overview of kubectl](/docs/reference/kubectl/overview/)を参照してください。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + kubectlのバージョンは、クラスターのマイナーバージョンとの差分が1つ以内でなければなりません。たとえば、クライアントがv1.2であれば、v1.1、v1.2、v1.3のマスターで動作するはずです。最新バージョンのkubectlを使うことで、不測の事態を避けることができるでしょう。 -{{% /capture %}} -{{% capture steps %}} + + ## Linuxへkubectlをインストールする {#install-kubectl-on-linux} @@ -464,12 +465,13 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Minikubeをインストールする](/ja/docs/tasks/tools/install-minikube/) * クラスターの作成に関する詳細を[スタートガイド](/docs/setup/)で確認する * [アプリケーションを起動して公開する方法を学ぶ](/docs/tasks/access-application-cluster/service-access-application-cluster/) * あなたが作成していないクラスターにアクセスする必要がある場合は、[クラスターアクセスドキュメントの共有](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)を参照してください * [kubectlリファレンスドキュメント](/docs/reference/kubectl/kubectl/)を参照する -{{% /capture %}} + diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index fa98a198be..6936a8735d 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Minikubeのインストール -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + このページでは[Minikube](/ja/docs/tutorials/hello-minikube)のインストール方法を説明し、コンピューターの仮想マシン上で単一ノードのKubernetesクラスターを実行します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="Linux" %}} @@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # minikubeのインストール @@ -182,13 +183,14 @@ WindowsにMinikubeを手動でインストールするには、[`minikube-window {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Minikubeを使ってローカルでKubernetesを実行する](/ja/docs/setup/learning-environment/minikube/) -{{% /capture %}} + ## ローカル状態のクリーンアップ {#cleanup-local-state} diff --git a/content/ja/docs/tutorials/_index.md b/content/ja/docs/tutorials/_index.md index dfecf9f192..784e426a99 100644 --- a/content/ja/docs/tutorials/_index.md +++ b/content/ja/docs/tutorials/_index.md @@ -2,16 +2,16 @@ title: チュートリアル main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 本セクションにはチュートリアルが含まれています。チュートリアルでは、単一の[タスク](/docs/tasks/)よりも大きな目標を達成する方法を示します。通常、チュートリアルにはいくつかのセクションがあり、各セクションには一連のステップがあります。各チュートリアルを進める前に、後で参照できるように[標準化された用語集](/docs/reference/glossary/)ページをブックマークしておくことをお勧めします。 -{{% /capture %}} -{{% capture body %}} + + ## 基本 @@ -61,10 +61,11 @@ content_template: templates/concept * [Source IPを使う](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + チュートリアルを書きたい場合は、[ページテンプレートの使用](/docs/contribute/style/page-templates/)を参照し、チュートリアルのページタイプとチュートリアルテンプレートについてご確認ください。 -{{% /capture %}} + diff --git a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md index a113679775..297aba127f 100644 --- a/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/ja/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -1,15 +1,16 @@ --- title: ConfigMapを使ったRedisの設定 -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + 本ページでは、[ConfigMapを使ったコンテナの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)に基づき、ConfigMapを使ってRedisの設定を行う実践的な例を提供します。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 以下の要素を含む`kustomization.yaml`ファイルを作成する: * ConfigMapGenerator @@ -17,17 +18,18 @@ content_template: templates/tutorial * `kubectl apply -k ./`コマンドにてディレクトリ全体を適用する * 設定が正しく反映されていることを確認する -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * この例は、バージョン1.14以上での動作を確認しています。 * [ConfigMapを使ったコンテナの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)を読んで理解しておいてください。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 実践例: ConfigMapを使ったRedisの設定 @@ -95,12 +97,13 @@ kubectl exec -it redis redis-cli 2) "allkeys-lru" ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/)について学ぶ -{{% /capture %}} + diff --git a/content/ja/docs/tutorials/hello-minikube.md b/content/ja/docs/tutorials/hello-minikube.md index 807d15ce77..5ea6ef99b4 100644 --- a/content/ja/docs/tutorials/hello-minikube.md +++ b/content/ja/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + このチュートリアルでは、[Minikube](/docs/getting-started-guides/minikube)とKatacodaを使用して、Kubernetes上でシンプルなHello WorldのNode.jsアプリケーションを動かす方法を紹介します。Katacodaはブラウザで無償のKubernetes環境を提供します。 @@ -21,17 +21,19 @@ card: [Minikubeをローカルにインストール](/ja/docs/tasks/tools/install-minikube/)している場合もこのチュートリアルを進めることが可能です。 {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Minikubeへのhello worldアプリケーションのデプロイ * アプリケーションの実行 * アプリケーションログの確認 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + このチュートリアルは下記のファイルからビルドされるコンテナーイメージを提供します: @@ -41,9 +43,9 @@ card: `docker build`コマンドについての詳細な情報は、[Dockerのドキュメント](https://docs.docker.com/engine/reference/commandline/build/)を参照してください。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Minikubeクラスタの作成 @@ -253,12 +255,13 @@ minikube stop minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Deploymentオブジェクト](/ja/docs/concepts/workloads/controllers/deployment/)について学ぶ. * [アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)について学ぶ. * [Serviceオブジェクト](/ja/docs/concepts/services-networking/service/)について学ぶ. -{{% /capture %}} + diff --git a/content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md b/content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md index 74d973fdf2..45fb8441fd 100644 --- a/content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md +++ b/content/ja/docs/tutorials/stateless-application/expose-external-ip-address.md @@ -1,17 +1,18 @@ --- title: クラスター内のアプリケーションにアクセスするために外部IPアドレスを公開する -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + このページでは、外部IPアドレスを公開するKubernetesのServiceオブジェクトを作成する方法を示します。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * [kubectl](/ja/docs/tasks/tools/install-kubectl/)をインストールしてください。 @@ -19,19 +20,20 @@ weight: 10 * Kubernetes APIサーバーと通信するために、`kubectl`を設定してください。手順については、各クラウドプロバイダーのドキュメントを参照してください。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 5つのインスタンスで実際のアプリケーションを起動します。 * 外部IPアドレスを公開するServiceオブジェクトを作成します。 * 起動中のアプリケーションにアクセスするためにServiceオブジェクトを使用します。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 5つのPodで起動しているアプリケーションへのServiceの作成 @@ -124,10 +126,11 @@ kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml Hello Kubernetes! -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + Serviceを削除する場合、次のコマンドを実行します: @@ -137,10 +140,11 @@ Deployment、ReplicaSet、およびHello Worldアプリケーションが動作 kubectl delete deployment hello-world -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [connecting applications with services](/docs/concepts/services-networking/connect-applications-service/)にて詳細を学ぶことができます。 -{{% /capture %}} + From 6bfc167c79954ebcdb2aa41436a8a792fa108940 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:09:39 -0400 Subject: [PATCH 337/533] add ko pages --- content/ko/docs/concepts/_index.md | 15 +++++----- .../concepts/architecture/cloud-controller.md | 15 +++++----- .../control-plane-node-communication.md | 8 ++--- .../docs/concepts/architecture/controller.md | 15 +++++----- .../ko/docs/concepts/architecture/nodes.md | 15 +++++----- .../concepts/cluster-administration/addons.md | 10 +++---- .../cluster-administration/certificates.md | 10 +++---- .../cluster-administration/cloud-providers.md | 10 +++---- .../cluster-administration-overview.md | 10 +++---- .../kubelet-garbage-collection.md | 15 +++++----- .../cluster-administration/logging.md | 10 +++---- .../manage-deployment.md | 15 +++++----- .../cluster-administration/networking.md | 15 +++++----- .../cluster-administration/proxies.md | 10 +++---- .../docs/concepts/configuration/configmap.md | 15 +++++----- .../manage-resources-containers.md | 15 +++++----- .../organize-cluster-access-kubeconfig.md | 15 +++++----- .../docs/concepts/configuration/overview.md | 10 +++---- .../concepts/configuration/pod-overhead.md | 15 +++++----- .../configuration/pod-priority-preemption.md | 15 +++++----- .../configuration/resource-bin-packing.md | 10 +++---- .../containers/container-environment.md | 15 +++++----- .../containers/container-lifecycle-hooks.md | 15 +++++----- content/ko/docs/concepts/containers/images.md | 10 +++---- .../ko/docs/concepts/containers/overview.md | 15 +++++----- .../docs/concepts/containers/runtime-class.md | 15 +++++----- .../api-extension/apiserver-aggregation.md | 15 +++++----- .../api-extension/custom-resources.md | 15 +++++----- .../compute-storage-net/device-plugins.md | 15 +++++----- .../compute-storage-net/network-plugins.md | 15 +++++----- .../extend-kubernetes/extend-cluster.md | 15 +++++----- .../concepts/extend-kubernetes/operator.md | 15 +++++----- .../ko/docs/concepts/overview/components.md | 15 +++++----- .../docs/concepts/overview/kubernetes-api.md | 10 +++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++----- .../working-with-objects/annotations.md | 15 +++++----- .../working-with-objects/common-labels.md | 10 +++---- .../kubernetes-objects.md | 15 +++++----- .../overview/working-with-objects/labels.md | 10 +++---- .../overview/working-with-objects/names.md | 15 +++++----- .../working-with-objects/namespaces.md | 15 +++++----- .../working-with-objects/object-management.md | 15 +++++----- .../ko/docs/concepts/policy/limit-range.md | 15 +++++----- .../concepts/policy/pod-security-policy.md | 15 +++++----- .../docs/concepts/policy/resource-quotas.md | 15 +++++----- .../scheduling-eviction/assign-pod-node.md | 15 +++++----- .../scheduling-eviction/kube-scheduler.md | 15 +++++----- .../scheduler-perf-tuning.md | 10 +++---- .../taint-and-toleration.md | 8 ++--- content/ko/docs/concepts/security/overview.md | 15 +++++----- ...ries-to-pod-etc-hosts-with-host-aliases.md | 10 +++---- .../connect-applications-service.md | 15 +++++----- .../services-networking/dns-pod-service.md | 15 +++++----- .../services-networking/dual-stack.md | 15 +++++----- .../services-networking/endpoint-slices.md | 15 +++++----- .../ingress-controllers.md | 15 +++++----- .../concepts/services-networking/ingress.md | 15 +++++----- .../services-networking/network-policies.md | 15 +++++----- .../services-networking/service-topology.md | 15 +++++----- .../concepts/services-networking/service.md | 15 +++++----- .../concepts/storage/dynamic-provisioning.md | 10 +++---- .../concepts/storage/persistent-volumes.md | 15 +++++----- .../docs/concepts/storage/storage-classes.md | 10 +++---- .../concepts/storage/volume-pvc-datasource.md | 10 +++---- .../storage/volume-snapshot-classes.md | 10 +++---- .../docs/concepts/storage/volume-snapshots.md | 10 +++---- content/ko/docs/concepts/storage/volumes.md | 13 ++++---- .../workloads/controllers/cron-jobs.md | 15 +++++----- .../workloads/controllers/daemonset.md | 10 +++---- .../workloads/controllers/deployment.md | 10 +++---- .../controllers/garbage-collection.md | 15 +++++----- .../controllers/jobs-run-to-completion.md | 10 +++---- .../workloads/controllers/replicaset.md | 10 +++---- .../controllers/replicationcontroller.md | 10 +++---- .../workloads/controllers/statefulset.md | 15 +++++----- .../workloads/controllers/ttlafterfinished.md | 15 +++++----- .../concepts/workloads/pods/disruptions.md | 15 +++++----- .../workloads/pods/ephemeral-containers.md | 10 +++---- .../workloads/pods/init-containers.md | 15 +++++----- .../concepts/workloads/pods/pod-lifecycle.md | 15 +++++----- .../concepts/workloads/pods/pod-overview.md | 15 +++++----- .../pods/pod-topology-spread-constraints.md | 10 +++---- .../ko/docs/concepts/workloads/pods/pod.md | 10 +++---- .../docs/concepts/workloads/pods/podpreset.md | 15 +++++----- content/ko/docs/contribute/_index.md | 10 +++---- content/ko/docs/contribute/advanced.md | 10 +++---- content/ko/docs/contribute/localization_ko.md | 12 ++++---- .../docs/contribute/new-content/open-a-pr.md | 15 +++++----- .../docs/contribute/new-content/overview.md | 10 +++---- content/ko/docs/contribute/participating.md | 15 +++++----- content/ko/docs/contribute/review/_index.md | 8 ++--- .../docs/contribute/review/for-approvers.md | 10 +++---- .../docs/contribute/review/reviewing-prs.md | 10 +++---- .../docs/contribute/style/write-new-topic.md | 20 +++++++------ .../contribute/suggesting-improvements.md | 10 +++---- .../ko/docs/home/supported-doc-versions.md | 10 +++---- content/ko/docs/reference/_index.md | 10 +++---- .../reference/issues-security/security.md | 10 +++---- .../ko/docs/reference/kubectl/cheatsheet.md | 15 +++++----- content/ko/docs/reference/tools.md | 10 +++---- .../docs/reference/using-api/api-overview.md | 10 +++---- .../reference/using-api/client-libraries.md | 10 +++---- content/ko/docs/setup/_index.md | 10 +++---- .../docs/setup/best-practices/certificates.md | 10 +++---- .../setup/best-practices/multiple-zones.md | 10 +++---- .../setup/learning-environment/minikube.md | 10 +++---- .../container-runtimes.md | 10 +++---- .../production-environment/tools/kops.md | 20 +++++++------ .../tools/kubeadm/control-plane-flags.md | 10 +++---- .../tools/kubeadm/ha-topology.md | 15 +++++----- .../windows/user-guide-windows-containers.md | 10 +++---- content/ko/docs/tasks/_index.md | 15 +++++----- .../access-cluster.md | 10 +++---- ...icate-containers-same-pod-shared-volume.md | 24 ++++++++------- .../configure-access-multiple-clusters.md | 20 +++++++------ .../configure-dns-cluster.md | 10 +++---- ...port-forward-access-application-cluster.md | 24 ++++++++------- .../web-ui-dashboard.md | 15 +++++----- .../administer-cluster/cluster-management.md | 10 +++---- .../highly-available-master.md | 19 ++++++------ .../kubeadm/adding-windows-nodes.md | 25 +++++++++------- .../kubeadm/kubeadm-certs.md | 15 +++++----- .../kubeadm/kubeadm-upgrade.md | 15 +++++----- .../kubeadm/upgrading-windows-nodes.md | 15 +++++----- .../cpu-constraint-namespace.md | 20 +++++++------ .../manage-resources/cpu-default-namespace.md | 20 +++++++------ .../memory-constraint-namespace.md | 20 +++++++------ .../memory-default-namespace.md | 20 +++++++------ .../quota-memory-cpu-namespace.md | 20 +++++++------ .../manage-resources/quota-pod-namespace.md | 20 +++++++------ .../calico-network-policy.md | 20 +++++++------ .../cilium-network-policy.md | 24 ++++++++------- .../kube-router-network-policy.md | 20 +++++++------ .../romana-network-policy.md | 20 +++++++------ .../weave-network-policy.md | 20 +++++++------ .../assign-memory-resource.md | 20 +++++++------ .../assign-pods-nodes-using-node-affinity.md | 20 +++++++------ .../assign-pods-nodes.md | 20 +++++++------ .../configure-volume-storage.md | 20 +++++++------ .../pull-image-private-registry.md | 20 +++++++------ .../quality-service-pod.md | 20 +++++++------ .../logging-elasticsearch-kibana.md | 15 +++++----- .../resource-metrics-pipeline.md | 10 +++---- .../resource-usage-monitoring.md | 10 +++---- .../define-command-argument-container.md | 20 +++++++------ .../define-environment-variable-container.md | 19 ++++++------ .../docs/tasks/manage-gpus/scheduling-gpus.md | 10 +++---- .../declarative-config.md | 18 ++++++----- .../imperative-command.md | 20 +++++++------ .../imperative-config.md | 20 +++++++------ .../kustomization.md | 20 +++++++------ .../docs/tasks/network/validate-dual-stack.md | 15 +++++----- .../horizontal-pod-autoscale-walkthrough.md | 19 ++++++------ .../horizontal-pod-autoscale.md | 14 ++++----- .../ko/docs/tasks/tools/install-kubectl.md | 20 +++++++------ .../ko/docs/tasks/tools/install-minikube.md | 20 +++++++------ content/ko/docs/tutorials/_index.md | 15 +++++----- .../ko/docs/tutorials/clusters/apparmor.md | 25 +++++++++------- .../configure-redis-using-configmap.md | 25 +++++++++------- content/ko/docs/tutorials/hello-minikube.md | 25 +++++++++------- .../ko/docs/tutorials/services/source-ip.md | 30 +++++++++++-------- .../basic-stateful-set.md | 25 +++++++++------- .../stateful-application/cassandra.md | 30 +++++++++++-------- .../mysql-wordpress-persistent-volume.md | 30 +++++++++++-------- .../stateful-application/zookeeper.md | 25 +++++++++------- .../expose-external-ip-address.md | 30 +++++++++++-------- .../guestbook-logs-metrics-with-elk.md | 30 +++++++++++-------- .../stateless-application/guestbook.md | 30 +++++++++++-------- 168 files changed, 1360 insertions(+), 1190 deletions(-) diff --git a/content/ko/docs/concepts/_index.md b/content/ko/docs/concepts/_index.md index 03a1d64ddd..30424ead72 100644 --- a/content/ko/docs/concepts/_index.md +++ b/content/ko/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: 개념 main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 개념 섹션을 통해 쿠버네티스 시스템을 구성하는 요소와 {{< glossary_tooltip text="클러스터" term_id="cluster" length="all" >}}를 표현하는데 사용되는 추상 개념에 대해 배우고 쿠버네티스가 작동하는 방식에 대해 보다 깊이 이해할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 @@ -60,12 +60,13 @@ weight: 40 클러스터 내 노드는 애플리케이션과 클라우드 워크플로우를 구동시키는 머신(VM, 물리 서버 등)이다. 쿠버네티스 마스터는 각 노드를 관리한다. 직접 노드와 직접 상호 작용할 일은 거의 없을 것이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 개념 페이지를 작성하기를 원하면, 개념 페이지 유형과 개념 템플릿에 대한 정보가 있는 [페이지 템플릿 사용하기](/docs/home/contribute/page-templates/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/architecture/cloud-controller.md b/content/ko/docs/concepts/architecture/cloud-controller.md index 83bc1d246c..12b1d714e8 100644 --- a/content/ko/docs/concepts/architecture/cloud-controller.md +++ b/content/ko/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: 클라우드 컨트롤러 매니저 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.11" >}} @@ -17,10 +17,10 @@ weight: 40 클라우드 컨트롤러 매니저는 다양한 클라우드 공급자가 자신의 플랫폼에 쿠버네티스를 통합할 수 있도록 하는 플러그인 메커니즘을 사용해서 구성된다. -{{% /capture %}} -{{% capture body %}} + + ## 디자인 @@ -200,8 +200,9 @@ rules: - update ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [클라우드 컨트롤러 매니저 관리](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager)에는 클라우드 컨트롤러 매니저의 실행과 관리에 대한 지침이 있다. @@ -212,4 +213,4 @@ rules: 이 문서(노드, 라우트와 서비스)에서 강조된 공유 컨트롤러의 구현과 공유 cloudprovider 인터페이스와 함께 일부 스캐폴딩(scaffolding)은 쿠버네티스 핵심의 일부이다. 클라우드 공급자 전용 구현은 쿠버네티스의 핵심 바깥에 있으며 `CloudProvider` 인터페이스를 구현한다. 플러그인 개발에 대한 자세한 내용은 [클라우드 컨트롤러 매니저 개발하기](/docs/tasks/administer-cluster/developing-cloud-controller-manager/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/architecture/control-plane-node-communication.md b/content/ko/docs/concepts/architecture/control-plane-node-communication.md index a037452ef3..819ee0c384 100644 --- a/content/ko/docs/concepts/architecture/control-plane-node-communication.md +++ b/content/ko/docs/concepts/architecture/control-plane-node-communication.md @@ -1,18 +1,18 @@ --- title: 컨트롤 플레인-노드 간 통신 -content_template: templates/concept +content_type: concept weight: 20 aliases: - master-node-communication --- -{{% capture overview %}} + 이 문서는 컨트롤 플레인(실제로는 API 서버)과 쿠버네티스 클러스터 사이에 대한 통신 경로의 목록을 작성한다. 이는 사용자가 신뢰할 수 없는 네트워크(또는 클라우드 공급자의 완전한 퍼블릭 IP)에서 클러스터를 실행할 수 있도록 네트워크 구성을 강화하기 위한 맞춤 설치를 할 수 있도록 한다. -{{% /capture %}} -{{% capture body %}} + + ## 노드에서 컨트롤 플레인으로의 통신 노드에서 컨트롤 플레인까지의 모든 통신 경로는 API 서버에서 종료된다(다른 마스터 컴포넌트 중 어느 것도 원격 서비스를 노출하도록 설계되지 않았다). 일반적인 배포에서 API 서버는 하나 이상의 클라이언트 [인증](/docs/reference/access-authn-authz/authentication/) 형식이 활성화된 보안 HTTPS 포트(443)에서 원격 연결을 수신하도록 구성된다. diff --git a/content/ko/docs/concepts/architecture/controller.md b/content/ko/docs/concepts/architecture/controller.md index b8c6556b2a..6688a969d7 100644 --- a/content/ko/docs/concepts/architecture/controller.md +++ b/content/ko/docs/concepts/architecture/controller.md @@ -1,10 +1,10 @@ --- title: 컨트롤러 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 로보틱스와 자동화에서 _컨트롤 루프_ 는 시스템 상태를 조절하는 종료되지 않는 루프이다. @@ -18,10 +18,10 @@ weight: 30 {{< glossary_definition term_id="controller" length="short">}} -{{% /capture %}} -{{% capture body %}} + + ## 컨트롤러 패턴 @@ -150,11 +150,12 @@ weight: 30 또는 쿠버네티스 외부에서 실행할 수 있다. 가장 적합한 것은 특정 컨트롤러의 기능에 따라 달라진다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [쿠버네티스 컨트롤 플레인](/ko/docs/concepts/#쿠버네티스-컨트롤-플레인)에 대해 읽기 * [쿠버네티스 오브젝트](/ko/docs/concepts/#쿠버네티스-오브젝트)의 몇 가지 기본 사항을 알아보자. * [쿠버네티스 API](/ko/docs/concepts/overview/kubernetes-api/)에 대해 더 배워 보자. * 만약 자신만의 컨트롤러를 작성하기 원한다면, 쿠버네티스 확장하기의 [확장 패턴](/ko/docs/concepts/extend-kubernetes/extend-cluster/#익스텐션-패턴)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/architecture/nodes.md b/content/ko/docs/concepts/architecture/nodes.md index 34690c7825..197ae71422 100644 --- a/content/ko/docs/concepts/architecture/nodes.md +++ b/content/ko/docs/concepts/architecture/nodes.md @@ -1,10 +1,10 @@ --- title: 노드 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 쿠버네티스는 컨테이너를 파드내에 배치하고 _노드_ 에서 실행함으로 워크로드를 구동한다. 노드는 클러스터에 따라 가상 또는 물리적 머신일 수 있다. 각 노드에는 @@ -20,9 +20,9 @@ weight: 10 {{< glossary_tooltip text="컨테이너 런타임" term_id="container-runtime" >}} 그리고 {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}가 포함된다. -{{% /capture %}} -{{% capture body %}} + + ## 관리 @@ -322,12 +322,13 @@ kubelet은 `NodeStatus` 와 리스 오브젝트를 생성하고 업데이트 할 자세한 내용은 [노드의 컨트롤 토폴로지 관리 정책](/docs/tasks/administer-cluster/topology-manager/)을 본다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 노드를 구성하는 [컴포넌트](/ko/docs/concepts/overview/components/#노드-컴포넌트)에 대해 알아본다. * [노드에 대한 API 정의](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core)를 읽어본다. * 아키텍처 디자인 문서의 [노드](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) 섹션을 읽어본다. * [테인트와 톨러레이션](/ko/docs/concepts/configuration/taint-and-toleration/)을 읽어본다. * [클러스터 오토스케일링](/ko/docs/tasks/administer-cluster/cluster-management/#클러스터-오토스케일링)을 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/addons.md b/content/ko/docs/concepts/cluster-administration/addons.md index ac66c7baa4..9e6f5ab7ec 100644 --- a/content/ko/docs/concepts/cluster-administration/addons.md +++ b/content/ko/docs/concepts/cluster-administration/addons.md @@ -1,9 +1,9 @@ --- title: 애드온 설치 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 애드온은 쿠버네티스의 기능을 확장한다. @@ -12,10 +12,10 @@ content_template: templates/concept 각 섹션의 애드온은 알파벳 순으로 정렬되어 있다. 순서는 우선 순위와는 상관없다. -{{% /capture %}} -{{% capture body %}} + + ## 네트워킹과 네트워크 폴리시 @@ -55,4 +55,4 @@ content_template: templates/concept 잘 관리된 것들이 여기에 연결되어 있어야 한다. PR을 환영한다! -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/certificates.md b/content/ko/docs/concepts/cluster-administration/certificates.md index cadcef4b17..d7051e4145 100644 --- a/content/ko/docs/concepts/cluster-administration/certificates.md +++ b/content/ko/docs/concepts/cluster-administration/certificates.md @@ -1,19 +1,19 @@ --- title: 인증서 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 클라이언트 인증서로 인증을 사용하는 경우 `easyrsa`, `openssl` 또는 `cfssl` 을 통해 인증서를 수동으로 생성할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -249,4 +249,4 @@ done. [여기](/docs/tasks/tls/managing-tls-in-a-cluster)에 설명된 대로 인증에 사용할 x509 인증서를 프로비전 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/cloud-providers.md b/content/ko/docs/concepts/cluster-administration/cloud-providers.md index 702dc3a54c..31e93af741 100644 --- a/content/ko/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/ko/docs/concepts/cluster-administration/cloud-providers.md @@ -1,16 +1,16 @@ --- title: 클라우드 제공자 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 페이지에서는 특정 클라우드 제공자에서 실행 중인 쿠버네티스를 관리하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ### kubeadm [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)은 쿠버네티스 클러스터를 생성하는 데 많이 사용하는 옵션이다. kubeadm에는 클라우드 제공자에 대한 구성 정보를 지정하는 구성 옵션이 있다. 예를 들어 @@ -363,7 +363,7 @@ OpenStack 제공자에 대한 다음의 구성 옵션은 [kubenet] [kubenet]: /ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#kubenet -{{% /capture %}} + ## OVirt diff --git a/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md index 9a5aba856b..d454b85ca0 100644 --- a/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -1,15 +1,15 @@ --- title: 클러스터 관리 개요 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 클러스터 관리 개요는 쿠버네티스 클러스터를 만들거나 관리하는 모든 사람들을 위한 것이다. 여기서는 쿠버네티스의 핵심 [개념](/ko/docs/concepts/)에 대해 잘 알고 있다고 가정한다. -{{% /capture %}} -{{% capture body %}} + + ## 클러스터 계획 [올바른 솔루션 고르기](/ko/docs/setup/pick-right-solution/)에서 쿠버네티스 클러스터를 어떻게 계획하고, 셋업하고, 구성하는 지에 대한 예시를 참조하자. 이 글에 쓰여진 솔루션들은 *배포판* 이라고 부른다. @@ -65,4 +65,4 @@ weight: 10 * [클러스터 활동 로깅과 모니터링](/docs/concepts/cluster-administration/logging/)은 쿠버네티스 로깅이 로깅의 작동 방법과 로깅을 어떻게 구현하는지 설명한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md index 348b3776f6..a6907ad44c 100644 --- a/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,19 +1,19 @@ --- title: kubelet 가비지(Garbage) 수집 설정하기 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + 가비지 수집은 사용되지 않는 이미지들과 컨테이너들을 정리하는 kubelet의 유용한 기능이다. Kubelet은 1분마다 컨테이너들에 대하여 가비지 수집을 수행하며, 5분마다 이미지들에 대하여 가비지 수집을 수행한다. 별도의 가비지 수집 도구들을 사용하는 것은, 이러한 도구들이 존재할 수도 있는 컨테이너들을 제거함으로써 kubelet 을 중단시킬 수도 있으므로 권장하지 않는다. -{{% /capture %}} -{{% capture body %}} + + ## 이미지 수집 @@ -77,10 +77,11 @@ kubelet이 관리하지 않는 컨테이너는 컨테이너 가비지 수집 대 | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | 축출이 다른 리소스로의 디스크 압력전환을 일반화 함 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 자세한 내용은 [리소스 부족 처리 구성](/docs/tasks/administer-cluster/out-of-resource/)를 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/logging.md b/content/ko/docs/concepts/cluster-administration/logging.md index 51526e84cb..5c7ce6cd8d 100644 --- a/content/ko/docs/concepts/cluster-administration/logging.md +++ b/content/ko/docs/concepts/cluster-administration/logging.md @@ -1,19 +1,19 @@ --- title: 로깅 아키텍처 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 애플리케이션과 시스템 로그는 클러스터 내부에서 발생하는 상황을 이해하는 데 도움이 된다. 로그는 문제를 디버깅하고 클러스터 활동을 모니터링하는 데 특히 유용하다. 대부분의 최신 애플리케이션에는 일종의 로깅 메커니즘이 있다. 따라서, 대부분의 컨테이너 엔진은 일종의 로깅을 지원하도록 설계되었다. 컨테이너화된 애플리케이션에 가장 쉽고 가장 널리 사용되는 로깅 방법은 표준 출력과 표준 에러 스트림에 작성하는 것이다. 그러나, 일반적으로 컨테이너 엔진이나 런타임에서 제공하는 기본 기능은 완전한 로깅 솔루션으로 충분하지 않다. 예를 들어, 컨테이너가 크래시되거나, 파드가 축출되거나, 노드가 종료된 경우에도 여전히 애플리케이션의 로그에 접근하려고 한다. 따라서, 로그는 노드, 파드 또는 컨테이너와는 독립적으로 별도의 스토리지와 라이프사이클을 가져야 한다. 이 개념을 _클러스터-레벨-로깅_ 이라고 한다. 클러스터-레벨 로깅은 로그를 저장하고, 분석하고, 쿼리하기 위해 별도의 백엔드가 필요하다. 쿠버네티스는 로그 데이터를 위한 네이티브 스토리지 솔루션을 제공하지 않지만, 기존의 많은 로깅 솔루션을 쿠버네티스 클러스터에 통합할 수 있다. -{{% /capture %}} -{{% capture body %}} + + 클러스터-레벨 로깅 아키텍처는 로깅 백엔드가 클러스터 내부 또는 외부에 존재한다고 가정하여 설명한다. 클러스터-레벨 @@ -264,4 +264,4 @@ fluentd를 구성하는 것에 대한 자세한 내용은, 구현할 수 있다. 그러나, 이러한 로깅 메커니즘의 구현은 쿠버네티스의 범위를 벗어난다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/manage-deployment.md b/content/ko/docs/concepts/cluster-administration/manage-deployment.md index ea5396350f..19641cdbd7 100644 --- a/content/ko/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/ko/docs/concepts/cluster-administration/manage-deployment.md @@ -1,17 +1,17 @@ --- title: 리소스 관리 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 애플리케이션을 배포하고 서비스를 통해 노출했다. 이제 무엇을 해야 할까? 쿠버네티스는 확장과 업데이트를 포함하여, 애플리케이션 배포를 관리하는 데 도움이 되는 여러 도구를 제공한다. 더 자세히 설명할 기능 중에는 [구성 파일](/ko/docs/concepts/configuration/overview/)과 [레이블](/ko/docs/concepts/overview/working-with-objects/labels/)이 있다. -{{% /capture %}} -{{% capture body %}} + + ## 리소스 구성 구성하기 @@ -447,11 +447,12 @@ kubectl edit deployment/my-nginx 이것으로 끝이다! 디플로이먼트는 배포된 nginx 애플리케이션을 배후에서 점차적으로 업데이트한다. 업데이트되는 동안 특정 수의 이전 레플리카만 중단될 수 있으며, 원하는 수의 파드 위에 특정 수의 새 레플리카만 생성될 수 있다. 이에 대한 더 자세한 내용을 보려면, [디플로이먼트 페이지](/ko/docs/concepts/workloads/controllers/deployment/)를 방문한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [애플리케이션 검사 및 디버깅에 `kubectl` 을 사용하는 방법](/docs/tasks/debug-application-cluster/debug-application-introspection/)에 대해 알아본다. - [구성 모범 사례 및 팁](/ko/docs/concepts/configuration/overview/)을 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/networking.md b/content/ko/docs/concepts/cluster-administration/networking.md index bdc0981f59..28508d58f2 100644 --- a/content/ko/docs/concepts/cluster-administration/networking.md +++ b/content/ko/docs/concepts/cluster-administration/networking.md @@ -1,10 +1,10 @@ --- title: 클러스터 네트워킹 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 네트워킹은 쿠버네티스의 중심적인 부분이지만, 어떻게 작동하는지 정확하게 이해하기가 어려울 수 있다. 쿠버네티스에는 4가지 대응해야 할 네트워킹 문제가 있다. @@ -15,10 +15,10 @@ weight: 50 3. 파드와 서비스 간 통신: 이 문제는 [서비스](/ko/docs/concepts/services-networking/service/)에서 다룬다. 4. 외부와 서비스 간 통신: 이 문제는 [서비스](/ko/docs/concepts/services-networking/service/)에서 다룬다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스는 애플리케이션 간에 머신을 공유하는 것이다. 일반적으로, 머신을 공유하려면 두 애플리케이션이 동일한 포트를 사용하지 않도록 @@ -310,12 +310,13 @@ OVN은 Open vSwitch 커뮤니티에서 개발한 오픈소스 네트워크 독립형으로 실행된다. 두 버전에서, 실행하기 위해 구성이나 추가 코드가 필요하지 않으며, 두 경우 모두, 쿠버네티스의 표준과 같이 네트워크에서 파드별로 하나의 IP 주소를 제공한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 네트워크 모델의 초기 설계와 그 근거 및 미래의 계획은 [네트워킹 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/network/networking.md)에 자세히 설명되어 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/proxies.md b/content/ko/docs/concepts/cluster-administration/proxies.md index 3b8b2d32a1..df43157578 100644 --- a/content/ko/docs/concepts/cluster-administration/proxies.md +++ b/content/ko/docs/concepts/cluster-administration/proxies.md @@ -1,14 +1,14 @@ --- title: 쿠버네티스에서 프락시(Proxy) -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스에서 함께 사용되는 프락시(Proxy)를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 프락시 @@ -62,6 +62,6 @@ weight: 90 프락시는 리다이렉트 기능을 대체했다. 리다이렉트는 더 이상 사용하지 않는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/configmap.md b/content/ko/docs/concepts/configuration/configmap.md index 42beb83ed5..8e5eb3bed1 100644 --- a/content/ko/docs/concepts/configuration/configmap.md +++ b/content/ko/docs/concepts/configuration/configmap.md @@ -1,10 +1,10 @@ --- title: 컨피그맵(ConfigMap) -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< glossary_definition term_id="configmap" prepend="컨피그맵은" length="all" >}} @@ -15,9 +15,9 @@ weight: 20 사용하여 데이터를 비공개로 유지하자. {{< /caution >}} -{{% /capture %}} -{{% capture body %}} + + ## 사용 동기 애플리케이션 코드와 별도로 구성 데이터를 설정하려면 컨피그맵을 사용하자. @@ -158,12 +158,13 @@ spec: {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [시크릿](/docs/concepts/configuration/secret/)에 대해 읽어본다. * [컨피그맵을 사용하도록 파드 구성하기](/docs/tasks/configure-pod-container/configure-pod-configmap/)를 읽어본다. * 코드를 구성에서 분리하려는 동기를 이해하려면 [Twelve-Factor 앱](https://12factor.net/ko/)을 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/manage-resources-containers.md b/content/ko/docs/concepts/configuration/manage-resources-containers.md index b54f12a48b..90991bc49e 100644 --- a/content/ko/docs/concepts/configuration/manage-resources-containers.md +++ b/content/ko/docs/concepts/configuration/manage-resources-containers.md @@ -1,6 +1,6 @@ --- title: 컨테이너 리소스 관리 -content_template: templates/concept +content_type: concept weight: 40 feature: title: 자동 빈 패킹(bin packing) @@ -8,7 +8,7 @@ feature: 리소스 요구 사항과 기타 제약 조건에 따라 컨테이너를 자동으로 배치하지만, 가용성은 그대로 유지한다. 활용도를 높이고 더 많은 리소스를 절약하기 위해 중요한(critical) 워크로드와 최선의(best-effort) 워크로드를 혼합한다. --- -{{% capture overview %}} + {{< glossary_tooltip text="파드" term_id="pod" >}}를 지정할 때, {{< glossary_tooltip text="컨테이너" term_id="container" >}}에 필요한 각 리소스의 양을 선택적으로 지정할 수 있다. @@ -21,10 +21,10 @@ feature: 컨테이너가 사용할 수 있도록 해당 시스템 리소스의 최소 _요청_ 량을 예약한다. -{{% /capture %}} -{{% capture body %}} + + ## 요청 및 제한 @@ -740,10 +740,11 @@ LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-0 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너와 파드에 메모리 리소스를 할당](/ko/docs/tasks/configure-pod-container/assign-memory-resource/)하는 핸즈온 경험을 해보자. @@ -758,4 +759,4 @@ LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-0 * XFS의 [프로젝트 쿼터](http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-quotas.html)에 대해 읽어보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md b/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md index d24d749d26..0e50a842bb 100644 --- a/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md +++ b/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md @@ -1,10 +1,10 @@ --- title: kubeconfig 파일을 사용하여 클러스터 접근 구성하기 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + kubeconfig 파일들을 사용하여 클러스터, 사용자, 네임스페이스 및 인증 메커니즘에 대한 정보를 관리하자. `kubectl` 커맨드라인 툴은 kubeconfig 파일을 사용하여 @@ -25,10 +25,10 @@ kubeconfig 파일들을 사용하여 클러스터, 사용자, 네임스페이스 kubeconfig 파일을 생성하고 지정하는 단계별 지시사항은 [다중 클러스터로 접근 구성하기](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)를 참조한다. -{{% /capture %}} -{{% capture body %}} + + ## 다중 클러스터, 사용자와 인증 메커니즘 지원 @@ -143,14 +143,15 @@ kubeconfig 파일에서 파일과 경로 참조는 kubeconfig 파일의 위치 `$HOME/.kube/config`에서 상대 경로는 상대적으로, 절대 경로는 절대적으로 저장한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [다중 클러스터 접근 구성하기](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) * [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/overview.md b/content/ko/docs/concepts/configuration/overview.md index 7611be8cb6..67f6a0a5e9 100644 --- a/content/ko/docs/concepts/configuration/overview.md +++ b/content/ko/docs/concepts/configuration/overview.md @@ -1,16 +1,16 @@ --- title: 구성 모범 사례 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 이 문서는 사용자 가이드, 시작하기 문서 및 예제들에 걸쳐 소개된 구성 모범 사례를 강조하고 통합한다. 이 문서는 지속적으로 변경 가능하다. 이 목록에 없지만 다른 사람들에게 유용할 것 같은 무엇인가를 생각하고 있다면, 새로운 이슈를 생성하거나 풀 리퀘스트를 제출하는 것을 망설이지 말기를 바란다. -{{% /capture %}} -{{% capture body %}} + + ## 일반적인 구성 팁 - 구성을 정의할 때, 안정된 최신 API 버전을 명시한다. @@ -104,4 +104,4 @@ DNS 서버는 새로운 `서비스`를 위한 쿠버네티스 API를 Watch하며 - 단일 컨테이너로 구성된 디플로이먼트와 서비스를 빠르게 생성하기 위해 `kubectl run`와 `kubectl expose`를 사용한다. [클러스터 내부의 애플리케이션에 접근하기 위한 서비스 사용](/docs/tasks/access-application-cluster/service-access-application-cluster/)에서 예시를 확인할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/pod-overhead.md b/content/ko/docs/concepts/configuration/pod-overhead.md index c5efc58c1e..cafd3a921d 100644 --- a/content/ko/docs/concepts/configuration/pod-overhead.md +++ b/content/ko/docs/concepts/configuration/pod-overhead.md @@ -1,10 +1,10 @@ --- title: 파드 오버헤드 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} @@ -14,10 +14,10 @@ _파드 오버헤드_ 는 컨테이너 리소스 요청과 상한 위에서 파 소비되는 리소스를 계산하는 기능이다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스에서 파드의 오버헤드는 파드의 [런타임클래스](/ko/docs/concepts/containers/runtime-class/) 와 관련된 오버헤드에 따라 @@ -183,11 +183,12 @@ sudo crictl inspectp -o=json $POD_ID | grep cgroupsPath 이 기능은 kube-state-metrics 의 1.9 릴리스에서는 사용할 수 없지만, 다음 릴리스에서는 가능할 예정이다. 그 전까지는 소스로부터 kube-state-metric 을 빌드해야 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [런타임클래스](/ko/docs/concepts/containers/runtime-class/) * [파드오버헤드 디자인](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/pod-priority-preemption.md b/content/ko/docs/concepts/configuration/pod-priority-preemption.md index 3a6b989c8e..ac39ed6c94 100644 --- a/content/ko/docs/concepts/configuration/pod-priority-preemption.md +++ b/content/ko/docs/concepts/configuration/pod-priority-preemption.md @@ -1,10 +1,10 @@ --- title: 파드 우선순위(priority)와 선점(preemption) -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="stable" >}} @@ -13,9 +13,9 @@ weight: 70 스케줄러는 우선순위가 낮은 파드를 선점(축출)하여 보류 중인 파드를 스케줄링할 수 있게 한다. -{{% /capture %}} -{{% capture body %}} + + {{< warning >}} @@ -404,7 +404,8 @@ kubelet 리소스 부족 축출은 사용량이 요청을 초과하지 않는 초과하지 않으면, 축출되지 않는다. 요청을 초과하는 우선순위가 더 높은 다른 파드가 축출될 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 프라이어리티클래스와 관련하여 리소스쿼터 사용에 대해 [기본적으로 프라이어리티 클래스 소비 제한](/ko/docs/concepts/policy/resource-quotas/#기본적으로-우선-순위-클래스-소비-제한)을 읽어보자. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/resource-bin-packing.md b/content/ko/docs/concepts/configuration/resource-bin-packing.md index 5b6af1c661..4a8a6b7f2f 100644 --- a/content/ko/docs/concepts/configuration/resource-bin-packing.md +++ b/content/ko/docs/concepts/configuration/resource-bin-packing.md @@ -1,18 +1,18 @@ --- title: 확장된 리소스를 위한 리소스 빈 패킹(bin packing) -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} kube-scheduler는 `RequestedToCapacityRatioResourceAllocation` 우선 순위 기능을 사용해서 확장된 리소스와 함께 리소스의 빈 패킹이 가능하도록 구성할 수 있다. 우선 순위 기능을 사용해서 맞춤 요구에 따라 kube-scheduler를 미세 조정할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## RequestedToCapacityRatioResourceAllocation을 사용해서 빈 패킹 활성화하기 @@ -190,4 +190,4 @@ NodeScore = (5 * 5) + (7 * 1) + (10 * 3) / (5 + 1 + 3) ``` -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/container-environment.md b/content/ko/docs/concepts/containers/container-environment.md index b5cfaccbfc..95671af60d 100644 --- a/content/ko/docs/concepts/containers/container-environment.md +++ b/content/ko/docs/concepts/containers/container-environment.md @@ -1,17 +1,17 @@ --- title: 컨테이너 환경 변수 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 컨테이너 환경에서 컨테이너에 가용한 리소스에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 컨테이너 환경 @@ -50,11 +50,12 @@ FOO_SERVICE_PORT=<서비스가 동작 중인 포트> 서비스에 지정된 IP 주소가 있고 [DNS 애드온](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/)이 활성화된 경우, DNS를 통해서 컨테이너가 서비스를 사용할 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너 라이프사이클 훅(hooks)](/ko/docs/concepts/containers/container-lifecycle-hooks/)에 대해 더 배워 보기. * [컨테이너 라이프사이클 이벤트에 핸들러 부착](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) 실제 경험 얻기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/container-lifecycle-hooks.md b/content/ko/docs/concepts/containers/container-lifecycle-hooks.md index 6264621a24..ac29c19c1b 100644 --- a/content/ko/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/ko/docs/concepts/containers/container-lifecycle-hooks.md @@ -1,18 +1,18 @@ --- title: 컨테이너 라이프사이클 훅(Hook) -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 페이지는 kubelet이 관리하는 컨테이너가 관리 라이프사이클 동안의 이벤트에 의해 발동되는 코드를 실행하기 위해서 컨테이너 라이프사이클 훅 프레임워크를 사용하는 방법에 대해서 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 @@ -109,12 +109,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너 환경](/ko/docs/concepts/containers/container-environment/)에 대해 더 배우기. * [컨테이너 라이프사이클 이벤트에 핸들러 부착](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) 실습 경험하기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/images.md b/content/ko/docs/concepts/containers/images.md index 4a84219ff6..bca9878b4f 100644 --- a/content/ko/docs/concepts/containers/images.md +++ b/content/ko/docs/concepts/containers/images.md @@ -1,19 +1,19 @@ --- title: 이미지 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 사용자 Docker 이미지를 생성하고 레지스트리에 푸시(push)하여 쿠버네티스 파드에서 참조되기 이전에 대비한다. 컨테이너의 `image` 속성은 `docker` 커맨드에서 지원하는 문법과 같은 문법을 지원한다. 이는 프라이빗 레지스트리와 태그를 포함한다. -{{% /capture %}} -{{% capture body %}} + + ## 이미지 업데이트 @@ -367,4 +367,4 @@ imagePullSecrets을 셋팅하여 자동화할 수 있다. 다중 레지스트리에 접근해야 하는 경우, 각 레지스트리에 대해 하나의 시크릿을 생성할 수 있다. Kubelet은 모든`imagePullSecrets` 파일을 하나의 가상`.docker / config.json` 파일로 병합한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/overview.md b/content/ko/docs/concepts/containers/overview.md index 11d29a18ce..7ad30f5749 100644 --- a/content/ko/docs/concepts/containers/overview.md +++ b/content/ko/docs/concepts/containers/overview.md @@ -1,10 +1,10 @@ --- title: 컨테이너 개요 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 컨테이너는 런타임에 필요한 종속성과 애플리케이션의 컴파일 된 코드를 패키징 하는 기술이다. 실행되는 각각의 @@ -15,10 +15,10 @@ weight: 10 컨테이너는 기본 호스트 인프라 환경에서 애플리케이션의 실행환경을 분리한다. 따라서 다양한 클라우드 환경이나 운영체제에서 쉽게 배포 할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 컨테이너 이미지 [컨테이너 이미지](/ko/docs/concepts/containers/images/) 는 즉시 실행할 수 있는 @@ -36,8 +36,9 @@ weight: 10 {{< glossary_definition term_id="container-runtime" length="all" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너 이미지](/ko/docs/concepts/containers/images/)에 대해 읽어보기 * [파드](/ko/docs/concepts/workloads/pods/)에 대해 읽어보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/runtime-class.md b/content/ko/docs/concepts/containers/runtime-class.md index f1fd42cad6..8af3bda7a8 100644 --- a/content/ko/docs/concepts/containers/runtime-class.md +++ b/content/ko/docs/concepts/containers/runtime-class.md @@ -1,10 +1,10 @@ --- title: 런타임 클래스 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -13,10 +13,10 @@ weight: 20 런타임클래스는 컨테이너 런타임을 구성을 선택하는 기능이다. 컨테이너 런타임 구성은 파드의 컨테이너를 실행하는데 사용된다. -{{% /capture %}} -{{% capture body %}} + + ## 동기 @@ -176,12 +176,13 @@ PodOverhead를 사용하려면, PodOverhead [기능 게이트](/docs/reference/c 해당 런타임 클래스를 사용해서 구동 중인 파드의 오버헤드를 특정할 수 있고 이 오버헤드가 쿠버네티스 내에서 처리된다는 것을 보장할 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [런타임 클래스 설계](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/runtime-class.md) - [런타임 클래스 스케줄링 설계](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/runtime-class-scheduling.md) - [파드 오버헤드](/docs/concepts/configuration/pod-overhead/) 개념에 대해 읽기 - [파드 오버헤드 기능 설계](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index fe8af20904..3b0b42dfcc 100644 --- a/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -1,19 +1,19 @@ --- title: 애그리게이션 레이어(aggregation layer)로 쿠버네티스 API 확장하기 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 애그리게이션 레이어는 코어 쿠버네티스 API가 제공하는 기능 이외에 더 많은 기능을 제공할 수 있도록 추가 API를 더해 쿠버네티스를 확장할 수 있게 해준다. 추가 API는 [서비스-카탈로그](/docs/concepts/extend-kubernetes/service-catalog/)와 같이 미리 만들어진 솔루션이거나 사용자가 직접 개발한 API일 수 있다. 애그리게이션 레이어는 [사용자 정의 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)와는 다르며, 애그리게이션 레이어는 {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} 가 새로운 종류의 오브젝트를 인식하도록 하는 방법이다. -{{% /capture %}} -{{% capture body %}} + + ## 애그리게이션 레이어 @@ -30,13 +30,14 @@ extention API server가 레이턴시 요구 사항을 달성할 수 없는 경 `EnableAggregatedDiscoveryTimeout=false` [기능 게이트](/docs/reference/command-line-tools-reference/feature-gates/)를 설정해서 타임아웃 제한을 비활성화 할 수 있다. 이 사용 중단(deprecated)된 기능 게이트는 향후 릴리스에서 제거될 예정이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 사용자의 환경에서 Aggregator를 동작시키려면, [애그리게이션 레이어를 설정한다](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). * 다음에, [extension api-server를 구성해서](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) 애그리게이션 레이어와 연계한다. * 또한, 어떻게 [쿠버네티스 API를 커스텀 리소스 데피니션으로 확장하는지](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)를 배워본다. * [API 서비스](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io)의 사양을 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index 84481bdec7..9e9f3e9e29 100644 --- a/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -1,18 +1,18 @@ --- title: 커스텀 리소스 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + *커스텀 리소스* 는 쿠버네티스 API의 익스텐션이다. 이 페이지에서는 쿠버네티스 클러스터에 커스텀 리소스를 추가할 시기와 독립형 서비스를 사용하는 시기에 대해 설명한다. 커스텀 리소스를 추가하는 두 가지 방법과 이들 중에서 선택하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 커스텀 리소스 *리소스* 는 [쿠버네티스 API](/ko/docs/reference/using-api/api-overview/)에서 특정 종류의 @@ -243,12 +243,13 @@ CRD는 항상 API 서버의 빌트인 리소스와 동일한 인증, 권한 부 - 작성한 REST 클라이언트 - [쿠버네티스 클라이언트 생성 도구](https://github.com/kubernetes/code-generator)를 사용하여 생성된 클라이언트(하나를 생성하는 것은 고급 기능이지만, 일부 프로젝트는 CRD 또는 AA와 함께 클라이언트를 제공할 수 있다). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [애그리게이션 레이어(aggregation layer)로 쿠버네티스 API 확장](/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/)하는 방법에 대해 배우기. * [커스텀리소스데피니션으로 쿠버네티스 API 확장](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/)하는 방법에 대해 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index 0912bcdcde..d75601de9f 100644 --- a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -1,11 +1,11 @@ --- title: 장치 플러그인 description: GPU, NIC, FPGA, InfiniBand 및 공급 업체별 설정이 필요한 유사한 리소스를 위한 플러그인을 구현하는데 쿠버네티스 장치 플러그인 프레임워크를 사용한다. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.10" state="beta" >}} 쿠버네티스는 시스템 하드웨어 리소스를 {{< glossary_tooltip term_id="kubelet" >}}에 알리는 데 사용할 수 있는 @@ -18,9 +18,9 @@ weight: 20 및 공급 업체별 초기화 및 설정이 필요할 수 있는 기타 유사한 컴퓨팅 리소스가 포함된다. -{{% /capture %}} -{{% capture body %}} + + ## 장치 플러그인 등록 @@ -224,12 +224,13 @@ pluginapi.Device{ID: "25102017", Health: pluginapi.Healthy, Topology:&pluginapi. * [SR-IOV 네트워크 장치 플러그인](https://github.com/intel/sriov-network-device-plugin) * Xilinx FPGA 장치용 [Xilinx FPGA 장치 플러그인](https://github.com/Xilinx/FPGA_as_a_Service/tree/master/k8s-fpga-device-plugin/trunk) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 장치 플러그인을 사용한 [GPU 리소스 스케줄링](/docs/tasks/manage-gpus/scheduling-gpus/)에 대해 알아보기 * 노드에서의 [확장 리소스 알리기](/docs/tasks/administer-cluster/extended-resource-node/)에 대해 배우기 * 쿠버네티스에서 [TLS 수신에 하드웨어 가속](https://kubernetes.io/blog/2019/04/24/hardware-accelerated-ssl/tls-termination-in-ingress-controllers-using-kubernetes-device-plugins-and-runtimeclass/) 사용에 대해 읽기 * [토폴로지 관리자](/docs/tasks/adminster-cluster/topology-manager/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 137195e7e7..923acfa333 100644 --- a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -1,11 +1,11 @@ --- title: 네트워크 플러그인 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state state="alpha" >}} {{< caution >}}알파 기능은 빨리 변경될 수 있다. {{< /caution >}} @@ -15,9 +15,9 @@ weight: 10 * CNI 플러그인: 상호 운용성을 위해 설계된 appc/CNI 명세를 준수한다. * Kubenet 플러그인: `bridge` 와 `host-local` CNI 플러그인을 사용하여 기본 `cbr0` 구현한다. -{{% /capture %}} -{{% capture body %}} + + ## 설치 @@ -160,8 +160,9 @@ AWS에서 `eth0` MTU는 일반적으로 9001이므로, `--network-plugin-mtu=900 * `--network-plugin=kubenet` 은 `/opt/cni/bin` 또는 `cni-bin-dir` 에 있는 CNI `bridge` 및 `host-local` 플러그인과 함께 kubenet 네트워크 플러그인을 사용하도록 지정한다. * 현재 kubenet 네트워크 플러그인에서만 사용하는 `--network-plugin-mtu=9001` 은 사용할 MTU를 지정한다. -{{% /capture %}} -{{% capture whatsnext %}} -{{% /capture %}} +## {{% heading "whatsnext" %}} + + + diff --git a/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md b/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md index 408ff70c22..ecf57f49fc 100644 --- a/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md +++ b/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md @@ -1,10 +1,10 @@ --- title: 쿠버네티스 클러스터 확장 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 쿠버네티스는 매우 유연하게 구성할 수 있고 확장 가능하다. 결과적으로 쿠버네티스 프로젝트를 포크하거나 코드에 패치를 제출할 필요가 @@ -17,10 +17,10 @@ weight: 10 어떤 익스텐션 포인트와 패턴이 있는지, 그리고 그것들의 트레이드오프와 제약에 대한 소개 자료로 유용할 것이다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 @@ -189,10 +189,11 @@ Kubelet이 바이너리 플러그인을 호출하여 볼륨을 마운트하도 [웹훅](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/scheduler_extender.md)을 지원한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [커스텀 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)에 대해 더 알아보기 * [동적 어드미션 컨트롤](/docs/reference/access-authn-authz/extensible-admission-controllers/)에 대해 알아보기 @@ -202,4 +203,4 @@ Kubelet이 바이너리 플러그인을 호출하여 볼륨을 마운트하도 * [kubectl 플러그인](/docs/tasks/extend-kubectl/kubectl-plugins/)에 대해 알아보기 * [오퍼레이터 패턴](/docs/concepts/extend-kubernetes/operator/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/operator.md b/content/ko/docs/concepts/extend-kubernetes/operator.md index 7d7854e05c..c663964e21 100644 --- a/content/ko/docs/concepts/extend-kubernetes/operator.md +++ b/content/ko/docs/concepts/extend-kubernetes/operator.md @@ -1,20 +1,20 @@ --- title: 오퍼레이터(operator) 패턴 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 오퍼레이터(Operator)는 [사용자 정의 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)를 사용하여 애플리케이션 및 해당 컴포넌트를 관리하는 쿠버네티스의 소프트웨어 익스텐션이다. 오퍼레이터는 쿠버네티스 원칙, 특히 [컨트롤 루프](/ko/docs/concepts/#쿠버네티스-컨트롤-플레인)를 따른다. -{{% /capture %}} -{{% capture body %}} + + ## 동기 부여 @@ -113,9 +113,10 @@ kubectl edit SampleDB/example-database # 일부 설정을 수동으로 변경하 또한 [쿠버네티스 API의 클라이언트](/ko/docs/reference/using-api/client-libraries/) 역할을 할 수 있는 모든 언어 / 런타임을 사용하여 오퍼레이터(즉, 컨트롤러)를 구현한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [사용자 정의 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)에 대해 더 알아보기 * [OperatorHub.io](https://operatorhub.io/)에서 유스케이스에 맞는 이미 만들어진 오퍼레이터 찾기 @@ -129,5 +130,5 @@ kubectl edit SampleDB/example-database # 일부 설정을 수동으로 변경하 * 오퍼레이터 패턴을 소개한 [CoreOS 원본 기사](https://coreos.com/blog/introducing-operators.html) 읽기 * 오퍼레이터 구축을 위한 모범 사례에 대한 구글 클라우드(Google Cloud)의 [기사](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps) 읽기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/components.md b/content/ko/docs/concepts/overview/components.md index 9db222e271..3d4a8b8370 100644 --- a/content/ko/docs/concepts/overview/components.md +++ b/content/ko/docs/concepts/overview/components.md @@ -1,13 +1,13 @@ --- title: 쿠버네티스 컴포넌트 -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + 쿠버네티스를 배포하면 클러스터를 얻는다. {{< glossary_definition term_id="cluster" length="all" prepend="쿠버네티스 클러스터는">}} @@ -18,9 +18,9 @@ card: ![쿠버네티스의 컴포넌트](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## 컨트롤 플레인 컴포넌트 컨트롤 플레인 컴포넌트는 클러스터에 관한 전반적인 결정(예를 들어, 스케줄링)을 수행하고 클러스터 이벤트(예를 들어, 디플로이먼트의 `replicas` 필드에 대한 요구 조건이 충족되지 않을 경우 새로운 {{< glossary_tooltip text="파드" term_id="pod">}}를 구동시키는 것)를 감지하고 반응한다. @@ -118,10 +118,11 @@ kube-controller-manager와 마찬가지로 cloud-controller-manager는 논리적 [클러스터-레벨 로깅](/docs/concepts/cluster-administration/logging/) 메커니즘은 검색/열람 인터페이스와 함께 중앙 로그 저장소에 컨테이너 로그를 저장하는 책임을 진다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [노드](/ko/docs/concepts/architecture/nodes/)에 대해 더 배우기 * [컨트롤러](/ko/docs/concepts/architecture/controller/)에 대해 더 배우기 * [kube-scheduler](/ko/docs/concepts/scheduling-eviction/kube-scheduler/)에 대해 더 배우기 * etcd의 공식 [문서](https://etcd.io/docs/) 읽기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/kubernetes-api.md b/content/ko/docs/concepts/overview/kubernetes-api.md index ce0b55e113..851791b9ca 100644 --- a/content/ko/docs/concepts/overview/kubernetes-api.md +++ b/content/ko/docs/concepts/overview/kubernetes-api.md @@ -1,13 +1,13 @@ --- title: 쿠버네티스 API -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + 전체 API 관례는 [API conventions doc](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md)에 기술되어 있다. @@ -21,10 +21,10 @@ API에 원격 접속하는 방법은 [Controlling API Access doc](/docs/referenc 쿠버네티스 자체는 여러 컴포넌트로 나뉘어져서 각각의 API를 통해 상호작용한다. -{{% /capture %}} -{{% capture body %}} + + ## API 변경 @@ -137,4 +137,4 @@ API 그룹은 REST 경로와 직렬화된 객체의 `apiVersion` 필드에 명 {{< note >}}개별 리소스의 활성화/비활성화는 레거시 문제로 `extensions/v1beta1` API 그룹에서만 지원된다. {{< /note >}} -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/what-is-kubernetes.md b/content/ko/docs/concepts/overview/what-is-kubernetes.md index 1bbffa96cc..f94ab988a3 100644 --- a/content/ko/docs/concepts/overview/what-is-kubernetes.md +++ b/content/ko/docs/concepts/overview/what-is-kubernetes.md @@ -2,18 +2,18 @@ title: 쿠버네티스란 무엇인가? description: > 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 지원 그리고 도구들은 광범위하게 제공된다. -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + 이 페이지에서는 쿠버네티스 개요를 설명한다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 쿠버네티스란 명칭은 키잡이(helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는 [15년 이상의 구글 경험](/blog/2015/04/borg-predecessor-to-kubernetes/)과 커뮤니티의 최고의 아이디어와 적용 사례가 결합되어 있다. @@ -83,9 +83,10 @@ card: * 포괄적인 머신 설정, 유지보수, 관리, 자동 복구 시스템을 제공하거나 채택하지 않는다. * 추가로, 쿠버네티스는 단순한 오케스트레이션 시스템이 아니다. 사실, 쿠버네티스는 오케스트레이션의 필요성을 없애준다. 오케스트레이션의 기술적인 정의는 A를 먼저 한 다음, B를 하고, C를 하는 것과 같이 정의된 워크플로우를 수행하는 것이다. 반면에, 쿠버네티스는 독립적이고 조합 가능한 제어 프로세스들로 구성되어 있다. 이 프로세스는 지속적으로 현재 상태를 입력받은 의도한 상태로 나아가도록 한다. A에서 C로 어떻게 갔는지는 상관이 없다. 중앙화된 제어도 필요치 않다. 이로써 시스템이 보다 더 사용하기 쉬워지고, 강력해지며, 견고하고, 회복력을 갖추게 되며, 확장 가능해진다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [쿠버네티스 구성요소](/ko/docs/concepts/overview/components/) 살펴보기 * [시작하기](/ko/docs/setup/) 준비가 되었는가? -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/annotations.md b/content/ko/docs/concepts/overview/working-with-objects/annotations.md index 4b238bf313..aa9c29cb64 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/ko/docs/concepts/overview/working-with-objects/annotations.md @@ -1,15 +1,15 @@ --- title: 어노테이션 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 쿠버네티스 어노테이션을 사용하여 임의의 비-식별 메타데이터를 오브젝트에 첨부할 수 있다. 도구 및 라이브러리와 같은 클라이언트는 이 메타데이터를 검색할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 오브젝트에 메타데이터 첨부 레이블이나 어노테이션을 사용하여 쿠버네티스 @@ -88,10 +88,11 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [레이블과 셀렉터](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 알아본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/common-labels.md b/content/ko/docs/concepts/overview/working-with-objects/common-labels.md index 450255c37c..be7db19bb5 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/ko/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,17 +1,17 @@ --- title: 권장 레이블 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + kubectl과 대시보드와 같은 많은 도구들로 쿠버네티스 오브젝트를 시각화 하고 관리할 수 있다. 공통 레이블 셋은 모든 도구들이 이해할 수 있는 공통의 방식으로 오브젝트를 식별하고 도구들이 상호 운용적으로 작동할 수 있도록 한다. 권장 레이블은 지원 도구 외에도 쿼리하는 방식으로 애플리케이션을 식별하게 한다. -{{% /capture %}} -{{% capture body %}} + + 메타데이터는 _애플리케이션_ 의 개념을 중심으로 정리된다. 쿠버네티스는 플랫폼 서비스(PaaS)가 아니며 애플리케이션에 대해 공식적인 개념이 없거나 강요하지 않는다. 대신 애플리케이션은 비공식적이며 메타데이터로 설명된다. @@ -166,4 +166,4 @@ metadata: MySQL `StatefulSet` 과 `Service` 로 MySQL과 WordPress가 더 큰 범위의 애플리케이션에 포함되어 있는 것을 알게 된다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 3028155e22..1fe7183c29 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,17 +1,17 @@ --- title: 쿠버네티스 오브젝트 이해하기 -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + 이 페이지에서는 쿠버네티스 오브젝트가 쿠버네티스 API에서 어떻게 표현되고, 그 오브젝트를 어떻게 `.yaml` 형식으로 표현할 수 있는지에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 쿠버네티스 오브젝트 이해하기 {#kubernetes-objects} *쿠버네티스 오브젝트* 는 쿠버네티스 시스템에서 영속성을 가지는 개체이다. 쿠버네티스는 클러스터의 상태를 나타내기 위해 이 개체를 이용한다. 구체적으로 말하자면, 다음을 기술할 수 있다. @@ -86,10 +86,11 @@ deployment.apps/nginx-deployment created 에서 확인할 수 있고, 디플로이먼트에 대한 `spec` 포맷은 [DeploymentSpec v1 apps](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps)에서 확인할 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * API 개념의 더 많은 설명은 [Kubernetes API 개요](/ko/docs/reference/using-api/api-overview/)를 본다. * [파드(Pod)](/ko/docs/concepts/workloads/pods/pod-overview/)와 같이, 가장 중요하고 기본적인 쿠버네티스 오브젝트에 대해 배운다. * 쿠버네티스의 [컨트롤러](/ko/docs/concepts/architecture/controller/)에 대해 배운다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/labels.md b/content/ko/docs/concepts/overview/working-with-objects/labels.md index 6fa5790a83..fe8b0ce8fb 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ko/docs/concepts/overview/working-with-objects/labels.md @@ -1,10 +1,10 @@ --- title: 레이블과 셀렉터 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + _레이블_ 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. @@ -22,10 +22,10 @@ _레이블_ 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이 레이블은 UI와 CLI에서 효율적인 쿼리를 사용하고 검색에 사용하기에 적합하다. 식별되지 않는 정보는 [어노테이션](/ko/docs/concepts/overview/working-with-objects/annotations/)으로 기록해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 사용 동기 @@ -225,4 +225,4 @@ selector: 레이블을 통해 선택하는 사용 사례 중 하나는 파드를 스케줄 할 수 있는 노드 셋을 제한하는 것이다. 자세한 내용은 [노드 선택](/ko/docs/concepts/scheduling-eviction/assign-pod-node/) 문서를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/names.md b/content/ko/docs/concepts/overview/working-with-objects/names.md index 3841e76c1e..0cb3e7656a 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/names.md +++ b/content/ko/docs/concepts/overview/working-with-objects/names.md @@ -1,10 +1,10 @@ --- title: 오브젝트 이름과 ID -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 클러스터의 각 오브젝트는 해당 유형의 리소스에 대하여 고유한 [_이름_](#names) 을 가지고 있다. 또한, 모든 쿠버네티스 오브젝트는 전체 클러스터에 걸쳐 고유한 [_UID_](#uids) 를 가지고 있다. @@ -13,10 +13,10 @@ weight: 20 유일하지 않은 사용자 제공 속성의 경우 쿠버네티스는 [레이블](/ko/docs/concepts/overview/working-with-objects/labels/)과 [어노테이션](/ko/docs/concepts/overview/working-with-objects/annotations/)을 제공한다. -{{% /capture %}} -{{% capture body %}} + + ## 이름 {#names} @@ -79,8 +79,9 @@ spec: 쿠버네티스 UID는 보편적으로 고유한 식별자이다(또는 UUID라고 한다). UUID는 ISO/IEC 9834-8 과 ITU-T X.667 로 표준화 되어 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 쿠버네티스의 [레이블](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 읽기. * [쿠버네티스의 식별자와 이름](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) 디자인 문서 읽기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/namespaces.md b/content/ko/docs/concepts/overview/working-with-objects/namespaces.md index 4707233f26..8e4cf04db2 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ko/docs/concepts/overview/working-with-objects/namespaces.md @@ -1,18 +1,18 @@ --- title: 네임스페이스 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 쿠버네티스는 동일한 물리 클러스터를 기반으로 하는 여러 가상 클러스터를 지원한다. 이런 가상 클러스터를 네임스페이스라고 한다. -{{% /capture %}} -{{% capture body %}} + + ## 여러 개의 네임스페이스를 사용하는 경우 @@ -108,11 +108,12 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [신규 네임스페이스 생성](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace)에 대해 더 배우기. * [네임스페이스 삭제](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace)에 대해 더 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/object-management.md b/content/ko/docs/concepts/overview/working-with-objects/object-management.md index bdb5ac476d..550cbe951c 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/object-management.md +++ b/content/ko/docs/concepts/overview/working-with-objects/object-management.md @@ -1,17 +1,17 @@ --- title: 쿠버네티스 오브젝트 관리 -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + `kubectl` 커맨드라인 툴은 쿠버네티스 오브젝트를 생성하고 관리하기 위한 몇 가지 상이한 방법을 지원한다. 이 문서는 여러가지 접근법에 대한 개요을 제공한다. Kubectl로 오브젝트 관리하기에 대한 자세한 설명은 [Kubectl 서적](https://kubectl.docs.kubernetes.io)에서 확인한다. -{{% /capture %}} -{{% capture body %}} + + ## 관리 기법 @@ -174,9 +174,10 @@ kubectl apply -R -f configs/ - 선언형 오브젝트 구성은 예상치 못한 결과를 디버깅하고 이해하기가 더 어렵다. - diff를 사용한 부분 업데이트는 복잡한 병합 및 패치 작업을 일으킨다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/) - [오브젝트 구성을 이용한 쿠버네티스 오브젝트 관리하기(명령형)](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/) - [오브젝트 구성을 이용한 쿠버네티스 오브젝트 관리하기(선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/) @@ -187,4 +188,4 @@ kubectl apply -R -f configs/ {{< comment >}} {{< /comment >}} -{{% /capture %}} + diff --git a/content/ko/docs/concepts/policy/limit-range.md b/content/ko/docs/concepts/policy/limit-range.md index 11356ed3ee..e2bd0a10d3 100644 --- a/content/ko/docs/concepts/policy/limit-range.md +++ b/content/ko/docs/concepts/policy/limit-range.md @@ -1,19 +1,19 @@ --- title: 리밋 레인지(Limit Range) -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 기본적으로 컨테이너는 쿠버네티스 클러스터에서 무제한 [컴퓨팅 리소스](/docs/user-guide/compute-resources)로 실행된다. 리소스 쿼터을 사용하면 클러스터 관리자는 {{< glossary_tooltip text="네임스페이스" term_id="namespace" >}}별로 리소스 사용과 생성을 제한할 수 있다. 네임스페이스 내에서 파드나 컨테이너는 네임스페이스의 리소스 쿼터에 정의된 만큼의 CPU와 메모리를 사용할 수 있다. 하나의 파드 또는 컨테이너가 사용 가능한 모든 리소스를 독점할 수 있다는 우려가 있다. 리밋레인지는 네임스페이스에서 리소스 할당(파드 또는 컨테이너)을 제한하는 정책이다. -{{% /capture %}} -{{% capture body %}} + + _리밋레인지_ 는 다음과 같은 제약 조건을 제공한다. @@ -49,9 +49,10 @@ _리밋레인지_ 는 다음과 같은 제약 조건을 제공한다. 경합이나 리밋레인지 변경은 이미 생성된 리소스에 영향을 미치지 않는다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 자세한 내용은 [LimitRanger 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md)를 참조한다. @@ -65,4 +66,4 @@ _리밋레인지_ 는 다음과 같은 제약 조건을 제공한다. - [네임스페이스당 할당량을 설정하는 자세한 예시](/docs/tasks/administer-cluster/quota-memory-cpu-namespace/). -{{% /capture %}} + diff --git a/content/ko/docs/concepts/policy/pod-security-policy.md b/content/ko/docs/concepts/policy/pod-security-policy.md index 4e264da6f1..54a5f8a22a 100644 --- a/content/ko/docs/concepts/policy/pod-security-policy.md +++ b/content/ko/docs/concepts/policy/pod-security-policy.md @@ -1,20 +1,20 @@ --- title: 파드 시큐리티 폴리시 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state state="beta" >}} 파드 시큐리티 폴리시를 사용하면 파드 생성 및 업데이트에 대한 세분화된 권한을 부여할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 파드 시큐리티 폴리시란? @@ -626,10 +626,11 @@ spec: [Sysctl 문서]( /docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy)를 참고하길 바란다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + API 세부 정보는 [파드 시큐리티 폴리시 레퍼런스](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) 참조 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/policy/resource-quotas.md b/content/ko/docs/concepts/policy/resource-quotas.md index d13c6abbc2..4aec897572 100644 --- a/content/ko/docs/concepts/policy/resource-quotas.md +++ b/content/ko/docs/concepts/policy/resource-quotas.md @@ -1,20 +1,20 @@ --- title: 리소스 쿼터 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 여러 사용자나 팀이 정해진 수의 노드로 클러스터를 공유할 때 한 팀이 공정하게 분배된 리소스보다 많은 리소스를 사용할 수 있다는 우려가 있다. 리소스 쿼터는 관리자가 이 문제를 해결하기 위한 도구이다. -{{% /capture %}} -{{% capture body %}} + + `ResourceQuota` 오브젝트로 정의된 리소스 쿼터는 네임스페이스별 총 리소스 사용을 제한하는 제약 조건을 제공한다. 유형별로 네임스페이스에서 만들 수 있는 오브젝트 수와 @@ -592,10 +592,11 @@ plugins: [리소스 쿼터를 사용하는 방법에 대한 자세한 예](/docs/tasks/administer-cluster/quota-api-object/)를 참고하길 바란다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 자세한 내용은 [리소스쿼터 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md)를 참고하길 바란다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md b/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md index 6a5eaf68ec..a56dece692 100644 --- a/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md +++ b/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md @@ -1,11 +1,11 @@ --- title: 노드에 파드 할당하기 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< glossary_tooltip text="파드" term_id="pod" >}}를 특정한 {{< glossary_tooltip text="노드(들)" term_id="node" >}}에서만 동작하도록 하거나, 특정 노드들을 선호하도록 제한할 수 있다. @@ -17,9 +17,9 @@ weight: 50 예를 들어 SSD가 장착된 머신에 파드가 연결되도록 하거나 또는 동일한 가용성 영역(availability zone)에서 많은 것을 통신하는 두 개의 서로 다른 서비스의 파드를 같이 배치할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 노드 셀렉터(nodeSelector) @@ -383,9 +383,10 @@ spec: 위 파드는 kube-01 노드에서 실행될 것이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [테인트](/docs/concepts/configuration/taint-and-toleration/)는 노드가 특정 파드들을 *쫓아내게* 할 수 있다. @@ -397,4 +398,4 @@ spec: [토폴로지 매니저](/docs/tasks/administer-cluster/topology-manager/)는 노드 수준의 리소스 할당 결정에 참여할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md b/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md index 24754a5c88..54373e2e2c 100644 --- a/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md +++ b/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md @@ -1,18 +1,18 @@ --- title: 쿠버네티스 스케줄러 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 쿠버네티스에서 _스케줄링_ 은 {{< glossary_tooltip term_id="kubelet" >}}이 파드를 실행할 수 있도록 {{< glossary_tooltip text="파드" term_id="pod" >}}가 {{< glossary_tooltip text="노드" term_id="node" >}}에 적합한지 확인하는 것을 말한다. -{{% /capture %}} -{{% capture body %}} + + ## 스케줄링 개요 {#scheduling} @@ -86,12 +86,13 @@ _스코어링_ 단계에서 스케줄러는 목록에 남아있는 노드의 순 다른 스케줄링 단계를 구현하는 플러그인을 구성할 수 있다. 다른 프로파일을 실행하도록 kube-scheduler를 구성할 수도 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [스케줄러 성능 튜닝](/ko/docs/concepts/scheduling/scheduler-perf-tuning/)에 대해 읽기 * [파드 토폴로지 분배 제약 조건](/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints/)에 대해 읽기 * kube-scheduler의 [레퍼런스 문서](/docs/reference/command-line-tools-reference/kube-scheduler/) 읽기 * [멀티 스케줄러 구성하기](/docs/tasks/administer-cluster/configure-multiple-schedulers/)에 대해 배우기 * [토폴로지 관리 정책](/docs/tasks/administer-cluster/topology-manager/)에 대해 배우기 * [파드 오버헤드](/docs/concepts/configuration/pod-overhead/)에 대해 배우기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md b/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md index 3387bdce43..52db313635 100644 --- a/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md +++ b/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md @@ -1,10 +1,10 @@ --- title: 스케줄러 성능 튜닝 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.14" state="beta" >}} @@ -22,9 +22,9 @@ API 서버에 해당 결정을 통지한다. 본 페이지에서는 상대적으로 큰 규모의 쿠버네티스 클러스터에 대한 성능 튜닝 최적화에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + 큰 규모의 클러스터에서는 스케줄러의 동작을 튜닝하여 응답 시간 (새 파드가 빠르게 배치됨)과 정확도(스케줄러가 배치 결정을 잘 못하는 경우가 드물게 됨) @@ -161,4 +161,4 @@ percentageOfNodesToScore: 50 모든 노드를 검토한 후, 노드 1로 돌아간다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md b/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md index ed59926d17..864da02b8b 100644 --- a/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md +++ b/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md @@ -1,11 +1,11 @@ --- title: 테인트(Taints)와 톨러레이션(Tolerations) -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + [여기](/ko/docs/concepts/configuration/assign-pod-node/#어피니티-affinity-와-안티-어피니티-anti-affinity)에 설명된 노드 어피니티는 노드 셋을 *끌어들이는* (기본 설정 또는 어려운 요구 사항) *파드* 속성이다. 테인트는 그 반대로, *노드* 가 파드 셋을 @@ -17,9 +17,9 @@ weight: 40 톨러레이션은 파드에 적용되며, 파드를 일치하는 테인트가 있는 노드에 스케줄되게 하지만 필수는 아니다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 diff --git a/content/ko/docs/concepts/security/overview.md b/content/ko/docs/concepts/security/overview.md index 6dcbe57d58..f988d1d5d9 100644 --- a/content/ko/docs/concepts/security/overview.md +++ b/content/ko/docs/concepts/security/overview.md @@ -1,12 +1,12 @@ --- title: 클라우드 네이티브 보안 개요 -content_template: templates/concept +content_type: concept weight: 1 --- {{< toc >}} -{{% capture overview %}} + 쿠버네티스 보안(일반적인 보안)은 관련된 많은 부분이 상호작용하는 방대한 주제다. 오늘날에는 웹 애플리케이션의 실행을 돕는 수많은 시스템에 오픈소스 소프트웨어가 통합되어 있으며, @@ -15,9 +15,9 @@ weight: 1 몇 가지 일반적인 개념에 대한 멘탈 모델(mental model)을 정의한다. 멘탈 모델은 완전히 임의적이며 소프트웨어 스택을 보호할 위치를 생각하는데 도움이되는 경우에만 사용해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 클라우드 네이티브 보안의 4C 계층적인 보안에 대해서 어떻게 생각할 수 있는지 이해하는 데 도움이 될 수 있는 다이어그램부터 살펴보자. @@ -150,12 +150,13 @@ TLS를 통한 접근 | 코드가 TCP를 통해 통신해야 한다면, 클라이 전달하는 파이프라인에 의해 자동화 될 수 있다. 소프트웨어 전달을 위한 "지속적인 해킹(Continuous Hacking)"에 대한 접근 방식에 대해 알아 보려면, 자세한 설명을 제공하는 [이 기사](https://thenewstack.io/beyond-ci-cd-how-continuous-hacking-of-docker-containers-and-pipeline-driven-security-keeps-ygrene-secure/)를 참고한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [파드에 대한 네트워크 정책](/ko/docs/concepts/services-networking/network-policies/) 알아보기 * [클러스터 보안](/docs/tasks/administer-cluster/securing-a-cluster/)에 대해 알아보기 * [API 접근 통제](/docs/reference/access-authn-authz/controlling-access/)에 대해 알아보기 * 컨트롤 플레인에 대한 [전송 데이터 암호화](/docs/tasks/tls/managing-tls-in-a-cluster/) 알아보기 * [Rest에서 데이터 암호화](/docs/tasks/administer-cluster/encrypt-data/) 알아보기 * [쿠버네티스 시크릿](/docs/concepts/configuration/secret/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md index b0cc6b1a93..bc5560b5ba 100644 --- a/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md +++ b/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -1,18 +1,18 @@ --- title: HostAliases로 파드의 /etc/hosts 항목 추가하기 -content_template: templates/concept +content_type: concept weight: 60 --- {{< toc >}} -{{% capture overview %}} + 파드의 /etc/hosts 파일에 항목을 추가하는 것은 DNS나 다른 방법들이 적용되지 않을 때 파드 수준의 호스트네임 해석을 제공한다. 1.7 버전에서는, 사용자들이 PodSpec의 HostAliases 항목을 사용하여 이러한 사용자 정의 항목들을 추가할 수 있다. HostAliases를 사용하지 않은 수정은 권장하지 않는데, 이는 호스트 파일이 Kubelet에 의해 관리되고, 파드 생성/재시작 중에 덮어쓰여질 수 있기 때문이다. -{{% /capture %}} -{{% capture body %}} + + ## 기본 호스트 파일 내용 @@ -123,4 +123,4 @@ fe00::2 ip6-allrouters 덮어쓰여진다. 따라서, 호스트 파일의 내용을 직접 바꾸는 것은 권장하지 않는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/connect-applications-service.md b/content/ko/docs/concepts/services-networking/connect-applications-service.md index ca2440a048..c27416ce71 100644 --- a/content/ko/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ko/docs/concepts/services-networking/connect-applications-service.md @@ -1,11 +1,11 @@ --- title: 서비스와 애플리케이션 연결하기 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + ## 컨테이너 연결을 위한 쿠버네티스 모델 @@ -17,9 +17,9 @@ weight: 30 이 가이드는 간단한 nginx 서버를 사용해서 개념증명을 보여준다. 동일한 원칙이 보다 완전한 [Jenkins CI 애플리케이션](https://kubernetes.io/blog/2015/07/strong-simple-ssl-for-kubernetes)에서 구현된다. -{{% /capture %}} -{{% capture body %}} + + ## 파드를 클러스터에 노출하기 @@ -414,12 +414,13 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el ... ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스를 사용해서 클러스터 내 애플리케이션에 접근하기](/docs/tasks/access-application-cluster/service-access-application-cluster/)를 더 자세히 알아본다. * [서비스를 사용해서 프론트 엔드부터 백 엔드까지 연결하기](/docs/tasks/access-application-cluster/connecting-frontend-backend/)를 더 자세히 알아본다. * [외부 로드 밸런서를 생성하기](/docs/tasks/access-application-cluster/create-external-load-balancer/)를 더 자세히 알아본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/dns-pod-service.md b/content/ko/docs/concepts/services-networking/dns-pod-service.md index cef017128f..7550473fc2 100644 --- a/content/ko/docs/concepts/services-networking/dns-pod-service.md +++ b/content/ko/docs/concepts/services-networking/dns-pod-service.md @@ -1,16 +1,16 @@ --- title: 서비스 및 파드용 DNS -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스의 DNS 지원에 대한 개요를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -262,13 +262,14 @@ options ndots:5 | 1.10 | 베타 (기본)| | 1.9 | 알파 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + DNS 구성 관리에 대한 지침은 [DNS 서비스 구성](/docs/tasks/administer-cluster/dns-custom-nameservers/) 에서 확인 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/dual-stack.md b/content/ko/docs/concepts/services-networking/dual-stack.md index f234bcbbc3..11390c04d5 100644 --- a/content/ko/docs/concepts/services-networking/dual-stack.md +++ b/content/ko/docs/concepts/services-networking/dual-stack.md @@ -5,11 +5,11 @@ feature: description: > 파드와 서비스에 IPv4와 IPv6 주소 할당 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -17,9 +17,9 @@ weight: 70 만약 쿠버네티스 클러스터에서 IPv4/IPv6 이중 스택 네트워킹을 활성화하면, 클러스터는 IPv4와 IPv6 주소의 동시 할당을 지원하게 된다. -{{% /capture %}} -{{% capture body %}} + + ## 지원되는 기능 @@ -99,10 +99,11 @@ IPv6가 활성화된 외부 로드 밸런서를 지원하는 클라우드 공급 * Kubenet은 IP의 IPv4,IPv6의 위치 보고를 강제로 수행한다. (--cluster-cidr) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [IPv4/IPv6 이중 스택 확인](/docs/tasks/network/validate-dual-stack) 네트워킹 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/endpoint-slices.md b/content/ko/docs/concepts/services-networking/endpoint-slices.md index 635798f5a2..2a2ffc45bf 100644 --- a/content/ko/docs/concepts/services-networking/endpoint-slices.md +++ b/content/ko/docs/concepts/services-networking/endpoint-slices.md @@ -1,11 +1,11 @@ --- title: 엔드포인트슬라이스 -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} @@ -13,9 +13,9 @@ _엔드포인트슬라이스_ 는 쿠버네티스 클러스터 내의 네트워 추적하는 간단한 방법을 제공한다. 이것은 엔드포인트를 더 확장하고, 확장 가능한 대안을 제안한다. -{{% /capture %}} -{{% capture body %}} + + ## 사용동기 @@ -173,11 +173,12 @@ text="kube-controller-manager" term_id="kube-controller-manager" >}} 플래그 교체되는 엔드포인트에 대해서 엔드포인트슬라이스를 자연스럽게 재포장한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [엔드포인트슬라이스 활성화하기](/docs/tasks/administer-cluster/enabling-endpointslices) * [애플리케이션을 서비스와 함께 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/) 를 읽는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/ingress-controllers.md b/content/ko/docs/concepts/services-networking/ingress-controllers.md index 92a2387f5d..4600c32bcf 100644 --- a/content/ko/docs/concepts/services-networking/ingress-controllers.md +++ b/content/ko/docs/concepts/services-networking/ingress-controllers.md @@ -1,11 +1,11 @@ --- title: 인그레스 컨트롤러 reviewers: -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 인그레스 리소스가 작동하려면, 클러스터는 실행 중인 인그레스 컨트롤러가 반드시 필요하다. @@ -15,9 +15,9 @@ kube-controller-manager 바이너리의 일부로 실행되는 컨트롤러의 프로젝트로써 쿠버네티스는 현재 [GCE](https://git.k8s.io/ingress-gce/README.md) 와 [nginx](https://git.k8s.io/ingress-nginx/README.md) 컨트롤러를 지원하고 유지한다. -{{% /capture %}} -{{% capture body %}} + + ## 추가 컨트롤러 @@ -52,11 +52,12 @@ kube-controller-manager 바이너리의 일부로 실행되는 컨트롤러의 인그레스 컨트롤러의 설명서를 검토하여 선택 시 주의 사항을 이해해야한다. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [인그레스](/ko/docs/concepts/services-networking/ingress/)에 대해 자세히 알아보기. * [NGINX 컨트롤러로 Minikube에서 Ingress를 설정하기](/docs/tasks/access-application-cluster/ingress-minikube). -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/ingress.md b/content/ko/docs/concepts/services-networking/ingress.md index 28f964a4ca..968274bc1c 100644 --- a/content/ko/docs/concepts/services-networking/ingress.md +++ b/content/ko/docs/concepts/services-networking/ingress.md @@ -1,15 +1,15 @@ --- title: 인그레스 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.1" state="beta" >}} {{< glossary_definition term_id="ingress" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## 용어 @@ -541,10 +541,11 @@ Events: * [Service.Type=LoadBalancer](/ko/docs/concepts/services-networking/service/#loadbalancer) 사용. * [Service.Type=NodePort](/ko/docs/concepts/services-networking/service/#nodeport) 사용. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [인그레스] API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#ingress-v1beta1-networking-k8s-io)에 대해 배우기 * [인그레스 컨트롤러](/ko/docs/concepts/services-networking/ingress-controllers/)에 대해 배우기 * [NGINX 컨트롤러로 Minikube에서 인그레스 구성하기](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/network-policies.md b/content/ko/docs/concepts/services-networking/network-policies.md index c3f4ee193b..55fde3a3be 100644 --- a/content/ko/docs/concepts/services-networking/network-policies.md +++ b/content/ko/docs/concepts/services-networking/network-policies.md @@ -1,19 +1,19 @@ --- title: 네트워크 정책 -content_template: templates/concept +content_type: concept weight: 50 --- {{< toc >}} -{{% capture overview %}} + 네트워크 정책은 {{< glossary_tooltip text="파드" term_id="pod">}} 그룹이 서로 간에 또는 다른 네트워크 엔드포인트와 통신할 수 있도록 허용하는 방법에 대한 명세이다. `NetworkPolicy` 리소스는 {{< glossary_tooltip text="레이블" term_id="label">}}을 사용해서 파드를 선택하고 선택한 파드에 허용되는 트래픽을 지정하는 규칙을 정의한다. -{{% /capture %}} -{{% capture body %}} + + ## 전제 조건 네트워크 정책은 [네트워크 플러그인](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)으로 구현된다. 네트워크 정책을 사용하려면 NetworkPolicy를 지원하는 네트워킹 솔루션을 사용해야만 한다. 이를 구현하는 컨트롤러 없이 NetworkPolicy 리소스를 생성해도 아무런 효과가 없기 때문이다. @@ -211,12 +211,13 @@ SCTP 프로토콜 NetworkPolicy을 지원하는 {{< glossary_tooltip text="CNI" {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - 자세한 설명과 추가 예시는 [네트워크 정책 선언](/docs/tasks/administer-cluster/declare-network-policy/)을 본다. - NetworkPolicy 리소스에서 사용되는 일반적인 시나리오는 [레시피](https://github.com/ahmetb/kubernetes-network-policy-recipes)를 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/service-topology.md b/content/ko/docs/concepts/services-networking/service-topology.md index 16f140e583..da419f76e4 100644 --- a/content/ko/docs/concepts/services-networking/service-topology.md +++ b/content/ko/docs/concepts/services-networking/service-topology.md @@ -5,12 +5,12 @@ feature: description: > 클러스터 토폴로지를 기반으로 서비스 트래픽 라우팅. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="alpha" >}} @@ -19,9 +19,9 @@ _서비스 토폴로지_ 를 활성화 하면 서비스는 클러스터의 노 클라이언트와 동일한 노드이거나 동일한 가용성 영역에 있는 엔드포인트로 우선적으로 라우팅되도록 지정할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -189,11 +189,12 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스 토폴로지 활성화하기](/docs/tasks/administer-cluster/enabling-service-topology)를 읽는다. * [서비스와 애플리케이션 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/)를 읽는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/service.md b/content/ko/docs/concepts/services-networking/service.md index c81309709f..e1e0d28c7c 100644 --- a/content/ko/docs/concepts/services-networking/service.md +++ b/content/ko/docs/concepts/services-networking/service.md @@ -5,14 +5,14 @@ feature: description: > 쿠버네티스를 사용하면 익숙하지 않은 서비스 디스커버리 메커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없다. 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드-밸런스를 수행할 수 있다. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< glossary_definition term_id="service" length="short" >}} @@ -20,9 +20,9 @@ weight: 10 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드-밸런스를 수행할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 동기 @@ -1226,12 +1226,13 @@ SCTP는 Windows 기반 노드를 지원하지 않는다. kube-proxy는 유저스페이스 모드에 있을 때 SCTP 연결 관리를 지원하지 않는다. {{< /warning >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스와 애플리케이션 연결](/ko/docs/concepts/services-networking/connect-applications-service/) 알아보기 * [인그레스](/ko/docs/concepts/services-networking/ingress/)에 대해 알아보기 * [엔드포인트슬라이스](/ko/docs/concepts/services-networking/endpoint-slices/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/dynamic-provisioning.md b/content/ko/docs/concepts/storage/dynamic-provisioning.md index 11564490ec..bf0b257dbf 100644 --- a/content/ko/docs/concepts/storage/dynamic-provisioning.md +++ b/content/ko/docs/concepts/storage/dynamic-provisioning.md @@ -1,10 +1,10 @@ --- title: 동적 볼륨 프로비저닝 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 동적 볼륨 프로비저닝을 통해 온-디맨드 방식으로 스토리지 볼륨을 생성할 수 있다. 동적 프로비저닝이 없으면 클러스터 관리자는 클라우드 또는 스토리지 @@ -14,10 +14,10 @@ weight: 40 스토리지를 사전 프로비저닝 할 필요가 없다. 대신 사용자가 스토리지를 요청하면 자동으로 프로비저닝 한다. -{{% /capture %}} -{{% capture body %}} + + ## 배경 @@ -128,4 +128,4 @@ spec: 프로비전 해야 한다. [볼륨 바인딩 모드](/docs/concepts/storage/storage-classes/#volume-binding-mode)를 설정해서 수행할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/persistent-volumes.md b/content/ko/docs/concepts/storage/persistent-volumes.md index b24c284ba8..397041842b 100644 --- a/content/ko/docs/concepts/storage/persistent-volumes.md +++ b/content/ko/docs/concepts/storage/persistent-volumes.md @@ -5,18 +5,18 @@ feature: description: > 로컬 스토리지, GCPAWS와 같은 퍼블릭 클라우드 공급자 또는 NFS, iSCSI, Gluster, Ceph, Cinder나 Flocker와 같은 네트워크 스토리지 시스템에서 원하는 스토리지 시스템을 자동으로 마운트한다. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스의 _퍼시스턴트 볼륨_ 의 현재 상태를 설명한다. [볼륨](/ko/docs/concepts/storage/volumes/)에 대해 익숙해지는 것을 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -741,8 +741,9 @@ spec: 않거나(이 경우 사용자가 일치하는 PV를 생성해야 함), 클러스터에 스토리지 시스템이 없음을 나타낸다(이 경우 사용자는 PVC가 필요한 구성을 배포할 수 없음). -{{% /capture %}} - {{% capture whatsnext %}} + + ## {{% heading "whatsnext" %}} + * [퍼시스턴트볼륨 생성](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume)에 대해 자세히 알아보기 * [퍼시스턴트볼륨클레임 생성](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim)에 대해 자세히 알아보기 @@ -754,4 +755,4 @@ spec: * [PersistentVolumeSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumespec-v1-core) * [퍼시스턴트볼륨클레임](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * [PersistentVolumeClaimSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaimspec-v1-core) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/storage-classes.md b/content/ko/docs/concepts/storage/storage-classes.md index 0d7416e72a..e73d886ef7 100644 --- a/content/ko/docs/concepts/storage/storage-classes.md +++ b/content/ko/docs/concepts/storage/storage-classes.md @@ -1,18 +1,18 @@ --- title: 스토리지 클래스 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 문서는 쿠버네티스의 스토리지클래스의 개념을 설명한다. [볼륨](/ko/docs/concepts/storage/volumes/)과 [퍼시스턴트 볼륨](/ko/docs/concepts/storage/persistent-volumes)에 익숙해지는 것을 권장한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -816,4 +816,4 @@ volumeBindingMode: WaitForFirstConsumer 적절한 퍼시스턴트볼륨을 선택할 때 파드의 모든 스케줄링 제약 조건을 고려할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volume-pvc-datasource.md b/content/ko/docs/concepts/storage/volume-pvc-datasource.md index b58b882d6d..8b8e1b484f 100644 --- a/content/ko/docs/concepts/storage/volume-pvc-datasource.md +++ b/content/ko/docs/concepts/storage/volume-pvc-datasource.md @@ -1,18 +1,18 @@ --- title: CSI 볼륨 복제하기 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 문서에서는 쿠버네티스의 기존 CSI 볼륨 복제의 개념을 설명한다. [볼륨] (/ko/docs/concepts/storage/volumes)을 숙지하는 것을 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -66,4 +66,4 @@ spec: 새 PVC를 사용할 수 있게 되면, 복제된 PVC는 다른 PVC와 동일하게 소비된다. 또한, 이 시점에서 새롭게 생성된 PVC는 독립된 오브젝트이다. 원본 dataSource PVC와는 무관하게 독립적으로 소비하고, 복제하고, 스냅샷의 생성 또는 삭제를 할 수 있다. 이는 소스가 새롭게 생성된 복제본에 어떤 방식으로든 연결되어 있지 않으며, 새롭게 생성된 복제본에 영향 없이 수정하거나, 삭제할 수도 있는 것을 의미한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volume-snapshot-classes.md b/content/ko/docs/concepts/storage/volume-snapshot-classes.md index f4d2991238..801ff624bb 100644 --- a/content/ko/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/ko/docs/concepts/storage/volume-snapshot-classes.md @@ -1,19 +1,19 @@ --- title: 볼륨 스냅샷 클래스 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 문서는 쿠버네티스의 `VolumeSnapshotClass` 개요를 설명한다. [볼륨 스냅샷](/docs/concepts/storage/volume-snapshots/)과 [스토리지 클래스](/docs/concepts/storage/storage-classes)의 숙지를 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -62,4 +62,4 @@ parameters: 설명하는 파라미터를 가지고 있다. `driver` 에 따라 다른 파라미터를 사용할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volume-snapshots.md b/content/ko/docs/concepts/storage/volume-snapshots.md index 60ad22c7cc..d2d85909e1 100644 --- a/content/ko/docs/concepts/storage/volume-snapshots.md +++ b/content/ko/docs/concepts/storage/volume-snapshots.md @@ -1,18 +1,18 @@ --- title: 볼륨 스냅샷 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} 쿠버네티스에서 스토리지 시스템 볼륨 스냅샷은 _VolumeSnapshot_ 을 나타낸다. 이 문서는 이미 쿠버네티스 [퍼시스턴트 볼륨](/docs/concepts/storage/persistent-volumes/)에 대해 잘 알고 있다고 가정한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -148,4 +148,4 @@ spec: 보다 자세한 사항은 [볼륨 스냅샷 및 스냅샷에서 볼륨 복원](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support)에서 확인할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volumes.md b/content/ko/docs/concepts/storage/volumes.md index eb63215bb5..a5a3e8aa23 100644 --- a/content/ko/docs/concepts/storage/volumes.md +++ b/content/ko/docs/concepts/storage/volumes.md @@ -1,10 +1,10 @@ --- title: 볼륨 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 컨테이너 내의 디스크에 있는 파일은 임시적이며, 컨테이너에서 실행될 때 애플리케이션에 적지 않은 몇 가지 문제가 발생한다. 첫째, 컨테이너가 충돌되면, @@ -15,10 +15,10 @@ kubelet은 컨테이너를 재시작시키지만, 컨테이너는 깨끗한 상 [파드](/ko/docs/concepts/workloads/pods/pod/)에 대해 익숙해지는 것을 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 배경 @@ -1470,6 +1470,7 @@ sudo systemctl restart docker -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [퍼시스턴트 볼륨과 함께 워드프레스와 MySQL 배포하기](/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)의 예시를 따른다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/cron-jobs.md b/content/ko/docs/concepts/workloads/controllers/cron-jobs.md index b06881c53f..54d15ba050 100644 --- a/content/ko/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ko/docs/concepts/workloads/controllers/cron-jobs.md @@ -1,10 +1,10 @@ --- title: 크론잡 -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.8" state="beta" >}} @@ -28,8 +28,8 @@ kube-controller-manager 컨테이너에 설정된 시간대는 크론잡 컨트 63자라는 제약 조건이 있기 때문이다. -{{% /capture %}} -{{% capture body %}} + + ## 크론잡 @@ -77,12 +77,13 @@ Cannot determine if job needs to be started. Too many missed start time (> 100). 크론 잡은 오직 그 일정에 맞는 잡 생성에 책임이 있고, 잡은 그 잡이 대표하는 파드 관리에 책임이 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [크론 표현 포맷](https://pkg.go.dev/github.com/robfig/cron?tab=doc#hdr-CRON_Expression_Format)은 크론잡 `schedule` 필드의 포맷을 문서화 한다. 크론 잡 생성과 작업에 대한 지침과 크론잡 매니페스트의 예는 [크론 잡으로 자동화된 작업 실행하기](/docs/tasks/job/automated-tasks-with-cron-jobs/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/daemonset.md b/content/ko/docs/concepts/workloads/controllers/daemonset.md index 91fbeb8cf8..23b27f3f4f 100644 --- a/content/ko/docs/concepts/workloads/controllers/daemonset.md +++ b/content/ko/docs/concepts/workloads/controllers/daemonset.md @@ -1,10 +1,10 @@ --- title: 데몬셋 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + _데몬셋_ 은 모든(또는 일부) 노드가 파드의 사본을 실행하도록 한다. 노드가 클러스터에 추가되면 파드도 추가된다. 노드가 클러스터에서 제거되면 해당 파드는 가비지(garbage)로 @@ -20,10 +20,10 @@ _데몬셋_ 은 모든(또는 일부) 노드가 파드의 사본을 실행하도 더 복잡한 구성에서는 단일 유형의 데몬에 여러 데몬셋을 사용할 수 있지만, 각기 다른 하드웨어 유형에 따라 서로 다른 플래그, 메모리, CPU 요구가 달라진다. -{{% /capture %}} -{{% capture body %}} + + ## 데몬셋 사양 작성 @@ -226,4 +226,4 @@ Kubelet이 감시하는 특정 디렉토리에 파일을 작성하는 파드를 디플로이먼트를 사용한다. 파드 사본이 항상 모든 호스트 또는 특정 호스트에서 실행되는 것이 중요하고, 다른 파드의 실행 이전에 필요한 경우에는 데몬셋을 사용한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/deployment.md b/content/ko/docs/concepts/workloads/controllers/deployment.md index ab730109d5..96f41dc186 100644 --- a/content/ko/docs/concepts/workloads/controllers/deployment.md +++ b/content/ko/docs/concepts/workloads/controllers/deployment.md @@ -5,11 +5,11 @@ feature: description: > 쿠버네티스는 애플리케이션 또는 애플리케이션의 설정 변경시 점진적으로 롤아웃하는 동시에 애플리케이션을 모니터링해서 모든 인스턴스가 동시에 종료되지 않도록 보장한다. 만약 어떤 문제가 발생하면 쿠버네티스는 변경 사항을 롤백한다. 성장하는 디플로이먼트 솔루션 생태계를 이용한다. -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + _디플로이먼트_ 는 [파드](/ko/docs/concepts/workloads/pods/pod/)와 [레플리카셋](/ko/docs/concepts/workloads/controllers/replicaset/)에 대한 선언적 업데이트를 제공한다. @@ -20,10 +20,10 @@ _디플로이먼트_ 는 [파드](/ko/docs/concepts/workloads/pods/pod/)와 디플로이먼트가 소유하는 레플리카셋은 관리하지 말아야 한다. 사용자의 유스케이스가 다음에 포함되지 않는 경우 쿠버네티스 리포지터리에 이슈를 올릴 수 있다. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## 유스케이스 @@ -1165,4 +1165,4 @@ API 버전 `apps/v1` 에서는 `.spec.selector` 와 `.metadata.labels` 이 설 일시 중지된 디플로이먼트는 PodTemplateSpec에 대한 변경 사항이 일시중지 된 경우 새 롤아웃을 트리거 하지 않는다. 디플로이먼트는 생성시 기본적으로 일시 중지되지 않는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/garbage-collection.md b/content/ko/docs/concepts/workloads/controllers/garbage-collection.md index 9ccc803dce..f819614a6c 100644 --- a/content/ko/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/ko/docs/concepts/workloads/controllers/garbage-collection.md @@ -1,18 +1,18 @@ --- title: 가비지(Garbage) 수집 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 쿠버네티스의 가비지 수집기는 한때 소유자가 있었지만, 더 이상 소유자가 없는 오브젝트들을 삭제하는 역할을 한다. -{{% /capture %}} -{{% capture body %}} + + ## 소유자(owner)와 종속(dependent) @@ -168,15 +168,16 @@ kubectl delete replicaset my-repset --cascade=false [#26120](https://github.com/kubernetes/kubernetes/issues/26120)을 추적한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [디자인 문서 1](https://git.k8s.io/community/contributors/design-proposals/api-machinery/garbage-collection.md) [디자인 문서 2](https://git.k8s.io/community/contributors/design-proposals/api-machinery/synchronous-garbage-collection.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md index 5aba53574b..f3875f181b 100644 --- a/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -1,6 +1,6 @@ --- title: 잡 - 실행부터 완료까지 -content_template: templates/concept +content_type: concept feature: title: 배치 실행 description: > @@ -8,7 +8,7 @@ feature: weight: 70 --- -{{% capture overview %}} + 잡에서 하나 이상의 파드를 생성하고 지정된 수의 파드가 성공적으로 종료되도록 한다. 파드가 성공적으로 완료되면, 성공적으로 완료된 잡을 추적한다. 지정된 수의 @@ -21,10 +21,10 @@ weight: 70 잡을 사용하면 여러 파드를 병렬로 실행할 수도 있다. -{{% /capture %}} -{{% capture body %}} + + ## 예시 잡 실행하기 @@ -475,4 +475,4 @@ spec: [`크론잡`](/ko/docs/concepts/workloads/controllers/cron-jobs/)을 사용해서 Unix 도구인 `cron`과 유사하게 지정된 시간/일자에 실행되는 잡을 생성할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/replicaset.md b/content/ko/docs/concepts/workloads/controllers/replicaset.md index 80bcf6052b..e99bb4f7c5 100644 --- a/content/ko/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ko/docs/concepts/workloads/controllers/replicaset.md @@ -1,18 +1,18 @@ --- title: 레플리카셋 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 레플리카셋의 목적은 레플리카 파드 집합의 실행을 항상 안정적으로 유지하는 것이다. 이처럼 레플리카셋은 보통 명시된 동일 파드 개수에 대한 가용성을 보증하는데 사용한다. -{{% /capture %}} -{{% capture body %}} + + ## 레플리카셋의 작동 방식 @@ -362,4 +362,4 @@ kubectl autoscale rs frontend --max=10 --min=3 --cpu-percent=50 설명된 설정-기반의 셀렉터의 요건을 지원하지 않는다는 점을 제외하면 유사하다. 따라서 레플리카셋이 레플리케이션 컨트롤러보다 선호된다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md b/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md index 4551dc99b4..16146a45b6 100644 --- a/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md +++ b/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md @@ -6,11 +6,11 @@ feature: description: > 오류가 발생한 컨테이너를 재시작하고, 노드가 죽었을 때 컨테이너를 교체하기 위해 다시 스케줄하고, 사용자 정의 상태 체크에 응답하지 않는 컨테이너를 제거하며, 서비스를 제공할 준비가 될 때까지 클라이언트에 해당 컨테이너를 알리지 않는다. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< note >}} [`ReplicaSet`](/ko/docs/concepts/workloads/controllers/replicaset/) 을 구성하는 [`Deployment`](/ko/docs/concepts/workloads/controllers/deployment/) 가 현재 권장되는 레플리케이션 설정 방법이다. @@ -20,10 +20,10 @@ _레플리케이션 컨트롤러_ 는 언제든지 지정된 수의 파드 레 실행 중임을 보장한다. 다시 말하면, 레플리케이션 컨트롤러는 파드 또는 동일 종류의 파드의 셋이 항상 기동되고 사용 가능한지 확인한다. -{{% /capture %}} -{{% capture body %}} + + ## 레플리케이션 컨트롤러의 동작방식 @@ -282,4 +282,4 @@ API 오브젝트에 대한 더 자세한 것은 [스테이트리스 애플리케이션 레플리케이션 컨트롤러 실행하기](/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/) 를 참조하라. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/statefulset.md b/content/ko/docs/concepts/workloads/controllers/statefulset.md index e83c02b50d..1779ea4f92 100644 --- a/content/ko/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ko/docs/concepts/workloads/controllers/statefulset.md @@ -1,17 +1,17 @@ --- title: 스테이트풀셋 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 스테이트풀셋은 애플리케이션의 스테이트풀을 관리하는데 사용하는 워크로드 API 오브젝트이다. {{< glossary_definition term_id="statefulset" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## 스테이트풀셋 사용 @@ -262,12 +262,13 @@ web-0이 실패할 경우 web-1은 web-0이 Running 및 Ready 상태가 실행하려고 시도한 모든 파드를 삭제해야 한다. 그러면 스테이트풀셋은 되돌린 템플릿을 사용해서 파드를 다시 생성하기 시작 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [스테이트풀 애플리케이션의 배포](/ko/docs/tutorials/stateful-application/basic-stateful-set/)의 예시를 따른다. * [카산드라와 스테이트풀셋 배포](/ko/docs/tutorials/stateful-application/cassandra/)의 예시를 따른다. * [레플리케이티드(replicated) 스테이트풀 애플리케이션 실행하기](/docs/tasks/run-application/run-replicated-stateful-application/)의 예시를 따른다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md index aefccc9243..c095dd31c5 100644 --- a/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -1,10 +1,10 @@ --- title: 완료된 리소스를 위한 TTL 컨트롤러 -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -18,12 +18,12 @@ TTL 컨트롤러는 실행이 완료된 리소스 오브젝트의 수명을 [기능 게이트](/docs/reference/command-line-tools-reference/feature-gates/) 로 `TTLAfterFinished` 를 활성화 할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## TTL 컨트롤러 @@ -75,12 +75,13 @@ TTL 컨트롤러는 쿠버네티스 리소스에 에서 NTP를 실행해야 한다. 시계가 항상 정확한 것은 아니지만, 그 차이는 아주 작아야 한다. 0이 아닌 TTL을 설정할때는 이 위험에 대해 유의해야 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [자동으로 잡 정리](/ko/docs/concepts/workloads/controllers/jobs-run-to-completion/#완료된-잡을-자동으로-정리) [디자인 문서](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/disruptions.md b/content/ko/docs/concepts/workloads/pods/disruptions.md index d2c91e3ecb..bd2f2023af 100644 --- a/content/ko/docs/concepts/workloads/pods/disruptions.md +++ b/content/ko/docs/concepts/workloads/pods/disruptions.md @@ -1,10 +1,10 @@ --- title: 중단(disruption) -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 이 가이드는 고가용성 애플리케이션을 구성하려는 소유자와 파드에서 발생하는 장애 유형을 이해하기 원하는 애플리케이션 소유자를 위한 것이다. @@ -12,10 +12,10 @@ weight: 60 또한 클러스터의 업그레이드와 오토스케일링과 같은 클러스터의 자동화 작업을 하려는 관리자를 위한 것이다. -{{% /capture %}} -{{% capture body %}} + + ## 자발적 중단과 비자발적 중단 @@ -242,13 +242,14 @@ Pod Disruption Budgets를 사용할 필요가 없다. 자발적 중단를 허용하는 작업의 대부분은 오토스케일링과 비자발적 중단를 지원하는 작업과 겹친다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Pod Disruption Budget 설정하기](/docs/tasks/run-application/configure-pdb/)의 단계를 따라서 애플리케이션을 보호한다. * [노드 비우기](/docs/tasks/administer-cluster/safely-drain-node/)에 대해 자세히 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md b/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md index dd061e5130..721405614c 100644 --- a/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md +++ b/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md @@ -1,10 +1,10 @@ --- title: 임시(Ephemeral) 컨테이너 -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.16" >}} @@ -19,9 +19,9 @@ weight: 80 이 알파 기능은 향후 크게 변경되거나, 완전히 제거될 수 있다. {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## 임시 컨테이너 이해하기 @@ -188,4 +188,4 @@ Ephemeral Containers: kubectl attach -it example-pod -c debugger ``` -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/init-containers.md b/content/ko/docs/concepts/workloads/pods/init-containers.md index c45d3cc838..728074cbf1 100644 --- a/content/ko/docs/concepts/workloads/pods/init-containers.md +++ b/content/ko/docs/concepts/workloads/pods/init-containers.md @@ -1,19 +1,19 @@ --- title: 초기화 컨테이너 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 이 페이지는 초기화 컨테이너에 대한 개요를 제공한다. 초기화 컨테이너는 {{< glossary_tooltip text="파드" term_id="pod" >}}의 앱 컨테이너들이 실행되기 전에 실행되는 특수한 컨테이너이며, 앱 이미지에는 없는 유틸리티 또는 설정 스크립트 등을 포함할 수 있다. 초기화 컨테이너는 `containers` 배열(앱 컨테이너를 기술하는)과 나란히 파드 스펙에 명시할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 초기화 컨테이너 이해하기 @@ -314,12 +314,13 @@ myapp-pod 1/1 Running 0 9m 동안 종료되었다. 그리고 초기화 컨테이너의 완료 기록이 가비지 수집 때문에 유실되었다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [초기화 컨테이너를 가진 파드 생성하기](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) * [초기화 컨테이너 디버깅](/docs/tasks/debug-application-cluster/debug-init-containers/) 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md index e29e358d97..e8e384a4ab 100644 --- a/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md @@ -1,20 +1,20 @@ --- title: 파드 라이프사이클 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + {{< comment >}}Updated: 4/14/2015{{< /comment >}} {{< comment >}}Edited and moved to Concepts section: 2/2/17{{< /comment >}} 이 페이지는 파드의 라이프사이클을 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 파드의 단계(phase) @@ -388,10 +388,11 @@ spec: * 노드 컨트롤러가 파드의 `phase`를 Failed로 설정한다. * 만약 컨트롤러로 실행되었다면, 파드는 어딘가에서 재생성된다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Hands-on 경험하기 [컨테이너 라이프사이클 이벤트에 핸들러 부착하기](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). @@ -401,6 +402,6 @@ spec: * [컨테이너 라이프사이클 후크(hook)](/ko/docs/concepts/containers/container-lifecycle-hooks/)에 대해 더 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod-overview.md b/content/ko/docs/concepts/workloads/pods/pod-overview.md index e1239a817e..5b2af22d73 100644 --- a/content/ko/docs/concepts/workloads/pods/pod-overview.md +++ b/content/ko/docs/concepts/workloads/pods/pod-overview.md @@ -1,18 +1,18 @@ --- title: 파드(Pod) 개요 -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 60 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 객체 모델 중 가장 작은 배포 가능한 객체인 `파드` 에 대한 개요를 제공한다. -{{% /capture %}} -{{% capture body %}} + + ## 파드에 대해 이해하기 *파드* 는 쿠버네티스 애플리케이션의 기본 실행 단위이다. 쿠버네티스 객체 모델 중 만들고 배포할 수 있는 가장 작고 간단한 단위이다. 파드는 {{< glossary_tooltip term_id="cluster" text="클러스터" >}} 에서의 Running 프로세스를 나타낸다. @@ -104,12 +104,13 @@ metadata: 노드에서 "kubelet"이 파드 템플릿과 업데이트에 관련된 세부 정보를 직접 관찰하거나 관리하지 않으며, 이러한 세부 정보는 추상화되지 않는다. 이러한 추상화와 분리는 시스템 시맨틱을 단순화하며, 기존 코드를 변경하지 않고 클러스터의 동작을 확장할 수 있도록 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [파드](/ko/docs/concepts/workloads/pods/pod/)에 대해 더 배워보자. * [분산 시스템 툴킷: 복합 컨테이너의 패턴](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)은 둘 이상의 컨테이너가 있는 파드의 공통 레이아웃에 대해 설명한다. * 파드의 동작에 대해 더 알아보자. * [파드 종료](/ko/docs/concepts/workloads/pods/pod/#파드의-종료) * [파드 라이프사이클](/ko/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md b/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md index 040a228d70..d7cc7d545b 100644 --- a/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md +++ b/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md @@ -1,18 +1,18 @@ --- title: 파드 토폴로지 분배 제약 조건 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} 사용자는 _토폴로지 분배 제약 조건_ 을 사용해서 지역, 영역, 노드 그리고 기타 사용자-정의 토폴로지 도메인과 같이 장애-도메인으로 설정된 클러스터에 걸쳐 파드가 분산되는 방식을 제어할 수 있다. 이를 통해 고가용성뿐만 아니라, 효율적인 리소스 활용의 목적을 이루는 데 도움이 된다. -{{% /capture %}} -{{% capture body %}} + + ## 필수 구성 요소 @@ -245,4 +245,4 @@ profiles: - 디플로이먼트를 스케일링 다운하면 그 결과로 파드의 분포가 불균형이 될 수 있다. - 파드와 일치하는 테인트(taint)가 된 노드가 존중된다. [이슈 80921](https://github.com/kubernetes/kubernetes/issues/80921)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod.md b/content/ko/docs/concepts/workloads/pods/pod.md index b4c7e63fbe..9f7d06d091 100644 --- a/content/ko/docs/concepts/workloads/pods/pod.md +++ b/content/ko/docs/concepts/workloads/pods/pod.md @@ -1,15 +1,15 @@ --- title: 파드 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + _파드_ 는 쿠버네티스에서 생성되고 관리될 수 있는 배포 가능한 최소 컴퓨팅 단위이다. -{{% /capture %}} -{{% capture body %}} + + ## 파드는 무엇인가? _파드_ 는 (고래 떼(pod of whales)나 콩꼬투리(pea pod)와 마찬가지로) 하나 이상의(도커 컨테이너 같은) 컨테이너 그룹이다. @@ -203,4 +203,4 @@ spec.containers[0].securityContext.privileged: forbidden '<*>(0xc20b222db0)true' 파드 오브젝트에 대한 매니페스트를 생성할때는 지정된 이름이 유효한 [DNS 서브도메인 이름](/ko/docs/concepts/overview/working-with-objects/names/#dns-서브도메인-이름들)인지 확인해야 한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/podpreset.md b/content/ko/docs/concepts/workloads/pods/podpreset.md index 97ed144f68..4b37e0c232 100644 --- a/content/ko/docs/concepts/workloads/pods/podpreset.md +++ b/content/ko/docs/concepts/workloads/pods/podpreset.md @@ -1,19 +1,19 @@ --- title: 파드 프리셋 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="alpha" >}} 이 페이지는 파드프리셋(PodPreset)에 대한 개요를 제공한다. 파드프리셋은 파드 생성 시간에 파드에 특정 정보를 주입하기 위한 오브젝트이다. 해당 정보에는 시크릿, 볼륨, 볼륨 마운트, 환경 변수가 포함될 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 파드 프리셋 이해하기 파드프리셋은 파드 생성 시간에 파드에 추가적인 런타임 요구사항을 @@ -79,12 +79,13 @@ weight: 50 있을 것이다. 이 경우에는, 다음과 같은 양식으로 어노테이션을 파드 스펙에 추가한다. `podpreset.admission.kubernetes.io/exclude: "true"`. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [파드프리셋을 사용하여 파드에 데이터 주입하기](/docs/tasks/inject-data-application/podpreset/)를 본다. 배경에 대한 자세한 정보를 위해서는, [파드프리셋을 위한 디자인 제안](https://git.k8s.io/community/contributors/design-proposals/service-catalog/pod-preset.md)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/_index.md b/content/ko/docs/contribute/_index.md index f059747769..9dd0b23cd3 100644 --- a/content/ko/docs/contribute/_index.md +++ b/content/ko/docs/contribute/_index.md @@ -1,5 +1,5 @@ --- -content_template: templates/concept +content_type: concept title: 쿠버네티스 문서에 기여하기 linktitle: 기여 main_menu: true @@ -10,7 +10,7 @@ card: title: 기여 시작하기 --- -{{% capture overview %}} + 이 웹사이트는 [쿠버네티스 SIG Docs](/docs/contribute/#get-involved-with-sig-docs)에 의해서 관리됩니다. @@ -23,9 +23,9 @@ card: 쿠버네티스 문서는 새롭고 경험이 풍부한 모든 기여자의 개선을 환영합니다! -{{% /capture %}} -{{% capture body %}} + + ## 시작하기 @@ -75,4 +75,4 @@ SIG Docs는 여러가지 방법으로 의견을 나누고 있습니다. - [기여자 치트시트](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet)를 읽고 쿠버네티스 기능 개발에 참여합니다. - [블로그 게시물 또는 사례 연구](/docs/contribute/new-content/blogs-case-studies/)를 제출합니다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/advanced.md b/content/ko/docs/contribute/advanced.md index de723b3353..3f30f6eff9 100644 --- a/content/ko/docs/contribute/advanced.md +++ b/content/ko/docs/contribute/advanced.md @@ -1,11 +1,11 @@ --- title: 고급 기여 slug: advanced -content_template: templates/concept +content_type: concept weight: 98 --- -{{% capture overview %}} + 이 페이지에서는 당신이 [새로운 콘텐츠에 기여](/ko/docs/contribute/new-content/overview)하고 @@ -13,9 +13,9 @@ weight: 98 이해한다고 가정한다. 또한 기여하기 위한 더 많은 방법에 대해 배울 준비가 되었다고 가정한다. 이러한 작업 중 일부에는 Git 커맨드 라인 클라이언트와 다른 도구를 사용해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 일주일 동안 PR 랭글러(Wrangler) 되기 @@ -245,4 +245,4 @@ SIG Docs [승인자](/ko/docs/contribute/participating/#승인자)는 SIG Docs 비디오가 자동으로 유튜브에 업로드된다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/localization_ko.md b/content/ko/docs/contribute/localization_ko.md index af2465ac6a..a7c52219e5 100644 --- a/content/ko/docs/contribute/localization_ko.md +++ b/content/ko/docs/contribute/localization_ko.md @@ -1,16 +1,16 @@ --- title: 쿠버네티스 문서 한글화 가이드 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스 문서 한글화를 위한 가이드 -{{% /capture %}} -{{% capture body %}} + + ## 문체 가이드 @@ -67,7 +67,7 @@ content_template: templates/concept + + + title: 쿠버네티스 컴포넌트 -content_template: templates/concept +content_type: concept weight: 10 ``` @@ -414,4 +414,4 @@ Worker | 워커 | 노드의 형태에 한함 Workload | 워크로드 | YAML | YAML | -{{% /capture %}} + diff --git a/content/ko/docs/contribute/new-content/open-a-pr.md b/content/ko/docs/contribute/new-content/open-a-pr.md index 17ea3342c1..6f01e04135 100644 --- a/content/ko/docs/contribute/new-content/open-a-pr.md +++ b/content/ko/docs/contribute/new-content/open-a-pr.md @@ -1,14 +1,14 @@ --- title: 풀 리퀘스트 열기 slug: new-content -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 40 --- -{{% capture overview %}} + {{< note >}} **코드 개발자**: 향후 쿠버네티스 릴리스의 @@ -22,9 +22,9 @@ card: 변경 사항이 많으면, [로컬 포크에서 작업하기](#fork-the-repo)를 읽고 컴퓨터에서 로컬로 변경하는 방법을 배운다. -{{% /capture %}} -{{% capture body %}} + + ## GitHub을 사용하여 변경하기 @@ -475,10 +475,11 @@ PR에 여러 커밋이 있는 경우, PR을 병합하기 전에 해당 커밋을 느낌을 얻으려면 열린 이슈와 PR을 살펴보자. 이슈나 PR을 제출할 때 가능한 한 상세하게 템플릿의 내용을 작성한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - 리뷰 프로세스에 대한 자세한 내용은 [리뷰하기](/ko/docs/contribute/reviewing/revewing-prs)를 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/new-content/overview.md b/content/ko/docs/contribute/new-content/overview.md index ca1bc10737..f53f1f62b6 100644 --- a/content/ko/docs/contribute/new-content/overview.md +++ b/content/ko/docs/contribute/new-content/overview.md @@ -1,19 +1,19 @@ --- title: 새로운 콘텐츠 기여하기에 대한 개요 linktitle: 개요 -content_template: templates/concept +content_type: concept main_menu: true weight: 5 --- -{{% capture overview %}} + 이 섹션에는 새로운 콘텐츠를 기여하기 전에 알아야 할 정보가 있다. -{{% /capture %}} -{{% capture body %}} + + ## 기여하기에 대한 기본 @@ -55,4 +55,4 @@ CLA에 서명하지 않은 기여자의 풀 리퀘스트(pull request)는 자동 PR 당 하나의 언어로 풀 리퀘스트를 제한한다. 여러 언어로 동일한 코드 샘플을 동일하게 변경해야 하는 경우 각 언어마다 별도의 PR을 연다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/participating.md b/content/ko/docs/contribute/participating.md index 401c91844e..8f9cb0b5f6 100644 --- a/content/ko/docs/contribute/participating.md +++ b/content/ko/docs/contribute/participating.md @@ -1,13 +1,13 @@ --- title: SIG Docs에 참여하기 -content_template: templates/concept +content_type: concept weight: 60 card: name: contribute weight: 60 --- -{{% capture overview %}} + SIG Docs는 쿠버네티스 프로젝트의 [분과회(special interest group)](https://github.com/kubernetes/community/blob/master/sig-list.md) @@ -30,9 +30,9 @@ SIG Docs는 모든 컨트리뷰터의 콘텐츠와 리뷰를 환영한다. 문서를 관리하는 책임을 가지는 SIG Docs에서, 이런 체계가 작동하는 특유의 방식에 대한 윤곽을 잡아보겠다. -{{% /capture %}} -{{% capture body %}} + + ## 역할과 책임 @@ -302,9 +302,10 @@ PR 소유자에게 조언하는데 활용된다. [PR Wrangler](/docs/contribute/advanced#be-the-pr-wrangler-for-a-week) 또는 [SIG Docs 의장](#sig-docs-의장)과 같은 특정 역할도 수행한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 쿠버네티스 문서화에 기여하는 일에 대한 보다 많은 정보는 다음 문서를 참고한다. @@ -312,5 +313,5 @@ PR 소유자에게 조언하는데 활용된다. - [컨텐츠 검토하기](/docs/contribute/review/reviewing-prs) - [문서 스타일 가이드](/docs/contribute/style/) -{{% /capture %}} + diff --git a/content/ko/docs/contribute/review/_index.md b/content/ko/docs/contribute/review/_index.md index a79fb6129f..161dcc8511 100644 --- a/content/ko/docs/contribute/review/_index.md +++ b/content/ko/docs/contribute/review/_index.md @@ -3,12 +3,12 @@ title: 변경 사항 리뷰하기 weight: 30 --- -{{% capture overview %}} + 이 섹션은 콘텐츠를 리뷰하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} -{{% /capture %}} + + + diff --git a/content/ko/docs/contribute/review/for-approvers.md b/content/ko/docs/contribute/review/for-approvers.md index 6713d5a50b..9b6c01d739 100644 --- a/content/ko/docs/contribute/review/for-approvers.md +++ b/content/ko/docs/contribute/review/for-approvers.md @@ -2,11 +2,11 @@ title: 승인자와 리뷰어의 리뷰 linktitle: 승인자와 리뷰어용 slug: for-approvers -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + SIG Docs [리뷰어](/ko/docs/contribute/participating/#리뷰어)와 [승인자](/ko/docs/contribute/participating/#승인자)는 변경 사항을 리뷰할 때 몇 가지 추가 작업을 수행한다. @@ -19,10 +19,10 @@ SIG Docs [리뷰어](/ko/docs/contribute/participating/#리뷰어)와 [승인자 로테이션 외에도, 봇은 영향을 받는 파일의 소유자를 기반으로 PR에 대한 리뷰어와 승인자를 할당한다. -{{% /capture %}} -{{% capture body %}} + + ## PR 리뷰 @@ -224,4 +224,4 @@ https://github.com/kubernetes/kubernetes 에서 ``` -{{% /capture %}} + diff --git a/content/ko/docs/contribute/review/reviewing-prs.md b/content/ko/docs/contribute/review/reviewing-prs.md index c220e9599c..b7416f505a 100644 --- a/content/ko/docs/contribute/review/reviewing-prs.md +++ b/content/ko/docs/contribute/review/reviewing-prs.md @@ -1,11 +1,11 @@ --- title: 풀 리퀘스트 리뷰 -content_template: templates/concept +content_type: concept main_menu: true weight: 10 --- -{{% capture overview %}} + 누구나 문서화에 대한 풀 리퀘스트를 리뷰할 수 있다. 쿠버네티스 website 리포지터리의 [풀 리퀘스트](https://github.com/kubernetes/website/pulls) 섹션을 방문하여 열린(open) 풀 리퀘스트를 확인한다. @@ -19,9 +19,9 @@ weight: 10 [스타일 가이드](/docs/contribute/style/style-guide/)를 읽는다. - 쿠버네티스 문서화 커뮤니티의 다양한 [역할과 책임](/docs/contribute/participating/#roles-and-responsibilities)을 이해한다. -{{% /capture %}} -{{% capture body %}} + + ## 시작하기 전에 @@ -95,4 +95,4 @@ weight: 10 오타나 공백과 같은 작은 이슈의 PR인 경우, 코멘트 앞에 `nit:` 를 추가한다. 이를 통해 문서의 저자는 이슈가 긴급하지 않다는 것을 알 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/style/write-new-topic.md b/content/ko/docs/contribute/style/write-new-topic.md index 4313b3bd2f..0c8ab86fbf 100644 --- a/content/ko/docs/contribute/style/write-new-topic.md +++ b/content/ko/docs/contribute/style/write-new-topic.md @@ -1,19 +1,20 @@ --- title: 새로운 주제의 문서 작성 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 문서에서 새로운 주제를 생성하는 방법을 보여준다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [기여 시작하기](/docs/contribute/start/)에 설명된 대로 쿠버네티스 문서 저장소의 포크(fork)를 생성하자. -{{% /capture %}} -{{% capture steps %}} + + ## 페이지 타입 선택 @@ -159,9 +160,10 @@ kubectl create -f https://k8s.io/examples/pods/storage/gce-volume.yaml 이미지 파일을 `/images` 디렉토리에 넣는다. 기본 이미지 형식은 SVG 이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [페이지 템플릿 사용](/docs/contribute/page-templates/))에 대해 알아보기. * [풀 리퀘스트 작성](/docs/contribute/new-content/open-a-pr/)에 대해 알아보기. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/suggesting-improvements.md b/content/ko/docs/contribute/suggesting-improvements.md index ca2e8862ed..c7fe87ac07 100644 --- a/content/ko/docs/contribute/suggesting-improvements.md +++ b/content/ko/docs/contribute/suggesting-improvements.md @@ -1,14 +1,14 @@ --- title: 콘텐츠 개선 제안 slug: suggest-improvements -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 20 --- -{{% capture overview %}} + 쿠버네티스 문서에 문제가 있거나, 새로운 내용에 대한 아이디어가 있으면, 이슈를 연다. [GitHub 계정](https://github.com/join)과 웹 브라우저만 있으면 된다. @@ -16,9 +16,9 @@ card: 쿠버네티스 기여자는 필요에 따라 이슈를 리뷰, 분류하고 태그를 지정한다. 다음으로, 여러분이나 다른 쿠버네티스 커뮤니티 멤버가 문제를 해결하기 위한 변경 사항이 있는 풀 리퀘스트를 연다. -{{% /capture %}} -{{% capture body %}} + + ## 이슈 열기 @@ -62,4 +62,4 @@ card: 존중한다. 예를 들어, "문서가 끔찍하다"는 도움이 되지 않거나 예의 바르지 않은 피드백이다. -{{% /capture %}} + diff --git a/content/ko/docs/home/supported-doc-versions.md b/content/ko/docs/home/supported-doc-versions.md index 69245a2f41..9bf7edfedf 100644 --- a/content/ko/docs/home/supported-doc-versions.md +++ b/content/ko/docs/home/supported-doc-versions.md @@ -1,20 +1,20 @@ --- title: 쿠버네티스 문서의 버전 지원 -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: 문서의 버전 지원 --- -{{% capture overview %}} + 이 웹 사이트에는 현재 버전의 쿠버네티스와 이전 4개 버전의 쿠버네티스에 대한 문서가 포함되어 있습니다. -{{% /capture %}} -{{% capture body %}} + + ## 현재 버전 @@ -25,4 +25,4 @@ card: {{< versions-other >}} -{{% /capture %}} + diff --git a/content/ko/docs/reference/_index.md b/content/ko/docs/reference/_index.md index a9ce09b988..d9c7dcd1cf 100644 --- a/content/ko/docs/reference/_index.md +++ b/content/ko/docs/reference/_index.md @@ -3,16 +3,16 @@ title: 레퍼런스 linkTitle: "레퍼런스" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스 문서의 본 섹션에서는 레퍼런스를 다룬다. -{{% /capture %}} -{{% capture body %}} + + ## API 레퍼런스 @@ -50,4 +50,4 @@ content_template: templates/concept 쿠버네티스 기능에 대한 설계 문서의 아카이브. [쿠버네티스 아키텍처](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md)와 [쿠버네티스 디자인 개요](https://git.k8s.io/community/contributors/design-proposals)가 좋은 출발점이다. -{{% /capture %}} + diff --git a/content/ko/docs/reference/issues-security/security.md b/content/ko/docs/reference/issues-security/security.md index fd08a55a06..986af01cf1 100644 --- a/content/ko/docs/reference/issues-security/security.md +++ b/content/ko/docs/reference/issues-security/security.md @@ -1,14 +1,14 @@ --- title: 쿠버네티스 보안과 공개 정보 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 보안 및 공개 정보를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 보안 공지 보안 및 주요 API 공지에 대한 이메일을 위해 [kubernetes-security-announce](https://groups.google.com/forum/#!forum/kubernetes-security-announce)) 그룹에 가입하세요. @@ -48,4 +48,4 @@ weight: 20 ## 공개 시기 공개 날짜는 쿠버네티스 제품 보안 위원회와 버그 제출자가 협상한다. 사용자 완화가 가능해지면 가능한 빨리 버그를 완전히 공개하는 것이 좋다. 버그 또는 픽스가 아직 완전히 이해되지 않았거나 솔루션이 제대로 테스트되지 않았거나 벤더 협력을 위해 공개를 지연시키는 것이 합리적이다. 공개 기간은 즉시(특히 이미 공개적으로 알려진 경우)부터 몇 주까지입니다. 간단한 완화 기능이 있는 취약점의 경우 보고 날짜부터 공개 날짜까지는 7일 정도 소요될 것으로 예상된다. 쿠버네티스 제품 보안 위원회는 공개 날짜를 설정할 때 최종 결정권을 갖는다. -{{% /capture %}} + diff --git a/content/ko/docs/reference/kubectl/cheatsheet.md b/content/ko/docs/reference/kubectl/cheatsheet.md index 8956d72474..e13d7f434e 100644 --- a/content/ko/docs/reference/kubectl/cheatsheet.md +++ b/content/ko/docs/reference/kubectl/cheatsheet.md @@ -1,20 +1,20 @@ --- title: kubectl 치트 시트 -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + 참고 항목: [Kubectl 개요](/docs/reference/kubectl/overview/)와 [JsonPath 가이드](/docs/reference/kubectl/jsonpath). 이 페이지는 `kubectl` 커맨드의 개요이다. -{{% /capture %}} -{{% capture body %}} + + # kubectl - 치트 시트 @@ -373,9 +373,10 @@ Kubectl 로그 상세 레벨(verbosity)은 `-v` 또는`--v` 플래그와 로그 `--v=8` | HTTP 요청 내용을 표시. `--v=9` | 내용을 잘라 내지 않고 HTTP 요청 내용을 표시. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubectl 개요](/docs/reference/kubectl/overview/)에 대해 더 배워보자. @@ -385,4 +386,4 @@ Kubectl 로그 상세 레벨(verbosity)은 `-v` 또는`--v` 플래그와 로그 * 더 많은 [kubectl 치트 시트](https://github.com/dennyzhang/cheatsheet-kubernetes-A4) 커뮤니티 확인 -{{% /capture %}} + diff --git a/content/ko/docs/reference/tools.md b/content/ko/docs/reference/tools.md index 8ca0b453f0..f9a9836bdc 100644 --- a/content/ko/docs/reference/tools.md +++ b/content/ko/docs/reference/tools.md @@ -2,14 +2,14 @@ title: 도구 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스는 쿠버네티스 시스템으로 작업하는 데 도움이되는 몇 가지 기본 제공 도구를 포함한다. -{{% /capture %}} -{{% capture body %}} + + ## Kubectl [`kubectl`](/docs/tasks/tools/install-kubectl/)은 쿠버네티스를 위한 커맨드라인 툴이며, 쿠버네티스 클러스터 매니저을 제어한다. @@ -51,4 +51,4 @@ Kompose의 용도 * 도커 컴포즈 파일을 쿠버네티스 오브젝트로 변환 * 로컬 도커 개발 환경에서 나의 애플리케이션을 쿠버네티스를 통해 관리하도록 이전 * V1 또는 V2 도커 컴포즈 `yaml` 파일 또는 [분산 애플리케이션 번들](https://docs.docker.com/compose/bundles/)을 변환 -{{% /capture %}} + diff --git a/content/ko/docs/reference/using-api/api-overview.md b/content/ko/docs/reference/using-api/api-overview.md index c6f7520d3f..5c04951f3b 100644 --- a/content/ko/docs/reference/using-api/api-overview.md +++ b/content/ko/docs/reference/using-api/api-overview.md @@ -1,6 +1,6 @@ --- title: 쿠버네티스 API 개요 -content_template: templates/concept +content_type: concept weight: 10 card: name: 레퍼런스 @@ -8,11 +8,11 @@ card: title: API 개요 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 API에 대한 개요를 제공한다. -{{% /capture %}} -{{% capture body %}} + + REST API는 쿠버네티스의 근본적인 구조이다. 모든 조작, 컴포넌트 간의 통신과 외부 사용자의 명령은 API 서버에서 처리할 수 있는 REST API 호출이다. 따라서, 쿠버네티스 플랫폼 안의 모든 것은 API 오브젝트로 취급되고, [API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)에 상응하는 항목이 있다. @@ -109,6 +109,6 @@ API 버전의 차이는 수준의 안정성과 지원의 차이를 나타낸다. `--runtime-config=extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true` 를 입력한다. {{< note >}}개별 리소스의 활성화/비활성화는 레거시 문제로 `extensions/v1beta1` API 그룹에서만 지원된다. {{< /note >}} -{{% /capture %}} + diff --git a/content/ko/docs/reference/using-api/client-libraries.md b/content/ko/docs/reference/using-api/client-libraries.md index 1ea418fd5e..4757354dca 100644 --- a/content/ko/docs/reference/using-api/client-libraries.md +++ b/content/ko/docs/reference/using-api/client-libraries.md @@ -1,15 +1,15 @@ --- title: 클라이언트 라이브러리 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 페이지는 다양한 프로그래밍 언어에서 쿠버네티스 API를 사용하기 위한 클라이언트 라이브러리에 대한 개요를 포함하고 있다. -{{% /capture %}} -{{% capture body %}} + + [쿠버네티스 REST API](/ko/docs/reference/using-api/api-overview/)를 사용해 애플리케이션을 작성하기 위해 API 호출 또는 요청/응답 타입을 직접 구현할 필요는 없다. 사용하고 있는 프로그래밍 언어를 위한 클라이언트 라이브러리를 사용하면 된다. @@ -72,6 +72,6 @@ Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery | DotNet (RestSharp) | [github.com/masroorhasan/Kubernetes.DotNet](https://github.com/masroorhasan/Kubernetes.DotNet) | | Elixir | [github.com/obmarg/kazan](https://github.com/obmarg/kazan/) | | Elixir | [github.com/coryodaniel/k8s](https://github.com/coryodaniel/k8s) | -{{% /capture %}} + diff --git a/content/ko/docs/setup/_index.md b/content/ko/docs/setup/_index.md index 2e2f854220..21cd279764 100644 --- a/content/ko/docs/setup/_index.md +++ b/content/ko/docs/setup/_index.md @@ -3,7 +3,7 @@ no_issue: true title: 시작하기 main_menu: true weight: 20 -content_template: templates/concept +content_type: concept card: name: setup weight: 20 @@ -14,7 +14,7 @@ card: title: 운영 환경 --- -{{% capture overview %}} + 본 섹션에서는 쿠버네티스를 구축하고 실행하는 여러가지 옵션을 다룬다. @@ -24,9 +24,9 @@ card: 더 간단하게 정리하면, 쿠버네티스 클러스터를 학습 환경과 운영 환경에 만들 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 학습 환경 @@ -47,4 +47,4 @@ card: [쿠버네티스 파트너](https://kubernetes.io/partners/#conformance)에는 [공인 쿠버네티스](https://github.com/cncf/k8s-conformance/#certified-kubernetes) 공급자 목록이 포함되어 있다. -{{% /capture %}} + diff --git a/content/ko/docs/setup/best-practices/certificates.md b/content/ko/docs/setup/best-practices/certificates.md index b422608edd..0ce3fe2270 100644 --- a/content/ko/docs/setup/best-practices/certificates.md +++ b/content/ko/docs/setup/best-practices/certificates.md @@ -1,19 +1,19 @@ --- title: PKI 인증서 및 요구 조건 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 쿠버네티스는 TLS 위에 인증을 위해 PKI 인증서가 필요하다. 만약 [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)으로 쿠버네티스를 설치했다면, 클러스터에 필요한 인증서는 자동으로 생성된다. 또한 더 안전하게 자신이 소유한 인증서를 생성할 수 있다. 이를 테면, 개인키를 API 서버에 저장하지 않으므로 더 안전하게 보관할 수 있다. 이 페이지는 클러스터에 필요한 인증서를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 클러스터에서 인증서는 어떻게 이용되나? @@ -162,4 +162,4 @@ KUBECONFIG= kubectl config use-context default-system [kubeadm]: /docs/reference/setup-tools/kubeadm/kubeadm/ [proxy]: /docs/tasks/access-kubernetes-api/configure-aggregation-layer/ -{{% /capture %}} + diff --git a/content/ko/docs/setup/best-practices/multiple-zones.md b/content/ko/docs/setup/best-practices/multiple-zones.md index f81c44de8b..13bdaa04a9 100644 --- a/content/ko/docs/setup/best-practices/multiple-zones.md +++ b/content/ko/docs/setup/best-practices/multiple-zones.md @@ -1,16 +1,16 @@ --- title: 여러 영역에서 구동 weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 이 페이지는 여러 영역에서 어떻게 클러스터를 구동하는지 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -397,4 +397,4 @@ KUBERNETES_PROVIDER=aws KUBE_USE_EXISTING_MASTER=true KUBE_AWS_ZONE=us-west-2b k KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2a kubernetes/cluster/kube-down.sh ``` -{{% /capture %}} + diff --git a/content/ko/docs/setup/learning-environment/minikube.md b/content/ko/docs/setup/learning-environment/minikube.md index 08a0767754..e8d169af96 100644 --- a/content/ko/docs/setup/learning-environment/minikube.md +++ b/content/ko/docs/setup/learning-environment/minikube.md @@ -1,16 +1,16 @@ --- title: Minikube로 쿠버네티스 설치 weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikube는 쿠버네티스를 로컬에서 쉽게 실행하는 도구이다. Minikube는 매일 쿠버네티스를 사용하거나 개발하려는 사용자들을 위해 가상 머신(VM) 이나 노트북에서 단일 노드 쿠버네티스 클러스터를 실행한다. -{{% /capture %}} -{{% capture body %}} + + ## Minikube 특징 @@ -504,4 +504,4 @@ Minikube에 대한 더 자세한 정보는, [제안](https://git.k8s.io/communit 컨트리뷰션, 질문과 의견은 모두 환영하며 격려한다! Minikube 개발자는 [슬랙](https://kubernetes.slack.com)에 #minikube 채널(초청받으려면 [여기](http://slack.kubernetes.io/))에 상주하고 있다. 또한 [kubernetes-dev 구글 그룹 메일링 리스트](https://groups.google.com/forum/#!forum/kubernetes-dev)도 있다. 메일링 리스트에 포스팅한다면 제목에 "minikube: "라는 접두어를 사용하자. -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/container-runtimes.md b/content/ko/docs/setup/production-environment/container-runtimes.md index 5f0ad0bb75..f14834ff25 100644 --- a/content/ko/docs/setup/production-environment/container-runtimes.md +++ b/content/ko/docs/setup/production-environment/container-runtimes.md @@ -1,16 +1,16 @@ --- title: 컨테이너 런타임 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="stable" >}} 파드에서 컨테이너를 실행하기 위해 쿠버네티스는 컨테이너 런타임을 사용한다. 이 페이지는 다양한 런타임들에 대한 설치 지침을 담고 있다. -{{% /capture %}} -{{% capture body %}} + + {{< caution >}} @@ -402,4 +402,4 @@ kubeadm을 사용하는 경우에도 마찬가지로, 수동으로 자세한 정보는 [Frakti 빠른 시작 가이드](https://github.com/kubernetes/frakti#quickstart)를 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/tools/kops.md b/content/ko/docs/setup/production-environment/tools/kops.md index b9162e18ed..29716b44e1 100644 --- a/content/ko/docs/setup/production-environment/tools/kops.md +++ b/content/ko/docs/setup/production-environment/tools/kops.md @@ -1,10 +1,10 @@ --- title: Kops로 쿠버네티스 설치하기 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이곳 빠른 시작에서는 사용자가 얼마나 쉽게 AWS에 쿠버네티스 클러스터를 설치할 수 있는지 보여준다. [`kops`](https://github.com/kubernetes/kops)라는 이름의 툴을 이용할 것이다. @@ -18,9 +18,10 @@ kops는 자동화된 프로비저닝 시스템인데, * 고가용성 지원 - [high_availability.md](https://github.com/kubernetes/kops/blob/master/docs/operations/high_availability.md) 보기 * 직접 프로비저닝 하거나 또는 할 수 있도록 terraform 매니페스트를 생성 - [terraform.md](https://github.com/kubernetes/kops/blob/master/docs/terraform.md) 보기 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * [kubectl](/docs/tasks/tools/install-kubectl/)을 반드시 설치해야 한다. @@ -28,9 +29,9 @@ kops는 자동화된 프로비저닝 시스템인데, * [AWS 계정](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html)이 있고 [IAM 키](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)를 생성하고 [구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration) 해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 클러스터 구축 @@ -225,13 +226,14 @@ kops는 클러스터에 사용될 설정을 생성할것이다. 여기서 주의 * `kops delete cluster useast1.dev.example.com --yes` 로 클러스터를 삭제한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 쿠버네티스 [개념](/docs/concepts/) 과 [`kubectl`](/docs/user-guide/kubectl-overview/)에 대해 더 알아보기. * 튜토리얼, 모범사례 및 고급 구성 옵션에 대한 `kops` [고급 사용법](https://kops.sigs.k8s.io/)에 대해 더 자세히 알아본다. * 슬랙(Slack)에서 `kops` 커뮤니티 토론을 할 수 있다: [커뮤니티 토론](https://github.com/kubernetes/kops#other-ways-to-communicate-with-the-contributors) * 문제를 해결하거나 이슈를 제기하여 `kops` 에 기여한다. [깃헙 이슈](https://github.com/kubernetes/kops/issues) -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md b/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md index 7651fcc172..2e6252bf80 100644 --- a/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md +++ b/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md @@ -1,11 +1,11 @@ --- reviewers: title: kubeadm으로 컨트롤 플레인 사용자 정의하기 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="stable" >}} @@ -28,9 +28,9 @@ kubeadm의 `ClusterConfiguration` 오브젝트는 API 서버, 컨트롤러매니 `kubeadm config print init-defaults`를 실행하고 원하는 파일에 출력을 저장하여 기본값인 `ClusterConfiguration` 오브젝트를 생성할 수 있다. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## APIServer 플래그 @@ -81,4 +81,4 @@ scheduler: kubeconfig: /home/johndoe/kubeconfig.yaml ``` -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md index ac6cab8aa5..dd8797785a 100644 --- a/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -1,11 +1,11 @@ --- reviewers: title: 고가용성 토폴로지 선택 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 이 페이지는 고가용성(HA) 쿠버네티스 클러스터의 토플로지를 구성하는 두 가지 선택 사항을 설명한다. @@ -16,9 +16,9 @@ weight: 50 HA 클러스터를 구성하기 전에 각 토플로지의 장단점을 주의 깊게 고려해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 중첩된 etcd 토플로지 @@ -61,10 +61,11 @@ HA 클러스터를 구성하기 전에 각 토플로지의 장단점을 주의 ![외부 etcd 토플로지](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [kubeadm을 이용하여 고가용성 클러스터 구성하기](/docs/setup/production-environment/tools/kubeadm/high-availability/) -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md b/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md index 1cb79cb113..ef96bd27fb 100644 --- a/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md +++ b/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md @@ -1,16 +1,16 @@ --- title: 쿠버네티스에서 윈도우 컨테이너 스케줄링을 위한 가이드 -content_template: templates/concept +content_type: concept weight: 75 --- -{{% capture overview %}} + 많은 조직에서 실행하는 서비스와 애플리케이션의 상당 부분이 윈도우 애플리케이션으로 구성된다. 이 가이드는 쿠버네티스에서 윈도우 컨테이너를 구성하고 배포하는 단계를 안내한다. -{{% /capture %}} -{{% capture body %}} + + ## 목표 @@ -245,6 +245,6 @@ spec: ``` -{{% /capture %}} + [RuntimeClass]: https://kubernetes.io/docs/concepts/containers/runtime-class/ diff --git a/content/ko/docs/tasks/_index.md b/content/ko/docs/tasks/_index.md index 9624c907d3..b9e161f26b 100644 --- a/content/ko/docs/tasks/_index.md +++ b/content/ko/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: 태스크 main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + 쿠버네티스 문서에서 이 섹션은 개별의 태스크를 수행하는 방법을 보여준다. 한 태스크 페이지는 일반적으로 여러 단계로 이루어진 짧은 시퀀스를 제공함으로써, 하나의 일을 수행하는 방법을 보여준다. -{{% /capture %}} -{{% capture body %}} + + ## 웹 UI (대시보드) @@ -73,11 +73,12 @@ content_template: templates/concept 클러스터에서 스케줄 가능한 리소스로서 Huge Page들을 구성 및 스케줄한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 만약 태스크 페이지를 작성하고 싶다면, [문서 풀 리퀘스트(Pull Request) 생성하기](/docs/home/contribute/create-pull-request/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/access-cluster.md b/content/ko/docs/tasks/access-application-cluster/access-cluster.md index 2f527c4676..ded8f15aad 100644 --- a/content/ko/docs/tasks/access-application-cluster/access-cluster.md +++ b/content/ko/docs/tasks/access-application-cluster/access-cluster.md @@ -1,17 +1,17 @@ --- title: 클러스터 액세스 weight: 20 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 여기에서는 클러스터와 통신을 하는 다양한 방식에 대해서 다룰 것이다. -{{% /capture %}} -{{% capture body %}} + + ## 처음이라면 kubectl을 사용하여 액세스 @@ -376,4 +376,4 @@ redirect 기능은 deprecated되고 제거 되었다. 대신 (아래의) proxy 일반적으로 쿠버네티스 사용자들은 처음 두 타입이 아닌 다른 방식은 고려할 필요가 없지만 클러스터 관리자는 나머지 타입을 적절하게 구성해줘야 한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md b/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md index f767e6a1bc..9c70cbe8b1 100644 --- a/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md +++ b/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md @@ -1,25 +1,26 @@ --- title: 공유 볼륨을 이용하여 동일한 파드의 컨테이너 간에 통신하기 -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + 이 페이지에서는 동일한 파드(Pod)에서 실행 중인 두 개의 컨테이너 간에 통신할 때에, 어떻게 볼륨(Volume)을 이용하는지 살펴본다. 컨테이너 간에 [프로세스 네임스페이스 공유하기](/docs/tasks/configure-pod-container/share-process-namespace/)를 통해 통신할 수 있는 방법을 참고하자. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 두 개의 컨테이너를 실행하는 파드 생성 @@ -108,10 +109,10 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트 debian 컨테이너에서 안녕하세요 -{{% /capture %}} -{{% capture discussion %}} + + ## 토의 @@ -126,10 +127,11 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트 이 예제에서 볼륨은 파드의 생명 주기 동안 컨테이너를 위한 통신 방법으로 이용했다. 파드가 삭제되고 재생성되면, 공유 볼륨에 저장된 데이터는 잃어버린다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [합성 컨테이너(composite container) 패턴](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)에 관하여 더 공부한다. @@ -146,7 +148,7 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트 * [파드](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)을 확인한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 841a489b84..4fa9a9492a 100644 --- a/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -1,6 +1,6 @@ --- title: 다중 클러스터 접근 구성 -content_template: templates/task +content_type: task weight: 30 card: name: tasks @@ -8,7 +8,7 @@ card: --- -{{% capture overview %}} + 이 페이지에서는 구성 파일을 사용하여 다수의 클러스터에 접근할 수 있도록 설정하는 방식을 보여준다. 클러스터, 사용자, 컨텍스트가 하나 이상의 @@ -21,15 +21,16 @@ card: 반드시 존재해야 한다는 것을 의미하는 것은 아니다. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 클러스터, 사용자, 컨텍스트 정의 @@ -370,13 +371,14 @@ export KUBECONFIG=$KUBECONFIG_SAVED $Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md b/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md index aae42494f5..eaace61131 100644 --- a/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md +++ b/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md @@ -1,13 +1,13 @@ --- title: 클러스터의 DNS 구성하기 weight: 120 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스는 지원하는 모든 환경에서 기본으로 활성화된 DNS 클러스터 애드온을 제공한다. 쿠버네티스 1.11과 이후 버전에서는, CoreDNS가 권장되고 기본적으로 kubeadm과 함께 설치 된다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스 클러스터의 CoreDNS 설정에 대한 더 많은 정보는, [DNS 서비스 사용자화 하기](/docs/tasks/administer-cluster/dns-custom-nameservers/)을 본다. kube-dns와 함께 쿠버네티스 DNS를 사용하는 방법을 보여주는 예시는 [쿠버네티스 DNS 샘플 플러그인](https://github.com/kubernetes/examples/tree/master/staging/cluster-dns)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md b/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md index 318944e6b4..5a91ebd66e 100644 --- a/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md +++ b/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md @@ -1,29 +1,30 @@ --- title: 포트 포워딩을 사용해서 클러스터 내 애플리케이션에 접근하기 -content_template: templates/task +content_type: task weight: 40 min-kubernetes-server-version: v1.10 --- -{{% capture overview %}} + 이 페이지는 `kubectl port-forward` 를 사용해서 쿠버네티스 클러스터 내에서 실행중인 Redis 서버에 연결하는 방법을 보여준다. 이 유형의 연결은 데이터베이스 디버깅에 유용할 수 있다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [redis-cli](http://redis.io/topics/rediscli)를 설치한다. -{{% /capture %}} -{{% capture steps %}} + + ## Redis 디플로이먼트와 서비스 생성하기 @@ -178,10 +179,10 @@ min-kubernetes-server-version: v1.10 PONG ``` -{{% /capture %}} -{{% capture discussion %}} + + ## 토의 @@ -196,12 +197,13 @@ UDP 프로토콜에 대한 지원은 에서 추적되고 있다. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands/#port-forward)에 대해 더 알아본다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md index 73b59d9810..23d685168c 100644 --- a/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -1,6 +1,6 @@ --- title: 웹 UI (대시보드) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -8,7 +8,7 @@ card: title: Use the Web UI Dashboard --- -{{% capture overview %}} + 대시보드는 웹 기반 쿠버네티스 유저 인터페이스이다. 대시보드를 통해 컨테이너화 된 애플리케이션을 쿠버네티스 클러스터에 배포할 수 있고, 컨테이너화 된 애플리케이션을 트러블슈팅 할 수 있으며, 클러스터 리소스들을 관리할 수 있다. 대시보드를 통해 클러스터에서 동작중인 애플리케이션의 정보를 볼 수 있고, 개별적인 쿠버네티스 리소스들을(예를 들면 디플로이먼트, 잡, 데몬셋 등) 생성하거나 수정할 수 있다. 예를 들면, 디플로이먼트를 스케일하거나, 롤링 업데이트를 초기화하거나, 파드를 재시작하거나 또는 배포 마법사를 이용해 새로운 애플리케이션을 배포할 수 있다. @@ -16,10 +16,10 @@ card: ![Kubernetes Dashboard UI](/images/docs/ui-dashboard.png) -{{% /capture %}} -{{% capture body %}} + + ## 대시보드 UI 배포 @@ -158,11 +158,12 @@ track=stable ![Logs viewer](/images/docs/ui-dashboard-logs-view.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 더 많은 정보는 [쿠버네티스 대시보드 프로젝트 페이지](https://github.com/kubernetes/dashboard)를 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/cluster-management.md b/content/ko/docs/tasks/administer-cluster/cluster-management.md index 1fd99c0895..b84b42b7e1 100644 --- a/content/ko/docs/tasks/administer-cluster/cluster-management.md +++ b/content/ko/docs/tasks/administer-cluster/cluster-management.md @@ -1,19 +1,19 @@ --- title: 클러스터 관리 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 이 문서는 클러스터의 라이프사이클에 관련된 몇 가지 주제들을 설명한다. 신규 클러스터 생성, 클러스터의 마스터와 워커 노드들의 업그레이드, 노드 유지보수(예. 커널 업그레이드) 수행, 운영 중인 클러스터의 쿠버네티스 API 버전 업그레이드. -{{% /capture %}} -{{% capture body %}} + + ## 클러스터 생성과 설정 @@ -220,4 +220,4 @@ kubectl convert -f pod.yaml --output-version v1 옵션에 대한 상세 정보는 [kubectl convert](/docs/reference/generated/kubectl/kubectl-commands#convert) 커맨드의 사용법을 참조하기를 바란다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/highly-available-master.md b/content/ko/docs/tasks/administer-cluster/highly-available-master.md index 880f4a4992..1ecf5b15d3 100644 --- a/content/ko/docs/tasks/administer-cluster/highly-available-master.md +++ b/content/ko/docs/tasks/administer-cluster/highly-available-master.md @@ -1,26 +1,27 @@ --- reviewers: title: 고가용성 쿠버네티스 클러스터 마스터 설정하기 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.5" state="alpha" >}} 구글 컴퓨트 엔진(Google Compute Engine, 이하 GCE)의 `kube-up`이나 `kube-down` 스크립트에 쿠버네티스 마스터를 복제할 수 있다. 이 문서는 kube-up/down 스크립트를 사용하여 고가용(HA) 마스터를 관리하는 방법과 GCE와 함께 사용하기 위해 HA 마스터를 구현하는 방법에 관해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## HA 호환 클러스터 시작 @@ -117,9 +118,9 @@ HA 클러스터의 마스터 복제본 중 하나가 실패하면, 이 작업은 [여기](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration) 기술한 대로 Etcd 데이터 디렉터리를 마이그레이션하여 속도를 높일 수 있다(향후에 Etcd 데이터 디렉터리 마이그레이션 지원 추가를 고려 중이다). -{{% /capture %}} -{{% capture discussion %}} + + ## 구현 지침 @@ -172,4 +173,4 @@ etcd를 클러스터로 구축하려면, etcd 인스턴스간 통신에 필요 [자동화된 HA 마스터 배포 - 제안 문서](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md b/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md index ddb7beee5d..0388e2542b 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md @@ -1,20 +1,21 @@ --- title: Windows 노드 추가 min-kubernetes-server-version: 1.17 -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} 쿠버네티스를 사용하여 리눅스와 Windows 노드를 혼합하여 실행할 수 있으므로, 리눅스에서 실행되는 파드와 Windows에서 실행되는 파드를 혼합할 수 있다. 이 페이지는 Windows 노드를 클러스터에 등록하는 방법을 보여준다. -{{% /capture %}} -{{% capture prerequisites %}} {{< version-check >}} + +## {{% heading "prerequisites" %}} + {{< version-check >}} * Windows 컨테이너를 호스팅하는 Windows 노드를 구성하려면 [Windows Server 2019 라이선스](https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing) 이상이 필요하다. @@ -22,18 +23,19 @@ VXLAN/오버레이 네트워킹을 사용하는 경우 [KB4489899](https://suppo * 컨트롤 플레인에 접근할 수 있는 리눅스 기반의 쿠버네티스 kubeadm 클러스터([kubeadm을 사용하여 단일 컨트롤 플레인 클러스터 생성](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) 참고)가 필요하다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 클러스터에 Windows 노드 등록 * 리눅스 및 Windows의 파드와 서비스가 서로 통신할 수 있도록 네트워킹 구성 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 시작하기: 클러스터에 Windows 노드 추가 @@ -173,10 +175,11 @@ kubectl -n kube-system get pods -l app=flannel flannel 파드가 실행되면, 노드는 `Ready` 상태가 되고 워크로드를 처리할 수 있어야 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Windows kubeadm 노드 업그레이드](/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md index cc5f3c81c1..dc17eb9cdc 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md @@ -1,24 +1,25 @@ --- title: kubeadm을 사용한 인증서 관리 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.15" state="stable" >}} [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)으로 생성된 클라이언트 인증서는 1년 후에 만료된다. 이 페이지는 kubeadm으로 인증서 갱신을 관리하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [쿠버네티스의 PKI 인증서와 요구 조건](/ko/docs/setup/best-practices/certificates/)에 익숙해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 사용자 정의 인증서 사용 {#custom-certificates} @@ -240,4 +241,4 @@ CSR에는 인증서 이름, 도메인 및 IP가 포함되지만, 용도를 지 [cert-cas]: /ko/docs/setup/best-practices/certificates/#단일-루트-ca [cert-table]: /ko/docs/setup/best-practices/certificates/#모든-인증서 -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index cede5188bb..452cfb1865 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -1,11 +1,11 @@ --- title: kubeadm 클러스터 업그레이드 -content_template: templates/task +content_type: task weight: 20 min-kubernetes-server-version: 1.18 --- -{{% capture overview %}} + 이 페이지는 kubeadm으로 생성된 쿠버네티스 클러스터를 1.17.x 버전에서 1.18.x 버전으로, 1.18.x 버전에서 1.18.y(여기서 `y > x`) 버전으로 업그레이드하는 방법을 설명한다. @@ -24,9 +24,10 @@ min-kubernetes-server-version: 1.18 1. 추가 컨트롤 플레인 노드를 업그레이드한다. 1. 워커(worker) 노드를 업그레이드한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - 1.17.0 버전 이상을 실행하는 kubeadm 쿠버네티스 클러스터가 있어야 한다. - [스왑을 비활성화해야 한다](https://serverfault.com/questions/684771/best-way-to-disable-swap-in-linux). @@ -42,9 +43,9 @@ min-kubernetes-server-version: 1.18 또는 동일한 MINOR의 PATCH 버전 사이에서만 업그레이드할 수 있다. 즉, 업그레이드할 때 MINOR 버전을 건너 뛸 수 없다. 예를 들어, 1.y에서 1.y+1로 업그레이드할 수 있지만, 1.y에서 1.y+2로 업그레이드할 수는 없다. -{{% /capture %}} -{{% capture steps %}} + + ## 업그레이드할 버전 결정 @@ -393,7 +394,7 @@ kubectl get nodes 모든 노드에 대해 `STATUS` 열에 `Ready` 가 표시되어야 하고, 버전 번호가 업데이트되어 있어야 한다. -{{% /capture %}} + ## 장애 상태에서의 복구 diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md b/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md index 63b271e1b9..779e6fe86a 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md @@ -1,29 +1,30 @@ --- title: Windows 노드 업그레이드 min-kubernetes-server-version: 1.17 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} 이 페이지는 [kubeadm으로 생성된](/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes) Windows 노드를 업그레이드하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [남은 kubeadm 클러스터를 업그레이드하는 프로세스](/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade)에 익숙해져야 한다. Windows 노드를 업그레이드하기 전에 컨트롤 플레인 노드를 업그레이드해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 워커 노드 업그레이드 @@ -90,4 +91,4 @@ weight: 40 ``` -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md index ed926b338f..494a09418c 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md @@ -1,11 +1,11 @@ --- title: 네임스페이스에 대한 CPU의 최소 및 최대 제약 조건 구성 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 컨테이너와 파드가 사용하는 CPU 리소스의 최솟값과 최댓값을 설정하는 방법을 보여준다. [리밋레인지(LimitRange)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core) @@ -13,19 +13,20 @@ weight: 40 지정한다. 리밋레인지에 의해 부과된 제약 조건을 파드가 충족하지 않으면, 네임스페이스에서 생성될 수 없다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 태스크 예제를 실행하려면 클러스터에 적어도 1 CPU 이상이 사용 가능해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -239,9 +240,10 @@ kubectl delete pod constraints-cpu-demo-4 --namespace=constraints-cpu-example kubectl delete namespace constraints-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -266,4 +268,4 @@ kubectl delete namespace constraints-cpu-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md index 1e1850e02b..769f0bfb09 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md @@ -1,10 +1,10 @@ --- title: 네임스페이스에 대한 기본 CPU 요청량과 상한 구성 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에 대한 기본 CPU 요청량(request) 및 상한(limit)을 구성하는 방법을 보여준다. 쿠버네티스 클러스터는 네임스페이스로 나눌 수 있다. 기본 CPU 상한이 있는 네임스페이스에서 @@ -12,14 +12,15 @@ weight: 20 컨테이너에 기본 CPU 상한이 할당된다. 쿠버네티스는 이 문서의 뒷부분에서 설명하는 특정 조건에서 기본 CPU 요청량을 할당한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -162,9 +163,10 @@ CPU 상한에 대해 기본값을 설정하는 것이 좋다. kubectl delete namespace default-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -188,4 +190,4 @@ kubectl delete namespace default-cpu-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md index 080839b86a..cf3cd826f6 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md @@ -1,11 +1,11 @@ --- title: 네임스페이스에 대한 메모리의 최소 및 최대 제약 조건 구성 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 실행되는 컨테이너가 사용하는 메모리의 최솟값과 최댓값을 설정하는 방법을 보여준다. [리밋레인지(LimitRange)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core) @@ -13,19 +13,20 @@ weight: 30 지정한다. 파드가 리밋레인지에 의해 부과된 제약 조건을 충족하지 않으면, 네임스페이스에서 생성될 수 없다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 클러스터의 각 노드에는 최소 1GiB의 메모리가 있어야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -239,9 +240,10 @@ kubectl delete pod constraints-mem-demo-4 --namespace=constraints-mem-example kubectl delete namespace constraints-mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -265,4 +267,4 @@ kubectl delete namespace constraints-mem-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md index 547d1783c4..c735bc1a72 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md @@ -1,27 +1,28 @@ --- title: 네임스페이스에 대한 기본 메모리 요청량과 상한 구성 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에 대한 기본 메모리 요청량(request)과 상한(limit)을 구성하는 방법을 보여준다. 기본 메모리 상한이 있는 네임스페이스에서 컨테이너가 생성되고, 컨테이너가 자체 메모리 상한을 지정하지 않으면, 컨테이너에 기본 메모리 상한이 할당된다. 쿠버네티스는 이 문서의 뒷부분에서 설명하는 특정 조건에서 기본 메모리 요청량을 할당한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 클러스터의 각 노드에는 최소 2GiB의 메모리가 있어야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -170,9 +171,10 @@ resources: kubectl delete namespace default-mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -196,4 +198,4 @@ kubectl delete namespace default-mem-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md index b7251a7712..ce16eaeef1 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md @@ -1,30 +1,31 @@ --- title: 네임스페이스에 대한 메모리 및 CPU 쿼터 구성 -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 실행 중인 모든 컨테이너가 사용할 수 있는 총 메모리 및 CPU 양에 대한 쿼터를 설정하는 방법을 보여준다. [리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) 오브젝트에 쿼터를 지정한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 클러스터의 각 노드에는 최소 1GiB의 메모리가 있어야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -146,9 +147,10 @@ requested: requests.memory=700Mi,used: requests.memory=600Mi, limited: requests. kubectl delete namespace quota-mem-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -172,4 +174,4 @@ kubectl delete namespace quota-mem-cpu-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md index cbda51f074..a90d2263d3 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md @@ -1,28 +1,29 @@ --- title: 네임스페이스에 대한 파드 쿼터 구성 -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 실행할 수 있는 총 파드 수에 대한 쿼터를 설정하는 방법을 보여준다. [리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) 오브젝트에 쿼터를 지정한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -107,9 +108,10 @@ lastUpdateTime: 2017-07-07T20:57:05Z kubectl delete namespace quota-pod-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -133,4 +135,4 @@ kubectl delete namespace quota-pod-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md index 209d07a3b0..2d7f856e46 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md @@ -1,19 +1,20 @@ --- reviewers: title: 네트워크 폴리시로 캘리코(Calico) 사용하기 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스에서 캘리코(Calico) 클러스터를 생성하는 몇 가지 빠른 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [클라우드](#creating-a-calico-cluster-with-google-kubernetes-engine-gke)나 [지역](#creating-a-local-calico-cluster-with-kubeadm) 클러스터 중에 어디에 배포할지 결정한다. -{{% /capture %}} -{{% capture steps %}} + + ## 구글 쿠버네티스 엔진(GKE)에 캘리코 클러스터 생성하기 {#creating-a-calico-cluster-with-google-kubernetes-engine-gke} **사전요구사항**: [gcloud](https://cloud.google.com/sdk/docs/quickstarts). @@ -43,11 +44,12 @@ weight: 10 Kubeadm을 이용해서 15분 이내에 지역 단일 호스트 캘리코 클러스터를 생성하려면, [캘리코 빠른 시작](https://docs.projectcalico.org/latest/getting-started/kubernetes/)을 참고한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 클러스터가 동작하면, 쿠버네티스 네트워크 폴리시(NetworkPolicy)를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md index 1b0c866d18..5435bcf67a 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md @@ -1,22 +1,23 @@ --- title: 네트워크 폴리시로 실리움(Cilium) 사용하기 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이 페이지는 어떻게 네트워크 폴리시(NetworkPolicy)로 실리움(Cilium)를 사용하는지 살펴본다. 실리움의 배경에 대해서는 [실리움 소개](https://docs.cilium.io/en/stable/intro)를 읽어보자. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 기본 시험을 위해 실리움을 Minikube에 배포하기 실리움에 쉽게 친숙해지기 위해 @@ -72,9 +73,9 @@ L3/L4(예, IP 주소 + 포트) 모두의 보안 정책 뿐만 아니라 L7(예, 이 문서는 자세한 요구사항, 방법과 실제 데몬셋 예시를 포함한다. -{{% /capture %}} -{{% capture discussion %}} + + ## 실리움 구성요소 이해하기 실리움으로 클러스터를 배포하면 파드가 `kube-system` 네임스페이스에 추가된다. @@ -95,14 +96,15 @@ cilium-6rxbd 1/1 Running 0 1m `cilium` 파드는 클러스터 각 노드에서 실행되며, 리눅스 BPF를 사용해서 해당 노드의 파드에 대한 트래픽 네트워크 폴리시를 적용한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 클러스터가 동작하면, 실리움으로 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. 재미있게 즐기고, 질문이 있다면 [실리움 슬랙 채널](https://cilium.herokuapp.com/)을 이용하여 연락한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md index 1ff8d7c4cc..71a96ed8ee 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md @@ -1,25 +1,27 @@ --- reviewers: title: 네트워크 폴리시로 큐브 라우터(Kube-router) 사용하기 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 이 페이지는 네트워크 폴리시(NetworkPolicy)로 [큐브 라우터(Kube-router)](https://github.com/cloudnativelabs/kube-router)를 사용하는 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 운영 중인 쿠버네티스 클러스터가 필요하다. 클러스터가 없다면, Kops, Bootkube, Kubeadm 등을 이용해서 클러스터를 생성할 수 있다. -{{% /capture %}} -{{% capture steps %}} + + ## 큐브 라우터 애드온 설치하기 큐브 라우터 애드온은 갱신된 모든 네트워크 폴리시 및 파드에 대해 쿠버네티스 API 서버를 감시하고, 정책에 따라 트래픽을 허용하거나 차단하도록 iptables 규칙와 ipset을 구성하는 네트워크 폴리시 컨트롤러와 함께 제공된다. 큐브 라우터 애드온을 설치하는 [큐브 라우터를 클러스터 인스톨러와 함께 사용하기](https://www.kube-router.io/docs/user-guide/#try-kube-router-with-cluster-installers) 안내서를 따라해 봅니다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 큐브 라우터 애드온을 설치한 후에는, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md index 5e2c28a7c9..dceaf495fc 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md @@ -1,23 +1,24 @@ --- reviewers: title: 네트워크 폴리시로 로마나(Romana) -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 이 페이지는 네트워크 폴리시(NetworkPolicy)로 로마나(Romana)를 사용하는 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [kubeadm 시작하기](/docs/getting-started-guides/kubeadm/)의 1, 2, 3 단계를 완료하자. -{{% /capture %}} -{{% capture steps %}} + + ## kubeadm으로 로마나 설치하기 @@ -31,12 +32,13 @@ Kubeadm을 위한 [컨테이너화된 설치 안내서](https://github.com/roman * [Romana 네트워크 폴리시의 예](https://github.com/romana/core/blob/master/doc/policy.md). * 네트워크 폴리시 API. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 로마나를 설치한 후에는, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md index 91456a0385..d5fef95e75 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md @@ -1,23 +1,24 @@ --- reviewers: title: 네트워크 폴리시로 위브넷(Weave Net) 사용하기 -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 이 페이지는 네트워크 폴리시(NetworkPolicy)로 위브넷(Weave Net)를 사용하는 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 쿠버네티스 클러스터가 필요하다. 맨 땅에서부터 시작하기를 위해서 [kubeadm 시작하기 안내서](/docs/getting-started-guides/kubeadm/)를 따른다. -{{% /capture %}} -{{% capture steps %}} + + ## Weave Net 애드온을 설치한다 @@ -47,12 +48,13 @@ weave-net-pmw8w 2/2 Running 0 9d 위브넷 파드를 가진 각 노드와 모든 파드는 `Running`이고 `2/2 READY`이다(`2/2`는 각 파드가 `weave`와 `weave-npc`를 가지고 있음을 뜻한다). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 위브넷 애드온을 설치하고 나서, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. 질문이 있으면 [슬랙 #weave-community 이나 Weave 유저그룹](https://github.com/weaveworks/weave#getting-help)에 연락한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md index 21f946f67d..06e8f645b2 100644 --- a/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -1,19 +1,20 @@ --- title: 컨테이너 및 파드 메모리 리소스 할당 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 이 페이지는 메모리 *요청량* 과 메모리 *상한* 을 컨테이너에 어떻게 지정하는지 보여준다. 컨테이너는 요청량 만큼의 메모리 확보가 보장되나 상한보다 더 많은 메모리는 사용할 수 없다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -45,9 +46,9 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -327,9 +328,10 @@ kubectl delete pod memory-demo-3 --namespace=mem-example kubectl delete namespace mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 앱 개발자들을 위한 @@ -353,4 +355,4 @@ kubectl delete namespace mem-example * [API 오브젝트에 할당량 구성 ](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md index 945fd88085..bc1446946d 100644 --- a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md +++ b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md @@ -1,22 +1,23 @@ --- title: 노드 어피니티를 사용해 노드에 파드 할당 min-kubernetes-server-version: v1.10 -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + 이 문서는 쿠버네티스 클러스터의 특정 노드에 노드 어피니티를 사용해 쿠버네티스 파드를 할당하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 노드에 레이블 추가 @@ -112,9 +113,10 @@ weight: 120 nginx 1/1 Running 0 13s 10.200.0.4 worker0 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [노드 어피니티](/ko/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)에 대해 더 알아보기. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md index 8ce67986bc..c83db7231c 100644 --- a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md +++ b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md @@ -1,21 +1,22 @@ --- title: 노드에 파드 할당 -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + 이 문서는 쿠버네티스 클러스터의 특정 노드에 쿠버네티스 파드를 할당하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 노드에 레이블 추가 @@ -96,9 +97,10 @@ weight: 120 설정 파일을 사용해 `foo-node` 노드에 파드를 스케줄되도록 만들어 보자. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [레이블과 셀렉터](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 배우기. * [노드](/ko/docs/concepts/architecture/nodes/)에 대해 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md index 6abe24465d..b202417ee1 100644 --- a/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -1,10 +1,10 @@ --- title: 스토리지의 볼륨을 사용하는 파드 구성 -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 이 페이지는 스토리지의 볼륨을 사용하는 파드를 구성하는 방법을 설명한다. @@ -14,15 +14,16 @@ weight: 50 사용할 수 있다. 이것은 레디스(Redis)와 같은 키-값 저장소나 데이터베이스와 같은 스테이트풀 애플리케이션에 매우 중요하다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 파드에 볼륨 구성 @@ -126,9 +127,10 @@ Redis 파드의 kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [볼륨](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)을 참고한다. @@ -140,6 +142,6 @@ Redis 파드의 노드의 디바이스 마운트, 언마운트와 같은 세부사항을 처리한다. 자세한 내용은 [볼륨](/ko/docs/concepts/storage/volumes/)을 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md b/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md index 2eadc8450c..662b7528bc 100644 --- a/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md +++ b/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md @@ -1,26 +1,27 @@ --- title: 프라이빗 레지스트리에서 이미지 받아오기 -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + 이 페이지는 프라이빗 도커 레지스트리나 리포지터리로부터 이미지를 받아오기 위해 시크릿(Secret)을 사용하는 파드(Pod)를 생성하는 방법을 보여준다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * 이 실습을 수행하기 위해, [도커 ID](https://docs.docker.com/docker-id/)와 비밀번호가 필요하다. -{{% /capture %}} -{{% capture steps %}} + + ## 도커 로그인 @@ -200,9 +201,10 @@ kubectl apply -f my-private-reg-pod.yaml kubectl get pod private-reg ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [시크릿](/docs/concepts/configuration/secret/)에 대해 더 배워 보기. * [프라이빗 레지스트리 사용](/ko/docs/concepts/containers/images/#프라이빗-레지스트리-사용)에 대해 더 배워 보기. @@ -211,4 +213,4 @@ kubectl get pod private-reg * [시크릿](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core)에 대해 읽어보기. * [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)의 `imagePullSecrets` 필드에 대해 읽어보기. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md index e2552c3f6d..bf948856a0 100644 --- a/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md @@ -1,27 +1,28 @@ --- title: 파드에 대한 서비스 품질(QoS) 구성 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 이 페이지는 특정 서비스 품질(QoS) 클래스를 할당하기 위해 어떻게 파드를 구성해야 하는지 보여준다. 쿠버네티스는 QoS 클래스를 사용하여 파드 스케줄링과 축출을 결정한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## QoS 클래스 @@ -235,9 +236,10 @@ kubectl delete pod qos-demo-4 --namespace=qos-example kubectl delete namespace qos-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 앱 개발자를 위한 문서 @@ -263,4 +265,4 @@ kubectl delete namespace qos-example * [API 오브젝트 할당량 구성](/docs/tasks/administer-cluster/quota-api-object/) * [노드의 토폴로지 관리 정책 제어](/docs/tasks/administer-cluster/topology-manager/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md b/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md index 82c40239c0..cf0b639cbd 100644 --- a/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md +++ b/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md @@ -1,9 +1,9 @@ --- -content_template: templates/concept +content_type: concept title: 엘라스틱서치(Elasticsearch) 및 키바나(Kibana)를 사용한 로깅 --- -{{% capture overview %}} + Google 컴퓨트 엔진(Compute Engine, GCE) 플랫폼에서, 기본 로깅 지원은 [스택드라이버(Stackdriver) 로깅](https://cloud.google.com/logging/)을 대상으로 한다. 이는 @@ -18,9 +18,9 @@ Google 컴퓨트 엔진(Compute Engine, GCE) 플랫폼에서, 기본 로깅 지 Google 쿠버네티스 엔진(Kubernetes Engine)에서 호스팅되는 쿠버네티스 클러스터에는 엘라스틱서치 및 키바나를 자동으로 배포할 수 없다. 수동으로 배포해야 한다. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + 클러스터 로깅에 엘라스틱서치, 키바나를 사용하려면 kube-up.sh를 사용하여 클러스터를 생성할 때 아래와 같이 다음의 환경 변수를 @@ -111,11 +111,12 @@ monitoring-influx-grafana-v1-o79xf 2/2 Running 0 2h ![키바나 로그](/images/docs/kibana-logs.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 키바나는 로그를 탐색하기 위한 모든 종류의 강력한 옵션을 제공한다! 이를 파헤치는 방법에 대한 아이디어는 [키바나의 문서](https://www.elastic.co/guide/en/kibana/current/discover.html)를 확인한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md b/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md index fd6a5bd8a0..d52a6127be 100644 --- a/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md +++ b/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md @@ -1,19 +1,19 @@ --- title: 리소스 메트릭 파이프라인 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 컨테이너 CPU 및 메모리 사용량과 같은 리소스 사용량 메트릭은 쿠버네티스의 메트릭 API를 통해 사용할 수 있다. 이 메트릭은 `kubectl top` 커맨드 사용과 같이 사용자가 직접적으로 액세스하거나, Horizontal Pod Autoscaler 같은 클러스터의 컨트롤러에서 결정을 내릴 때 사용될 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 메트릭 API @@ -58,4 +58,4 @@ CPU는 일정 기간 동안 [CPU 코어](https://kubernetes.io/docs/concepts/con [설계 문서](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md)에서 메트릭 서버에 대해 자세하게 배울 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index f563fae04b..9677ccd1b9 100644 --- a/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -1,9 +1,9 @@ --- -content_template: templates/concept +content_type: concept title: 리소스 모니터링 도구 --- -{{% capture overview %}} + 애플리케이션을 스케일하여 신뢰할 수 있는 서비스를 제공하려면, 애플리케이션이 배포되었을 때 애플리케이션이 어떻게 동작하는지를 이해해야 한다. @@ -14,9 +14,9 @@ title: 리소스 모니터링 도구 이 정보는 애플리케이션의 성능을 평가하고 병목 현상을 제거하여 전체 성능을 향상할 수 있게 해준다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스에서 애플리케이션 모니터링은 단일 모니터링 솔루션에 의존하지 않는다. 신규 클러스터에서는, [리소스 메트릭](#리소스-메트릭-파이프라인) 또는 [완전한 @@ -55,4 +55,4 @@ kubelet의 인증이 필요한 읽기 전용 포트 상의 `/metrics/resource/v1 CNCF 프로젝트인, [프로메테우스](https://prometheus.io)는 기본적으로 쿠버네티스, 노드, 프로메테우스 자체를 모니터링할 수 있다. CNCF 프로젝트가 아닌 완전한 메트릭 파이프라인 프로젝트는 쿠버네티스 문서의 범위가 아니다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md b/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md index 639668b3f9..8f821c7cf5 100644 --- a/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md +++ b/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md @@ -1,25 +1,26 @@ --- title: 컨테이너를 위한 커맨드와 인자 정의하기 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 본 페이지는 {{< glossary_tooltip text="파드" term_id="pod" >}} 안에서 컨테이너를 실행할 때 커맨드와 인자를 정의하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 파드를 생성할 때 커맨드와 인자를 정의하기 @@ -145,14 +146,15 @@ EntryPoint 값과 기본 Cmd 값이 덮어쓰여진다. `command`가 `args` 값 | `[/ep-1]` | `[foo bar]` | `[/ep-2]` | `[zoo boo]` | `[ep-2 zoo boo]` | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [파드와 컨테이너를 구성하는 방법](/ko/docs/tasks/)에 대해 더 알아본다. * [컨테이너 안에서 커맨드를 실행하는 방법](/docs/tasks/debug-application-cluster/get-shell-running-container/)에 대해 더 알아본다. * [컨테이너](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)를 확인한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md index 5cdf78075c..21fcf9e9c2 100644 --- a/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -1,25 +1,26 @@ --- title: 컨테이너를 위한 환경 변수 정의하기 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 본 페이지는 쿠버네티스 파드의 컨테이너를 위한 환경 변수를 정의하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 컨테이너를 위한 환경 변수 정의하기 @@ -109,12 +110,12 @@ spec: 컨테이너가 생성되면, `echo Warm greetings to The Most Honorable Kubernetes` 커맨드가 컨테이너에서 실행된다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [환경 변수](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)에 대해 알아본다. * [시크릿을 환경 변수로 사용하기](/docs/user-guide/secrets/#using-secrets-as-environment-variables)에 대해 알아본다. * [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core)를 확인한다. -{{% /capture %}} \ No newline at end of file diff --git a/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md b/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md index aaa75feab7..01d6d8331e 100644 --- a/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md @@ -1,11 +1,11 @@ --- -content_template: templates/concept +content_type: concept title: GPU 스케줄링 --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.10" >}} @@ -15,10 +15,10 @@ title: GPU 스케줄링 이 페이지는 다른 쿠버네티스 버전 간에 걸쳐 사용자가 GPU들을 소비할 수 있는 방법과 현재의 제약 사항을 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 디바이스 플러그인 사용하기 @@ -216,4 +216,4 @@ spec: 이것은 파드가 사용자가 지정한 GPU 타입을 가진 노드에 스케줄 되도록 만든다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md b/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md index da73445d78..7c81129176 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md @@ -1,27 +1,28 @@ --- title: 구성 파일을 이용한 쿠버네티스 오브젝트의 선언형 관리 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 쿠버네티스 오브젝트는 여러 개의 오브젝트 구성 파일을 디렉터리에 저장하고 필요에 따라 `kubectl apply`를 사용하여 재귀적으로 오브젝트를 생성하고 업데이트함으로써 생성, 업데이트 및 삭제할 수 있다. 이 방식은 변경사항을 되돌려 오브젝트 구성 파일에 병합하지 않고 활성 오브젝트에 가해진 기록을 유지한다. `kubectl diff`는 또한 `apply`가 어떠한 변경사항을 이루어질지에 대한 프리뷰를 제공한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)를 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 트레이드 오프 @@ -997,9 +998,10 @@ template: controller-selector: "apps/v1/deployment/nginx" ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [명령형 커맨드 사용하여 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/) * [구성 파일 사용하여 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/) * [Kubectl 명령어 참조](/docs/reference/generated/kubectl/kubectl/) * [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md index 7f2d17ca5f..47089a10dc 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md @@ -1,23 +1,24 @@ --- title: 명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 쿠버네티스 오브젝트는 `kubectl` 커맨드 라인 툴 속에 내장된 명령형 커맨드를 이용함으로써 바로 신속하게 생성, 업데이트 및 삭제할 수 있다. 이 문서는 어떻게 커맨드가 구성되어 있으며, 이를 사용하여 활성 오브젝트를 어떻게 관리하는 지에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 트레이드 오프 @@ -159,11 +160,12 @@ kubectl create --edit -f /tmp/srv.yaml 1. `kubectl create service` 커맨드는 서비스에 대한 구성을 생성하고 이를 `/tmp/srv.yaml`에 저장한다. 1. `kubectl create --edit` 커맨드는 오브젝트를 생성하기 전에 편집을 위해 구성파일을 열어준다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [오브젝트 구성을 이용하여 쿠버네티스 관리하기(명령형)](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/) * [오브젝트 구성을 이용하여 쿠버네티스 관리하기(선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/) * [Kubectl 커맨드 참조](/docs/reference/generated/kubectl/kubectl/) * [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md index 3fdd8ad12d..ca6d1de04d 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md @@ -1,24 +1,25 @@ --- title: 구성파일을 이용한 명령형 쿠버네티스 오브젝트 관리 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 쿠버네티스 오브젝트는 YAML 또는 JSON으로 작성된 오프젝트 구성파일과 함께 `kubectl` 커맨드 라인 툴을 이용하여 생성, 업데이트 및 삭제할 수 있다. 이 문서는 구성파일을 이용하여 어떻게 오브젝트를 정의하고 관리할 수 있는지에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 트레이드 오프 @@ -142,11 +143,12 @@ template: controller-selector: "apps/v1/deployment/nginx" ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/) * [오브젝트 구성을 이용하여 쿠버네티스 오브젝트 관리하기 (선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/) * [Kubectl 커멘드 참조](/docs/reference/generated/kubectl/kubectl/) * [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md index 87ca926908..b51a3ea49e 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md @@ -1,10 +1,10 @@ --- title: Kustomize를 이용한 쿠버네티스 오브젝트의 선언형 관리 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + [Kustomize](https://github.com/kubernetes-sigs/kustomize)는 [kustomization 파일](https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#kustomization)을 @@ -24,17 +24,18 @@ kubectl kustomize kubectl apply -k ``` -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Kustomize 개요 @@ -825,13 +826,14 @@ deployment.apps "dev-my-nginx" deleted | configurations | []string | 이 리스트 내 각각의 항목은 [Kustomize 변환 설정](https://github.com/kubernetes-sigs/kustomize/tree/master/examples/transformerconfigs)을 포함하는 파일로 해석되어져야 한다 | | crds | []string | 이 리스트 내 각각의 항목은 쿠버네티스 타입에 대한 OpenAPI 정의 파일로 해석되어져야 한다 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kustomize](https://github.com/kubernetes-sigs/kustomize) * [Kubectl Book](https://kubectl.docs.kubernetes.io) * [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/) * [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/network/validate-dual-stack.md b/content/ko/docs/tasks/network/validate-dual-stack.md index c86948142e..0bbb20b99d 100644 --- a/content/ko/docs/tasks/network/validate-dual-stack.md +++ b/content/ko/docs/tasks/network/validate-dual-stack.md @@ -1,14 +1,15 @@ --- min-kubernetes-server-version: v1.16 title: IPv4/IPv6 이중 스택 검증 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 이 문서는 IPv4/IPv6 이중 스택이 활성화된 쿠버네티스 클러스터들을 어떻게 검증하는지 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 이중 스택 네트워킹을 위한 제공자 지원 (클라우드 제공자 또는 기타 제공자들은 라우팅 가능한 IPv4/IPv6 네트워크 인터페이스를 제공하는 쿠버네티스 노드들을 제공해야 한다.) * 이중 스택을 지원하는 [네트워크 플러그인](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) (예. Kubenet 또는 Calico) @@ -17,9 +18,9 @@ content_template: templates/task {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 어드레싱 검증 @@ -155,4 +156,4 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S my-service ClusterIP fe80:20d::d06b 2001:db8:f100:4002::9d37:c0d7 80:31868/TCP 30s ``` -{{% /capture %}} + diff --git a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index b36f773884..fdf1f75411 100644 --- a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -1,10 +1,10 @@ --- title: Horizontal Pod Autoscaler 연습 -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + Horizontal Pod Autoscaler는 CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭)을 관찰하여 @@ -12,11 +12,12 @@ CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭 이 문서는 php-apache 서버를 대상으로 Horizontal Pod Autoscaler를 동작해보는 예제이다. Horizontal Pod Autoscaler 동작과 관련된 더 많은 정보를 위해서는 [Horizontal Pod Autoscaler 사용자 가이드](/ko/docs/tasks/run-application/horizontal-pod-autoscale/)를 참고하기 바란다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 예제는 버전 1.2 또는 이상의 쿠버네티스 클러스터와 kubectl을 필요로 한다. [메트릭-서버](https://github.com/kubernetes-incubator/metrics-server/) 모니터링을 클러스터에 배포하여 리소스 메트릭 API를 통해 메트릭을 제공해야 한다. @@ -30,9 +31,9 @@ Horizontal Pod Autoscaler에 다양한 자원 메트릭을 적용하고자 하 버전 1.10 또는 이상의 쿠버네티스 클러스터와 kubectl을 사용해야 하며, 외부 메트릭 API와 통신이 가능해야 한다. 자세한 사항은 [Horizontal Pod Autoscaler 사용자 가이드](/ko/docs/tasks/run-application/horizontal-pod-autoscale/#사용자-정의-메트릭을-위한-지원)를 참고하길 바란다. -{{% /capture %}} -{{% capture steps %}} + + ## php-apache 서버 구동 및 노출 @@ -175,9 +176,9 @@ CPU 사용량은 0으로 떨어졌고, HPA는 레플리카의 개수를 1로 낮 레플리카 오토스케일링은 몇 분 정도 소요된다. {{< /note >}} -{{% /capture %}} -{{% capture discussion %}} + + ## 다양한 메트릭 및 사용자 정의 메트릭을 기초로한 오토스케일링 @@ -481,4 +482,4 @@ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml horizontalpodautoscaler.autoscaling/php-apache created ``` -{{% /capture %}} + diff --git a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md index 607d91a844..c242695165 100644 --- a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -5,11 +5,11 @@ feature: description: > 간단한 명령어나 UI를 통해서 또는 CPU 사용량에 따라 자동으로 애플리케이션의 스케일을 업 또는 다운한다. -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Horizontal Pod Autoscaler는 CPU 사용량 (또는 [사용자 정의 메트릭](https://git.k8s.io/community/contributors/design-proposals/instrumentation/custom-metrics-api.md), @@ -22,10 +22,10 @@ Horizontal Pod Autoscaler는 쿠버네티스 API 리소스 및 컨트롤러로 컨트롤러는 관찰된 평균 CPU 사용률이 사용자가 지정한 대상과 일치하도록 레플리케이션 컨트롤러 또는 디플로이먼트에서 레플리카 개수를 주기적으로 조정한다. -{{% /capture %}} -{{% capture body %}} + + ## Horizontal Pod Autoscaler는 어떻게 작동하는가? @@ -436,12 +436,12 @@ behavior: selectPolicy: Disabled ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 디자인 문서: [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md). * kubectl 오토스케일 커맨드: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale). * [Horizontal Pod Autoscaler](/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/)의 사용 예제. -{{% /capture %}} \ No newline at end of file diff --git a/content/ko/docs/tasks/tools/install-kubectl.md b/content/ko/docs/tasks/tools/install-kubectl.md index 7754978e42..554ae3fe43 100644 --- a/content/ko/docs/tasks/tools/install-kubectl.md +++ b/content/ko/docs/tasks/tools/install-kubectl.md @@ -1,6 +1,6 @@ --- title: kubectl 설치 및 설정 -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -8,15 +8,16 @@ card: title: kubectl 설치 --- -{{% capture overview %}} + 쿠버네티스 커맨드 라인 도구인 [kubectl](/docs/user-guide/kubectl/)을 사용하면, 쿠버네티스 클러스터에 대해 명령을 실행할 수 있다. kubectl을 사용하여 애플리케이션을 배포하고, 클러스터 리소스를 검사 및 관리하며 로그를 볼 수 있다. kubectl 작업의 전체 목록에 대해서는, [kubectl 개요](/docs/reference/kubectl/overview/)를 참고한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 클러스터의 마이너(minor) 버전 차이 내에 있는 kubectl 버전을 사용해야 한다. 예를 들어, v1.2 클라이언트는 v1.1, v1.2 및 v1.3의 마스터와 함께 작동해야 한다. 최신 버전의 kubectl을 사용하면 예기치 않은 문제를 피할 수 있다. -{{% /capture %}} -{{% capture steps %}} + + ## 리눅스에 kubectl 설치 @@ -503,12 +504,13 @@ compinit {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Minikube 설치](/ko/docs/tasks/tools/install-minikube/) * 클러스터 생성에 대한 자세한 내용은 [시작하기](/ko/docs/setup/)를 참고한다. * [애플리케이션을 시작하고 노출하는 방법에 대해 배운다.](/docs/tasks/access-application-cluster/service-access-application-cluster/) * 직접 생성하지 않은 클러스터에 접근해야하는 경우, [클러스터 접근 공유 문서](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)를 참고한다. * [kubectl 레퍼런스 문서](/docs/reference/kubectl/kubectl/) 읽기 -{{% /capture %}} + diff --git a/content/ko/docs/tasks/tools/install-minikube.md b/content/ko/docs/tasks/tools/install-minikube.md index 41ff7092ec..56fce69ec2 100644 --- a/content/ko/docs/tasks/tools/install-minikube.md +++ b/content/ko/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Minikube 설치 -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + 이 페이지는 단일 노드 쿠버네티스 클러스터를 노트북의 가상 머신에서 구동하는 도구인 [Minikube](/ko/docs/tutorials/hello-minikube)의 설치 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="리눅스" %}} @@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # minikube 설치하기 @@ -200,13 +201,14 @@ Minikube 설치를 마친 후, 현재 CLI 세션을 닫고 재시작한다. Mini {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Minikube로 로컬에서 쿠버네티스 실행하기](/docs/setup/minikube/) -{{% /capture %}} + ## 설치 확인 diff --git a/content/ko/docs/tutorials/_index.md b/content/ko/docs/tutorials/_index.md index c279a84c1b..7a3ca934e0 100644 --- a/content/ko/docs/tutorials/_index.md +++ b/content/ko/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: 튜토리얼 main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스 문서의 본 섹션은 튜토리얼을 포함하고 있다. 튜토리얼은 개별 [작업](/ko/docs/tasks) 단위보다 더 큰 목표를 달성하기 @@ -14,9 +14,9 @@ content_template: templates/concept 각 튜토리얼을 따라하기 전에, 나중에 참조할 수 있도록 [표준 용어집](/ko/docs/reference/glossary/) 페이지를 북마크하기를 권한다. -{{% /capture %}} -{{% capture body %}} + + ## 기초 @@ -64,13 +64,14 @@ content_template: templates/concept * [소스 IP 주소 이용하기](/ko/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 튜토리얼을 작성하고 싶다면, 튜토리얼 페이지 유형과 튜토리얼 템플릿에 대한 정보가 있는 [Using Page Templates](/docs/home/contribute/page-templates/) 페이지를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/clusters/apparmor.md b/content/ko/docs/tutorials/clusters/apparmor.md index 59de6a63f6..a168b521e1 100644 --- a/content/ko/docs/tutorials/clusters/apparmor.md +++ b/content/ko/docs/tutorials/clusters/apparmor.md @@ -1,10 +1,10 @@ --- reviewers: title: AppArmor -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.4" state="beta" >}} @@ -23,9 +23,10 @@ AppArmor를 이용하면 컨테이너가 수행할 수 있는 작업을 제한 애플리케이션 코드 취약점을 보호하기 위한 여러 조치를 할 수 있는 것 뿐임을 잊으면 안된다. 양호하고 제한적인 프로파일을 제공하고, 애플리케이션과 클러스터를 여러 측면에서 강화하는 것이 중요하다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 노드에 프로파일을 어떻게 적재하는지 예시를 본다. * 파드(Pod)에 프로파일을 어떻게 강제 적용하는지 배운다. @@ -33,9 +34,10 @@ AppArmor를 이용하면 컨테이너가 수행할 수 있는 작업을 제한 * 프로파일을 위반하는 경우를 살펴본다. * 프로파일을 적재할 수 없을 경우를 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 다음을 보장해야 한다. @@ -110,9 +112,9 @@ gke-test-default-pool-239f5d02-x1kf: kubelet is posting ready status. AppArmor e gke-test-default-pool-239f5d02-xwux: kubelet is posting ready status. AppArmor enabled ``` -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 파드 보안 강화하기 {#securing-a-pod} @@ -457,13 +459,14 @@ AppArmor 로그는 `dmesg`에서 보이며, 오류는 보통 시스템 로그나 - 비록 이스케이프된 쉼표(%2C ',')도 프로파일 이름에서 유효한 문자이지만 여기에서 명시적으로 허용하지 않는다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 참고 자료 * [퀵 가이드 AppArmor 프로파일 언어](https://gitlab.com/apparmor/apparmor/wikis/QuickProfileLanguage) * [AppArmor 코어 정책 참고](https://gitlab.com/apparmor/apparmor/wikis/Policy_Layout) -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md index bcc2543340..340ea6431f 100644 --- a/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -1,15 +1,16 @@ --- title: 컨피그 맵을 사용해서 Redis 설정하기 -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + 이 페이지에서는 컨피그 맵을 사용해서 Redis를 설정하는 방법에 대한 실세계 예제를 제공하고, [컨피그 맵을 사용해서 컨테이너 설정하기](/docs/tasks/configure-pod-container/configure-pod-configmap/) 태스크로 빌드를 한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 다음을 포함하는 `kustomization.yaml` 파일을 생성한다. * 컨피그 맵 생성자 @@ -17,18 +18,19 @@ content_template: templates/tutorial * `kubectl apply -k ./`를 실행하여 작업한 디렉토리를 적용한다. * 구성이 잘 적용되었는지 확인한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * 예시는 `kubectl` 1.14 이상 버전에서 동작한다. * [컨피그 맵을 사용해서 컨테이너 설정하기](/docs/tasks/configure-pod-container/configure-pod-configmap/)를 이해한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 실세상 예제: 컨피그 맵을 사용해서 Redis 설정하기 @@ -102,12 +104,13 @@ kubectl exec -it redis redis-cli kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨피그 맵](/docs/tasks/configure-pod-container/configure-pod-configmap/) 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/hello-minikube.md b/content/ko/docs/tutorials/hello-minikube.md index 3a843087eb..4516124573 100644 --- a/content/ko/docs/tutorials/hello-minikube.md +++ b/content/ko/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + 이 튜토리얼에서는 [Minikube](/ko/docs/setup/learning-environment/minikube)와 Katacoda를 이용하여 쿠버네티스에서 샘플 애플리케이션을 어떻게 실행하는지 살펴본다. @@ -23,23 +23,25 @@ Katacode는 무료로 브라우저에서 쿠버네티스 환경을 제공한다. [로컬에서 Minikube](/ko/docs/tasks/tools/install-minikube/)를 설치했다면 이 튜토리얼도 따라 할 수 있다. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 샘플 애플리케이션을 Minikube에 배포한다. * 배포한 애플리케이션을 실행한다. * 애플리케이션의 로그를 확인한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 튜토리얼은 NGINX를 사용해서 모든 요청에 응답하는 컨테이너 이미지를 제공한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Minikubue 클러스터 만들기 @@ -267,12 +269,13 @@ minikube stop minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [디플로이먼트 오브젝트](/ko/docs/concepts/workloads/controllers/deployment/)에 대해서 더 배워 본다. * [애플리케이션 배포](/docs/tasks/run-application/run-stateless-application-deployment/)에 대해서 더 배워 본다. * [서비스 오브젝트](/ko/docs/concepts/services-networking/service/)에 대해서 더 배워 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/services/source-ip.md b/content/ko/docs/tutorials/services/source-ip.md index 11af03664d..4917fa5042 100644 --- a/content/ko/docs/tutorials/services/source-ip.md +++ b/content/ko/docs/tutorials/services/source-ip.md @@ -1,19 +1,20 @@ --- title: 소스 IP 주소 이용하기 -content_template: templates/tutorial +content_type: tutorial min-kubernetes-server-version: v1.5 --- -{{% capture overview %}} + 쿠버네티스 클러스터에서 실행 중인 애플리케이션은 서로 간에 외부 세계와 서비스 추상화를 통해 찾고 통신한다. 이 문서는 다른 종류의 서비스로 보내진 패킷의 소스 IP 주소에 어떤 일이 벌어지는지와 이 동작을 요구에 따라 토글할 수 있는지 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + ### 용어 @@ -54,18 +55,19 @@ kubectl create deployment source-ip-app --image=k8s.gcr.io/echoserver:1.4 deployment.apps/source-ip-app created ``` -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 간단한 애플리케이션을 다양한 서비스 종류로 노출하기 * 각 서비스 유형에 따른 소스 IP NAT 의 동작 이해하기 * 소스 IP 주소 보존에 관한 절충 사항 이해 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## `Type=ClusterIP` 인 서비스에서 소스 IP @@ -423,9 +425,10 @@ HTTP [Forwarded]](https://tools.ietf.org/html/rfc7239#section-5.2) HTTP 헬스 체크를 생성하여 위에서 설명한 기능을 활용할 수 있다. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 서비스를 삭제한다. @@ -439,10 +442,11 @@ kubectl delete svc -l run=source-ip-app kubectl delete deployment source-ip-app ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스를 통한 애플리케이션 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/)에 더 자세히 본다. * 어떻게 [외부 로드밸런서 생성](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/)하는지 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md b/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md index f5d3cf7b5c..10e7aa7683 100644 --- a/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md +++ b/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md @@ -1,17 +1,18 @@ --- reviewers: title: 스테이트풀셋 기본 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + 이 튜토리얼은 스테이트풀셋([StatefulSets](/ko/docs/concepts/workloads/controllers/statefulset/))을 이용하여 애플리케이션을 관리하는 방법을 소개한다. 어떻게 스테이트풀셋의 파드(Pod)을 생성하고 삭제하며 스케일링하고 업데이트하는지 시연한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 튜토리얼을 시작하기 전에 다음의 쿠버네티스 컨셉에 대해 익숙해야 한다. @@ -27,9 +28,10 @@ weight: 10 설정되었다고 가정한다. 만약 클러스터가 이렇게 설정되어 있지 않다면, 튜토리얼 시작 전에 수동으로 2개의 1 GiB 볼륨을 프로비저닝해야 한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 스테이트풀셋은 상태 유지가 필요한(stateful) 애플리케이션과 분산시스템에서 이용하도록 의도했다. 그러나 쿠버네티스 상에 스테이트풀 애플리케이션과 분산시스템을 관리하는 것은 광범위하고 복잡한 주제이다. 스테이트풀셋의 기본 기능을 보여주기 위해 @@ -43,9 +45,9 @@ weight: 10 * 스테이트풀셋을 어떻게 삭제하는지 * 스테이트풀셋은 어떻게 스케일링하는지 * 스테이트풀셋의 파드는 어떻게 업데이트하는지 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 스테이트풀셋 생성하기 아래 예제를 이용해서 스테이트풀셋을 생성하자. 이는 @@ -1026,13 +1028,14 @@ web-3 0/1 Terminating 0 9m ```shell kubectl delete svc nginx ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 이 튜토리얼에서 사용된 퍼시턴트볼륨을 위한 퍼시스턴트 스토리지 미디어를 삭제해야 한다. 모든 스토리지를 반환하도록 환경, 스토리지 설정과 프로비저닝 방법에 따른 단계를 따르자. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/cassandra.md b/content/ko/docs/tutorials/stateful-application/cassandra.md index 6ba3feeab5..f67516cb80 100644 --- a/content/ko/docs/tutorials/stateful-application/cassandra.md +++ b/content/ko/docs/tutorials/stateful-application/cassandra.md @@ -1,11 +1,11 @@ --- title: "예시: 카산드라를 스테이트풀셋으로 배포하기" reviewers: -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + 이 튜토리얼은 쿠버네티스에서 [아파치 카산드라](http://cassandra.apache.org/)를 실행하는 방법을 소개한다. 데이터베이스인 카산드라는 데이터 내구성을 제공하기 위해 퍼시스턴트 스토리지가 필요하다(애플리케이션 _상태_). 이 예제에서 사용자 지정 카산드라 시드 공급자는 카산드라가 클러스터에 가입할 때 카산드라가 인스턴스를 검색할 수 있도록 한다. *스테이트풀셋* 은 상태있는 애플리케이션을 쿠버네티스 클러스터에 쉽게 배포할 수 있게 한다. 이 튜토리얼에서 이용할 기능의 자세한 정보는 [스테이트풀셋](/ko/docs/concepts/workloads/controllers/statefulset/)을 참조한다. @@ -23,17 +23,19 @@ weight: 30 파드를 검색할 수 있는 사용자 지정 카산드라 시드 공급자를 배포한다. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 카산드라 헤드리스 {{< glossary_tooltip text="Service" term_id="service" >}}를 생성하고 검증한다. * {{< glossary_tooltip term_id="StatefulSet" >}}을 이용하여 카산드라 링을 생성한다. * 스테이트풀셋을 검증한다. * 스테이트풀셋을 수정한다. * 스테이트풀셋과 포함된 {{< glossary_tooltip text="파드" term_id="pod" >}}를 삭제한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 튜토리얼을 완료하려면, [파드](/ko/docs/concepts/workloads/pods/pod/), [서비스](/ko/docs/concepts/services-networking/service/), [스테이트풀셋](/ko/docs/concepts/workloads/controllers/statefulset/)의 기본 개념에 친숙해야한다. 추가로 * *kubectl* 커맨드라인 도구를 [설치와 설정](/docs/tasks/tools/install-kubectl/)하자. @@ -57,9 +59,9 @@ minikube start --memory 5120 --cpus=4 ``` {{< /caution >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 카산드라를 위한 헤드리스 서비스 생성하기 {#creating-a-cassandra-headless-service} 쿠버네티스 에서 {{< glossary_tooltip text="서비스" term_id="service" >}}는 동일 작업을 수행하는 {{< glossary_tooltip text="파드" term_id="pod" >}}의 집합을 기술한다. @@ -228,9 +230,10 @@ kubectl apply -f cassandra-statefulset.yaml cassandra 4 4 36m ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 스테이트풀셋을 삭제하거나 스케일링하는 것은 스테이트풀셋에 연관된 볼륨을 삭제하지 않는다. 당신의 데이터가 스테이트풀셋의 관련된 모든 리소스를 자동으로 제거하는 것보다 더 가치있기에 이 설정은 당신의 안전을 위한 것이다. {{< warning >}} @@ -270,12 +273,13 @@ kubectl apply -f cassandra-statefulset.yaml | `CASSANDRA_RPC_ADDRESS` | `0.0.0.0` | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 어떻게 [스테이트풀셋 스케일](/docs/tasks/run-application/scale-stateful-set/)하는지 살펴본다. * [*쿠버네티스시드제공자*](https://github.com/kubernetes/examples/blob/master/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java)에 대해 더 살펴본다. * 커스텀 [시드 제공자 설정](https://git.k8s.io/examples/cassandra/java/README.md)를 살펴본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index 6176a3457d..d4891dbe39 100644 --- a/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -1,7 +1,7 @@ --- title: "예시: WordPress와 MySQL을 퍼시스턴트 볼륨에 배포하기" reviewers: -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -9,7 +9,7 @@ card: title: "스테이트풀셋 예시: Wordpress와 퍼시스턴트 볼륨" --- -{{% capture overview %}} + 이 튜토리얼은 WordPress 사이트와 MySQL 데이터베이스를 Minikube를 이용하여 어떻게 배포하는지 보여준다. 애플리케이션 둘 다 퍼시스턴트 볼륨과 퍼시스턴트볼륨클레임을 데이터를 저장하기 위해 사용한다. [퍼시스턴트볼륨](/ko/docs/concepts/storage/persistent-volumes/)(PV)는 관리자가 수동으로 프로비저닝한 클러스터나 쿠버네티스 [스토리지클래스](/docs/concepts/storage/storage-classes)를 이용해 동적으로 프로비저닝된 저장소의 일부이다. [퍼시스턴트볼륨클레임](/ko/docs/concepts/storage/persistent-volumes/#퍼시스턴트볼륨클레임)(PVC)은 PV로 충족할 수 있는 사용자에 의한 스토리지 요청이다. 퍼시스턴트볼륨은 파드 라이프사이클과 독립적이며 재시작, 재스케줄링이나 파드를 삭제할 때에도 데이터를 보존한다. @@ -22,9 +22,10 @@ card: 이 튜토리얼에 제공된 파일들은 GA 디플로이먼트 API를 사용하며 쿠버네티스 버전 1.9 이상을 이용한다. 이 튜토리얼을 쿠버네티스 하위 버전에서 적용한다면 API 버전을 적절히 갱신하거나 이 튜토리얼의 이전 버전을 참고하자. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 퍼시스턴트볼륨클레임과 퍼시스턴트볼륨 생성 * 다음을 포함하는 `kustomization.yaml` 생성 * 시크릿 생성자 @@ -33,9 +34,10 @@ card: * `kubectl apply -k ./`로 생성한 kustomization 을 적용 * 정리 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 이 예시는 `kubectl` 1.14 이상 버전에서 동작한다. @@ -46,9 +48,9 @@ card: 1. [wordpress-deployment.yaml](/examples/application/wordpress/wordpress-deployment.yaml) -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 퍼시스턴트볼륨클레임과 퍼시스턴트볼륨 생성 @@ -217,9 +219,10 @@ kubectl apply -k ./ 이 페이지의 WordPress 설치를 내버려 두지 말자. 다른 사용자가 이 페이지를 발견하고 귀하의 인스턴스에 웹 사이트를 설정하고 악의적인 컨텐츠를 게시하는데 사용할 수 있다.

    WordPress를 사용자명과 암호를 넣어 생성하거나 인스턴스를 삭제하자. {{< /warning >}} -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 1. 다음 명령을 실행하여 시크릿, 디플로이먼트, 서비스와 퍼시스턴트볼륨클레임을 삭제하자. @@ -227,14 +230,15 @@ kubectl apply -k ./ kubectl delete -k ./ ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [인트로스펙션과 디버깅](/docs/tasks/debug-application-cluster/debug-application-introspection/)를 알아보자. * [잡](/ko/docs/concepts/workloads/controllers/jobs-run-to-completion/)를 알아보자. * [포트 포워딩](/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster/)를 알아보자. * 어떻게 [컨테이너에서 셸을 사용하는지](/docs/tasks/debug-application-cluster/get-shell-running-container/)를 알아보자. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/zookeeper.md b/content/ko/docs/tutorials/stateful-application/zookeeper.md index dd7a850134..5770bbadf1 100644 --- a/content/ko/docs/tutorials/stateful-application/zookeeper.md +++ b/content/ko/docs/tutorials/stateful-application/zookeeper.md @@ -1,17 +1,18 @@ --- title: 분산 시스템 코디네이터 ZooKeeper 실행하기 -content_template: templates/tutorial +content_type: tutorial weight: 40 --- -{{% capture overview %}} + 이 튜토리얼은 [아파치 ZooKeeper](https://zookeeper.apache.org) 쿠버네티스에서 [스테이트풀셋](/ko/docs/concepts/workloads/controllers/statefulset/)과 [파드디스룹선버짓(PodDisruptionBudget)](/ko/docs/concepts/workloads/pods/disruptions/#specifying-a-poddisruptionbudget)과 [파드안티어피니티(PodAntiAffinity)](/ko/docs/user-guide/node-selection/#파드간-어피니티와-안티-어피니티)를 이용한 [Apache Zookeeper](https://zookeeper.apache.org) 실행을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 튜토리얼을 시작하기 전에 다음 쿠버네티스 개념에 친숙해야 한다. @@ -32,18 +33,19 @@ weight: 40 그렇게 설정되어 있지 않다면 튜토리얼을 시작하기 전에 수동으로 3개의 20 GiB 볼륨을 프로비저닝해야 한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 이 튜토리얼을 마치면 다음에 대해 알게 된다. - 어떻게 스테이트풀셋을 이용하여 ZooKeeper 앙상블을 배포하는가. - 어떻게 지속적해서 컨피그맵을 이용해서 앙상블을 설정하는가. - 어떻게 ZooKeeper 서버 디플로이먼트를 앙상블 안에서 퍼뜨리는가. - 어떻게 파드디스룹션버짓을 이용하여 계획된 점검 기간 동안 서비스 가용성을 보장하는가. - {{% /capture %}} + -{{% capture lessoncontent %}} + ### ZooKeeper 기본 {#zookeeper-basics} @@ -1082,14 +1084,15 @@ node "kubernetes-node-ixsl" uncordoned ``` `kubectl drain`을 `PodDisruptionBudget`과 결합하면 유지보수 중에도 서비스를 가용하게 할 수 있다. drain으로 노드를 통제하고 유지보수를 위해 노드를 오프라인하기 전에 파드를 추출하기 위해 사용한다면 서비스는 혼란 예산을 표기한 서비스는 그 예산이 존중은 존중될 것이다. 파드가 즉각적으로 재스케줄 할 수 있도록 항상 중요 서비스를 위한 추가 용량을 할당해야 한다. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + - `kubectl uncordon`은 클러스터 내에 모든 노드를 통제 해제한다. - 이 튜토리얼에서 사용한 퍼시스턴트 볼륨을 위한 퍼시스턴트 스토리지 미디어를 삭제하자. 귀하의 환경과 스토리지 구성과 프로비저닝 방법에서 필요한 절차를 따라서 모든 스토리지가 재확보되도록 하자. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md b/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md index 0f7360273e..291cceba26 100644 --- a/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md +++ b/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md @@ -1,18 +1,19 @@ --- title: 외부 IP 주소를 노출하여 클러스터의 애플리케이션에 접속하기 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + 이 페이지에서는 외부 IP 주소를 노출하는 쿠버네티스 서비스 오브젝트를 생성하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * [kubectl](/docs/tasks/tools/install-kubectl/)을 설치한다. @@ -24,19 +25,20 @@ weight: 10 * `kubectl`이 쿠버네티스 API 서버와 통신하도록 설정한다. 자세한 내용은 클라우드 공급자의 설명을 참고한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Hello World 애플리케이션을 다섯 개의 인스턴스로 실행한다. * 외부 IP 주소를 노출하는 서비스를 생성한다. * 실행 중인 애플리케이션에 접근하기 위해 서비스 오브젝트를 사용한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 다섯 개의 파드에서 실행되는 애플리케이션에 대한 서비스 만들기 @@ -148,10 +150,11 @@ kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml Hello Kubernetes! -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 서비스를 삭제하려면, 아래의 명령어를 입력한다. @@ -162,11 +165,12 @@ Hello World 애플리케이션을 실행 중인 디플로이먼트, 레플리카 kubectl delete deployment hello-world -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [애플리케이션과 서비스 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/)에 대해 더 배워 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md b/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md index a72d694e10..b37497b9bf 100644 --- a/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md +++ b/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md @@ -1,7 +1,7 @@ --- title: "예제: PHP / Redis 방명록 예제에 로깅과 메트릭 추가" reviewers: -content_template: templates/tutorial +content_type: tutorial weight: 21 card: name: tutorials @@ -9,7 +9,7 @@ card: title: "예제: PHP / Redis 방명록 예제에 로깅과 메트릭 추가" --- -{{% capture overview %}} + 이 튜토리얼은 [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook) 튜토리얼을 기반으로 한다. Elastic의 경량 로그, 메트릭, 네트워크 데이터 오픈소스 배송기인 *Beats* 를 방명록과 동일한 쿠버네티스 클러스터에 배포한다. Beats는 데이터를 수집하고 구문분석하여 Elasticsearch에 색인화하므로, Kibana에서 동작 정보를 결과로 보며 분석할 수 있다. 이 예시는 다음과 같이 구성되어 있다. * [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook)을 실행한 인스턴스 @@ -18,17 +18,19 @@ card: * Metricbeat * Packetbeat -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Redis를 이용한 PHP 방명록 시작. * kube-state-metrics 설치. * 쿠버네티스 시크릿 생성. * Beats 배포. * 로그와 메트릭의 대시보드 보기. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -39,9 +41,9 @@ card: * 실행 중인 Elasticsearch와 Kibana 디플로이먼트. [Elastic Cloud의 Elasticsearch 서비스](https://cloud.elastic.co)를 사용하거나, [파일을 내려받아](https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html) 워크스테이션이나 서버에서 운영하거나, [Elastic의 Helm 차트](https://github.com/elastic/helm-charts)를 이용한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Redis를 이용한 PHP 방명록 시작 이 튜토리얼은 [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook)을 기반으로 한다. 방명록 애플리케이션을 실행 중이라면, 이를 모니터링할 수 있다. 실행되지 않은 경우라면 지침을 따라 방명록을 배포하고 **정리하기** 단계는 수행하지 말자. 방명록을 실행할 때 이 페이지로 돌아오자. @@ -365,9 +367,10 @@ kubectl scale --replicas=3 deployment/frontend 스크린 캡처를 확인하여, 표시된 필터를 추가하고 해당 열을 뷰에 추가한다. ScalingReplicaSet 항목이 표시되고, 여기에서 이벤트 목록의 맨 위에 풀링되는 이미지, 마운트된 볼륨, 파드 시작 등을 보여준다. ![Kibana 디스커버리](https://raw.githubusercontent.com/elastic/examples/master/beats-k8s-send-anywhere/scaling-up.png) -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 디플로이먼트와 서비스를 삭제하면 실행중인 파드도 삭제된다. 한 커맨드로 여러 개의 리소스를 삭제하기 위해 레이블을 이용한다. 1. 다음 커맨드를 실행하여 모든 파드, 디플로이먼트, 서비스를 삭제한다. @@ -395,11 +398,12 @@ kubectl scale --replicas=3 deployment/frontend No resources found. ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [리소스 모니터링 도구](/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring/)를 공부한다. * [로깅 아키텍처](/docs/concepts/cluster-administration/logging/)를 더 읽어본다. * [애플리케이션 검사 및 디버깅](/ko/docs/tasks/debug-application-cluster/)을 더 읽어본다. * [애플리케이션 문제 해결](/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring/)을 더 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateless-application/guestbook.md b/content/ko/docs/tutorials/stateless-application/guestbook.md index 4753c83b93..bf91733f9b 100644 --- a/content/ko/docs/tutorials/stateless-application/guestbook.md +++ b/content/ko/docs/tutorials/stateless-application/guestbook.md @@ -1,6 +1,6 @@ --- title: "예시: Redis를 사용한 PHP 방명록 애플리케이션 배포하기" -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -8,32 +8,34 @@ card: title: "상태를 유지하지 않는 예제: Redis를 사용한 PHP 방명록" --- -{{% capture overview %}} + 이 튜토리얼에서는 쿠버네티스와 [Docker](https://www.docker.com/)를 사용하여 간단한 멀티 티어 웹 애플리케이션을 빌드하고 배포하는 방법을 보여준다. 이 예제는 다음과 같은 구성으로 이루어져 있다. * 방명록을 저장하는 단일 인스턴스 [Redis](https://redis.io/) 마스터 * 읽기를 제공하는 여러 개의 [복제된 Redis](https://redis.io/topics/replication) 인스턴스 * 여러 개의 웹 프론트엔드 인스턴스 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Redis 마스터를 시작 * Redis 슬레이브를 시작 * 방명록 프론트엔드를 시작 * 프론트엔드 서비스를 노출하고 확인 * 정리 하기 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Redis 마스터를 실행하기 @@ -319,9 +321,10 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우 redis-slave-2005841000-phfv9 1/1 Running 0 1h ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 디플로이먼트 및 서비스를 삭제하면 실행 중인 모든 파드도 삭제된다. 레이블을 사용하여 하나의 명령어로 여러 자원을 삭제해보자. 1. 모든 파드, 디플로이먼트, 서비스를 삭제하기 위해 아래 명령어를 실행한다. @@ -356,13 +359,14 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우 No resources found. ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [ELK 로깅과 모니터링](/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk/)을 방명록 애플리케이션에 추가하기 * [쿠버네티스 기초](/ko/docs/tutorials/kubernetes-basics/) 튜토리얼을 완료 * [MySQL과 Wordpress을 위한 퍼시스턴트 볼륨](/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/#visit-your-new-wordpress-blog)을 사용하여 블로그 생성하는데 쿠버네티스 이용하기 * [애플리케이션 접속](/ko/docs/concepts/services-networking/connect-applications-service/)에 대해 더 알아보기 * [자원 관리](/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively)에 대해 더 알아보기 -{{% /capture %}} + From 79f2a8b407ceb6b2eb214d8db9b1638e6ae6441c Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:13:52 -0400 Subject: [PATCH 338/533] add pl pages --- content/pl/docs/concepts/_index.md | 15 +++++------ .../pl/docs/concepts/overview/components.md | 15 +++++------ .../docs/concepts/overview/kubernetes-api.md | 10 ++++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++------ content/pl/docs/contribute/_index.md | 10 ++++---- content/pl/docs/contribute/localization-pl.md | 10 ++++---- .../pl/docs/home/supported-doc-versions.md | 10 ++++---- content/pl/docs/reference/_index.md | 10 ++++---- content/pl/docs/reference/tools.md | 10 ++++---- content/pl/docs/setup/_index.md | 10 ++++---- content/pl/docs/tasks/_index.md | 15 +++++------ content/pl/docs/tutorials/_index.md | 15 +++++------ content/pl/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 13 files changed, 89 insertions(+), 81 deletions(-) diff --git a/content/pl/docs/concepts/_index.md b/content/pl/docs/concepts/_index.md index 3f147f5f43..f1eb3cd621 100644 --- a/content/pl/docs/concepts/_index.md +++ b/content/pl/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: Pojęcia main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Rozdział dotyczący pojęć ma za zadanie pomóc w zrozumieniu poszczególnych składowych systemu oraz obiektów abstrakcyjnych, których Kubernetes używa do reprezentacji {{< glossary_tooltip text="klastra" term_id="cluster" length="all" >}}, a także posłużyć do lepszego poznania działania całego systemu. -{{% /capture %}} -{{% capture body %}} + + ## Przegląd @@ -59,12 +59,13 @@ Przykładowo, kiedy używasz Kubernetes API do stworzenia Deploymentu, podajesz Węzły klastra to maszyny (wirtualne, fizyczne i in.), na których uruchamiane są aplikacje i inne zadania. Kubernetes master steruje każdym z węzłów — rzadko kiedy zachodzi konieczność bezpośredniej interakcji z węzłami. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Jeśli chcesz dodać stronę z nowym pojęciem, odwiedź [Jak używać szablonu strony](/docs/home/contribute/page-templates/) aby dowiedzieć się o tworzeniu stron opisujących pojęcia i o dostępnych szablonach. -{{% /capture %}} + diff --git a/content/pl/docs/concepts/overview/components.md b/content/pl/docs/concepts/overview/components.md index e3438b2b54..3dcc818d1f 100644 --- a/content/pl/docs/concepts/overview/components.md +++ b/content/pl/docs/concepts/overview/components.md @@ -1,13 +1,13 @@ --- title: Składniki Kubernetes -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + W wyniku instalacji Kubernetes otrzymujesz klaster. {{< glossary_definition term_id="cluster" length="all" prepend="Klaster Kubernetes to">}} @@ -17,9 +17,9 @@ W tym dokumencie opisujemy składniki niezbędne do zbudowania kompletnego, popr Poniższy rysunek przedstawia klaster Kubernetes i powiązania pomiędzy jego różnymi częściami składowymi. ![Składniki Kubernetes](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## Częsci składowe warstwy sterowania Komponenty warstwy sterowania podejmują ogólne decyzje dotyczące klastra (np. zlecanie zadań), a także wykrywają i reagują na zdarzenia w klastrze (przykładowo, start nowego {{< glossary_tooltip text="poda" term_id="pod">}}, kiedy wartość `replicas` dla deploymentu nie zgadza się z faktyczną liczbą replik). @@ -109,10 +109,11 @@ Kontenery uruchomione przez Kubernetes automatycznie przeszukują ten serwer DNS Mechanizm [logowania na poziomie klastra](/docs/concepts/cluster-administration/logging/) odpowiada za zapisywanie logów pochodzących z poszczególnych kontenerów do wspólnego magazynu, który posiada interfejs do przeglądania i przeszukiwania. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Więcej o [Węzłach](/docs/concepts/architecture/nodes/) * Więcej o [Kontrolerach](/docs/concepts/architecture/controller/) * Więcej o [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) * Oficjalna [dokumentacja](https://etcd.io/docs/) etcd -{{% /capture %}} + diff --git a/content/pl/docs/concepts/overview/kubernetes-api.md b/content/pl/docs/concepts/overview/kubernetes-api.md index 40dc3344b1..9126c6cfa3 100644 --- a/content/pl/docs/concepts/overview/kubernetes-api.md +++ b/content/pl/docs/concepts/overview/kubernetes-api.md @@ -1,13 +1,13 @@ --- title: API Kubernetes -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + Ogólne reguły dotyczące API opisane są w dokumentacji [API conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md). @@ -21,10 +21,10 @@ Kubernetes przechowuje także swój serializowany stan (obecnie w [etcd](https:/ Kubernetes jako taki składa się z wielu elementów składowych, które komunikują się ze sobą poprzez swoje API. -{{% /capture %}} -{{% capture body %}} + + ## Zmiany w API @@ -125,4 +125,4 @@ Przykładowo: aby włączyć deployments i daemonsets, ustaw {{< note >}}Włączanie i wyłączanie pojedynczych zasobów możliwe jest jedynie w ramach grupy API `extensions/v1beta1` z przyczyn historycznych{{< /note >}} -{{% /capture %}} + diff --git a/content/pl/docs/concepts/overview/what-is-kubernetes.md b/content/pl/docs/concepts/overview/what-is-kubernetes.md index 28a2e77ebc..fcb8f7714c 100644 --- a/content/pl/docs/concepts/overview/what-is-kubernetes.md +++ b/content/pl/docs/concepts/overview/what-is-kubernetes.md @@ -2,18 +2,18 @@ title: Kubernetes — co to jest? description: > Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach. Umożliwia ich deklaratywną konfigurację i automatyzację. Kubernetes posiada duży i dynamicznie rozwijający się ekosystem. Szeroko dostępne są serwisy, wsparcie i dodatkowe narzędzia. -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Na tej stronie znajdziesz ogólne informacje o Kubernetesie. -{{% /capture %}} -{{% capture body %}} + + Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach, która umożliwia deklaratywną konfigurację i automatyzację. Ekosystem Kubernetesa jest duży i dynamicznie się rozwija. Serwisy Kubernetesa, wsparcie i narzędzia są szeroko dostępne. Nazwa Kubernetes pochodzi z greki i oznacza sternika albo pilota. Google otworzyło projekt Kubernetes publicznie w 2014. Kubernetes korzysta z [piętnastoletniego doświadczenia Google w uruchamianiu wielkoskalowych serwisów](/blog/2015/04/borg-predecessor-to-kubernetes/) i łączy je z najlepszymi pomysłami i praktykami wypracowanymi przez społeczność. @@ -85,9 +85,10 @@ Kubernetes: * Nie zapewnia, ani nie wykorzystuje żadnego ogólnego systemu do zarządzania konfiguracją, utrzymaniem i samo-naprawianiem maszyn. * Co więcej, nie jest zwykłym systemem planowania *(orchestration)*. W rzeczywistości, eliminuje konieczność orkiestracji. Zgodnie z definicją techniczną, orkiestracja to wykonywanie określonego ciągu zadań: najpierw A, potem B i następnie C. Dla kontrastu, Kubernetes składa się z wielu niezależnych, możliwych do złożenia procesów sterujących, których zadaniem jest doprowadzenie stanu faktycznego do stanu oczekiwanego. Nie ma znaczenia, w jaki sposób przechodzi się od A do C. Nie ma konieczności scentralizowanego zarządzania. Dzięki temu otrzymujemy system, który jest potężniejszy, bardziej odporny i niezawodny i dający więcej możliwości rozbudowy. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Dowiedz się o [komponentach Kubernetesa](/pl/docs/concepts/overview/components/) * Jesteś gotowy [zacząć pracę](/pl/docs/setup/)? -{{% /capture %}} + diff --git a/content/pl/docs/contribute/_index.md b/content/pl/docs/contribute/_index.md index 7c829f8f14..336c3bbf13 100644 --- a/content/pl/docs/contribute/_index.md +++ b/content/pl/docs/contribute/_index.md @@ -1,5 +1,5 @@ --- -content_template: templates/concept +content_type: concept title: Współtwórz dokumentację Kubernetesa linktitle: Weź udział main_menu: true @@ -10,7 +10,7 @@ card: title: Weź udział --- -{{% capture overview %}} + Tym serwisem www opiekuje się [Kubernetes SIG Docs](/docs/contribute/#get-involved-with-sig-docs). @@ -23,9 +23,9 @@ Współtwórcy dokumentacji Kubernetesa: Zapraszamy do współpracy wszystkich - zarówno nowicjuszy, jak i doświadczonych! -{{% /capture %}} -{{% capture body %}} + + ## Jak zacząć? @@ -76,4 +76,4 @@ Aby włączyć się w komunikację w ramach SIG Docs, możesz: - Przeczytaj [ściągawkę dla współtwórców](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet), aby zaangażować się w dalszy rozwój Kubernetesa. - Przygotuj [wpis na blogu lub *case study*](/docs/contribute/new-content/blogs-case-studies/). -{{% /capture %}} + diff --git a/content/pl/docs/contribute/localization-pl.md b/content/pl/docs/contribute/localization-pl.md index 698ad60ffb..a78931d0b3 100644 --- a/content/pl/docs/contribute/localization-pl.md +++ b/content/pl/docs/contribute/localization-pl.md @@ -1,21 +1,21 @@ --- title: Tłumaczenie dokumentacji na język polski -content_template: templates/concept +content_type: concept card: name: contribute weight: 35 title: Tłumaczenie dokumentacji na język polski --- -{{% capture overview %}} + Na tej stronie znajdziesz wskazówki i wytyczne przydatne przy tłumaczeniu dokumentacji Kubernetesa na język polski. Dokumentem nadrzędnym jest angielski [opis stylu dokumentacji](/docs/contribute/style/style-guide). -{{% /capture %}} -{{% capture body %}} + + ## Wskazówki ogólne @@ -52,4 +52,4 @@ rolling update | aktualizacje stopniowe volume | volume (opcjonalnie: wolumin) worker node | węzeł roboczy -{{% /capture %}} + diff --git a/content/pl/docs/home/supported-doc-versions.md b/content/pl/docs/home/supported-doc-versions.md index eb62350ce5..4744e68071 100644 --- a/content/pl/docs/home/supported-doc-versions.md +++ b/content/pl/docs/home/supported-doc-versions.md @@ -1,19 +1,19 @@ --- title: Wspierane wersje dokumentacji Kubernetesa -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Wspierane wersje dokumentacji --- -{{% capture overview %}} + Ten serwis zawiera dokumentację do bieżącej i czterech poprzednich wersji Kubernetesa. -{{% /capture %}} -{{% capture body %}} + + ## Bieżąca wersja @@ -24,4 +24,4 @@ Bieżąca wersja to {{< versions-other >}} -{{% /capture %}} + diff --git a/content/pl/docs/reference/_index.md b/content/pl/docs/reference/_index.md index a5ca04492f..15374cdaa9 100644 --- a/content/pl/docs/reference/_index.md +++ b/content/pl/docs/reference/_index.md @@ -3,16 +3,16 @@ title: Materiały źródłowe linkTitle: "Materiały źródłowe" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Tutaj znajdziesz dokumentację źródłową Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Dokumentacja API @@ -50,4 +50,4 @@ biblioteki to: Archiwum dokumentacji projektowej różnych funkcjonalności Kubernetes. Warto zacząć od [Kubernetes Architecture](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) oraz [Kubernetes Design Overview](https://git.k8s.io/community/contributors/design-proposals). -{{% /capture %}} + diff --git a/content/pl/docs/reference/tools.md b/content/pl/docs/reference/tools.md index de200d77d2..33a665438c 100644 --- a/content/pl/docs/reference/tools.md +++ b/content/pl/docs/reference/tools.md @@ -1,13 +1,13 @@ --- title: Narzędzia -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kubernetes zawiera różne wbudowane narzędzia służące do pracy z systemem: -{{% /capture %}} -{{% capture body %}} + + ## Kubectl [`kubectl`](/docs/tasks/tools/install-kubectl/) to narzędzie tekstowe (linii poleceń) do Kubernetes. Służy do zarządzania klastrem Kubernetes. @@ -45,4 +45,4 @@ Kompose można używać do: * Tłumaczenia plików Docker Compose na obiekty Kubernetes * Zmiany sposóbu zarządzania twoimi aplikacjami z lokalnego środowiska Docker na system Kubernetes * Zamiany plików `yaml` Docker Compose v1 lub v2 oraz [Distributed Application Bundles](https://docs.docker.com/compose/bundles/) -{{% /capture %}} + diff --git a/content/pl/docs/setup/_index.md b/content/pl/docs/setup/_index.md index bb08ded7ff..cd00fb0e4f 100644 --- a/content/pl/docs/setup/_index.md +++ b/content/pl/docs/setup/_index.md @@ -3,7 +3,7 @@ no_issue: true title: Od czego zacząć main_menu: true weight: 20 -content_template: templates/concept +content_type: concept card: name: setup weight: 20 @@ -14,7 +14,7 @@ card: title: Środowisko produkcyjne --- -{{% capture overview %}} + Ten rozdział poświęcony jest różnym metodom konfiguracji i uruchomienia Kubernetesa. @@ -24,9 +24,9 @@ Klaster Kubernetes możesz zainstalować na lokalnym komputerze, w chmurze czy w W dużym uproszczeniu, możesz zbudować klaster Kubernetes zarówno w środowisku szkoleniowym, jak i na potrzeby produkcyjne. -{{% /capture %}} -{{% capture body %}} + + ## Środowisko do nauki {#srodowisko-do-nauki} @@ -46,4 +46,4 @@ Wybierając rozwiązanie dla środowiska produkcyjnego musisz zdecydować, któr Na stronie [Partnerzy Kubernetes](https://kubernetes.io/partners/#conformance) znajdziesz listę dostawców posiadających [certyfikację Kubernetes](https://github.com/cncf/k8s-conformance/#certified-kubernetes). -{{% /capture %}} + diff --git a/content/pl/docs/tasks/_index.md b/content/pl/docs/tasks/_index.md index 253cd26cd2..60f8f9808b 100644 --- a/content/pl/docs/tasks/_index.md +++ b/content/pl/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: Zadania main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + W tej części dokumentacji Kubernetesa znajdują się opisy sposobu realizacji różnych zadań. Przedstawione są one zazwyczaj jako krótka sekwencja kilku kroków związanych z pojedynczym zadaniem. -{{% /capture %}} -{{% capture body %}} + + ## Graficzny interfejs użytkownika _(Dashboard)_ @@ -73,11 +73,12 @@ Konfiguracja i przydzielanie węzłom klastra procesorów GPU NVIDIA jako zasob Konfiguracja i dysponowanie _huge pages_ jako zasobu klastra. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Jeśli chciałbyś stworzyć nową stronę poświęconą jakiemuś zadaniu, przeczytaj [Jak przygotować propozycję zmian (PR)](/docs/home/contribute/create-pull-request/). -{{% /capture %}} + diff --git a/content/pl/docs/tutorials/_index.md b/content/pl/docs/tutorials/_index.md index 0723c6f4a4..19e4bf8d24 100644 --- a/content/pl/docs/tutorials/_index.md +++ b/content/pl/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: Samouczki main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + W tym rozdziale dokumentacji Kubernetes znajdziesz różne samouczki. Dzięki nim dowiesz się, jak osiągnąć złożone cele, które przekraczają wielkość @@ -14,9 +14,9 @@ z których każda zawiera sekwencję odpowiednich kroków. Przed zapoznaniem się z samouczkami warto stworzyć zakładkę do [słownika](/docs/reference/glossary/), aby móc się później do niego na bieżąco odwoływać. -{{% /capture %}} -{{% capture body %}} + + ## Podstawy @@ -64,12 +64,13 @@ Przed zapoznaniem się z samouczkami warto stworzyć zakładkę do * [Using Source IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Jeśli chciałbyś napisać nowy samouczek, zajrzyj na stronę [Jak używać szablonów stron](/docs/home/contribute/page-templates/) gdzie znajdziesz dodatkowe informacje na temat stron i szablonów samouczków. -{{% /capture %}} + diff --git a/content/pl/docs/tutorials/hello-minikube.md b/content/pl/docs/tutorials/hello-minikube.md index 9e49efe989..653f9403de 100644 --- a/content/pl/docs/tutorials/hello-minikube.md +++ b/content/pl/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + Ten samouczek pokaże, jak uruchomić przykładową aplikację na Kubernetes przy użyciu [Minikube](/docs/setup/learning-environment/minikube) oraz Katacoda. @@ -23,23 +23,25 @@ Katacoda to darmowe środowisko Kubernetes dostępne bezpośrednio z przeglądar Możesz też skorzystać z tego samouczka, jeśli już zainstalowałeś [Minikube lokalnie](/docs/tasks/tools/install-minikube/). {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Skonfiguruj przykładową aplikację do uruchomienia w Minikube. * Uruchom aplikację. * Przejrzyj jej logi. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + W tym samouczku wykorzystamy obraz kontenera, który korzysta z NGINX, aby wyświetlić z powrotem wszystkie przychodzące zapytania. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Stwórz klaster Minikube @@ -268,12 +270,13 @@ minikube stop minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Dowiedz się więcej o [obiektach typu Deployment](/docs/concepts/workloads/controllers/deployment/). * Dowiedz się więcej o [instalowaniu aplikacji](/docs/tasks/run-application/run-stateless-application-deployment/). * Dowiedz się więcej o [obiektach typu Serwis](/docs/concepts/services-networking/service/). -{{% /capture %}} + From ae7b6ab1fa344ae35a706f57df6dec808f9914aa Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:15:50 -0400 Subject: [PATCH 339/533] add pt pages --- .../concepts/architecture/cloud-controller.md | 10 +++++----- .../pt/docs/concepts/architecture/controller.md | 15 ++++++++------- .../architecture/master-node-communication.md | 10 +++++----- .../concepts/cluster-administration/addons.md | 10 +++++----- .../cluster-administration/certificates.md | 10 +++++----- .../cluster-administration-overview.md | 10 +++++----- .../kubelet-garbage-collection.md | 15 ++++++++------- .../concepts/cluster-administration/logging.md | 10 +++++----- .../docs/concepts/configuration/pod-overhead.md | 15 ++++++++------- .../api-extension/apiserver-aggregation.md | 15 ++++++++------- .../docs/concepts/extend-kubernetes/operator.md | 15 ++++++++------- .../overview/working-with-objects/names.md | 12 ++++++------ .../pt/docs/concepts/scheduling/kube-scheduler.md | 15 ++++++++------- .../concepts/workloads/controllers/cron-jobs.md | 10 +++++----- content/pt/docs/contribute/_index.md | 15 ++++++++------- content/pt/docs/home/supported-doc-versions.md | 10 +++++----- content/pt/docs/reference/_index.md | 10 +++++----- content/pt/docs/reference/kubectl/cheatsheet.md | 15 ++++++++------- content/pt/docs/reference/tools.md | 9 ++++----- 19 files changed, 119 insertions(+), 112 deletions(-) diff --git a/content/pt/docs/concepts/architecture/cloud-controller.md b/content/pt/docs/concepts/architecture/cloud-controller.md index a708b1998e..3a6e028fb7 100644 --- a/content/pt/docs/concepts/architecture/cloud-controller.md +++ b/content/pt/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Conceitos sobre Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + O conceito do Cloud Controller Manager (CCM) (não confundir com o binário) foi originalmente criado para permitir que o código específico de provedor de nuvem e o núcleo do Kubernetes evoluíssem independentemente um do outro. O Cloud Controller Manager é executado junto com outros componentes principais, como o Kubernetes controller manager, o servidor de API e o scheduler. Também pode ser iniciado como um addon do Kubernetes, caso em que é executado em cima do Kubernetes. @@ -16,10 +16,10 @@ Aqui está a arquitetura de um cluster Kubernetes sem o Cloud Controller Manager ![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Projeto de Arquitetura (Design) @@ -237,4 +237,4 @@ Os seguintes provedores de nuvem implementaram CCMs: Voce vai encontrar instruções completas para configurar e executar o CCM [aqui](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/pt/docs/concepts/architecture/controller.md b/content/pt/docs/concepts/architecture/controller.md index 4ab6e98cae..2bbf0ad351 100644 --- a/content/pt/docs/concepts/architecture/controller.md +++ b/content/pt/docs/concepts/architecture/controller.md @@ -1,10 +1,10 @@ --- title: Controladores -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Em robótica e automação um _control loop_, ou em português _ciclo de controle_, é um ciclo não terminado que regula o estado de um sistema. @@ -18,10 +18,10 @@ mais perto do estado desejado, ligando ou desligando o equipamento. {{< glossary_definition term_id="controller" length="short">}} -{{% /capture %}} -{{% capture body %}} + + ## Padrão Controlador (Controller pattern) @@ -146,11 +146,12 @@ Pode correr o seu próprio controlador como um conjunto de *Pods*, ou externo ao Kubernetes. O que encaixa melhor vai depender no que esse controlador faz em particular. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Leia mais sobre o [plano de controle do Kubernetes](/docs/concepts/#kubernetes-control-plane) * Descubra alguns dos [objetos Kubernetes](/docs/concepts/#kubernetes-objects) básicos. * Aprenda mais sobre [API do Kubernetes](/docs/concepts/overview/kubernetes-api/) * Se pretender escrever o seu próprio controlador, veja [Padrões de Extensão](/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns) -{{% /capture %}} + diff --git a/content/pt/docs/concepts/architecture/master-node-communication.md b/content/pt/docs/concepts/architecture/master-node-communication.md index 848eea2bb9..8cf2ad86c6 100644 --- a/content/pt/docs/concepts/architecture/master-node-communication.md +++ b/content/pt/docs/concepts/architecture/master-node-communication.md @@ -3,11 +3,11 @@ reviewers: - dchen1107 - liggitt title: Comunicação entre Node e Master -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Este documento cataloga os caminhos de comunicação entre o Master (o apiserver) e o cluster Kubernetes. A intenção é permitir que os usuários @@ -15,10 +15,10 @@ personalizem sua instalação para proteger a configuração de rede então o cluster pode ser executado em uma rede não confiável (ou em IPs totalmente públicos em um provedor de nuvem). -{{% /capture %}} -{{% capture body %}} + + ## Cluster para o Master @@ -102,4 +102,4 @@ os nós estão sendo executados. Atualmente, os túneis SSH estão obsoletos, portanto, você não deve optar por usá-los, a menos que saiba o que está fazendo. Um substituto para este canal de comunicação está sendo projetado. -{{% /capture %}} + diff --git a/content/pt/docs/concepts/cluster-administration/addons.md b/content/pt/docs/concepts/cluster-administration/addons.md index a9e0f55d9e..0a50c96190 100644 --- a/content/pt/docs/concepts/cluster-administration/addons.md +++ b/content/pt/docs/concepts/cluster-administration/addons.md @@ -1,9 +1,9 @@ --- title: Instalando Addons -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Addons estendem a funcionalidade do Kubernetes. @@ -12,10 +12,10 @@ Esta página lista alguns dos add-ons e links com suas respectivas instruções Os Add-ons de cada sessão são classificados em ordem alfabética - a ordem não implica qualquer status preferencial. -{{% /capture %}} -{{% capture body %}} + + ## Rede e Política de Rede @@ -55,4 +55,4 @@ Existem vários outros complementos documentados no diretório não mais ultiliz Projetos bem mantidos deveriam ser linkados aqui. PRs são bem vindas! -{{% /capture %}} + diff --git a/content/pt/docs/concepts/cluster-administration/certificates.md b/content/pt/docs/concepts/cluster-administration/certificates.md index 36554c1b88..c75051304c 100644 --- a/content/pt/docs/concepts/cluster-administration/certificates.md +++ b/content/pt/docs/concepts/cluster-administration/certificates.md @@ -1,19 +1,19 @@ --- title: Certificates -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Ao usar um client para autenticação de certificado, você pode gerar certificados manualmente através `easyrsa`, `openssl` ou `cfssl`. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -225,4 +225,4 @@ Você pode usar a API `certificates.k8s.io` para provisionar certificados x509 a serem usados ​​para autenticação conforme documentado [aqui](/docs/tasks/tls/managing-tls-in-a-cluster). -{{% /capture %}} + diff --git a/content/pt/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/pt/docs/concepts/cluster-administration/cluster-administration-overview.md index 3a6f0a9bf9..82bf9a5545 100644 --- a/content/pt/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/pt/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -3,15 +3,15 @@ reviewers: - davidopp - lavalamp title: Visão Geral da Administração de Cluster -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + A visão geral da administração de cluster é para qualquer um criando ou administrando um cluster Kubernetes. Assume-se que você tenha alguma familiaridade com os [conceitos](/docs/concepts/) centrais do Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Planejando um cluster Veja os guias em [Setup](/docs/setup/) para exemplos de como planejar, iniciar e configurar clusters Kubernetes. As soluções listadas neste artigo são chamadas *distros*. @@ -71,6 +71,6 @@ descreve como interagir com os logs de auditoria do Kubernetes. * [Logando e monitorando a atividade de cluster](/docs/concepts/cluster-administration/logging/) explica como o log funciona no Kubernetes e como implementá-lo. -{{% /capture %}} + diff --git a/content/pt/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/pt/docs/concepts/cluster-administration/kubelet-garbage-collection.md index 78270eedcc..efdebb57f2 100644 --- a/content/pt/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/pt/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,19 +1,19 @@ --- reviewers: title: Configurando o Garbage Collection do kubelet -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + O Garbage collection(Coleta de lixo) é uma função útil do kubelet que limpa imagens e contêineres não utilizados. O kubelet executará o garbage collection para contêineres a cada minuto e para imagens a cada cinco minutos. Ferramentas externas de garbage collection não são recomendadas, pois podem potencialmente interromper o comportamento do kubelet removendo os contêineres que existem. -{{% /capture %}} -{{% capture body %}} + + ## Coleta de imagens @@ -62,10 +62,11 @@ Incluindo: | `--low-diskspace-threshold-mb` | `--eviction-hard` ou `eviction-soft` | O despejo generaliza os limites do disco para outros recursos | | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | O despejo generaliza a transição da pressão do disco para outros recursos | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Consulte [Configurando a Manipulação de Recursos Insuficientes](/docs/tasks/administer-cluster/out-of-resource/) para mais detalhes. -{{% /capture %}} + diff --git a/content/pt/docs/concepts/cluster-administration/logging.md b/content/pt/docs/concepts/cluster-administration/logging.md index f605a3e875..333e568a47 100644 --- a/content/pt/docs/concepts/cluster-administration/logging.md +++ b/content/pt/docs/concepts/cluster-administration/logging.md @@ -3,19 +3,19 @@ reviewers: - piosz - x13n title: Arquitetura de Log -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + Os logs de aplicativos e sistemas podem ajudá-lo a entender o que está acontecendo dentro do seu cluster. Os logs são particularmente úteis para depurar problemas e monitorar a atividade do cluster. A maioria das aplicações modernas possui algum tipo de mecanismo de logs; como tal, a maioria dos mecanismos de contêineres também é projetada para suportar algum tipo de log. O método de log mais fácil e abrangente para aplicações em contêiner é gravar nos fluxos de saída e erro padrão. No entanto, a funcionalidade nativa fornecida por um mecanismo de contêiner ou tempo de execução geralmente não é suficiente para uma solução completa de log. Por exemplo, se um contêiner travar, um pod for despejado ou um nó morrer, geralmente você ainda desejará acessar os logs do aplicativo. Dessa forma, os logs devem ter armazenamento e ciclo de vida separados, independentemente de nós, pods ou contêineres. Este conceito é chamado _cluster-level-logging_. O log no nível de cluster requer um back-end separado para armazenar, analisar e consultar logs. O kubernetes não fornece uma solução de armazenamento nativa para dados de log, mas você pode integrar muitas soluções de log existentes no cluster do Kubernetes. -{{% /capture %}} -{{% capture body %}} + + As arquiteturas de log no nível de cluster são descritas no pressuposto de que um back-end de log esteja presente dentro ou fora do cluster. Se você não estiver interessado em ter o log no nível do cluster, ainda poderá encontrar a descrição de como os logs são armazenados e manipulados no nó para serem úteis. @@ -203,4 +203,4 @@ Lembre-se de que este é apenas um exemplo e você pode realmente substituir o f Você pode implementar o log no nível do cluster, expondo ou enviando logs diretamente de todos os aplicativos; no entanto, a implementação desse mecanismo de log está fora do escopo do Kubernetes. -{{% /capture %}} + diff --git a/content/pt/docs/concepts/configuration/pod-overhead.md b/content/pt/docs/concepts/configuration/pod-overhead.md index 5a18b11f09..78ba1d6ffd 100644 --- a/content/pt/docs/concepts/configuration/pod-overhead.md +++ b/content/pt/docs/concepts/configuration/pod-overhead.md @@ -4,11 +4,11 @@ reviewers: - egernst - tallclair title: Pod Overhead -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} @@ -18,10 +18,10 @@ Sobrecarga de Pod, do inglês _Pod Overhead_, é uma funcionalidade que serve pa infraestrutura do Pod para além das solicitações e limites do _container_. -{{% /capture %}} -{{% capture body %}} + + No Kubernetes, a sobrecarga de _Pods_ é definido no tempo de [admissão](/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks) @@ -187,11 +187,12 @@ para ajudar a identificar quando o _PodOverhead_ está a ser utilizado e para aj em execução com uma sobrecarga (_Overhead_) definida. Esta funcionalidade não está disponível na versão 1.9 do kube-state-metrics, mas é esperado num próximo _release_. Os utilizadores necessitarão entretanto de construir kube-state-metrics a partir da fonte. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [RuntimeClass](/docs/concepts/containers/runtime-class/) * [PodOverhead Design](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/pt/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/pt/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index 6fb6350a56..1efa9739f6 100644 --- a/content/pt/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/pt/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -4,11 +4,11 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + A camada de agregação permite ao Kubernetes ser estendido com APIs adicionais, para além do que é oferecido pelas APIs centrais do Kubernetes. @@ -20,9 +20,9 @@ A camada de agregação é diferente dos [Recursos Personalizados](/docs/concept que são uma forma de fazer o {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} reconhecer novas espécies de objetos. -{{% /capture %}} -{{% capture body %}} + + ## Camada de agregação @@ -53,13 +53,14 @@ considere fazer alterações que permitam atingi-lo. Pode também definir a restrição de intervalo. Esta portal de funcionalidade deprecado será removido num lançamento futuro. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Para pôr o agregador a funcionar no seu ambiente, [configure a camada de agregação](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). * De seguida, [configura um api-server de extensão](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) para funcionar com a camada de agregação. * Também, aprenda como pode [estender a API do Kubernetes através do use de Definições de Recursos Personalizados](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). * Leia a especificação do [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io) -{{% /capture %}} + diff --git a/content/pt/docs/concepts/extend-kubernetes/operator.md b/content/pt/docs/concepts/extend-kubernetes/operator.md index 9b7198d2fe..c1ed3ed47e 100644 --- a/content/pt/docs/concepts/extend-kubernetes/operator.md +++ b/content/pt/docs/concepts/extend-kubernetes/operator.md @@ -1,20 +1,20 @@ --- title: Padrão Operador -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Operadores são extensões de software para o Kubernetes que fazem uso de [*recursos personalizados*](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) para gerir aplicações e os seus componentes. Operadores seguem os princípios do Kubernetes, notavelmente o [ciclo de controle](/docs/concepts/#kubernetes-control-plane). -{{% /capture %}} -{{% capture body %}} + + ## Motivação @@ -118,9 +118,10 @@ para escrever o seu próprio Operador *cloud native*. Pode também implementar um Operador (isto é, um Controlador) usando qualquer linguagem / *runtime* que pode atuar como um [cliente da API do Kubernetes](/docs/reference/using-api/client-libraries/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Aprenda mais sobre [Recursos Personalizados](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) * Encontre operadores prontos em [OperatorHub.io](https://operatorhub.io/) para o seu caso de uso @@ -134,4 +135,4 @@ que pode atuar como um [cliente da API do Kubernetes](/docs/reference/using-api/ * Leia o [artigo original da CoreOS](https://coreos.com/blog/introducing-operators.html) que introduz o padrão Operador * Leia um [artigo](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps) da Google Cloud sobre as melhores práticas para contruir Operadores -{{% /capture %}} + diff --git a/content/pt/docs/concepts/overview/working-with-objects/names.md b/content/pt/docs/concepts/overview/working-with-objects/names.md index 409ddd5509..99aff00a2e 100644 --- a/content/pt/docs/concepts/overview/working-with-objects/names.md +++ b/content/pt/docs/concepts/overview/working-with-objects/names.md @@ -1,10 +1,10 @@ --- title: Nomes -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Cada objeto em um cluster possui um Nome que é único para aquele tipo de recurso. Todo objeto do Kubernetes também possui um UID que é único para todo o cluster. @@ -14,10 +14,10 @@ e um Deployment ambos com o nome "myapp-1234". Para atributos não únicos providenciados por usuário, Kubernetes providencia [labels](/docs/concepts/overview/working-with-objects/labels/) e [annotations](/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Nomes @@ -49,8 +49,8 @@ Alguns tipos de recursos possuem restrições adicionais em seus nomes. Kubernetes UIDs são identificadores únicos universais (também chamados de UUIDs). UUIDs utilizam padrões ISO/IEC 9834-8 e ITU-T X.667. -{{% /capture %}} + {{% capture Qual é o próximo %}} * Leia sobre [labels](/docs/concepts/overview/working-with-objects/labels/) em Kubernetes. * Consulte o documento de design [Identificadores e Nomes em Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md). -{{% /capture %}} + diff --git a/content/pt/docs/concepts/scheduling/kube-scheduler.md b/content/pt/docs/concepts/scheduling/kube-scheduler.md index b822c04932..575a8e7839 100644 --- a/content/pt/docs/concepts/scheduling/kube-scheduler.md +++ b/content/pt/docs/concepts/scheduling/kube-scheduler.md @@ -1,19 +1,19 @@ --- title: Escalonador do Kubernetes date: 2020-04-19 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + No Kubernetes, _escalonamento_ refere-se a garantir que os {{< glossary_tooltip text="Pods" term_id="pod" >}} sejam correspondidos aos {{< glossary_tooltip text="Nodes" term_id="node" >}} para que o {{< glossary_tooltip text="Kubelet" term_id="kubelet" >}} possa executá-los. -{{% /capture %}} -{{% capture body %}} + + ## Visão geral do Escalonamento {#escalonamento} @@ -82,12 +82,13 @@ do escalonador: 1. [Perfis de Escalonamento](/docs/reference/scheduling/profiles) permitem configurar Plugins que implementam diferentes estágios de escalonamento, incluindo: `QueueSort`, `Filter`, `Score`, `Bind`, `Reserve`, `Permit`, e outros. Você também pode configurar o kube-scheduler para executar diferentes perfis. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Leia sobre [ajuste de desempenho do escalonador](/docs/concepts/scheduling/scheduler-perf-tuning/) * Leia sobre [restrições de propagação da topologia de pod](/docs/concepts/workloads/pods/pod-topology-spread-constraints/) * Leia a [documentação de referência](/docs/reference/command-line-tools-reference/kube-scheduler/) para o kube-scheduler * Aprenda como [configurar vários escalonadores](/docs/tasks/administer-cluster/configure-multiple-schedulers/) * Aprenda sobre [políticas de gerenciamento de topologia](/docs/tasks/administer-cluster/topology-manager/) * Aprenda sobre [Pod Overhead](/docs/concepts/configuration/pod-overhead/) -{{% /capture %}} + diff --git a/content/pt/docs/concepts/workloads/controllers/cron-jobs.md b/content/pt/docs/concepts/workloads/controllers/cron-jobs.md index a3241f73b0..669d3276d4 100644 --- a/content/pt/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/pt/docs/concepts/workloads/controllers/cron-jobs.md @@ -4,11 +4,11 @@ reviewers: - soltysh - janetkuo title: CronJob -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.8" state="beta" >}} @@ -25,9 +25,9 @@ O nome não deve ter mais que 52 caracteres. Isso ocorre porque o controlador do Para obter instruções sobre como criar e trabalhar com tarefas cron, e para obter um exemplo de arquivo de especificação para uma tarefa cron, consulte [Executando tarefas automatizadas com tarefas cron](/docs/tasks/job/automated-tasks-with-cron-jobs). -{{% /capture %}} -{{% capture body %}} + + ## Limitações do Cron Job @@ -51,4 +51,4 @@ Para ilustrar ainda mais esse conceito, suponha que um CronJob esteja definido p O CronJob é responsável apenas pela criação de trabalhos que correspondem à sua programação, e o trabalho, por sua vez, é responsável pelo gerenciamento dos Pods que ele representa. -{{% /capture %}} + diff --git a/content/pt/docs/contribute/_index.md b/content/pt/docs/contribute/_index.md index 0e947a36a2..86c4d92967 100644 --- a/content/pt/docs/contribute/_index.md +++ b/content/pt/docs/contribute/_index.md @@ -1,20 +1,20 @@ --- -content_template: templates/concept +content_type: concept title: Contribua com o Kubernetes docs linktitle: Contribute main_menu: true weight: 80 --- -{{% capture overview %}} + Caso você gostaria de contribuir com a documentação ou o site do Kubernetes, ficamos felizes em ter sua ajuda! Qualquer pessoa pode contribuir, seja você novo no projeto ou se você já esta no mercado há muito tempo. Além disso, Se você se identifica como desenvolvedor, usuário final ou alguém que simplesmente não suporta ver erros de digitação. -{{% /capture %}} -{{% capture body %}} + + ## Começando @@ -49,13 +49,14 @@ Para se envolver com a documentação: - Para contribuir com a comunidade Kubernetes por meio de fóruns on-line, como Twitter ou Stack Overflow, ou aprender sobre encontros locais e eventos do Kubernetes, visite o a area de [comunidade Kubernetes](/community/). - Para contribuir com o desenvolvimento de novas funções, leia o [cheatsheet do colaborador](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet) para começar. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Para obter mais informações sobre os conceitos básicos de contribuição para a documentação, leia [Comece a contribuir](/docs/contribute/start/). - Siga o [Guia de estilo de documentação do Kubernetes](/docs/contribute/style/style-guide/) ao propor mudanças. - Para mais informações sobre o SIG Docs, leia [Participando do SIG Docs](/docs/contribute/participating/). - Para mais informações sobre a localização de documentos do Kubernetes, leia [Localização da documentação do Kubernetes](/docs/contribute/localization/). -{{% /capture %}} + diff --git a/content/pt/docs/home/supported-doc-versions.md b/content/pt/docs/home/supported-doc-versions.md index 7b586445f5..27577f6146 100644 --- a/content/pt/docs/home/supported-doc-versions.md +++ b/content/pt/docs/home/supported-doc-versions.md @@ -1,20 +1,20 @@ --- title: Versões Suportadas da Documentação do Kubernetes -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Versões Suportadas da Documentação --- -{{% capture overview %}} + Este site contém documentação para a versão atual do Kubernetes e as quatro versões anteriores do Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Versão Atual @@ -25,6 +25,6 @@ A versão atual é {{< versions-other >}} -{{% /capture %}} + diff --git a/content/pt/docs/reference/_index.md b/content/pt/docs/reference/_index.md index 1c73816a69..6f06a2cc6c 100644 --- a/content/pt/docs/reference/_index.md +++ b/content/pt/docs/reference/_index.md @@ -5,16 +5,16 @@ approvers: linkTitle: "Referência" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Esta seção da documentação do Kubernetes contém referências. -{{% /capture %}} -{{% capture body %}} + + ## Referência da API @@ -49,4 +49,4 @@ Para chamar a API Kubernetes de uma linguagem de programação, você pode usar Um arquivo dos documentos de design para as funcionalidades do Kubernetes. Bons pontos de partida são [Arquitetura Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) e [Visão geral do design do Kubernetes](https://git.k8s.io/community/contributors/design-proposals). -{{% /capture %}} + diff --git a/content/pt/docs/reference/kubectl/cheatsheet.md b/content/pt/docs/reference/kubectl/cheatsheet.md index 9cdf34dc37..ab223c7949 100644 --- a/content/pt/docs/reference/kubectl/cheatsheet.md +++ b/content/pt/docs/reference/kubectl/cheatsheet.md @@ -4,21 +4,21 @@ reviewers: - erictune - krousey - clove -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + Veja também: [Visão geral do Kubectl](/docs/reference/kubectl/overview/) e [JsonPath Guide](/docs/reference/kubectl/jsonpath). Esta página é uma visão geral do comando `kubectl`. -{{% /capture %}} -{{% capture body %}} + + # kubectl - Cheat Sheet @@ -375,9 +375,10 @@ Verbosidade | Descrição `--v=8` | Exibir conteúdo da solicitação HTTP. `--v=9` | Exiba o conteúdo da solicitação HTTP sem o truncamento do conteúdo. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Saiba mais em [Visão geral do kubectl](/docs/reference/kubectl/overview/). @@ -387,4 +388,4 @@ Verbosidade | Descrição * Ver mais comunidade [kubectl cheatsheets](https://github.com/dennyzhang/cheatsheet-kubernetes-A4). -{{% /capture %}} + diff --git a/content/pt/docs/reference/tools.md b/content/pt/docs/reference/tools.md index c068d503fb..a8ff7b1da1 100644 --- a/content/pt/docs/reference/tools.md +++ b/content/pt/docs/reference/tools.md @@ -1,13 +1,13 @@ --- title: Ferramentas -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + O Kubernetes contém várias ferramentas internas para ajudá-lo a trabalhar com o sistema Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Kubectl [`kubectl`](/docs/tasks/tools/install-kubectl/) é a ferramenta de linha de comando para o Kubernetes. Ela controla o gerenciador de cluster do Kubernetes. @@ -51,4 +51,3 @@ Use o Kompose para: * Ir do desenvolvimento local do Docker ao gerenciamento de seu aplicativo via Kubernetes * Converter arquivos `yaml` do Docker Compose v1 ou v2 ou [Bundles de Aplicativos Distribuídos](https://docs.docker.com/compose/bundles/) -{{% /capture %}} \ No newline at end of file From 1224efaa6f9bc5c8c5f178deb617344c9bc39947 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:17:30 -0400 Subject: [PATCH 340/533] add ru pages --- content/ru/docs/concepts/_index.md | 15 +++++------ .../ru/docs/concepts/overview/components.md | 15 +++++------ .../docs/concepts/overview/kubernetes-api.md | 10 ++++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++------ .../working-with-objects/annotations.md | 15 +++++------ .../working-with-objects/common-labels.md | 10 ++++---- .../kubernetes-objects.md | 15 +++++------ .../overview/working-with-objects/labels.md | 10 ++++---- .../overview/working-with-objects/names.md | 15 +++++------ .../working-with-objects/namespaces.md | 15 +++++------ .../working-with-objects/object-management.md | 15 +++++------ content/ru/docs/contribute/_index.md | 8 +++--- content/ru/docs/contribute/advanced.md | 10 ++++---- .../generate-ref-docs/contribute-upstream.md | 20 ++++++++------- .../contribute/generate-ref-docs/kubectl.md | 20 ++++++++------- .../generate-ref-docs/kubernetes-api.md | 20 ++++++++------- .../kubernetes-components.md | 20 ++++++++------- .../generate-ref-docs/quickstart.md | 20 ++++++++------- content/ru/docs/contribute/intermediate.md | 15 +++++------ content/ru/docs/contribute/localization.md | 15 +++++------ content/ru/docs/contribute/participating.md | 15 +++++------ content/ru/docs/contribute/start.md | 15 +++++------ .../ru/docs/contribute/style/content-guide.md | 15 +++++------ .../contribute/style/content-organization.md | 15 +++++------ .../contribute/style/hugo-shortcodes/index.md | 14 +++++------ .../docs/contribute/style/page-templates.md | 21 ++++++++-------- .../ru/docs/contribute/style/style-guide.md | 15 +++++------ .../docs/contribute/style/write-new-topic.md | 18 +++++++------ .../ru/docs/home/supported-doc-versions.md | 10 ++++---- content/ru/docs/reference/_index.md | 10 ++++---- .../ru/docs/reference/kubectl/cheatsheet.md | 15 +++++------ .../kubectl/docker-cli-to-kubectl.md | 10 ++++---- content/ru/docs/reference/kubectl/jsonpath.md | 10 ++++---- content/ru/docs/reference/kubectl/kubectl.md | 15 ++++++----- content/ru/docs/reference/kubectl/overview.md | 15 +++++------ content/ru/docs/setup/_index.md | 15 +++++------ .../docs/setup/learning-environment/kind.md | 10 ++++---- .../setup/learning-environment/minikube.md | 10 ++++---- ...igure-liveness-readiness-startup-probes.md | 20 ++++++++------- .../ru/docs/tasks/tools/install-kubectl.md | 20 ++++++++------- .../ru/docs/tasks/tools/install-minikube.md | 20 ++++++++------- content/ru/docs/tutorials/_index.md | 15 +++++------ content/ru/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 43 files changed, 345 insertions(+), 301 deletions(-) diff --git a/content/ru/docs/concepts/_index.md b/content/ru/docs/concepts/_index.md index b2e7e77c79..93fbc731a1 100644 --- a/content/ru/docs/concepts/_index.md +++ b/content/ru/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: Концепции main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Раздел "Концепции" поможет вам узнать о частях системы Kubernetes и об абстракциях, которые Kubernetes использует для представления вашего {{< glossary_tooltip text="кластера" term_id="cluster" length="all" >}}, и помогает вам глубже понять, как работает Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Краткий обзор @@ -60,12 +60,13 @@ Kubernetes также содержит абстракции более высо Узлы в кластере - это машины (виртуальные машины, физические серверы и т.д.), на которых работают ваши приложения и облачные рабочие процессы. Мастер Kubernetes контролирует каждый узел; вы редко будете взаимодействовать с узлами напрямую. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Если вы хотите описать концепт, обратитесь к странице [Использование шаблонов страниц](/docs/home/contribute/page-templates/) для получения информации о типе страницы и шаблоне концепции. -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/components.md b/content/ru/docs/concepts/overview/components.md index d1e417cd85..fdff4ef9aa 100644 --- a/content/ru/docs/concepts/overview/components.md +++ b/content/ru/docs/concepts/overview/components.md @@ -2,14 +2,14 @@ reviewers: - lavalamp title: Компоненты Kubernetes -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + При развёртывании Kubernetes вы имеете дело с кластером. {{< glossary_definition term_id="cluster" length="all" prepend="Кластер Kubernetes cluster состоит из">}} @@ -19,9 +19,9 @@ card: ![Компоненты Kubernetes](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## Плоскость управления компонентами @@ -109,10 +109,11 @@ cloud-controller-manager запускает только циклы контро Механизм [логирования кластера](/docs/concepts/cluster-administration/logging/) отвечает за сохранение логов контейнера в централизованном хранилище логов с возможностью их поиска/просмотра. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Подробнее про [узлы](/docs/concepts/architecture/nodes/) * Подробнее про [контроллеры](/docs/concepts/architecture/controller/) * Подробнее про [kube-scheduler](/docs/concepts/scheduling/kube-scheduler/) * Официальная [документация](https://etcd.io/docs/) etcd -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/kubernetes-api.md b/content/ru/docs/concepts/overview/kubernetes-api.md index a99e4f881b..c669cb973a 100644 --- a/content/ru/docs/concepts/overview/kubernetes-api.md +++ b/content/ru/docs/concepts/overview/kubernetes-api.md @@ -1,13 +1,13 @@ --- title: API Kubernetes -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + Общие соглашения API описаны на [странице соглашений API](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md). @@ -21,9 +21,9 @@ Kubernetes также сохраняет сериализованное сост Kubernetes как таковой состоит из множества компонентов, которые взаимодействуют друг с другом через собственные API. -{{% /capture %}} -{{% capture body %}} + + ## Изменения в API @@ -114,4 +114,4 @@ DaemonSets, Deployments, StatefulSet, NetworkPolicies, PodSecurityPolicies и Re {{< note >}}Включение/отключение отдельных ресурсов поддерживается только в API-группе `extensions/v1beta1` по историческим причинам.{{< /note >}} -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/what-is-kubernetes.md b/content/ru/docs/concepts/overview/what-is-kubernetes.md index 0d57355d1f..4b8d210097 100644 --- a/content/ru/docs/concepts/overview/what-is-kubernetes.md +++ b/content/ru/docs/concepts/overview/what-is-kubernetes.md @@ -3,18 +3,18 @@ reviewers: - bgrant0607 - mikedanese title: Что такое Kubernetes -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Эта страница посвящена краткому обзору Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes — это портативная расширяемая платформа с открытым исходным кодом для управления контейнеризованными рабочими нагрузками и сервисами, которая облегчает как декларативную настройку, так и автоматизацию. У платформы есть большая, быстро растущая экосистема. Сервисы, поддержка и инструменты Kubernetes широко доступны. Название Kubernetes происходит от греческого, что означает рулевой или штурман. Google открыл исходный код Kubernetes в 2014 году. Kubernetes основывается на [десятилетнем опыте работе Google с масштабными рабочими нагрузками](https://ai.google/research/pubs/pub43438), в сочетании с лучшими в своем классе идеями и практиками сообщества. @@ -83,9 +83,10 @@ Kubernetes: * Не предоставляет и не принимает никаких комплексных систем конфигурации, технического обслуживания, управления или самовосстановления. * Кроме того, Kubernetes — это не просто система оркестрации. Фактически, Kubernetes устраняет необходимость в этом. Техническое определение оркестрации — это выполнение определенного рабочего процесса: сначала сделай A, затем B, затем C. Напротив, Kubernetes содержит набор независимых, компонуемых процессов управления, которые непрерывно переводит текущее состояние к предполагаемому состоянию. Неважно, как добраться от А до С. Не требуется также централизованный контроль. Это делает систему более простой в использовании, более мощной, надежной, устойчивой и расширяемой. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Изучите [Компоненты Kubernetes](/docs/concepts/overview/components/) * Готовы [начать](/docs/setup/)? -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/annotations.md b/content/ru/docs/concepts/overview/working-with-objects/annotations.md index fd1fd6669b..28748d0a77 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/ru/docs/concepts/overview/working-with-objects/annotations.md @@ -1,14 +1,14 @@ --- title: Аннотации -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + Аннотации Kubernetes можно использовать для добавления собственных метаданных к объектам. Такие клиенты, как инструменты и библиотеки, могут получить эти метаданные. -{{% /capture %}} -{{% capture body %}} + + ## Добавление метаданных к объектам @@ -72,8 +72,9 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Узнать подробнее про [метки и селекторы](/ru/docs/concepts/overview/working-with-objects/labels/). -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/common-labels.md b/content/ru/docs/concepts/overview/working-with-objects/common-labels.md index 06fe6d8f2d..e3bbe2e33e 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/ru/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,17 +1,17 @@ --- title: Рекомендуемые метки -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Вы можете визуализировать и управлять объектами Kubernetes не только с помощью kubectl и панели управления. С помощью единого набора меток можно единообразно описывать объекты, что позволяет инструментам согласованно работать между собой. В дополнение к существующим инструментам, рекомендуемый набор меток описывают приложения в том виде, в котором они могут быть получены. -{{% /capture %}} -{{% capture body %}} + + Метаданные сосредоточены на понятии _приложение_. Kubernetes — это не платформа как услуга (PaaS), поэтому не закрепляет формальное понятие приложения. @@ -162,4 +162,4 @@ metadata: Вы заметите, что `StatefulSet` и `Service` MySQL содержат больше информации о MySQL и WordPress. -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ru/docs/concepts/overview/working-with-objects/kubernetes-objects.md index ee2e9b023a..edf4753bdf 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ru/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,19 +1,19 @@ --- title: Изучение объектов Kubernetes -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + На этой странице объясняется, как объекты Kubernetes представлены в API Kubernetes, и как их можно определить в формате `.yaml`. -{{% /capture %}} -{{% capture body %}} + + ## Изучение объектов Kubernetes {#kubernetes-objects} @@ -70,11 +70,12 @@ deployment.apps/nginx-deployment created Конкретный формат поля-объекта `spec` зависит от типа объекта Kubernetes и содержит вложенные поля, предназначенные только для используемого объекта. В [справочнике API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) можно найти формат спецификации любого объекта Kubernetes. Например, формат `spec` для объекта Pod находится в [ядре PodSpec v1](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core), а формат `spec` для Deployment — в [DeploymentSpec v1 apps](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Обзор API Kubernetes](/docs/reference/using-api/api-overview/) более подробно объясняет некоторые из API-концепций * Познакомиться с наиболее важными и основными объектами в Kubernetes, например, с [подами](/docs/concepts/workloads/pods/pod-overview/). * Узнать подробнее про [контролеры](/docs/concepts/architecture/controller/) в Kubernetes -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/labels.md b/content/ru/docs/concepts/overview/working-with-objects/labels.md index b0af52c940..0114cd32d8 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ru/docs/concepts/overview/working-with-objects/labels.md @@ -1,10 +1,10 @@ --- title: Метки и селекторы -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + _Метки_ — это пары ключ-значение, которые добавляются к объектам, как поды. Метки предназначены для идентификации атрибутов объектов, которые имеют значимость и важны для пользователей, но при этом не относятся напрямую к основной системе. @@ -22,9 +22,9 @@ _Метки_ — это пары ключ-значение, которые до Метки используются при получении и отслеживании объектов и в веб-панелях и CLI-инструментах. Любая неидентифицирующая информация должна быть записана в [аннотации](/ru/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Причины использования @@ -218,4 +218,4 @@ selector: Один из вариантов использования меток — возможность выбора набора узлов, в которых может быть развернут под. Смотрите документацию про [выбор узлов](/docs/concepts/configuration/assign-pod-node/), чтобы получить дополнительную информацию. -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/names.md b/content/ru/docs/concepts/overview/working-with-objects/names.md index aedbb44667..af4b2db071 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/names.md +++ b/content/ru/docs/concepts/overview/working-with-objects/names.md @@ -1,10 +1,10 @@ --- title: Имена и идентификаторы объектов -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Каждый объект в кластере имеет уникальное [_имя_](#имена) для конкретного типа ресурса. Кроме этого, у каждого объекта Kubernetes есть собственный [_уникальный идентификатор (UID)_](#идентификаторы) в пределах кластера. @@ -13,9 +13,9 @@ weight: 20 Для создания пользовательских неуникальных атрибутов у Kubernetes есть [метки](/ru/docs/concepts/overview/working-with-objects/labels/) и [аннотации](/ru/docs/concepts/overview/working-with-objects/annotations/). -{{% /capture %}} -{{% capture body %}} + + ## Имена @@ -71,8 +71,9 @@ spec: Уникальные идентификатор (UID) в Kubernetes — это универсальные уникальные идентификаторы (известные также как Universally Unique IDentifier, сокращенно UUID). Эти идентификаторы стандартизированы под названием ISO/IEC 9834-8, а также как ITU-T X.667. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Узнать подробнее про [метки](/ru/docs/concepts/overview/working-with-objects/labels/) в Kubernetes. * Посмотреть архитектуру [идентификаторов и имён Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md). -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/namespaces.md b/content/ru/docs/concepts/overview/working-with-objects/namespaces.md index 75eae895ed..3ef12aa552 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ru/docs/concepts/overview/working-with-objects/namespaces.md @@ -1,16 +1,16 @@ --- title: Пространства имён -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Kubernetes поддерживает несколько виртуальных кластеров в одном физическом кластере. Такие виртуальные кластеры называются пространствами имён. -{{% /capture %}} -{{% capture body %}} + + ## Причины использования нескольких пространств имён @@ -88,10 +88,11 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Узнать подробнее про [создание нового пространства имён](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace). * Узнать подробнее про [удаление пространства имён](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace). -{{% /capture %}} + diff --git a/content/ru/docs/concepts/overview/working-with-objects/object-management.md b/content/ru/docs/concepts/overview/working-with-objects/object-management.md index c440ea082b..ce7b21a081 100644 --- a/content/ru/docs/concepts/overview/working-with-objects/object-management.md +++ b/content/ru/docs/concepts/overview/working-with-objects/object-management.md @@ -1,16 +1,16 @@ --- title: Управление объектами Kubernetes -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + В инструменте командной строки `kubectl` есть несколько разных способов создания и управления объектами Kubernetes. На этой странице рассматриваются различные подходы. Изучите [документацию по Kubectl](https://kubectl.docs.kubernetes.io) для получения подробной информации по управлению объектами с помощью Kubectl. -{{% /capture %}} -{{% capture body %}} + + ## Способы управления @@ -153,9 +153,10 @@ kubectl apply -R -f configs/ - Декларативную конфигурацию объекта сложнее отладить и понять, когда можно получить неожиданные результаты. - Частичные обновления с использованием различий приводит к сложным операциям слияния и исправления. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Управление объектами Kubernetes с помощью императивных команд](/docs/tasks/manage-kubernetes-objects/imperative-command/) - [Управление объектами Kubernetes с помощью императивной конфигурации объекта](/docs/tasks/manage-kubernetes-objects/imperative-config/) @@ -165,4 +166,4 @@ kubectl apply -R -f configs/ - [Документация Kubectl](https://kubectl.docs.kubernetes.io) - [Справочник API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/_index.md b/content/ru/docs/contribute/_index.md index 8a2dee3942..f1cb3ef903 100644 --- a/content/ru/docs/contribute/_index.md +++ b/content/ru/docs/contribute/_index.md @@ -1,18 +1,18 @@ --- -content_template: templates/concept +content_type: concept title: Участие в документации Kubernetes linktitle: Contribute main_menu: true weight: 80 --- -{{% capture overview %}} + Если вы хотите внести свой вклад в документацию или сайт Kubernetes, мы будем рады вашей помощи! Любой может принять участие в проекте, независимо от того, знакомы ли вы с проектом или нет, кроме этого не имеет значения кто вы — разработчик, обычный пользователь или всего лишь тот, кто терпеть не может опечаток. С деталями о содержании и стиле документации Kubernetes вы можете ознакомиться в [Documentation style overview](/docs/contribute/style/). -{{% capture body %}} + ## Типы участников документации @@ -58,4 +58,4 @@ weight: 80 - Чтобы помочь сообществу Kubernetes с помощью онлайн-форумов, таких как Twitter или Stack Overflow, либо узнать о местных встречах и мероприятиях по Kubernetes, [посетите страницу сообщества Kubernetes](/community/). - Чтобы поучаствовать в разработке функциональности, ознакомьтесь со [шпаргалкой для участника](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet), чтобы начать. -{{% /capture %}} + diff --git a/content/ru/docs/contribute/advanced.md b/content/ru/docs/contribute/advanced.md index b450c088b5..dfe68fa685 100644 --- a/content/ru/docs/contribute/advanced.md +++ b/content/ru/docs/contribute/advanced.md @@ -1,17 +1,17 @@ --- title: Участие для опытных slug: advanced -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + На этой странице предполагается, что вы изучили темы [Участие для начинающих](/ru/docs/contribute/start/) и [Участие для опытных](/ru/docs/contribute/intermediate/) и теперь хотите узнать ещё больше про то, как можно помочь проекту. Для решения некоторых задач вам потребуется использовать Git из командной строки и прочие другие инструменты. -{{% /capture %}} -{{% capture body %}} + + ## Дежурный по PR на неделю @@ -193,4 +193,4 @@ weight: 30 Запись автоматически загрузится на YouTube. -{{% /capture %}} + diff --git a/content/ru/docs/contribute/generate-ref-docs/contribute-upstream.md b/content/ru/docs/contribute/generate-ref-docs/contribute-upstream.md index 07fe564753..223aba429f 100644 --- a/content/ru/docs/contribute/generate-ref-docs/contribute-upstream.md +++ b/content/ru/docs/contribute/generate-ref-docs/contribute-upstream.md @@ -1,10 +1,10 @@ --- title: Участие в основном коде Kubernetes -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + На этой странице показано, как поучаствовать в основном содержимом проекта `kubernetes/kubernetes`. Вы можете исправить баги, найденные в документации по API Kubernetes или содержимом таких компонентов Kubernetes, как `kubeadm`, `kube-apiserver` и `kube-controller-manager`. @@ -14,9 +14,10 @@ weight: 20 - [Генерация справочной документации для API Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-api/) - [Генерация справочной документации для компонентов и инструментов Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-components/) -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - Установленные инструменты: @@ -31,9 +32,9 @@ weight: 20 Это обычно предполагает создание копии репозитория. Для получения дополнительной информации смотрите страницы [Создание пулреквеста](https://help.github.com/articles/creating-a-pull-request/) и [Стандартный рабочий процесс в GitHub по работе с копией и пулреквестом](https://gist.github.com/Chaser324/ce0505fbed06b947d962). -{{% /capture %}} -{{% capture steps %}} + + ## Рассмотрение процесса в целом @@ -174,12 +175,13 @@ hack/update-api-reference-docs.sh Теперь вы можете приступить к изучению руководству [Генерация справочной документации для API Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-api/), чтобы создать [справочную документацию API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Генерация справочной документации для API Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-api/) * [Генерация справочной документации для компонентов и инструментов Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-components/) * [Генерация справочной документации для команд kubectl](/ru/docs/contribute/generate-ref-docs/kubectl/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/generate-ref-docs/kubectl.md b/content/ru/docs/contribute/generate-ref-docs/kubectl.md index df75084ab8..8bab9efb38 100644 --- a/content/ru/docs/contribute/generate-ref-docs/kubectl.md +++ b/content/ru/docs/contribute/generate-ref-docs/kubectl.md @@ -1,10 +1,10 @@ --- title: Генерация справочной документации для команд kubectl -content_template: templates/task +content_type: task weight: 90 --- -{{% capture overview %}} + На этой странице показано, как сгенерировать справочник для команды `kubectl`. @@ -13,15 +13,16 @@ weight: 90 Этот раздел не рассматривает генерацию справочной страницы для опций [kubectl](/ru/docs/reference/generated/kubectl/kubectl/). Инструкции по генерации справочной страницы опций kubectl смотрите в разделе [Генерация справочной документации для компонентов и инструментов Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-components/). {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "prerequisites-ref-docs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Настройка локальных репозиториев @@ -213,12 +214,13 @@ make docker-serve Спустя несколько минут после принятия вашего пулреквеста, обновленные темы справочника будут отображены в [документации](/ru/docs/home/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Руководство по быстрому старту генерации справочной документации](/ru/docs/contribute/generate-ref-docs/quickstart/) * [Генерация справочной документации для компонентов и инструментов Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-components/) * [Генерация справочной документации для API Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-api/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/generate-ref-docs/kubernetes-api.md b/content/ru/docs/contribute/generate-ref-docs/kubernetes-api.md index 68f5ad1199..90011b3dd2 100644 --- a/content/ru/docs/contribute/generate-ref-docs/kubernetes-api.md +++ b/content/ru/docs/contribute/generate-ref-docs/kubernetes-api.md @@ -1,10 +1,10 @@ --- title: Генерация справочной документации для API Kubernetes -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + На этой странице рассказывается про обновление справочной документации по API Kubernetes. @@ -14,15 +14,16 @@ weight: 50 Продолжайте чтение данной странице, если вы хотите перегенерировать справочную документацию из спецификации [OpenAPI](https://github.com/OAI/OpenAPI-Specification). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "prerequisites-ref-docs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Настройка локальных репозиториев @@ -177,12 +178,13 @@ make docker-serve Отправьте свои изменения в виде [пулреквеста](/ru/docs/contribute/start/) в репозиторий [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes). Отслеживайте изменения в пулреквесте и по мере необходимости отвечайте на комментарии рецензента. Не забывайте проверять пулреквест до тех пор, пока он не будет принят. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Руководство по быстрому старту генерации справочной документации](/ru/docs/contribute/generate-ref-docs/quickstart/) * [Генерация справочной документации для компонентов и инструментов Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-components/) * [Генерация справочной документации для команд kubectl](/ru/docs/contribute/generate-ref-docs/kubectl/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/generate-ref-docs/kubernetes-components.md b/content/ru/docs/contribute/generate-ref-docs/kubernetes-components.md index 194a496574..c0b3ccdb57 100644 --- a/content/ru/docs/contribute/generate-ref-docs/kubernetes-components.md +++ b/content/ru/docs/contribute/generate-ref-docs/kubernetes-components.md @@ -1,32 +1,34 @@ --- title: Генерация справочных страниц для компонентов и инструментов Kubernetes -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + На этой странице показывается, как собирать справочные страницы компонентов и инструментов Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Начните с [раздела с требованиями](/ru/docs/contribute/generate-ref-docs/quickstart/#подготовка-к-работе) в руководстве по быстрому старту. -{{% /capture %}} -{{% capture steps %}} + + Для генерации справочных страниц компонентов и инструментов Kubernetes изучите страницу [руководство по быстрому старту в справочной документации](/docs/contribute/generate-ref-docs/quickstart/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Краткое руководство по генерации справочной документации](/ru/docs/contribute/generate-ref-docs/quickstart/) * [Генерация справочной документации для команд kubectl](/ru/docs/contribute/generate-ref-docs/kubectl/) * [Генерация справочной документации для API Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-api/) * [Участие в документации основного кода проекта Kubernetes](/ru/docs/contribute/generate-ref-docs/contribute-upstream/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/generate-ref-docs/quickstart.md b/content/ru/docs/contribute/generate-ref-docs/quickstart.md index 8fce407be0..7e6e17f28c 100644 --- a/content/ru/docs/contribute/generate-ref-docs/quickstart.md +++ b/content/ru/docs/contribute/generate-ref-docs/quickstart.md @@ -1,22 +1,23 @@ --- title: Руководство по быстрому старту -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + На этой странице показано, как использовать скрипт `update-imported-docs` для генерации справочной документации Kubernetes. Скрипт автоматизирует настройку сборки и генерирует справочную документацию для выпуска. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "prerequisites-ref-docs.md" >}} -{{% /capture %}} -{{% capture steps %}} + + ## Получение репозитория документации @@ -207,9 +208,10 @@ static/docs/reference/generated/kubernetes-api/v1.17/fonts/fontawesome-webfont.w Спустя несколько минут после принятия вашего пулреквеста, обновленные темы справочника будут отображены в [документации](/ru/docs/home/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Для генерации отдельной взятой справочной документации путём ручной настройки необходимых репозиториев сборки и выполнении скриптов сборки обратитесь к следующим руководствам: @@ -217,4 +219,4 @@ static/docs/reference/generated/kubernetes-api/v1.17/fonts/fontawesome-webfont.w * [Генерация справочной документации для команд kubectl](/ru/docs/contribute/generate-ref-docs/kubectl/) * [Генерация справочной документации для API Kubernetes](/ru/docs/contribute/generate-ref-docs/kubernetes-api/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/intermediate.md b/content/ru/docs/contribute/intermediate.md index 69dfa285ef..d43d415314 100644 --- a/content/ru/docs/contribute/intermediate.md +++ b/content/ru/docs/contribute/intermediate.md @@ -1,14 +1,14 @@ --- title: Участие для продвинутых slug: intermediate -content_template: templates/concept +content_type: concept weight: 20 card: name: contribute weight: 50 ---1 -{{% capture overview %}} + На этой странице предполагается, что вы изучили и понимаете задачи на странице [Участие для начинающих](/ru/docs/contribute/start/) и теперь готовы узнать о других способах внести свой вклад. @@ -16,9 +16,9 @@ card: Некоторые задачи требуют использование Git-клиента из командной строки и других инструментов. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + Теперь, когда вы уже знаете кое-что и приняли участие в документации Kubernetes, как описано в теме [Участие для начинающих](/ru/docs/contribute/start/), вы можете пойти ещё дальше. Далее пойдут задачи, предусматривающие наличие и желание получить глубокие знания по следующим темам: @@ -597,10 +597,11 @@ If this is a documentation issue, please re-open this issue. Если PR изменяет файлы на нескольких языках, попросите автора открыть отдельные PR для каждого языка. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Если вы хорошо осознали все задачи, затронутые в этом разделе, и хотите более тесно работать с командой документации Kubernetes, переходите к изучению [руководства для опытного участника](/ru/docs/contribute/advanced/). -{{% /capture %}} + diff --git a/content/ru/docs/contribute/localization.md b/content/ru/docs/contribute/localization.md index 4706ff4e90..3e0c977e57 100644 --- a/content/ru/docs/contribute/localization.md +++ b/content/ru/docs/contribute/localization.md @@ -1,19 +1,19 @@ --- title: Локализация документации Kubernetes -content_template: templates/concept +content_type: concept card: name: contribute weight: 30 title: Перевод документации --- -{{% capture overview %}} + На этой странице рассказывается, как [локализовать](https://blog.mozilla.org/l10n/2011/12/14/i18n-vs-l10n-whats-the-diff/) документацию на разные языки. -{{% /capture %}} -{{% capture body %}} + + ## Начало работы @@ -274,13 +274,14 @@ SIG Docs приветствует [участие и дополнения](/ru/d Вы также можете добавлять или улучшать контент в уже существующей локализации. Обратитесь к соответствующему [Slack-каналу](https://kubernetes.slack.com/messages/C1J0BPD2M/) для этого и начинайте помогать через PR. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Как только локализация будет соответствовать требованиям установленного рабочего процесса и содержать требуемый минимум контента, группа SIG Docs: - Добавит язык на сайт - Сообщит о новой локализации на каналах [Cloud Native Computing Foundation](https://www.cncf.io/about/) (CNCF), включая [блог Kubernetes](https://kubernetes.io/blog/). -{{% /capture %}} + diff --git a/content/ru/docs/contribute/participating.md b/content/ru/docs/contribute/participating.md index b0f1a743ba..2d098aa93b 100644 --- a/content/ru/docs/contribute/participating.md +++ b/content/ru/docs/contribute/participating.md @@ -1,12 +1,12 @@ --- title: Участие в SIG Docs -content_template: templates/concept +content_type: concept card: name: contribute weight: 40 --- -{{% capture overview %}} + SIG Docs — это одна из [специальных групп](https://github.com/kubernetes/community/blob/master/sig-list.md) в проекте Kubernetes, которая занимается написанием, обновлением и поддержкой документации Kubernetes в целом. Перейдите на страницу про [SIG Docs в GitHub-репозитории](https://github.com/kubernetes/community/tree/master/sig-docs), чтобы узнать подробную информацию об этой группе. @@ -14,9 +14,9 @@ SIG Docs активно принимает правки и дополнения Вы также можете стать [членом](#члены), [рецензентом](#рецензенты) или [утверждающим](#утверждающие). Эти роли расширяют ваши возможности, но и предлагают выполнение определенных обязанностей по рассмотрению и принятию изменений. Изучите содержимого файла [community-membership](https://github.com/kubernetes/community/blob/master/community-membership.md) в директории сообщества репозитория, чтобы узнать про членство в сообществе Kubernetes. В остальной части этой страницы кратко рассматривается функционирование ролей в группе SIG Docs, которая в совокупности отвечает за поддержание одного из самой публичной части Kubernetes — сайта и документации Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Роли и обязанности @@ -196,13 +196,14 @@ SIG Docs активно принимает правки и дополнения - Любой участник Kubernetes может добавить метку `lgtm`, добавив комментарий, включающий в себя `/lgtm`. - Только утверждающие SIG Docs могут слить пулреквест путём добавления комментария с `/approve`. Некоторые утверждающие также играют дополнительные роли, например, [дежурного по PR](#pr-wrangler) или [председателя SIG Docs](#председатель-sig-docs). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Для получения дополнительной информации про участие в документации Kubernetes, посмотрите следующие страницы: - [Участие для начинающих](/ru/docs/contribute/start/) - [Правила оформления документации](/ru/docs/contribute/style/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/start.md b/content/ru/docs/contribute/start.md index da0af7eb22..83685f1784 100644 --- a/content/ru/docs/contribute/start.md +++ b/content/ru/docs/contribute/start.md @@ -1,23 +1,23 @@ --- title: Участие для начинающих slug: start -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 10 --- -{{% capture overview %}} + Если вы хотите поучаствовать в работе над документацией Kubernetes, эта страница и связанные с ней темы могут помочь вам начать работу. Вам не нужно быть разработчиком или техническим писателем, чтобы внести вклад в документацию или улучшить сайт Kubernetes! Все, что вам нужно для тем на этой странице, это учетная запись на GitHub и браузер. Если вы ищете информацию про участие в репозиториях, связанным с кодом Kubernetes, обратитесь к [руководству сообщества Kubernetes](https://github.com/kubernetes/community/blob/master/governance.md). -{{% /capture %}} -{{% capture body %}} + + ## Основные сведения про документацию @@ -224,10 +224,11 @@ SIG Docs совместными усилиями вносит изменения Ознакомьтесь с [существующими примерами использования](https://github.com/kubernetes/website/tree/master/content/en/case-studies). Воспользуйтесь [формой добавления нового примера использования Kubernetes](https://www.cncf.io/people/end-user-community/), чтобы поделиться своим опытом. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Если вы хорошо поняли темы, затронутые в этом разделе, но хотите глубже взаимодействовать с командой документации Kubernetes, прочитайте [расширенное руководство по участию в документации](/docs/contribute/intermediate/). -{{% /capture %}} + diff --git a/content/ru/docs/contribute/style/content-guide.md b/content/ru/docs/contribute/style/content-guide.md index 567e3b6dce..bfb0073357 100644 --- a/content/ru/docs/contribute/style/content-guide.md +++ b/content/ru/docs/contribute/style/content-guide.md @@ -1,7 +1,7 @@ --- title: Руководство по содержанию документации linktitle: Руководство по содержанию -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute @@ -9,15 +9,15 @@ card: title: Руководство по содержанию документации --- -{{% capture overview %}} + Эта страница содержит рекомендации по добавлению контента в документацию Kubernetes. Если у вас есть вопросы по поводу допустимого контента, обратитесь к каналу #sig-docs в [Slack Kubernetes](http://slack.k8s.io/) и задайте свои вопросы! Поступайте на своё усмотрение и не стесняйтесь вносить изменения в этот документ через пулреквест. Для получения дополнительной информации о создании нового контента для документации Kubernetes следуйте инструкциям в [руководстве по оформлению](/ru/docs/contribute/style/style-guide). -{{% /capture %}} -{{% capture body %}} + + ## Участие в контенте @@ -94,8 +94,9 @@ card: Если у вас есть вопросы по поводу допустимого контента, присоединяйтесь к каналу #sig-docs в [Slack Kubernetes](http://slack.k8s.io/)! -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Прочитайте [руководство по оформлению](/ru/docs/contribute/style/style-guide). -{{% /capture %}} + diff --git a/content/ru/docs/contribute/style/content-organization.md b/content/ru/docs/contribute/style/content-organization.md index 5c2e00dba6..db22e1b0d4 100644 --- a/content/ru/docs/contribute/style/content-organization.md +++ b/content/ru/docs/contribute/style/content-organization.md @@ -1,17 +1,17 @@ --- title: Организация контента -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Этот сайт использует Hugo. В Hugo [организация контента](https://gohugo.io/content-management/organization/) — основная концепция. -{{% /capture %}} -{{% capture body %}} + + {{% note %}} **Подсказка:** при редактировании контента используйте команду `hugo server --navigateToChanged`, чтобы запустить Hugo. @@ -120,12 +120,13 @@ en/includes Исходные файлы стилей в формате [SASS](https://sass-lang.com/) находятся в директории `assets/sass` и автоматически собираются Hugo. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Подробнее про [пользовательские макрокоды Hugo](/ru/docs/contribute/style/hugo-shortcodes/) * Подробнее про [оформление документации](/ru/docs/contribute/style/style-guide) * Подробнее про [содержание документации](/ru/docs/contribute/style/content-guide) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/style/hugo-shortcodes/index.md b/content/ru/docs/contribute/style/hugo-shortcodes/index.md index b77cc77ec1..b5fda23cf1 100644 --- a/content/ru/docs/contribute/style/hugo-shortcodes/index.md +++ b/content/ru/docs/contribute/style/hugo-shortcodes/index.md @@ -2,16 +2,16 @@ approvers: - chenopis title: Пользовательские макрокоды Hugo -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + На этой странице объясняются пользовательские макрокоды Hugo, которые можно использовать в Markdown-файлах документации Kubernetes. Узнать подробнее про макрокоды можно в [документации Hugo](https://gohugo.io/content-management/shortcodes). -{{% /capture %}} -{{% capture body %}} + + ## Состояние функциональности @@ -235,11 +235,11 @@ println "Это вкладка 2." {{< tab name="JSON File" include="podtemplate" />}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Подробнее про [Hugo](https://gohugo.io/). * Подробнее про [написание новой темы](/ru/docs/contribute/style/write-new-topic/). * Подробнее про [использование шаблонов страниц](/ru/docs/contribute/style/page-templates/). * Подробнее про [создание пулреквеста](/ru/docs/contribute/start/#отправка-пулреквеста). -{{% /capture %}} \ No newline at end of file diff --git a/content/ru/docs/contribute/style/page-templates.md b/content/ru/docs/contribute/style/page-templates.md index f49307b414..f8b0ef3790 100644 --- a/content/ru/docs/contribute/style/page-templates.md +++ b/content/ru/docs/contribute/style/page-templates.md @@ -1,13 +1,13 @@ --- title: Использование шаблонов страниц -content_template: templates/concept +content_type: concept weight: 30 card: name: contribute weight: 30 --- -{{% capture overview %}} + При добавлении новых тем воспользуйтесь одним из перечисленных ниже шаблонов. Это регламентирует пользовательское восприятие определённой страницы. @@ -17,10 +17,10 @@ card: Каждая новая тема должна использовать шаблон. Если вы не уверены, какой шаблон использовать для новой темы, начните с [шаблона концепции](#шаблон-концепции). {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## Шаблон концепции @@ -28,7 +28,7 @@ card: Для написания новой страницы концепции в директории `/content/en/docs/concepts` создайте поддиректорию с Markdown-файлом со следующим требованиями: -- Во фронтальной части YAML этой страницы определите поле `content_template: templates/concept`. +- Во фронтальной части YAML этой страницы определите поле `content_type: concept`. - В теле страницы укажите переменные `capture` и любые другие, которые вы хотите включить: | Переменная | Обязательна? | @@ -68,7 +68,7 @@ card: Для написания новой страницы задачи в директории `/content/en/docs/tasks` создайте поддиректорию с Markdown-файлом со следующим требованиями: -- Во фронтальной части YAML этой страницы определите поле `content_template: templates/task`. +- Во фронтальной части YAML этой страницы определите поле `content_type: task`. - В теле страницы укажите переменные `capture` и любые другие, которые вы хотите включить: | Переменная | Обязательна? | @@ -122,7 +122,7 @@ card: Для написания новой страницы задачи в директории `/content/en/docs/tutorials` создайте поддиректорию с Markdown-файлом со следующим требованиями: -- Во фронтальной части YAML этой страницы определите поле `content_template: templates/tutorial`. +- Во фронтальной части YAML этой страницы определите поле `content_type: tutorial`. - В теле страницы укажите переменные `capture` и любые другие, которые вы хотите включить: | Переменная | Обязательна? | @@ -175,12 +175,13 @@ card: Пример завершенной темы, в которой используется шаблон руководства — [Running a Stateless Application Using a Deployment](/docs/tutorials/stateless-application/run-stateless-application-deployment/). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - Подробнее про [оформление документации](/ru/docs/contribute/style/style-guide/) - Подробнее про [содержание документации](/ru/docs/contribute/style/content-guide/) - Подробнее про [организацию контента](/ru/docs/contribute/style/content-organization/) -{{% /capture %}} + diff --git a/content/ru/docs/contribute/style/style-guide.md b/content/ru/docs/contribute/style/style-guide.md index 5a74f1ed0f..327cd0d87c 100644 --- a/content/ru/docs/contribute/style/style-guide.md +++ b/content/ru/docs/contribute/style/style-guide.md @@ -1,7 +1,7 @@ --- title: Руководство по оформлению документации linktitle: Руководство по оформлению -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute @@ -9,14 +9,14 @@ card: title: Руководство по оформлению документации --- -{{% capture overview %}} + На этой странице вы найдёте рекомендации по оформлению написания документации Kubernetes. Это рекомендации, а не правила. Используйте здравый смысл и не стесняйтесь предлагать изменения в этот документ в виде пулреквеста. Для получения подробной информации о создании нового контента в документацию Kubernetes посмотрите [руководство по контенту документации](/ru/docs/contribute/style/content-guide/), а также следуйте инструкциям по [использованию шаблонов страниц](/ru/docs/contribute/style/page-templates/) и [открытию пулревеста в документацию](/ru/docs/contribute/start/#улучшение-существующего-текста). -{{% /capture %}} -{{% capture body %}} + + {{< note >}} В документации Kubernetes используется [Blackfriday Markdown Renderer](https://github.com/russross/blackfriday) вместе с несколькими [макрокодами Hugo](/docs/home/contribute/includes/) для добавления поддержки записей глоссария, вкладок и отображения состояний функциональностей. @@ -559,12 +559,13 @@ Create a new cluster. | Turn up a new cluster. {{< /table >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Подробнее про [написание новой темы](/ru/docs/contribute/style/write-new-topic/). * Подробнее про [использование шаблонов страниц](/ru/docs/contribute/style/page-templates/). * Подробнее про [создание пулреквеста](/ru/docs/contribute/start/#отправка-пулреквеста)). -{{% /capture %}} + diff --git a/content/ru/docs/contribute/style/write-new-topic.md b/content/ru/docs/contribute/style/write-new-topic.md index d13789e529..37f989b2c7 100644 --- a/content/ru/docs/contribute/style/write-new-topic.md +++ b/content/ru/docs/contribute/style/write-new-topic.md @@ -1,17 +1,18 @@ --- title: Написание новой темы -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + На этой странице показано, как создать новую тему для документации Kubernetes. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Создайте копию репозитория документации Kubernetes, как описано в разделе [Участие для начинающих](/ru/docs/contribute/start/). -{{% capture steps %}} + ## Выбор типы страницы @@ -111,9 +112,10 @@ kubectl create -f https://k8s.io/examples/pods/storage/gce-volume.yaml Поместите файлы изображений в директорию `/images`. Предпочтительный формат изображения — SVG. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Подробнее про [использование шаблонов страниц](/ru/docs/contribute/style/page-templates/). * Подробнее про [создание пулреквеста](/ru/docs/contribute/start/#отправка-пулреквеста)). -{{% /capture %}} + diff --git a/content/ru/docs/home/supported-doc-versions.md b/content/ru/docs/home/supported-doc-versions.md index 9b8b3ff622..fc7dd13762 100644 --- a/content/ru/docs/home/supported-doc-versions.md +++ b/content/ru/docs/home/supported-doc-versions.md @@ -1,19 +1,19 @@ --- title: Версии Kubernetes с поддержкой документации -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Версии с поддержкой документации --- -{{% capture overview %}} + На сайте можно найти документацию для текущей и четырёх прошлых версий Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Текущая версия @@ -24,6 +24,6 @@ card: {{< versions-other >}} -{{% /capture %}} + diff --git a/content/ru/docs/reference/_index.md b/content/ru/docs/reference/_index.md index 343d9a092d..2ba82f7d87 100644 --- a/content/ru/docs/reference/_index.md +++ b/content/ru/docs/reference/_index.md @@ -5,16 +5,16 @@ approvers: linkTitle: "Ссылки" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Этот раздел документации Kubernetes содержит ссылки. -{{% /capture %}} -{{% capture body %}} + + ## Ссылки API @@ -58,4 +58,4 @@ content_template: templates/concept Архив документации по дизайну для функциональности Kubernetes. Начните с [Архитектура Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) и [Обзор дизайна Kubernetes](https://git.k8s.io/community/contributors/design-proposals). -{{% /capture %}} + diff --git a/content/ru/docs/reference/kubectl/cheatsheet.md b/content/ru/docs/reference/kubectl/cheatsheet.md index a79feee5a0..d2be7e9c0c 100644 --- a/content/ru/docs/reference/kubectl/cheatsheet.md +++ b/content/ru/docs/reference/kubectl/cheatsheet.md @@ -4,21 +4,21 @@ reviewers: - erictune - krousey - clove -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + Смотрите также: [обзор Kubectl](/ru/docs/reference/kubectl/overview/) и [руководство по JsonPath](/ru/docs/reference/kubectl/jsonpath). Эта команда представляет собой обзор команды `kubectl`. -{{% /capture %}} -{{% capture body %}} + + # kubectl - Шпаргалка @@ -374,9 +374,10 @@ kubectl api-resources --api-group=extensions # Все ресурсы в API-гр `--v=8` | Показать содержимое HTTP-запросов. `--v=9` | Показать содержимого HTTP-запроса в полном виде. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Подробнее о kubectl на странице [обзора](/ru/docs/reference/kubectl/overview/). @@ -386,4 +387,4 @@ kubectl api-resources --api-group=extensions # Все ресурсы в API-гр * Посмотреть [шпаргалки по kubectl](https://github.com/dennyzhang/cheatsheet-kubernetes-A4) сообщества. -{{% /capture %}} + diff --git a/content/ru/docs/reference/kubectl/docker-cli-to-kubectl.md b/content/ru/docs/reference/kubectl/docker-cli-to-kubectl.md index 396386be9f..99a9e20d8c 100644 --- a/content/ru/docs/reference/kubectl/docker-cli-to-kubectl.md +++ b/content/ru/docs/reference/kubectl/docker-cli-to-kubectl.md @@ -1,13 +1,13 @@ --- title: kubectl для пользователей Docker -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Вы можете использовать инструмент командной строки kubectl в Kubernetes для работы с API-сервером. Если вы знакомы с инструментом командной строки Docker, то использование kubectl не составит проблем. Однако команды docker и kubectl отличаются. В следующих разделах показана подкоманда docker и приведена эквивалентная команда в kubectl. -{{% /capture %}} -{{% capture body %}} + + ## docker run @@ -359,4 +359,4 @@ Grafana is running at https://203.0.113.141/api/v1/namespaces/kube-system/servic Heapster is running at https://203.0.113.141/api/v1/namespaces/kube-system/services/monitoring-heapster/proxy InfluxDB is running at https://203.0.113.141/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy ``` -{{% /capture %}} + diff --git a/content/ru/docs/reference/kubectl/jsonpath.md b/content/ru/docs/reference/kubectl/jsonpath.md index 6b8995b06c..d6bd9b5c48 100644 --- a/content/ru/docs/reference/kubectl/jsonpath.md +++ b/content/ru/docs/reference/kubectl/jsonpath.md @@ -1,14 +1,14 @@ --- title: Поддержка JSONPath -content_template: templates/concept +content_type: concept weight: 25 --- -{{% capture overview %}} + Kubectl поддерживает шаблон JSONPath. -{{% /capture %}} -{{% capture body %}} + + Шаблон JSONPath состоит из выражений JSONPath, заключенных в фигурные скобки {}. Kubectl использует JSONPath-выражения для фильтрации по определенным полям в JSON-объекте и форматирования вывода. @@ -98,4 +98,4 @@ kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{\"\t\"}{.status. ``` {{< /note >}} -{{% /capture %}} + diff --git a/content/ru/docs/reference/kubectl/kubectl.md b/content/ru/docs/reference/kubectl/kubectl.md index ddc19d82b8..071d927b07 100644 --- a/content/ru/docs/reference/kubectl/kubectl.md +++ b/content/ru/docs/reference/kubectl/kubectl.md @@ -4,7 +4,8 @@ content_template: templates/tool-reference weight: 28 --- -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + kubectl управляет кластерами Kubernetes. @@ -15,9 +16,10 @@ kubectl управляет кластерами Kubernetes. kubectl [flags] ``` -{{% /capture %}} -{{% capture options %}} + +## {{% heading "options" %}} +
    @@ -515,9 +517,10 @@ kubectl [flags] -{{% /capture %}} -{{% capture seealso %}} + +## {{% heading "seealso" %}} + * [kubectl annotate](/docs/reference/generated/kubectl/kubectl-commands#annotate) - Обновить аннотации ресурса * [kubectl api-resources](/docs/reference/generated/kubectl/kubectl-commands#api-resources) - Вывести доступные API-ресурсы на сервере @@ -562,5 +565,5 @@ kubectl [flags] * [kubectl version](/docs/reference/generated/kubectl/kubectl-commands#version) - Вывести информацию о версии клиента и сервера * [kubectl wait](/docs/reference/generated/kubectl/kubectl-commands#wait) - Экспериментально: ожидать выполнения определенного условия в одном или нескольких ресурсах. -{{% /capture %}} + diff --git a/content/ru/docs/reference/kubectl/overview.md b/content/ru/docs/reference/kubectl/overview.md index 5dcd148d16..9f1fd9906e 100644 --- a/content/ru/docs/reference/kubectl/overview.md +++ b/content/ru/docs/reference/kubectl/overview.md @@ -2,21 +2,21 @@ reviewers: - hw-qiaolei title: Обзор kubectl -content_template: templates/concept +content_type: concept weight: 20 card: name: reference weight: 20 --- -{{% capture overview %}} + Kubectl — это инструмент командной строки для управления кластерами Kubernetes. `kubectl` ищет файл config в директории $HOME/.kube. Вы можете указать другие файлы [kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/), установив переменную окружения KUBECONFIG или флаг [`--kubeconfig`](/docs/concepts/configuration/organize-cluster-access-kubeconfig/). На этой странице рассматривается синтаксис kubectl, описаны командные операции и приведены распространённые примеры. Подробную информацию о каждой команде, включая все поддерживаемые в ней флаги и подкоманды, смотрите в справочной документации [kubectl](/docs/reference/generated/kubectl/kubectl-commands/). Инструкции по установке находятся на странице [Установка и настройка kubectl](/ru/docs/tasks/kubectl/install/). -{{% /capture %}} -{{% capture body %}} + + ## Синтаксис @@ -454,10 +454,11 @@ Current user: plugins-user Чтобы узнать больше о плагинах, изучите [пример CLI-плагина](https://github.com/kubernetes/sample-cli-plugin). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Начните использовать команды [kubectl](/ru/docs/reference/generated/kubectl/kubectl-commands/). -{{% /capture %}} + diff --git a/content/ru/docs/setup/_index.md b/content/ru/docs/setup/_index.md index 41389f7465..17b6efd198 100644 --- a/content/ru/docs/setup/_index.md +++ b/content/ru/docs/setup/_index.md @@ -7,18 +7,18 @@ no_issue: true title: Настройка main_menu: true weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Используйте информацию на этой странице, чтобы найти наиболее подходящее для вас решение по установке и настройке. Решение о том, как запускать Kubernetes, зависит от доступных ресурсов и необходимого уровня гибкости использования. Запуск Kubernetes возможен практически на чём угодно, от вашего ноутбука или виртуальных машины у облачного провайдера и до физических серверов. Решения позволяют как настроить полностью управляемый кластер запуском единственной команды так и создать пользовательский кластер на физических серверах. -{{% /capture %}} -{{% capture body %}} + + ## Решения для запуска на локальной машине @@ -74,8 +74,9 @@ content_template: templates/concept Выбрать [пользовательское решение](/docs/setup/pick-right-solution/#custom-solutions). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Перейти к [выбору подходящего решения](/docs/setup/pick-right-solution/), чтобы ознакомить с полным списком доступных решений. -{{% /capture %}} + diff --git a/content/ru/docs/setup/learning-environment/kind.md b/content/ru/docs/setup/learning-environment/kind.md index d0f775dd22..753d5c3d48 100644 --- a/content/ru/docs/setup/learning-environment/kind.md +++ b/content/ru/docs/setup/learning-environment/kind.md @@ -1,19 +1,19 @@ --- title: Установка Kubernetes с помощью Kind weight: 40 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kind — это инструмент для запуска локальных кластеров Kubernetes с помощью "узлов" контейнера Docker. -{{% /capture %}} -{{% capture body %}} + + ## Установка Смотрите страницу [по установке Kind](https://kind.sigs.k8s.io/docs/user/quick-start/). -{{% /capture %}} + diff --git a/content/ru/docs/setup/learning-environment/minikube.md b/content/ru/docs/setup/learning-environment/minikube.md index b55beb69f7..af7c8b293c 100644 --- a/content/ru/docs/setup/learning-environment/minikube.md +++ b/content/ru/docs/setup/learning-environment/minikube.md @@ -5,16 +5,16 @@ reviewers: - aaron-prindle title: Установка Kubernetes с помощью Minikube weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikube — это инструмент, позволяющий легко запускать Kubernetes на локальной машине. Для тех, кто хочет попробовать Kubernetes или рассмотреть возможность его использования в повседневной разработке, Minikube станет отличным вариантом, потому что он запускает одноузловой кластер Kubernetes внутри виртуальной машины (VM) на компьютере пользователя. -{{% /capture %}} -{{% capture body %}} + + ## Возможности Minikube @@ -527,4 +527,4 @@ Minikube использует [libmachine](https://github.com/docker/machine/tre Помощь, вопросы и комментарии приветствуются и поощряются! Разработчики Minikube проводят время на [Slack](https://kubernetes.slack.com) в канале #minikube (получить приглашение можно [здесь](http://slack.kubernetes.io/)). У нас также есть [список рассылки kubernetes-dev на Google Groups](https://groups.google.com/forum/#!forum/kubernetes-dev). Если вы отправляете сообщение в список, пожалуйста, начните вашу тему с "minikube: ". -{{% /capture %}} + diff --git a/content/ru/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md b/content/ru/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md index 7d29c427e8..62b03f55a4 100644 --- a/content/ru/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md +++ b/content/ru/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md @@ -1,10 +1,10 @@ --- title: Настройка Liveness, Readiness и Startup проб -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + На этой странице рассказывается, как настроить liveness, readiness и startup пробы для контейнеров. @@ -28,15 +28,16 @@ Kubelet использует startup пробы, чтобы понять, ког Это может быть использовано для проверки работоспособности медленно стартующих контейнеров, чтобы избежать убийства kubelet'ом прежде, чем они будут запущены. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Определение liveness команды @@ -323,9 +324,10 @@ liveness и readiness проверок: Для TCP проб kubelet устанавливает соединение с ноды, не внутри pod, что означает, что вы не можете использовать service name в параметре `host`, пока kubelet не может выполнить его резолв. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Узнать больше о [Контейнерных пробах](/docs/concepts/workloads/pods/pod-lifecycle/#container-probes). @@ -336,6 +338,6 @@ liveness и readiness проверок: * [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) * [Проба](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#probe-v1-core) -{{% /capture %}} + diff --git a/content/ru/docs/tasks/tools/install-kubectl.md b/content/ru/docs/tasks/tools/install-kubectl.md index 0e40eec3b3..b86ecb9b72 100644 --- a/content/ru/docs/tasks/tools/install-kubectl.md +++ b/content/ru/docs/tasks/tools/install-kubectl.md @@ -2,7 +2,7 @@ reviewers: - mikedanese title: Установка и настройка kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -10,15 +10,16 @@ card: title: Установка kubectl --- -{{% capture overview %}} + Инструмент командной строки Kubernetes [kubectl](/docs/user-guide/kubectl/) позволяет запускать команды для кластеров Kubernetes. Вы можете использовать kubectl для развертывания приложений, проверки и управления ресурсов кластера, а также для просмотра логов. Полный список операций kubectl смотрите в [Overview of kubectl](/docs/reference/kubectl/overview/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Используемая вами мажорная версия kubectl не должна отличаться от той, которая используется в кластере. Например, версия v1.2 может работать с версиями v1.1, v1.2 и v1.3. Использование последней версии kubectl поможет избежать непредвиденных проблем. -{{% /capture %}} -{{% capture steps %}} + + ## Установка kubectl в Linux @@ -474,12 +475,13 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Установка Minikube](/ru/docs/tasks/tools/install-minikube/) * Смотрите [руководства по установке](/docs/setup/), чтобы узнать больше про создание кластеров. * [Learn how to launch and expose your application.](/docs/tasks/access-application-cluster/service-access-application-cluster/) * Если у вас нет доступа к кластеру, который не создавали, посмотрите страницу [Совместный доступ к кластеру](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). * Read the [kubectl reference docs](/docs/reference/kubectl/kubectl/) -{{% /capture %}} + diff --git a/content/ru/docs/tasks/tools/install-minikube.md b/content/ru/docs/tasks/tools/install-minikube.md index 380e632c2e..13e907501b 100644 --- a/content/ru/docs/tasks/tools/install-minikube.md +++ b/content/ru/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Установка Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + На этой странице рассказано, как установить [Minikube](/ru/docs/tutorials/hello-minikube), инструмент для запуска одноузлового кластера Kubernetes на виртуальной машине в персональном компьютере. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="Linux" %}} @@ -51,9 +52,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # Установка minikube @@ -194,13 +195,14 @@ choco install minikube {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Локальный запуск Kubernetes при помощи Minikube](/ru/docs/setup/learning-environment/minikube/) -{{% /capture %}} + ## Проверка установки diff --git a/content/ru/docs/tutorials/_index.md b/content/ru/docs/tutorials/_index.md index 4f677cec0e..0ae88119cc 100644 --- a/content/ru/docs/tutorials/_index.md +++ b/content/ru/docs/tutorials/_index.md @@ -2,16 +2,16 @@ title: Руководства main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + В данном разделе документации Kubernetes можно найти руководства. В них рассказывается, как достичь определённой цели, а не просто выполнить одну [задачу](/docs/tasks/). Большинство уроков состоит из нескольких разделов, каждый из которых включает в себя шаги для последовательного выполнения. Перед тем как приступить к выполнению уроков, может быть полезно ознакомиться со [словарем терминов](/ru/docs/reference/glossary/) для последующих обращений. -{{% /capture %}} -{{% capture body %}} + + ## Основы @@ -61,10 +61,11 @@ content_template: templates/concept * [Использование IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Если вы хотите создать руководство самостоятельно, обратитесь к странице [Использование шаблонов страниц](/ru/docs/home/contribute/page-templates/), чтобы узнать информацию и посмотреть шаблоны для составления руководств. -{{% /capture %}} + diff --git a/content/ru/docs/tutorials/hello-minikube.md b/content/ru/docs/tutorials/hello-minikube.md index 6891fd88fc..acd92cc3f4 100644 --- a/content/ru/docs/tutorials/hello-minikube.md +++ b/content/ru/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Привет, Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + Это руководство покажет вам, как запустить простое Hello World Node.js приложение на Kubernetes используя [Minikube](/docs/getting-started-guides/minikube) и Katacoda. @@ -23,17 +23,19 @@ Katacoda предоставляет бесплатную, встроенную Вы также можете следовать этому руководству, если вы установили [Minikube locally](/docs/tasks/tools/install-minikube/). {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Разверните hello world приложение в Minikube. * Запустите приложение. * Посмотрите логи приложения. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Для этого примера создан образ контейнера, собранный на основе следующих файлов: @@ -43,9 +45,9 @@ Katacoda предоставляет бесплатную, встроенную Чтобы получить больше информации по запуску команды `docker build`, ознакомьтесь с [документацией по Docker](https://docs.docker.com/engine/reference/commandline/build/). -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Создание кластера Minikube @@ -261,12 +263,13 @@ minikube stop minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Больше об [объектах деплоймента](/docs/concepts/workloads/controllers/deployment/). * Больше о [развёртывании приложения](/docs/user-guide/deploying-applications/). * Больше об [объектах сервиса](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 8d8d0d59df6ba0c10d7c2d9ae1344bcb0f10af76 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:19:04 -0400 Subject: [PATCH 341/533] add uk pages --- content/uk/docs/concepts/_index.md | 15 +++++------ .../concepts/overview/what-is-kubernetes.md | 15 +++++------ content/uk/docs/contribute/localization_uk.md | 10 ++++---- content/uk/docs/setup/_index.md | 10 ++++---- content/uk/docs/tutorials/_index.md | 15 +++++------ content/uk/docs/tutorials/hello-minikube.md | 25 +++++++++++-------- 6 files changed, 48 insertions(+), 42 deletions(-) diff --git a/content/uk/docs/concepts/_index.md b/content/uk/docs/concepts/_index.md index 64f6e82323..873e8ab2ae 100644 --- a/content/uk/docs/concepts/_index.md +++ b/content/uk/docs/concepts/_index.md @@ -1,19 +1,19 @@ --- title: Концепції main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + В розділі "Концепції" описані складові системи Kubernetes і абстракції, за допомогою яких Kubernetes реалізовує ваш {{< glossary_tooltip text="кластер" term_id="cluster" length="all" >}}. Цей розділ допоможе вам краще зрозуміти, як працює Kubernetes. -{{% /capture %}} -{{% capture body %}} + + @@ -108,9 +108,10 @@ Kubernetes Master відповідає за підтримку бажаного Вузлами кластера називають машини (ВМ, фізичні сервери тощо), на яких запущені ваші застосунки та хмарні робочі навантаження. Кожен вузол керується Kubernetes master; ви лише зрідка взаємодіятимете безпосередньо із вузлами. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + Ця сторінка являє собою узагальнений огляд Kubernetes. -{{% /capture %}} -{{% capture body %}} + + @@ -170,13 +170,14 @@ Kubernetes: * Не надає і не запроваджує жодних систем машинної конфігурації, підтримки, управління або самозцілення. * На додачу, Kubernetes - не просто система оркестрації. Власне кажучи, вона усуває потребу оркестрації як такої. Технічне визначення оркестрації - це запуск визначених процесів: спочатку A, за ним B, потім C. На противагу, Kubernetes складається з певної множини незалежних, складних процесів контролерів, що безперервно опрацьовують стан у напрямку, що заданий бажаною конфігурацією. Неважливо, як ви дістанетесь з пункту A до пункту C. Централізоване управління також не є вимогою. Все це виливається в систему, яку легко використовувати, яка є потужною, надійною, стійкою та здатною до легкого розширення. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Перегляньте [компоненти Kubernetes](/docs/concepts/overview/components/) * Готові [розпочати роботу](/docs/setup/)? -{{% /capture %}} + diff --git a/content/uk/docs/contribute/localization_uk.md b/content/uk/docs/contribute/localization_uk.md index 86b0674682..a81dcddb0f 100644 --- a/content/uk/docs/contribute/localization_uk.md +++ b/content/uk/docs/contribute/localization_uk.md @@ -1,6 +1,6 @@ --- title: Рекомендації з перекладу українською мовою -content_template: templates/concept +content_type: concept anchors: - anchor: "#правила-перекладу" title: Правила перекладу @@ -8,15 +8,15 @@ anchors: title: Словник --- -{{% capture overview %}} + Дорогі друзі! Раді вітати вас у спільноті українських контриб'юторів проекту Kubernetes. Ця сторінка створена з метою полегшити вашу роботу при перекладі документації. Вона містить правила, якими ми керувалися під час перекладу, і базовий словник, який ми почали укладати. Перелічені у ньому терміни ви знайдете в українській версії документації Kubernetes. Будемо дуже вдячні, якщо ви допоможете нам доповнити цей словник і розширити правила перекладу. Сподіваємось, наші рекомендації стануть вам у пригоді. -{{% /capture %}} -{{% capture body %}} + + ## Правила перекладу {#правила-перекладу} @@ -121,4 +121,4 @@ Volume | Volume | workload | робоче навантаження | YAML | YAML | -{{% /capture %}} + diff --git a/content/uk/docs/setup/_index.md b/content/uk/docs/setup/_index.md index f7874f9fc4..2168e1eb37 100644 --- a/content/uk/docs/setup/_index.md +++ b/content/uk/docs/setup/_index.md @@ -7,7 +7,7 @@ no_issue: true title: Початок роботи main_menu: true weight: 20 -content_template: templates/concept +content_type: concept card: name: setup weight: 20 @@ -18,7 +18,7 @@ card: title: Прод оточення --- -{{% capture overview %}} + @@ -36,9 +36,9 @@ card: --> Простіше кажучи, ви можете створити Kubernetes кластер у навчальному і в прод оточеннях. -{{% /capture %}} -{{% capture body %}} + + @@ -133,4 +133,4 @@ card: | [VMware](https://cloud.vmware.com/) | [VMware Cloud PKS](https://cloud.vmware.com/vmware-cloud-pks) |[VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | |[VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | [Z.A.R.V.I.S.](https://zarvis.ai/) | ✔ | | | | | | -{{% /capture %}} + diff --git a/content/uk/docs/tutorials/_index.md b/content/uk/docs/tutorials/_index.md index 5c30bc87ff..90cb51eb12 100644 --- a/content/uk/docs/tutorials/_index.md +++ b/content/uk/docs/tutorials/_index.md @@ -3,10 +3,10 @@ title: Навчальні матеріали main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + У цьому розділі документації Kubernetes зібрані навчальні матеріали. Кожний матеріал показує, як досягти окремої мети, що більша за одне [завдання](/docs/tasks/). Зазвичай навчальний матеріал має декілька розділів, кожен з яких містить певну послідовність дій. До ознайомлення з навчальними матеріалами вам, можливо, знадобиться додати у закладки сторінку з [Глосарієм](/docs/reference/glossary/) для подальшого консультування. -{{% /capture %}} -{{% capture body %}} + + @@ -75,9 +75,10 @@ Before walking through each tutorial, you may want to bookmark the * [Using Source IP](/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + @@ -48,9 +49,10 @@ You can also follow this tutorial if you've installed [Minikube locally](/docs/t --> * Переглянути логи застосунку. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + @@ -64,9 +66,9 @@ You can also follow this tutorial if you've installed [Minikube locally](/docs/t --> Більше інформації про команду `docker build` ви знайдете у [документації Docker](https://docs.docker.com/engine/reference/commandline/build/). -{{% /capture %}} -{{% capture lessoncontent %}} + + @@ -377,9 +379,10 @@ minikube stop minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + @@ -391,4 +394,4 @@ minikube delete --> * Дізнайтеся більше про [об'єкти Service](/docs/concepts/services-networking/service/). -{{% /capture %}} + From 21fd0a12f981e01c4dff0cef3fb72f1a797bbf25 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:20:09 -0400 Subject: [PATCH 342/533] add vi pages --- .../concepts/architecture/cloud-controller.md | 10 +++++----- .../container-environment-variables.md | 15 +++++++------- .../containers/container-lifecycle-hooks.md | 15 +++++++------- .../concepts/overview/what-is-kubernetes.md | 15 +++++++------- .../vi/docs/home/supported-doc-versions.md | 10 +++++----- .../vi/docs/reference/kubectl/cheatsheet.md | 15 +++++++------- .../vi/docs/tasks/tools/install-kubectl.md | 17 ++++++++-------- .../vi/docs/tasks/tools/install-minikube.md | 20 ++++++++++--------- 8 files changed, 62 insertions(+), 55 deletions(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index b671910393..069602153c 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: Các khái niệm nền tảng của Cloud Controller Manager -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Khái niệm Cloud Controller Manager (CCM) (để tránh nhầm lẫn với bản binary build cùng tên) được định nghĩa riêng biệt để cho phép các bên cung cấp dịch vụ cloud và thành phần chính của Kubernetes phát triển độc lập với nhau. CCM chạy đồng thời với những thành phần khác thuộc máy chủ của một cluster như Controller Manager của Kubernetes, API server, và Scheduler. Nó cũng có thể đóng vai trò như một addon cho Kubernetes. @@ -16,9 +16,9 @@ Dưới đây là kiến trúc của một Kubernetes cluster khi không đi cù ![Kiến trúc CCM Kube trước đây](/images/docs/pre-ccm-arch.png) -{{% /capture %}} -{{% capture body %}} + + ## Thiết kế @@ -238,4 +238,4 @@ Sau đây là danh sách các nhà cung cấp dịch vụ cloud đã triển kha Hướng dẫn chi tiết cho việc cấu hình và chạy CCM được cung cấp tại [đây](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). -{{% /capture %}} + diff --git a/content/vi/docs/concepts/containers/container-environment-variables.md b/content/vi/docs/concepts/containers/container-environment-variables.md index f7134c56e1..a63f032633 100644 --- a/content/vi/docs/concepts/containers/container-environment-variables.md +++ b/content/vi/docs/concepts/containers/container-environment-variables.md @@ -2,18 +2,18 @@ reviewers: - huynguyennovem title: Các biến môi trường của Container -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + Trang này mô tả các tài nguyên có sẵn cho các Containers trong môi trường Container. -{{% /capture %}} -{{% capture body %}} + + ## Môi trường container @@ -52,12 +52,13 @@ FOO_SERVICE_PORT= Các services có địa chỉ IP và có sẵn cho Container thông qua DNS nếu [DNS addon](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/) được enable.  -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Tìm hiểu thêm về [Container lifecycle hooks](/docs/concepts/containers/container-lifecycle-hooks/). * Trải nhiệm thực tế [attaching handlers to Container lifecycle events](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/vi/docs/concepts/containers/container-lifecycle-hooks.md b/content/vi/docs/concepts/containers/container-lifecycle-hooks.md index e278e438f8..697e98c3a4 100644 --- a/content/vi/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/vi/docs/concepts/containers/container-lifecycle-hooks.md @@ -2,19 +2,19 @@ reviewers: - huynguyennovem title: Container Lifecycle Hooks -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + Trang này mô tả cách mà kubelet quản lý các Container có thể sử dụng framework Container lifecycle hook để chạy mã nguồn được kích hoạt bởi các sự kiện trong lifecycle của nó. -{{% /capture %}} -{{% capture body %}} + + ## Tổng quan @@ -111,13 +111,14 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Xem thêm về [Container environment](/docs/concepts/containers/container-environment-variables/). * Kinh nghiệm thực hành [gắn các trình xử lý vào các sự kiện trong lifecycle của Container](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). -{{% /capture %}} + diff --git a/content/vi/docs/concepts/overview/what-is-kubernetes.md b/content/vi/docs/concepts/overview/what-is-kubernetes.md index b7b9a420a7..bc53698f43 100644 --- a/content/vi/docs/concepts/overview/what-is-kubernetes.md +++ b/content/vi/docs/concepts/overview/what-is-kubernetes.md @@ -2,18 +2,18 @@ reviewers: - huynguyennovem title: Kubernetes là gì -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + Trang tổng quan của Kubernetes. -{{% /capture %}} -{{% capture body %}} + + Kubernetes là một nền tảng nguồn mở, khả chuyển, có thể mở rộng để quản lý các ứng dụng được đóng gói và các service, giúp thuận lợi trong việc cấu hình và tự động hoá việc triển khai ứng dụng. Kubernetes là một hệ sinh thái lớn và phát triển nhanh chóng. Các dịch vụ, sự hỗ trợ và công cụ có sẵn rộng rãi. Tên gọi Kubernetes có nguồn gốc từ tiếng Hy Lạp, có ý nghĩa là người lái tàu hoặc hoa tiêu. Google mở mã nguồn Kubernetes từ năm 2014. Kubernetes xây dựng dựa trên [một thập kỷ rưỡi kinh nghiệm mà Google có được với việc vận hành một khối lượng lớn workload trong thực tế](https://ai.google/research/pubs/pub43438), kết hợp với các ý tưởng và thực tiễn tốt nhất từ cộng đồng. @@ -82,9 +82,10 @@ Kubernetes: * Không cung cấp cũng như áp dụng bất kỳ cấu hình toàn diện, bảo trì, quản lý hoặc hệ thống tự phục hồi. * Ngoài ra, Kubernetes không phải là một hệ thống điều phối đơn thuần. Trong thực tế, nó loại bỏ sự cần thiết của việc điều phối. Định nghĩa kỹ thuật của điều phối là việc thực thi một quy trình công việc được xác định: đầu tiên làm việc A, sau đó là B rồi sau chót là C. Ngược lại, Kubernetes bao gồm một tập các quy trình kiểm soát độc lập, có thể kết hợp, liên tục điều khiển trạng thái hiện tại theo trạng thái mong muốn đã cho. Nó không phải là vấn đề làm thế nào bạn có thể đi được từ A đến C. Kiểm soát tập trung cũng không bắt buộc. Điều này dẫn đến một hệ thống dễ sử dụng hơn, mạnh mẽ hơn, linh hoạt hơn và có thể mở rộng. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Xem thêm về [các thành phần của Kubernetes](/docs/concepts/overview/components/) * Sẵn sàng [bắt đầu](/docs/setup/)? -{{% /capture %}} + diff --git a/content/vi/docs/home/supported-doc-versions.md b/content/vi/docs/home/supported-doc-versions.md index 4743b42622..461fd6fda6 100644 --- a/content/vi/docs/home/supported-doc-versions.md +++ b/content/vi/docs/home/supported-doc-versions.md @@ -1,19 +1,19 @@ --- title: Các phiên bản được hỗ trợ của tài liệu Kubernetes -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Các phiên bản được hỗ trợ của tài liệu Kubernetes --- -{{% capture overview %}} + Trang web này lưu tài liệu của phiên bản hiện tại và bốn phiên bản trước của Kubernetes. -{{% /capture %}} -{{% capture body %}} + + ## Phiên bản hiện tại @@ -24,4 +24,4 @@ Phiên bản hiện tại là {{< versions-other >}} -{{% /capture %}} + diff --git a/content/vi/docs/reference/kubectl/cheatsheet.md b/content/vi/docs/reference/kubectl/cheatsheet.md index 261b45f824..38e51750e6 100644 --- a/content/vi/docs/reference/kubectl/cheatsheet.md +++ b/content/vi/docs/reference/kubectl/cheatsheet.md @@ -2,21 +2,21 @@ title: kubectl Cheat Sheet reviewers: - ngtuna -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + Xem thêm: [Kubectl Overview](/docs/reference/kubectl/overview/) và [JsonPath Guide](/docs/reference/kubectl/jsonpath). Trang này là trang tổng quan của lệnh `kubectl`. -{{% /capture %}} -{{% capture body %}} + + # kubectl - Cheat Sheet @@ -365,9 +365,10 @@ Verbosity | Description `--v=8` | Hiển thị nội dung HTTP request. `--v=9` | Hiển thị nội dung HTTP request mà không cắt ngắn nội dung. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Đọc thêm về [Tổng quan kubectl](/docs/reference/kubectl/overview/). @@ -377,4 +378,4 @@ Verbosity | Description * Xem thêm bản cộng đồng [kubectl cheatsheets](https://github.com/dennyzhang/cheatsheet-kubernetes-A4). -{{% /capture %}} + diff --git a/content/vi/docs/tasks/tools/install-kubectl.md b/content/vi/docs/tasks/tools/install-kubectl.md index cdb9637abb..40297a9118 100644 --- a/content/vi/docs/tasks/tools/install-kubectl.md +++ b/content/vi/docs/tasks/tools/install-kubectl.md @@ -2,7 +2,7 @@ reviewers: - truongnh1992 title: Cài đặt và cấu hình kubectl -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -10,15 +10,16 @@ card: title: Install kubectl --- -{{% capture overview %}} + Công cụ command-line trong Kubernetes, [kubectl](/docs/user-guide/kubectl/), cho phép bạn thực thi các câu lệnh trong Kubernetes clusters. Bạn có thể sử dụng kubectl để triển khai các ứng dụng, theo dõi và quản lý tài nguyên của cluster, và xem log. Để biết các thao tác của kubectl, truy cập tới [Tổng quan về kubectl](/docs/reference/kubectl/overview/). -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + Bạn cần phải sử dụng phiên bản kubectl sai lệch không quá một phiên bản với version của cluster. Ví dụ, một client v1.2 nên được hoạt động với master v1.1, v1.2 và v1.3. Sử dụng phiên bản mới nhất của kubectl giúp tránh được các vấn đề không lường trước được. -{{% /capture %}} -{{% capture steps %}} + + ## Cài đặt kubectl trên Linux @@ -463,7 +464,7 @@ compinit {{% /tab %}} {{< /tabs >}} -{{% /capture %}} + {{% capture Tiếp theo %}} * [Cài đặt Minikube](/docs/tasks/tools/install-minikube/) @@ -471,4 +472,4 @@ compinit * [Tìm hiểu cách khởi chạy và hiển thị ứng dụng của bạn.](/docs/tasks/access-application-cluster/service-access-application-cluster/) * Nếu bạn cần quyền truy cập vào một cluster mà bạn không tạo, hãy xem [tài liệu Sharing Cluster Access](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). * Đọc [tài liệu tham khảo của kubectl](/docs/reference/kubectl/kubectl/) -{{% /capture %}} + diff --git a/content/vi/docs/tasks/tools/install-minikube.md b/content/vi/docs/tasks/tools/install-minikube.md index c3655a6739..27aa441287 100644 --- a/content/vi/docs/tasks/tools/install-minikube.md +++ b/content/vi/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Cài đặt Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + Tài liệu này sẽ hướng dẫn các bạn cách cài đặt [Minikube](/docs/tutorials/hello-minikube), một công cụ chạy một Kubernetes cluster chỉ gồm một node trong một máy ảo (VM) trên máy tính của bạn. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="Linux" %}} @@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # Cài đặt minikube @@ -184,13 +185,14 @@ Sau khi Minikube hoàn tất việc cài đặt, hãy đóng CLI hiện tại v {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Chạy Kubernetes trên local thông qua Minikube](/docs/setup/learning-environment/minikube/) -{{% /capture %}} + ## Dọn dẹp local state {#cleanup-local-state} From 4b35d4d401e6f637815d3421fabe0dc0dc0917c3 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:23:39 -0400 Subject: [PATCH 343/533] add zh pages --- content/zh/docs/concepts/_index.md | 17 +++++----- .../concepts/architecture/cloud-controller.md | 12 +++---- .../docs/concepts/architecture/controller.md | 15 +++++---- .../zh/docs/concepts/architecture/nodes.md | 17 +++++----- .../concepts/cluster-administration/addons.md | 10 +++--- .../cluster-administration/certificates.md | 10 +++--- .../cluster-administration/cloud-providers.md | 12 +++---- .../cluster-administration-overview.md | 10 +++--- .../controller-metrics.md | 12 +++---- .../cluster-administration/federation.md | 15 +++++---- .../kubelet-garbage-collection.md | 17 +++++----- .../cluster-administration/logging.md | 10 +++--- .../manage-deployment.md | 15 +++++---- .../cluster-administration/monitoring.md | 15 +++++---- .../cluster-administration/networking.md | 15 +++++---- .../cluster-administration/proxies.md | 10 +++--- .../concepts/configuration/assign-pod-node.md | 17 +++++----- .../docs/concepts/configuration/configmap.md | 15 +++++---- .../manage-compute-resources-container.md | 17 +++++----- .../organize-cluster-access-kubeconfig.md | 17 +++++----- .../docs/concepts/configuration/overview.md | 12 +++---- .../concepts/configuration/pod-overhead.md | 15 +++++---- .../configuration/resource-bin-packing.md | 12 +++---- .../zh/docs/concepts/configuration/secret.md | 13 ++++---- .../configuration/taint-and-toleration.md | 8 ++--- .../container-environment-variables.md | 15 +++++---- .../containers/container-environment.md | 15 +++++---- .../containers/container-lifecycle-hooks.md | 17 +++++----- content/zh/docs/concepts/containers/images.md | 12 +++---- .../zh/docs/concepts/containers/overview.md | 15 +++++---- .../docs/concepts/containers/runtime-class.md | 15 +++++---- .../docs/concepts/example-concept-template.md | 17 +++++----- .../api-extension/apiserver-aggregation.md | 17 +++++----- .../compute-storage-net/device-plugins.md | 15 +++++---- .../compute-storage-net/network-plugins.md | 17 +++++----- .../extend-kubernetes/extend-cluster.md | 17 +++++----- .../concepts/extend-kubernetes/operator.md | 17 +++++----- .../extend-kubernetes/service-catalog.md | 17 +++++----- .../zh/docs/concepts/overview/components.md | 17 +++++----- .../docs/concepts/overview/kubernetes-api.md | 10 +++--- .../concepts/overview/what-is-kubernetes.md | 17 +++++----- .../working-with-objects/annotations.md | 17 +++++----- .../working-with-objects/common-labels.md | 12 +++---- .../kubernetes-objects.md | 17 +++++----- .../overview/working-with-objects/labels.md | 12 +++---- .../overview/working-with-objects/names.md | 15 +++++---- .../working-with-objects/namespaces.md | 17 +++++----- .../working-with-objects/object-management.md | 15 +++++---- .../zh/docs/concepts/policy/limit-range.md | 15 +++++---- .../docs/concepts/policy/resource-quotas.md | 17 +++++----- .../scheduling-eviction/kube-scheduler.md | 17 +++++----- .../scheduler-perf-tuning.md | 12 +++---- .../scheduling-framework.md | 12 +++---- ...ries-to-pod-etc-hosts-with-host-aliases.md | 10 +++--- .../connect-applications-service.md | 14 ++++---- .../services-networking/dns-pod-service.md | 15 +++++---- .../services-networking/dual-stack.md | 17 +++++----- .../services-networking/endpoint-slices.md | 17 +++++----- .../ingress-controllers.md | 17 +++++----- .../concepts/services-networking/ingress.md | 17 +++++----- .../services-networking/network-policies.md | 17 +++++----- .../services-networking/service-topology.md | 15 +++++---- .../concepts/services-networking/service.md | 17 +++++----- .../concepts/storage/dynamic-provisioning.md | 12 +++---- .../docs/concepts/storage/storage-classes.md | 10 +++--- .../docs/concepts/storage/storage-limits.md | 12 +++---- .../concepts/storage/volume-pvc-datasource.md | 12 +++---- .../storage/volume-snapshot-classes.md | 10 +++--- .../docs/concepts/storage/volume-snapshots.md | 12 +++---- content/zh/docs/concepts/storage/volumes.md | 15 +++++---- .../workloads/controllers/cron-jobs.md | 13 ++++---- .../workloads/controllers/daemonset.md | 12 +++---- .../workloads/controllers/deployment.md | 10 +++--- .../controllers/garbage-collection.md | 17 +++++----- .../workloads/controllers/replicaset.md | 10 +++--- .../controllers/replicationcontroller.md | 12 +++---- .../workloads/controllers/statefulset.md | 17 +++++----- .../workloads/controllers/ttlafterfinished.md | 17 +++++----- .../concepts/workloads/pods/disruptions.md | 17 +++++----- .../workloads/pods/ephemeral-containers.md | 12 +++---- .../workloads/pods/init-containers.md | 15 +++++---- .../concepts/workloads/pods/pod-lifecycle.md | 10 +++--- .../concepts/workloads/pods/pod-overview.md | 17 +++++----- .../pods/pod-topology-spread-constraints.md | 12 +++---- .../zh/docs/concepts/workloads/pods/pod.md | 12 +++---- .../docs/concepts/workloads/pods/podpreset.md | 17 +++++----- content/zh/docs/contribute/_index.md | 12 +++---- content/zh/docs/contribute/advanced.md | 12 +++---- .../generate-ref-docs/contribute-upstream.md | 22 +++++++------ .../contribute/generate-ref-docs/kubectl.md | 21 ++++++------ .../generate-ref-docs/kubernetes-api.md | 21 ++++++------ .../kubernetes-components.md | 21 ++++++------ content/zh/docs/contribute/intermediate.md | 17 +++++----- content/zh/docs/contribute/localization.md | 17 +++++----- content/zh/docs/contribute/participating.md | 15 +++++---- content/zh/docs/contribute/start.md | 17 +++++----- .../contribute/style/content-organization.md | 17 +++++----- .../contribute/style/hugo-shortcodes/index.md | 17 +++++----- .../docs/contribute/style/page-templates.md | 29 +++++++++-------- .../docs/contribute/style/write-new-topic.md | 22 +++++++------ .../zh/docs/home/supported-doc-versions.md | 10 +++--- content/zh/docs/reference/_index.md | 12 +++---- .../docs/reference/access-authn-authz/abac.md | 12 +++---- .../admission-controllers.md | 12 +++---- .../access-authn-authz/authorization.md | 14 ++++---- .../extensible-admission-controllers.md | 12 +++---- .../docs/reference/access-authn-authz/node.md | 12 +++---- .../docs/reference/access-authn-authz/rbac.md | 12 +++---- .../reference/access-authn-authz/webhook.md | 12 +++---- .../feature-gates.md | 17 +++++----- .../kube-proxy.md | 10 +++--- .../kube-scheduler.md | 10 +++--- .../command-line-tools-reference/kubelet.md | 10 +++--- .../reference/issues-security/security.md | 12 +++---- .../zh/docs/reference/kubectl/cheatsheet.md | 17 +++++----- .../zh/docs/reference/kubectl/conventions.md | 12 +++---- .../kubectl/docker-cli-to-kubectl.md | 12 +++---- content/zh/docs/reference/kubectl/jsonpath.md | 12 +++---- content/zh/docs/reference/kubectl/kubectl.md | 15 +++++---- content/zh/docs/reference/kubectl/overview.md | 17 +++++----- .../labels-annotations-taints.md | 10 +++--- .../setup-tools/kubeadm/kubeadm-config.md | 15 +++++---- .../setup-tools/kubeadm/kubeadm-init.md | 17 +++++----- .../setup-tools/kubeadm/kubeadm-join.md | 15 +++++---- .../setup-tools/kubeadm/kubeadm-reset.md | 17 +++++----- .../setup-tools/kubeadm/kubeadm-token.md | 17 +++++----- .../setup-tools/kubeadm/kubeadm-upgrade.md | 17 +++++----- .../setup-tools/kubeadm/kubeadm-version.md | 10 +++--- content/zh/docs/reference/tools.md | 12 +++---- .../docs/reference/using-api/api-overview.md | 12 +++---- .../reference/using-api/client-libraries.md | 12 +++---- content/zh/docs/setup/_index.md | 12 +++---- .../docs/setup/best-practices/certificates.md | 12 +++---- .../independent/create-cluster-kubeadm.md | 15 +++++---- .../setup/learning-environment/minikube.md | 12 +++---- .../container-runtimes.md | 12 +++---- .../on-premises-vm/dcos.md | 12 +++---- .../on-premises-vm/ovirt.md | 12 +++---- .../production-environment/tools/kops.md | 17 +++++----- .../tools/kubeadm/control-plane-flags.md | 12 +++---- .../tools/kubeadm/ha-topology.md | 17 +++++----- .../tools/kubeadm/high-availability.md | 17 +++++----- .../tools/kubeadm/install-kubeadm.md | 20 ++++++------ .../tools/kubeadm/kubelet-integration.md | 12 +++---- .../tools/kubeadm/self-hosting.md | 12 +++---- .../kubeadm/setup-ha-etcd-with-kubeadm.md | 22 +++++++------ .../tools/kubeadm/troubleshooting-kubeadm.md | 12 +++---- .../production-environment/turnkey/aws.md | 17 +++++----- .../windows/user-guide-windows-containers.md | 12 +++---- .../docs/setup/release/version-skew-policy.md | 8 ++--- content/zh/docs/tasks/_index.md | 17 +++++----- .../access-cluster.md | 12 +++---- ...icate-containers-same-pod-shared-volume.md | 24 +++++++------- .../configure-access-multiple-clusters.md | 20 ++++++------ .../configure-cloud-provider-firewall.md | 15 +++++---- .../configure-dns-cluster.md | 12 +++---- .../connecting-frontend-backend.md | 25 ++++++++------- .../create-external-load-balancer.md | 17 +++++----- .../list-all-running-container-images.md | 26 ++++++++------- ...port-forward-access-application-cluster.md | 26 ++++++++------- .../service-access-application-cluster.md | 32 +++++++++++-------- .../web-ui-dashboard.md | 17 +++++----- .../configure-aggregation-layer.md | 22 +++++++------ .../custom-resource-definition-versioning.md | 17 +++++----- .../http-proxy-access-api.md | 22 +++++++------ .../setup-extension-api-server.md | 27 +++++++++------- .../administer-cluster/access-cluster-api.md | 17 +++++----- .../access-cluster-services.md | 15 +++++---- .../change-default-storage-class.md | 20 ++++++------ .../change-pv-reclaim-policy.md | 20 ++++++------ .../configure-multiple-schedulers.md | 21 ++++++------ .../configure-upgrade-etcd.md | 17 +++++----- .../docs/tasks/administer-cluster/coredns.md | 22 +++++++------ .../cpu-management-policies.md | 17 +++++----- .../declare-network-policy.md | 15 +++++---- .../developing-cloud-controller-manager.md | 12 +++---- .../dns-custom-nameservers.md | 21 ++++++------ .../dns-debugging-resolution.md | 28 ++++++++-------- .../dns-horizontal-autoscaling.md | 26 ++++++++------- .../enabling-endpointslices.md | 15 +++++---- .../tasks/administer-cluster/encrypt-data.md | 22 +++++++------ .../extended-resource-node.md | 22 +++++++------ ...aranteed-scheduling-critical-addon-pods.md | 10 +++--- .../highly-available-master.md | 21 ++++++------ .../tasks/administer-cluster/ip-masq-agent.md | 21 ++++++------ .../tasks/administer-cluster/kms-provider.md | 17 +++++----- .../kubeadm/kubeadm-certs.md | 16 +++++----- .../kubeadm/kubeadm-upgrade.md | 17 +++++----- .../administer-cluster/kubelet-config-file.md | 21 ++++++------ .../limit-storage-consumption.md | 21 ++++++------ .../cpu-constraint-namespace.md | 22 +++++++------ .../manage-resources/cpu-default-namespace.md | 22 +++++++------ .../memory-constraint-namespace.md | 22 +++++++------ .../memory-default-namespace.md | 22 +++++++------ .../quota-memory-cpu-namespace.md | 22 +++++++------ .../manage-resources/quota-pod-namespace.md | 20 ++++++------ .../namespaces-walkthrough.md | 17 +++++----- .../tasks/administer-cluster/namespaces.md | 26 ++++++++------- .../calico-network-policy.md | 20 ++++++------ .../cilium-network-policy.md | 24 +++++++------- .../kube-router-network-policy.md | 20 ++++++------ .../romana-network-policy.md | 20 ++++++------ .../weave-network-policy.md | 20 ++++++------ .../tasks/administer-cluster/nodelocaldns.md | 17 +++++----- .../administer-cluster/out-of-resource.md | 12 +++---- .../administer-cluster/quota-api-object.md | 22 +++++++------ .../administer-cluster/reconfigure-kubelet.md | 21 ++++++------ .../reserve-compute-resources.md | 21 ++++++------ .../running-cloud-controller.md | 11 +++---- .../administer-cluster/securing-a-cluster.md | 17 +++++----- .../administer-cluster/sysctl-cluster.md | 21 ++++++------ .../administer-cluster/topology-manager.md | 17 +++++----- .../assign-cpu-resource.md | 22 +++++++------ .../assign-memory-resource.md | 22 +++++++------ .../assign-pods-nodes.md | 22 +++++++------ .../attach-handler-lifecycle-event.md | 26 ++++++++------- ...igure-liveness-readiness-startup-probes.md | 20 ++++++------ .../configure-persistent-volume-storage.md | 26 ++++++++------- .../configure-pod-configmap.md | 26 ++++++++------- .../configure-pod-initialization.md | 22 +++++++------ .../configure-projected-volume-storage.md | 22 +++++++------ .../configure-runasusername.md | 18 ++++++----- .../configure-service-account.md | 17 +++++----- .../configure-volume-storage.md | 22 +++++++------ .../extended-resource.md | 22 +++++++------ .../pull-image-private-registry.md | 22 +++++++------ .../quality-service-pod.md | 22 +++++++------ .../share-process-namespace.md | 21 ++++++------ .../configure-pod-container/static-pod.md | 15 +++++---- .../translate-compose-kubernetes.md | 21 ++++++------ .../tasks/debug-application-cluster/audit.md | 10 +++--- .../tasks/debug-application-cluster/crictl.md | 21 ++++++------ .../debug-application-introspection.md | 15 +++++---- .../debug-init-containers.md | 21 ++++++------ .../debug-pod-replication-controller.md | 17 +++++----- .../debug-service.md | 17 +++++----- .../debug-stateful-set.md | 20 ++++++------ .../determine-reason-pod-failure.md | 22 +++++++------ .../events-stackdriver.md | 12 +++---- .../tasks/debug-application-cluster/falco.md | 12 +++---- .../get-shell-running-container.md | 26 ++++++++------- .../local-debugging.md | 22 +++++++------ .../logging-elasticsearch-kibana.md | 17 +++++----- .../monitor-node-health.md | 21 ++++++------ .../resource-metrics-pipeline.md | 12 +++---- .../resource-usage-monitoring.md | 12 +++---- .../troubleshooting.md | 12 +++---- .../zh/docs/tasks/example-task-template.md | 26 ++++++++------- .../tasks/extend-kubectl/kubectl-plugins.md | 20 ++++++------ .../administer-federation/configmap.md | 17 +++++----- .../administer-federation/daemonset.md | 17 +++++----- .../administer-federation/deployment.md | 17 +++++----- .../administer-federation/events.md | 12 +++---- .../federation/administer-federation/job.md | 17 +++++----- .../administer-federation/namespaces.md | 17 +++++----- .../administer-federation/replicaset.md | 17 +++++----- .../administer-federation/secret.md | 12 +++---- .../federation-service-discovery.md | 21 ++++++------ .../set-up-coredns-provider-federation.md | 22 +++++++------ .../set-up-placement-policies-federation.md | 17 +++++----- .../define-command-argument-container.md | 22 +++++++------ .../define-environment-variable-container.md | 22 +++++++------ .../distribute-credentials-secure.md | 20 ++++++------ ...nward-api-volume-expose-pod-information.md | 24 +++++++------- ...ronment-variable-expose-pod-information.md | 20 ++++++------ .../job/automated-tasks-with-cron-jobs.md | 17 +++++----- .../coarse-parallel-processing-work-queue.md | 21 ++++++------ .../fine-parallel-processing-work-queue.md | 25 ++++++++------- .../job/parallel-processing-expansion.md | 12 +++---- .../manage-daemon/rollback-daemon-set.md | 19 +++++------ .../tasks/manage-daemon/update-daemon-set.md | 22 +++++++------ .../docs/tasks/manage-gpus/scheduling-gpus.md | 10 +++--- .../manage-hugepages/scheduling-hugepages.md | 17 +++++----- .../imperative-config.md | 22 +++++++------ .../docs/tasks/network/validate-dual-stack.md | 17 +++++----- .../tasks/run-application/configure-pdb.md | 21 ++++++------ .../run-application/delete-stateful-set.md | 20 ++++++------ .../force-delete-stateful-set-pod.md | 22 +++++++------ .../horizontal-pod-autoscale-walkthrough.md | 19 +++++------ .../horizontal-pod-autoscale.md | 15 +++++---- .../rolling-update-replication-controller.md | 4 +-- .../run-replicated-stateful-application.md | 32 +++++++++++-------- ...un-single-instance-stateful-application.md | 25 ++++++++------- .../run-stateless-application-deployment.md | 25 ++++++++------- .../run-application/scale-stateful-set.md | 20 ++++++------ .../update-api-object-kubectl-patch.md | 22 +++++++------ .../install-service-catalog-using-helm.md | 22 +++++++------ .../install-service-catalog-using-sc.md | 22 +++++++------ .../zh/docs/tasks/tls/certificate-rotation.md | 15 +++++---- .../tasks/tls/managing-tls-in-a-cluster.md | 17 +++++----- .../zh/docs/tasks/tools/install-kubectl.md | 22 +++++++------ .../zh/docs/tasks/tools/install-minikube.md | 22 +++++++------ content/zh/docs/tutorials/_index.md | 17 +++++----- .../zh/docs/tutorials/clusters/apparmor.md | 27 +++++++++------- .../configure-redis-using-configmap.md | 25 ++++++++------- content/zh/docs/tutorials/hello-minikube.md | 27 +++++++++------- .../tutorials/online-training/overview.md | 12 +++---- .../zh/docs/tutorials/services/source-ip.md | 30 +++++++++-------- .../basic-stateful-set.md | 25 ++++++++------- .../mysql-wordpress-persistent-volume.md | 30 +++++++++-------- .../stateful-application/zookeeper.md | 25 ++++++++------- .../expose-external-ip-address.md | 32 +++++++++++-------- .../stateless-application/guestbook.md | 32 +++++++++++-------- 303 files changed, 2764 insertions(+), 2439 deletions(-) diff --git a/content/zh/docs/concepts/_index.md b/content/zh/docs/concepts/_index.md index 8e5c1413bf..90e2d6b4f1 100644 --- a/content/zh/docs/concepts/_index.md +++ b/content/zh/docs/concepts/_index.md @@ -1,18 +1,18 @@ --- title: 概念 main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + 节点是 Kubernetes REST API 的顶级资源。更多关于 API 对象的细节可以在这里找到:[节点 API 对象](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解有关[节点组件](https://kubernetes.io/docs/concepts/overview/components/#node-components)的信息。 * 阅读有关节点级拓扑的信息:[控制节点上的拓扑管理策略](/docs/tasks/administer-cluster/topology-manager/)。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/cluster-administration/addons.md b/content/zh/docs/concepts/cluster-administration/addons.md index 9aa9b8a348..10eb8adb08 100644 --- a/content/zh/docs/concepts/cluster-administration/addons.md +++ b/content/zh/docs/concepts/cluster-administration/addons.md @@ -1,10 +1,10 @@ --- title: 安装扩展(Addons) -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + ### easyrsa @@ -473,4 +473,4 @@ x509 certificates to use for authentication as documented 您可以按照[这里](/docs/tasks/tls/managing-tls-in-a-cluster)记录的方式, 使用 `certificates.k8s.io` API 来准备 x509 证书,用于认证。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/cluster-administration/cloud-providers.md b/content/zh/docs/concepts/cluster-administration/cloud-providers.md index 4b6f6a36e1..f568c57304 100644 --- a/content/zh/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/zh/docs/concepts/cluster-administration/cloud-providers.md @@ -1,26 +1,26 @@ --- title: 云驱动 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 本文介绍了如何管理运行在特定云驱动上的 Kubernetes 集群。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 本页面阐明了为何以及如何使用联邦创建Kubernetes集群。 -{{% /capture %}} -{{% capture body %}} + + ## 为何使用联邦 联邦可以使多个集群的管理简单化。它提供了两个主要构件模块: @@ -105,13 +105,14 @@ Kubernetes集群数量选择也许是一个相对静止的选择,因为对其 最后,如果你的集群需求超过一个Kubernetes集群推荐的最大节点数,那么你可能需要更多的集群。Kubernetes1.3版本支持多达1000个节点的集群规模。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 进一步学习[联邦提案](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/multicluster/federation.md)。 * 集群联邦参考该[配置指导](/docs/tutorials/federation/set-up-cluster-federation-kubefed/)。 * 查看[Kubecon2016浅谈联邦](https://www.youtube.com/watch?v=pq9lbkmxpS8) -{{% /capture %}} + diff --git a/content/zh/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/zh/docs/concepts/cluster-administration/kubelet-garbage-collection.md index ca25be40df..d9ffdaeb01 100644 --- a/content/zh/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/zh/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,18 +1,18 @@ --- title: 配置 kubelet 垃圾回收策略 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + 垃圾回收是 kubelet 的一个有用功能,它将清理未使用的镜像和容器。 @@ -32,10 +32,10 @@ Kubelet will perform garbage collection for containers every minute and garbage External garbage collection tools are not recommended as these tools can potentially break the behavior of kubelet by removing containers expected to exist. --> -{{% /capture %}} -{{% capture body %}} + + ## 镜像回收 @@ -202,9 +202,10 @@ Including: | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | eviction generalizes disk pressure transition to other resources | --> -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 查阅 [配置驱逐回收资源的策略](/docs/tasks/administer-cluster/out-of-resource/) 获取更多细节。 @@ -212,4 +213,4 @@ Including: See [Configuring Out Of Resource Handling](/docs/tasks/administer-cluster/out-of-resource/) for more details. --> -{{% /capture %}} + diff --git a/content/zh/docs/concepts/cluster-administration/logging.md b/content/zh/docs/concepts/cluster-administration/logging.md index da727e4113..349f408109 100755 --- a/content/zh/docs/concepts/cluster-administration/logging.md +++ b/content/zh/docs/concepts/cluster-administration/logging.md @@ -3,11 +3,11 @@ reviewers: - piosz - x13n title: 日志架构 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 但是,由容器引擎或 runtime 提供的原生功能通常不足以满足完整的日志记录方案。例如,如果发生容器崩溃、pod 被逐出或节点宕机等情况,您仍然想访问到应用日志。因此,日志应该具有独立的存储和生命周期,与节点、pod 或容器的生命周期相独立。这个概念叫 _集群级的日志_ 。集群级日志方案需要一个独立的后台来存储、分析和查询日志。Kubernetes 没有为日志数据提供原生存储方案,但是您可以集成许多现有的日志解决方案到 Kubernetes 集群中。 -{{% /capture %}} -{{% capture body %}} + + 通过暴露或推送每个应用的日志,您可以实现集群级日志记录;然而,这种日志记录机制的实现已超出 Kubernetes 的范围。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/cluster-administration/manage-deployment.md b/content/zh/docs/concepts/cluster-administration/manage-deployment.md index a7d90c8bd7..f67f7f9487 100644 --- a/content/zh/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/zh/docs/concepts/cluster-administration/manage-deployment.md @@ -1,20 +1,20 @@ --- title: 管理资源 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 您已经部署了应用并通过服务暴露它。然后呢?Kubernetes 提供了一些工具来帮助管理您的应用部署,包括缩扩容和更新。我们将更深入讨论的特性包括[配置文件](/docs/concepts/configuration/overview/)和[标签](/docs/concepts/overview/working-with-objects/labels/)。 -{{% /capture %}} -{{% capture body %}} + + 没错,就是这样!Deployment 将在后台逐步更新已经部署的 nginx 应用。它确保在更新过程中,只有一定数量的旧副本被开闭,并且只有一定基于所需 pod 数量的新副本被创建。想要了解更多细节,请参考 [Deployment](/docs/concepts/workloads/controllers/deployment/)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 本文讲述了 Kubernetes 中所使用的代理。 -{{% /capture %}} -{{% capture body %}} + + ## 代理 @@ -59,4 +59,4 @@ Kubernetes 用户通常只需要关心前两种类型的代理,集群管理员 代理已经取代重定向功能,重定向已被弃用。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/configuration/assign-pod-node.md b/content/zh/docs/concepts/configuration/assign-pod-node.md index fbe7a56764..92d26f57cf 100644 --- a/content/zh/docs/concepts/configuration/assign-pod-node.md +++ b/content/zh/docs/concepts/configuration/assign-pod-node.md @@ -1,6 +1,6 @@ --- title: 将 Pod 分配给节点 -content_template: templates/concept +content_type: concept weight: 50 --- @@ -11,13 +11,13 @@ reviewers: - kevin-wangzefeng - bsalamat title: Assigning Pods to Nodes -content_template: templates/concept +content_type: concept weight: 50 --- --> -{{% capture overview %}} + ## nodeSelector @@ -664,9 +664,10 @@ The above pod will run on the node kube-01. 上面的 pod 将运行在 kube-01 节点上。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + {{< glossary_definition term_id="configmap" prepend="ConfigMap 是" length="all" >}} @@ -18,9 +18,9 @@ or use additional (third party) tools to keep your data private. ConfigMap 并不提供保密或者加密功能。如果你想存储的数据是机密的,请使用 {{< glossary_tooltip text="Secret" term_id="secret" >}} ,或者使用其他第三方工具来保证你的数据的私密性,而不是用 ConfigMap。 {{< /caution >}} -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 当您定义 [Pod](/docs/user-guide/pods) 的时候可以选择为每个容器指定需要的 CPU 和内存(RAM)大小。当为容器指定了资源请求后,调度器就能够更好的判断出将容器调度到哪个节点上。如果您还为容器指定了资源限制,Kubernetes 就可以按照指定的方式来处理节点上的资源竞争。关于资源请求和限制的不同点和更多资料请参考 [Resource QoS](https://git.k8s.io/community/contributors/design-proposals/resource-qos.md)。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 有关创建和指定 kubeconfig 文件的分步说明,请参阅[配置对多集群的访问](/docs/tasks/access-application-cluster/configure-access-multiple-clusters)。 -{{% /capture %}} -{{% capture body %}} + + kubeconfig 文件中的文件和路径引用是相对于 kubeconfig 文件的位置。命令行上的文件引用是相当对于当前工作目录的。在 `$HOME/.kube/config` 中,相对路径按相对路径存储,绝对路径按绝对路径存储。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [配置对多集群的访问](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) * [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/zh/docs/concepts/configuration/overview.md b/content/zh/docs/concepts/configuration/overview.md index 04a56b5425..da540c0a89 100644 --- a/content/zh/docs/concepts/configuration/overview.md +++ b/content/zh/docs/concepts/configuration/overview.md @@ -2,7 +2,7 @@ reviewers: - mikedanese title: 配置最佳实践 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + @@ -26,9 +26,9 @@ This is a living document. If you think of something that is not on this list bu --> 这是一份活文件。 如果您认为某些内容不在此列表中但可能对其他人有用,请不要犹豫,提交问题或提交 PR。 -{{% /capture %}} -{{% capture body %}} + + @@ -264,4 +264,4 @@ The caching semantics of the underlying image provider make even `imagePullPolic - 使用`kubectl run`和`kubectl expose`来快速创建单容器部署和服务。 有关示例,请参阅[使用服务访问集群中的应用程序](/docs/tasks/access-application-cluster/service-access-application-cluster/)。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/configuration/pod-overhead.md b/content/zh/docs/concepts/configuration/pod-overhead.md index 85a3bc3f57..3c81b3607a 100644 --- a/content/zh/docs/concepts/configuration/pod-overhead.md +++ b/content/zh/docs/concepts/configuration/pod-overhead.md @@ -1,10 +1,10 @@ --- title: Pod 开销 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} @@ -18,10 +18,10 @@ on top of the container requests & limits. 在节点上运行 Pod 时,Pod 本身占用大量系统资源。这些资源是运行 Pod 内容器所需资源的附加资源。 _POD 开销_ 是一个特性,用于计算 Pod 基础设施在容器请求和限制之上消耗的资源。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + {{< feature-state for_k8s_version="1.16" state="alpha" >}} @@ -29,9 +29,9 @@ The kube-scheduler can be configured to enable bin packing of resources along wi 可以将 kube-scheduler 配置为使用 `RequestedToCapacityRatioResourceAllocation` 优先级函数启用资源箱打包以及扩展资源。 优先级函数可用于根据自定义需求微调 kube-scheduler 。 -{{% /capture %}} -{{% capture body %}} + + Taint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个 taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接受的。如果将 toleration 应用于 pod 上,则表示这些 pod 可以(但不要求)被调度到具有匹配 taint 的节点上。 -{{% /capture %}} -{{% capture body %}} + + 本文介绍容器环境中对容器可用的资源。 -{{% /capture %}} + {{< toc >}} -{{% capture body %}} + ## 容器环境 @@ -50,13 +50,14 @@ FOO_SERVICE_PORT=<服务所启用的端口> 服务具有专用 IP 地址,如果启用了 [DNS 插件](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/),还可以在容器中通过 DNS 进行访问。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 查看[容器生命周期挂钩(hooks)](/docs/concepts/containers/container-lifecycle-hooks/)了解更多。 * 获取[为容器生命周期事件附加处理程序](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)的实践经验。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/containers/container-environment.md b/content/zh/docs/concepts/containers/container-environment.md index 26d599f9fd..777f746f67 100644 --- a/content/zh/docs/concepts/containers/container-environment.md +++ b/content/zh/docs/concepts/containers/container-environment.md @@ -1,20 +1,20 @@ --- title: 容器环境 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 本页描述了在容器环境里容器可用的资源。 -{{% /capture %}} -{{% capture body %}} + + Service 具有专用的 IP 地址。如果启用了 [DNS插件](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/),就可以在容器中通过 DNS 来访问。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 这个页面描述了 kubelet 管理的容器如何使用容器生命周期钩子框架来运行在其管理生命周期中由事件触发的代码。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + * 阅读有关[容器镜像](/docs/concepts/containers/images/) * 阅读有关 [Pods](/docs/concepts/workloads/pods/) -{{% /capture %}} + diff --git a/content/zh/docs/concepts/containers/runtime-class.md b/content/zh/docs/concepts/containers/runtime-class.md index 6229009612..693e156cc3 100644 --- a/content/zh/docs/concepts/containers/runtime-class.md +++ b/content/zh/docs/concepts/containers/runtime-class.md @@ -3,11 +3,11 @@ reviewers: - tallclair - dchen1107 title: 容器运行时类(Runtime Class) -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="beta" >}} @@ -22,10 +22,10 @@ configuration is used to run a Pod's containers. --> RuntimeClass 是一个用于选择容器运行时配置的特性,容器运行时配置用于运行 Pod 中的容器。 -{{% /capture %}} -{{% capture body %}} + + Pod 开销通过 RuntimeClass 的 `overhead` 字段定义。通过使用这些字段,你可以指定使用该 RuntimeClass 运行 Pod 时的开销并确保 Kubernetes 将这些开销计算在内。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 使用 ... -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 聚合层允许 Kubernetes 通过额外的 API 进行扩展,而不局限于 Kubernetes 核心 API 提供的功能。 -{{% /capture %}} -{{% capture body %}} + + {{< feature-state for_k8s_version="v1.10" state="beta" >}} ## 注册设备插件 @@ -339,8 +339,9 @@ Here are some examples of device plugin implementations: * [SR-IOV Network device plugin](https://github.com/intel/sriov-network-device-plugin) * [Xilinx FPGA device plugins](https://github.com/Xilinx/FPGA_as_a_Service/tree/master/k8s-fpga-device-plugin/trunk) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + {{< feature-state state="alpha" >}} -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="" >}} -{{% capture overview %}} + 当你部署完 Kubernetes, 即拥有了一个完整的集群。 {{< glossary_definition term_id="cluster" length="all" prepend="一个 Kubernetes 集群包含">}} @@ -40,9 +40,9 @@ Here's the diagram of a Kubernetes cluster with all the components tied together ![Components of Kubernetes](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + @@ -222,8 +222,9 @@ saving container logs to a central log store with search/browsing interface. --> [集群层面日志](/docs/concepts/cluster-administration/logging/) 机制负责将容器的日志数据保存到一个集中的日志存储中,该存储能够提供搜索和浏览接口。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 此页面是 Kubernetes 的概述。 -{{% /capture %}} -{{% capture body %}} + + @@ -205,13 +205,14 @@ Kubernetes: * Kubernetes 不提供也不采用任何全面的机器配置、维护、管理或自我修复系统。 * 此外,Kubernetes 不仅仅是一个编排系统,实际上它消除了编排的需要。编排的技术定义是执行已定义的工作流程:首先执行 A,然后执行 B,再执行 C。相比之下,Kubernetes 包含一组独立的、可组合的控制过程,这些过程连续地将当前状态驱动到所提供的所需状态。从 A 到 C 的方式无关紧要,也不需要集中控制,这使得系统更易于使用且功能更强大、健壮、弹性和可扩展性。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 查阅 [Kubernetes 组件](/docs/concepts/overview/components/) * 开始 [Kubernetes 入门](/docs/setup/)? -{{% /capture %}} + diff --git a/content/zh/docs/concepts/overview/working-with-objects/annotations.md b/content/zh/docs/concepts/overview/working-with-objects/annotations.md index 9480250faa..8e8b0f3f5b 100644 --- a/content/zh/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/zh/docs/concepts/overview/working-with-objects/annotations.md @@ -1,27 +1,27 @@ --- title: 注解 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 你可以使用 Kubernetes 注解为对象附加任意的非标识的元数据。客户端程序(例如工具和库)能够获取这些元数据信息。 -{{% /capture %}} -{{% capture body %}} + + ## 为对象附加元数据 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/overview/working-with-objects/common-labels.md b/content/zh/docs/concepts/overview/working-with-objects/common-labels.md index 9e7334bab8..be60e6f10f 100644 --- a/content/zh/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/zh/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,15 +1,15 @@ --- title: 推荐使用的标签 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 除了支持工具外,推荐的标签还以一种可以查询的方式描述了应用程序。 -{{% /capture %}} -{{% capture body %}} + + 使用 MySQL `StatefulSet` 和 `Service`,您会注意到有关 MySQL 和 Wordpress 的信息,包括更广泛的应用程序。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/zh/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 156fa61d56..f340841e19 100644 --- a/content/zh/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/zh/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,6 +1,6 @@ --- title: 理解 Kubernetes 对象 -content_template: templates/concept +content_type: concept weight: 10 card: name: 概念 @@ -9,21 +9,21 @@ card: -{{% capture overview %}} + 本页说明了 Kubernetes 对象在 Kubernetes API 中是如何表示的,以及如何在 `.yaml` 格式的文件中表示。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + -{{% capture overview %}} + `kubectl` 命令行工具支持多种不同的方式来创建和管理 Kubernetes 对象。本文档概述了不同的方法。阅读 [Kubectl book](https://kubectl.docs.kubernetes.io) 来了解 kubectl 管理对象的详细信息。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 资源配额是帮助管理员解决这一问题的工具。 -{{% /capture %}} -{{% capture body %}} + + 查看[如何使用资源配额的详细示例](/docs/tasks/administer-cluster/quota-api-object/)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 查看[资源配额设计文档](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md)了解更多信息。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/scheduling-eviction/kube-scheduler.md b/content/zh/docs/concepts/scheduling-eviction/kube-scheduler.md index cc1bbda060..7d0e65d619 100644 --- a/content/zh/docs/concepts/scheduling-eviction/kube-scheduler.md +++ b/content/zh/docs/concepts/scheduling-eviction/kube-scheduler.md @@ -1,17 +1,17 @@ --- title: Kubernetes 调度器 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + @@ -148,8 +148,9 @@ of the scheduler: 1. [调度策略](/docs/reference/scheduling/policies) 允许你配置过滤的 _谓词(Predicates)_ 和打分的 _优先级(Priorities)_ 。 2. [调度配置](/docs/reference/scheduling/profiles) 允许你配置实现不同调度阶段的插件,包括:`QueueSort`, `Filter`, `Score`, `Bind`, `Reserve`, `Permit` 等等。你也可以配置 kube-scheduler 运行不同的配置文件。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + {{< feature-state for_k8s_version="1.14" state="beta" >}} @@ -40,9 +40,9 @@ large Kubernetes clusters. --> 这篇文章将会介绍一些在大规模 Kubernetes 集群下调度器性能优化的方式。 -{{% /capture %}} -{{% capture body %}} + + 在评估完所有 Node 后,将会返回到 Node 1,从头开始。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md b/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md index bebea8d02e..d62f206d76 100644 --- a/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md +++ b/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md @@ -2,7 +2,7 @@ reviewers: - ahg-g title: 调度框架 -content_template: templates/concept +content_type: concept weight: 60 --- @@ -11,12 +11,12 @@ weight: 60 reviewers: - ahg-g title: Scheduling Framework -content_template: templates/concept +content_type: concept weight: 60 --- --> -{{% capture overview %}} + {{< feature-state for_k8s_version="1.15" state="alpha" >}} @@ -34,9 +34,9 @@ framework. [kep]: https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/20180409-scheduling-framework.md -{{% /capture %}} -{{% capture body %}} + + 该页面概述了Kubernetes对DNS的支持。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -39,9 +39,9 @@ If you enable IPv4/IPv6 dual-stack networking for your Kubernetes cluster, the c --> 如果你为 Kubernetes 集群启用了 IPv4/IPv6 双协议栈网络,则该集群将支持同时分配 IPv4 和 IPv6 地址。 -{{% /capture %}} -{{% capture body %}} + + * Kubenet 强制 IPv4,IPv6 的 IPs 位置报告 (--cluster-cidr) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [验证 IPv4/IPv6 双协议栈](/docs/tasks/network/validate-dual-stack)网络 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/services-networking/endpoint-slices.md b/content/zh/docs/concepts/services-networking/endpoint-slices.md index 4777c92d3d..8a71b19b3c 100644 --- a/content/zh/docs/concepts/services-networking/endpoint-slices.md +++ b/content/zh/docs/concepts/services-networking/endpoint-slices.md @@ -7,7 +7,7 @@ feature: description: > Kubernetes 集群中网络端点的可扩展跟踪。 -content_template: templates/concept +content_type: concept weight: 10 --- @@ -21,12 +21,12 @@ feature: description: > Scalable tracking of network endpoints in a Kubernetes cluster. -content_template: templates/concept +content_type: concept weight: 10 --- --> -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} @@ -37,9 +37,9 @@ Endpoints. --> _Endpoint Slices_ 提供了一种简单的方法来跟踪 Kubernetes 集群中的网络端点(network endpoints)。它们为 Endpoints 提供了一种可伸缩和可拓展的替代方案。 -{{% /capture %}} -{{% capture body %}} + + * [启用 Endpoint Slices](/docs/tasks/administer-cluster/enabling-endpoint-slices) * 阅读 [Connecting Applications with Services](/docs/concepts/services-networking/connect-applications-service/) -{{% /capture %}} + diff --git a/content/zh/docs/concepts/services-networking/ingress-controllers.md b/content/zh/docs/concepts/services-networking/ingress-controllers.md index c6bdeccd00..46d166d9d9 100644 --- a/content/zh/docs/concepts/services-networking/ingress-controllers.md +++ b/content/zh/docs/concepts/services-networking/ingress-controllers.md @@ -1,6 +1,6 @@ --- title: Ingress 控制器 -content_template: templates/concept +content_type: concept weight: 40 --- @@ -8,12 +8,12 @@ weight: 40 --- title: Ingress Controllers reviewers: -content_template: templates/concept +content_type: concept weight: 40 --- --> -{{% capture overview %}} + * 进一步了解 [Ingress](/docs/concepts/services-networking/ingress/)。 * [在 Minikube 上使用 NGINX 控制器安装 Ingress](/docs/tasks/access-application-cluster/ingress-minikube)。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/services-networking/ingress.md b/content/zh/docs/concepts/services-networking/ingress.md index 3d5e922b22..24b2acd5dc 100644 --- a/content/zh/docs/concepts/services-networking/ingress.md +++ b/content/zh/docs/concepts/services-networking/ingress.md @@ -1,6 +1,6 @@ --- title: Ingress -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.1" state="beta" >}} {{< glossary_definition term_id="ingress" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + {{< toc >}} -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="alpha" >}} @@ -26,9 +26,9 @@ in the same availability zone. `Service` 拓扑可以让一个服务基于集群的 `Node` 拓扑进行流量路由。例如,一个服务可以指定流量是被优先路由到一个和客户端在同一个 `Node` 或者在同一可用区域的端点。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + {{< glossary_definition term_id="service" length="short" >}} @@ -38,9 +38,9 @@ and can load-balance across them. 使用Kubernetes,您无需修改应用程序即可使用不熟悉的服务发现机制。 Kubernetes为Pods提供自己的IP地址和一组Pod的单个DNS名称,并且可以在它们之间进行负载平衡。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 延迟卷绑定使得调度器在为 PersistentVolumeClaim 选择一个合适的 PersistentVolume 时能考虑到所有 pod 的调度限制。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/storage/storage-limits.md b/content/zh/docs/concepts/storage/storage-limits.md index 7b5f8e63be..14ffd377a6 100644 --- a/content/zh/docs/concepts/storage/storage-limits.md +++ b/content/zh/docs/concepts/storage/storage-limits.md @@ -1,6 +1,6 @@ --- title: 特定于节点的卷数限制 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + @@ -30,9 +30,9 @@ Kubernetes 需要尊重这些限制。 否则,在节点上调度的 Pod 可能 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 本文档描述了 Kubernetes 中 `VolumeSnapshotClass` 的概念。 建议熟悉[卷快照(Volume Snapshots)](/docs/concepts/storage/volume-snapshots/)和[存储类(Storage Class)](/docs/concepts/storage/storage-classes)。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + {{< feature-state for_k8s_version="1.17" state="beta" >}} @@ -28,9 +28,9 @@ In Kubernetes, a _VolumeSnapshot_ represents a snapshot of a volume on a storage --> 在 Kubernetes 中,卷快照是一个存储系统上卷的快照,本文假设你已经熟悉了 Kubernetes 的 [持久卷](/docs/concepts/storage/persistent-volumes/)。 -{{% /capture %}} -{{% capture body %}} + + 更多详细信息,请参阅 [卷快照和从快照还原卷](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support)。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/storage/volumes.md b/content/zh/docs/concepts/storage/volumes.md index ab64093e3a..aaf0a48f74 100644 --- a/content/zh/docs/concepts/storage/volumes.md +++ b/content/zh/docs/concepts/storage/volumes.md @@ -5,11 +5,11 @@ reviewers: - thockin - msau42 title: Volumes -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.8" state="beta" >}} @@ -62,10 +62,10 @@ For instructions on creating and working with cron jobs, and for an example of a 有关创建和使用 CronJob 的说明及规范文件的示例,请参见[使用 CronJob 运行自动化任务](/docs/tasks/job/automated-tasks-with-cron-jobs)。 -{{% /capture %}} -{{% capture body %}} + + CronJob 仅负责创建与其调度时间相匹配的 Job,而 Job 又负责管理其代表的 Pod。 -{{% /capture %}} + + diff --git a/content/zh/docs/concepts/workloads/controllers/daemonset.md b/content/zh/docs/concepts/workloads/controllers/daemonset.md index 308779134d..edcbc29399 100644 --- a/content/zh/docs/concepts/workloads/controllers/daemonset.md +++ b/content/zh/docs/concepts/workloads/controllers/daemonset.md @@ -1,6 +1,6 @@ --- title: DaemonSet -content_template: templates/concept +content_type: concept weight: 50 --- @@ -13,12 +13,12 @@ reviewers: - janetkuo - kow3ns title: DaemonSet -content_template: templates/concept +content_type: concept weight: 50 --- ---> -{{% capture overview %}} + Kubernetes 会逐步推出针对应用或其配置的更改,确保在监视应用程序运行状况的同时,不会终止所有实例。如果出现问题,Kubernetes 会为您回滚更改。充分利用不断成长的部署解决方案生态系统。 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + You describe a _desired state_ in a Deployment, and the Deployment controller changes the actual state to the desired state at a controlled rate. You can define Deployments to create new ReplicaSets, or to remove existing Deployments and adopt all their resources with new Deployments. @@ -2197,4 +2197,4 @@ additional features, such as rolling back to any previous revision even after th --> [`kubectl rolling update`](/docs/reference/generated/kubectl/kubectl-commands#rolling-update)更新 Pods 和副本控制器的方式类似。但是,建议采取 Deployments 的方式来更新,因为它们是声明性的,在服务器端,并且具有其他功能,例如,即使在滚动更新完成后,也会回滚到以前的任何修改版本。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/workloads/controllers/garbage-collection.md b/content/zh/docs/concepts/workloads/controllers/garbage-collection.md index 9d6f98dc9f..7e7802999e 100644 --- a/content/zh/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/zh/docs/concepts/workloads/controllers/garbage-collection.md @@ -1,18 +1,18 @@ --- title: 垃圾收集 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + -{{% capture overview %}} + _ReplicationController_ 确保在任何时候都有特定数量的 pod 副本处于运行状态。 换句话说,ReplicationController 确保一个 pod 或一组同类的 pod 总是可用的。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -33,10 +33,10 @@ Alpha Disclaimer: this feature is currently alpha, and can be enabled with both --> Alpha 免责声明:此功能目前是 alpha 版,并且可以通过 kube-apiserver 和 kube-controller-manager [特性开关](/docs/reference/command-line-tools-reference/feature-gates/) `TTLAfterFinished` 启用。 -{{% /capture %}} -{{% capture body %}} + + 在 Kubernetes 中,需要在所有节点上运行 NTP(参见 [#6159](https://github.com/kubernetes/kubernetes/issues/6159#issuecomment-93844058))以避免时间偏差。时钟并不总是如此正确,但差异应该很小。设置非零 TTL 时请注意避免这种风险。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [设计文档](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/zh/docs/concepts/workloads/pods/disruptions.md b/content/zh/docs/concepts/workloads/pods/disruptions.md index 1dba6de60c..7c53f556bd 100644 --- a/content/zh/docs/concepts/workloads/pods/disruptions.md +++ b/content/zh/docs/concepts/workloads/pods/disruptions.md @@ -1,6 +1,6 @@ --- title: 干扰 -content_template: templates/concept +content_type: concept weight: 60 --- @@ -11,12 +11,12 @@ reviewers: - foxish - davidopp title: Disruptions -content_template: templates/concept +content_type: concept weight: 60 --- --> -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.16" >}} @@ -40,9 +40,9 @@ feature could change significantly in the future or be removed entirely. 临时容器处于早期的 alpha 阶段,不适用于生产环境集群。应该预料到临时容器在某些情况下不起作用,例如在定位容器的命名空间时。根据 [Kubernetes 弃用政策](/docs/reference/using-api/deprecation-policy/),该 alpha 功能将来可能发生重大变化或完全删除。 {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + 本页提供了 Init 容器的概览,它是一种专用的容器,在{{< glossary_tooltip text="Pod" term_id="pod" >}}内的应用容器启动之前运行,并包括一些应用镜像中不存在的实用工具和安装脚本。 -{{% /capture %}} + 你可以在Pod的规格信息中与containers数组同级的位置指定 Init 容器。 -{{% capture body %}} + {{< comment >}}Updated: 4/14/2015{{< /comment >}} {{< comment >}}Edited and moved to Concepts section: 2/2/17{{< /comment >}} 该页面将描述 Pod 的生命周期。 -{{% /capture %}} -{{% capture body %}} + + ## Pod phase @@ -174,7 +174,7 @@ spec: - 节点控制器将 Pod `phase` 设置为 Failed。 - 如果是用控制器来运行,Pod 将在别处重建。 -{{% /capture %}} + diff --git a/content/zh/docs/concepts/workloads/pods/pod-overview.md b/content/zh/docs/concepts/workloads/pods/pod-overview.md index adccc41e94..d9c8423450 100644 --- a/content/zh/docs/concepts/workloads/pods/pod-overview.md +++ b/content/zh/docs/concepts/workloads/pods/pod-overview.md @@ -1,6 +1,6 @@ --- title: Pod 概览 -content_template: templates/concept +content_type: concept weight: 10 card: name: 概念 @@ -12,7 +12,7 @@ card: reviewers: - erictune title: Pod Overview -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts @@ -23,12 +23,12 @@ card: -{{% capture overview %}} + 本节提供了 `Pod` 的概览信息,`Pod` 是最小可部署的 Kubernetes 对象模型。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * 详细了解 [Pod](/docs/concepts/workloads/pods/pod/) * 了解有关 Pod 行为的更多信息: * [Pod 的终止](/docs/concepts/workloads/pods/pod/#termination-of-pods) * [Pod 的生命周期](/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints.md b/content/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints.md index 96200f706e..826ca5bd78 100644 --- a/content/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints.md +++ b/content/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints.md @@ -1,20 +1,20 @@ --- title: Pod 拓扑扩展约束 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -24,9 +24,9 @@ You can use _topology spread constraints_ to control how {{< glossary_tooltip te 可以使用*拓扑扩展约束*来控制 {{< glossary_tooltip text="Pods" term_id="Pod" >}} 在集群内故障域(例如地区,区域,节点和其他用户自定义拓扑域)之间的分布。这可以帮助实现高可用以及提升资源利用率。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + @@ -19,12 +19,12 @@ This page provides an overview of PodPresets, which are objects for injecting certain information into pods at creation time. The information can include secrets, volumes, volume mounts, and environment variables. --> -{{% capture overview %}} + 本文提供了 PodPreset 的概述。 在 Pod 创建时,用户可以使用 PodPreset 对象将特定信息注入 Pod 中,这些信息可以包括 secret、 卷、卷挂载和环境变量。 -{{% /capture %}} -{{% capture body %}} + + * [使用 PodPreset 将信息注入 Pod](/docs/tasks/inject-data-application/podpreset/) -{{% /capture %}} + diff --git a/content/zh/docs/contribute/_index.md b/content/zh/docs/contribute/_index.md index 426e6a773a..d826160593 100644 --- a/content/zh/docs/contribute/_index.md +++ b/content/zh/docs/contribute/_index.md @@ -1,5 +1,5 @@ --- -content_template: templates/concept +content_type: concept title: 为 Kubernetes 文档做贡献 linktitle: 贡献 main_menu: true @@ -8,7 +8,7 @@ weight: 80 -{{% capture overview %}} + -{{% capture overview %}} + 如果你已经阅读并掌握[开始贡献](/docs/contribute/start/)和[中级贡献](/docs/contribute/intermediate/),并准备了解更多贡献的途径,请阅读此文。您需要使用 Git 命令行工具和其他工具做这些工作。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + 你需要知道如何在一个 GitHub 项目仓库中创建一个 PR。一般来说,这涉及到创建仓库的 fork 分支。想了解更多信息,请参见[创建一个文档 PR](/docs/contribute/start/) 和 [GitHub 标准 Fork & PR 工作流](https://gist.github.com/Chaser324/ce0505fbed06b947d962)。 -{{% /capture %}} -{{% capture steps %}} + + 将您的更改[创建 PR](/docs/contribute/start/) 提交到 [kubernetes/website](https://github.com/kubernetes/website) 仓库。监视您提交的 PR,并根据需要回复 reviewer 的评论。继续监视您的 PR,直到合并为止。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + -{{% capture overview %}} + 如果您熟悉本主题中讨论的所有任务,并且想与 Kubernetes 文档小组进行更深入的接触, 请阅读[文档高级贡献者](/docs/contribute/advanced/)主题。 -{{% /capture %}} + diff --git a/content/zh/docs/contribute/localization.md b/content/zh/docs/contribute/localization.md index ed6181e989..bad833c974 100644 --- a/content/zh/docs/contribute/localization.md +++ b/content/zh/docs/contribute/localization.md @@ -1,6 +1,6 @@ --- title: 本地化 Kubernetes 文档 -content_template: templates/concept +content_type: concept card: name: contribute weight: 30 @@ -9,7 +9,7 @@ card: -{{% capture overview %}} + 此页面显示了如何为其他语言的文档提供[本地化](https://blog.mozilla.org/l10n/2011/12/14/i18n-vs-l10n-whats-the-diff/)。 -{{% /capture %}} -{{% capture body %}} + + 您还可以向现有本地化添加或改进内容提供帮助。加入 [Slack 频道](https://kubernetes.slack.com/messages/C1J0BPD2M/)进行本地化,然后开始新建 PR 来提供帮助。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 结合 OWNERS 文件及扉页可以给 PR 作者提供向谁请求检视的建议。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 当您对本主题中讨论的所有任务感到满意,并且您希望以更深入的方式与 Kubernetes 文档团队合作,请阅读[中级贡献者指南](/docs/contribute/intermediate/)。 -{{% /capture %}} + diff --git a/content/zh/docs/contribute/style/content-organization.md b/content/zh/docs/contribute/style/content-organization.md index 3ce7964655..b8976252fc 100644 --- a/content/zh/docs/contribute/style/content-organization.md +++ b/content/zh/docs/contribute/style/content-organization.md @@ -1,19 +1,19 @@ --- title: 内容组织 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{% note %}} -{{% capture overview %}} + 本页面将介绍定制 Hugo 短代码,可以用于 Kubernetes markdown 文档书写。 更多关于短代码参见 [Hugo 文档](https://gohugo.io/content-management/shortcodes)。 -{{% /capture %}} -{{% capture body %}} + + ## 功能状态 @@ -256,9 +256,10 @@ println "This is tab 2." {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + -- 在页面的 YAML 头部,设置 `content_template: templates/concept`。 +- 在页面的 YAML 头部,设置 `content_type: concept`。 - 在页面的 body 中,设置所需的 `capture` 变量和所有想要包含的变量: | 变量 | 必需? | @@ -153,12 +153,12 @@ To write a new task page, create a Markdown file in a subdirectory of the 要编写新的任务页面,请在 `/content/en/docs/tasks` 目录的子目录中创建一个 Markdown 文件,其特点如下: -- 在页面的 YAML 头部,设置 `content_template: templates/task`。 +- 在页面的 YAML 头部,设置 `content_type: task`。 - 在页面的 body 中,设置所需的 `capture` 变量和所有想要包含的变量: | 变量 | 必需? | @@ -253,12 +253,12 @@ To write a new tutorial page, create a Markdown file in a subdirectory of the 要编写新的教程页面,请在 `/content/en/docs/tutorials` 目录的子目录中创建一个 Markdown 文件,其特点如下: -- 在页面的 YAML 头部,设置 `content_template: templates/tutorial`。 +- 在页面的 YAML 头部,设置 `content_type: tutorial`。 - 在页面的 body 中,设置所需的 `capture` 变量和所有想要包含的变量: | 变量 | 必需? | @@ -337,9 +337,10 @@ An example of a published topic that uses the tutorial template is 使用教程模板的已发布主题的一个示例是[使用部署运行无状态应用程序](/docs/tutorials/stateless-application/run-stateless-application-deployment/)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 本页面展示如何为 Kubernetes 文档库创建新主题。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 如[开始贡献](/docs/contribute/start/)中所述,创建 Kubernetes 文档库的分支。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * 学习[使用页面模板](/docs/home/contribute/page-templates/)。 * 学习[展示你的修改](/docs/home/contribute/stage-documentation-changes/)。 * 学习[创建一个拉取请求](/docs/home/contribute/create-pull-request/)。 -{{% /capture %}} + diff --git a/content/zh/docs/home/supported-doc-versions.md b/content/zh/docs/home/supported-doc-versions.md index 986155dc0f..31c3831690 100644 --- a/content/zh/docs/home/supported-doc-versions.md +++ b/content/zh/docs/home/supported-doc-versions.md @@ -1,19 +1,19 @@ --- title: Kubernetes 文档支持的版本 -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: Kubernetes 文档支持的版本 --- -{{% capture overview %}} + 本网站包含当前版本和之前四个版本的 Kubernetes 文档。 -{{% /capture %}} -{{% capture body %}} + + ## 当前版本 @@ -24,6 +24,6 @@ card: {{< versions-other >}} -{{% /capture %}} + diff --git a/content/zh/docs/reference/_index.md b/content/zh/docs/reference/_index.md index d6e4af5a77..2c49c689d1 100644 --- a/content/zh/docs/reference/_index.md +++ b/content/zh/docs/reference/_index.md @@ -3,7 +3,7 @@ title: 参考 linkTitle: "参考" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 这是 Kubernetes 文档的参考部分。 -{{% /capture %}} -{{% capture body %}} + + ## API 参考 @@ -122,4 +122,4 @@ Kubernetes 功能的设计文档归档,不妨考虑从 [Kubernetes 架构](htt An archive of the design docs for Kubernetes functionality. Good starting points are [Kubernetes Architecture](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) and [Kubernetes Design Overview](https://git.k8s.io/community/contributors/design-proposals). --> -{{% /capture %}} + diff --git a/content/zh/docs/reference/access-authn-authz/abac.md b/content/zh/docs/reference/access-authn-authz/abac.md index b39aa418f3..7274053412 100644 --- a/content/zh/docs/reference/access-authn-authz/abac.md +++ b/content/zh/docs/reference/access-authn-authz/abac.md @@ -5,7 +5,7 @@ approvers: - deads2k - liggitt title: 使用 ABAC 鉴权 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 基于属性的访问控制(Attribute-based access control - ABAC)定义了访问控制范例,其中通过使用将属性组合在一起的策略来向用户授予访问权限。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 此页面概述了准入控制器。 -{{% /capture %}} -{{% capture body %}} + + 对于更早期版本,没有验证和变更的概念,并且准入控制器按照指定的确切顺序运行。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/access-authn-authz/authorization.md b/content/zh/docs/reference/access-authn-authz/authorization.md index a7366e92d5..3c2a08a817 100644 --- a/content/zh/docs/reference/access-authn-authz/authorization.md +++ b/content/zh/docs/reference/access-authn-authz/authorization.md @@ -8,17 +8,17 @@ cnapprove: - fatalc title: 授权概述 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 了解有关 Kubernetes 授权的更多信息,包括使用支持的授权模块创建策略的详细信息。 -{{% /capture %}} -{{% capture body %}} + + * 要了解有关身份验证的更多信息,请参阅 **身份验证** [控制对 Kubernetes API 的访问](/docs/reference/access-authn-authz/controlling-access/)。 * 要了解有关准入控制的更多信息,请参阅 [使用准入控制器](/docs/reference/access-authn-authz/admission-controllers/)。 -{{% /capture %}} \ No newline at end of file diff --git a/content/zh/docs/reference/access-authn-authz/extensible-admission-controllers.md b/content/zh/docs/reference/access-authn-authz/extensible-admission-controllers.md index 9f0df8dd7a..e1782b0419 100644 --- a/content/zh/docs/reference/access-authn-authz/extensible-admission-controllers.md +++ b/content/zh/docs/reference/access-authn-authz/extensible-admission-controllers.md @@ -1,18 +1,18 @@ --- title: 动态准入控制 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 除了[内置的 admission 插件](/docs/reference/access-authn-authz/admission-controllers/),admission 插件可以作为扩展独立开发,并以运行时所配置的 webhook 的形式运行。 此页面描述了如何构建、配置、使用和监视 admission webhook。 -{{% /capture %}} -{{% capture body %}} + + @@ -2174,4 +2174,4 @@ plane, exclude the `kube-system` namespace from being intercepted using a 意外更改或拒绝 `kube-system` 命名空间中的请求可能会导致控制平面组件停止运行或者导致未知行为发生。 如果您的 admission webhook 不想修改 Kubernetes 控制平面的行为,请使用 [`namespaceSelector`](#matching-requests-namespaceselector) 避免拦截 `kube-system` 命名空间。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/access-authn-authz/node.md b/content/zh/docs/reference/access-authn-authz/node.md index c3d149f61e..2f0654dd00 100644 --- a/content/zh/docs/reference/access-authn-authz/node.md +++ b/content/zh/docs/reference/access-authn-authz/node.md @@ -1,6 +1,6 @@ --- title: 使用 Node 鉴权 -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + 节点鉴权是一种特殊用途的鉴权模式,专门对 kubelet 发出的 API 请求进行鉴权。 -{{% /capture %}} -{{% capture body %}} + + ## 概述 -{{% /capture %}} + diff --git a/content/zh/docs/reference/access-authn-authz/rbac.md b/content/zh/docs/reference/access-authn-authz/rbac.md index 5f3adb0190..3d35e4e8bb 100644 --- a/content/zh/docs/reference/access-authn-authz/rbac.md +++ b/content/zh/docs/reference/access-authn-authz/rbac.md @@ -1,6 +1,6 @@ --- title: 使用 RBAC 鉴权 -content_template: templates/concept +content_type: concept weight: 70 --- @@ -11,19 +11,19 @@ reviewers: - deads2k - liggitt title: Using RBAC Authorization -content_template: templates/concept +content_type: concept weight: 70 --- --> -{{% capture overview %}} + 基于角色(Role)的访问控制(RBAC)是一种基于企业中用户的角色来调节控制对计算机或网络资源的访问方法。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + WebHook 是一种 HTTP 回调:某些条件下触发的 HTTP POST 请求;通过 HTTP POST 发送的简单事件通知。一个基于 web 应用实现的 WebHook 会在特定事件发生时把消息发送给特定的 URL。 -{{% /capture %}} -{{% capture body %}} + + 更多信息可以参考 authorization.v1beta1 API 对象和[webhook.go](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/staging/src/k8s.io/apiserver/plugin/pkg/authorizer/webhook/webhook.go)。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/command-line-tools-reference/feature-gates.md b/content/zh/docs/reference/command-line-tools-reference/feature-gates.md index ff51d2549c..b91c41bc79 100644 --- a/content/zh/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/zh/docs/reference/command-line-tools-reference/feature-gates.md @@ -1,18 +1,18 @@ --- weight: 10 title: 特性门控 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + -{{% capture overview %}} + 本页面介绍 Kubernetes 安全和信息披露相关的内容。 -{{% /capture %}} -{{% capture body %}} + + @@ -135,4 +135,4 @@ It is reasonable to delay disclosure when the bug or the fix is not yet fully un The timeframe for disclosure is from immediate (especially if it's already publicly known) to a few weeks. As a basic default, we expect report date to disclosure date to be on the order of 7 days. The Kubernetes product security team holds the final say when setting a disclosure date. --> 信息披露的时间范围从即时(尤其是已经公开的)到几周。作为一个基本的约定,我们希望报告日期到披露日期的间隔是 7 天。在设置披露日期时,Kubernetes 产品安全团队拥有最终决定权。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/kubectl/cheatsheet.md b/content/zh/docs/reference/kubectl/cheatsheet.md index 43ded7f976..4ef61cac63 100644 --- a/content/zh/docs/reference/kubectl/cheatsheet.md +++ b/content/zh/docs/reference/kubectl/cheatsheet.md @@ -4,7 +4,7 @@ reviewers: - erictune - krousey - clove -content_template: templates/concept +content_type: concept card: name: reference weight: 30 @@ -15,13 +15,13 @@ reviewers: - erictune - krousey - clove -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- --> -{{% capture overview %}} + 也可以看下: [Kubectl 概述](/docs/reference/kubectl/overview/) 和 [JsonPath 指南](/docs/reference/kubectl/jsonpath)。 @@ -29,9 +29,9 @@ card: 本页面是 `kubectl` 命令的概述。 -{{% /capture %}} -{{% capture body %}} + + ## kubectl - 备忘单 @@ -657,9 +657,10 @@ Kubectl 日志输出详细程度是通过 `-v` 或者 `--v` 来控制的,参 `--v=8` | 显示 HTTP 请求内容。 `--v=9` | 显示 HTTP 请求内容而不截断内容。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + `kubectl` 的推荐用法约定 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 您可以使用 Kubernetes 命令行工具 kubectl 与 API 服务器进行交互。如果您熟悉 Docker 命令行工具,则使用 kubectl 非常简单。但是,docker 命令和 kubectl 命令之间有一些区别。以下显示了 docker 子命令,并描述了等效的 kubectl 命令。 -{{% /capture %}} -{{% capture body %}} + + ## docker run -{{% capture overview %}} + Kubectl 支持 JSONPath 模板。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture synopsis %}} +## {{% heading "synopsis" %}} + -{{% capture overview %}} + 本文概述了 `kubectl` 语法和命令操作描述,并提供了常见的示例。有关每个命令的详细信息,包括所有受支持的参数和子命令,请参阅 [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) 参考文档。有关安装说明,请参见 [安装 kubectl](/docs/tasks/kubectl/install/) 。 -{{% /capture %}} -{{% capture body %}} + + 要了解关于插件的更多信息,请查看[示例 cli 插件](https://github.com/kubernetes/sample-cli-plugin)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 开始使用 [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) 命令。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md b/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md index 4ed29847fd..e271e1885e 100644 --- a/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md +++ b/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md @@ -1,10 +1,10 @@ --- title: 知名标签(Label)、注解(Annotation)和 Taints -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + ## kubernetes.io/arch @@ -272,4 +272,4 @@ adding the labels manually (or adding support for `PersistentVolumeLabel`). With 如果 `PersistentVolumeLabel` 准入控制器不支持自动为 PersistentVolume 打标签,且用户希望防止 pod 跨区域进行卷的挂载, 应考虑手动打标签 (或对 `PersistentVolumeLabel` 增加支持)。如果用户的基础设施没有这种约束,则不需要为卷添加区域标签。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md index 7d04b8d5c8..d36201165e 100644 --- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md +++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-config.md @@ -1,10 +1,10 @@ --- title: kubeadm config -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + ## kubeadm config upload from-file {#cmd-config-from-file} ## kubeadm config view {#cmd-config-view} @@ -56,14 +56,15 @@ to list and pull the images that kubeadm requires. ## kubeadm config images pull {#cmd-config-images-pull} {{< include "generated/kubeadm_config_images_pull.md" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm upgrade](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) 将 Kubernetes 集群升级到更新版本 [kubeadm upgrade] -{{% /capture %}} + diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md index 4a0e252414..b975d3df60 100644 --- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -1,6 +1,6 @@ --- title: kubeadm init -content_template: templates/concept +content_type: concept weight: 20 --- @@ -11,18 +11,18 @@ reviewers: - luxas - jbeda title: kubeadm init -content_template: templates/concept +content_type: concept weight: 20 --- --> -{{% capture overview %}} + 此命令初始化一个 Kubernetes 控制平面节点。 -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_init.md" >}} @@ -461,9 +461,10 @@ provisioned). For details, see the [kubeadm join](/docs/reference/setup-tools/ku --> 注意这种搭建集群的方式在安全保证上会有一些宽松,因为这种方式不允许使用 `--discovery-token-ca-cert-hash` 来验证根 CA 的哈希值(因为当配置节点的时候,它还没有被生成)。获取需更多信息请参阅[kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/)文档。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 此命令用来初始化 Kubernetes 工作节点并将其加入集群。 -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_join.md" >}} 要了解 `JoinConfiguration` 中各个字段的详细信息请参考 [godoc](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#JoinConfiguration)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + 该命令尽力还原由 `kubeadm init` 或 `kubeadm join` 所做的更改。 -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_reset.md" >}} @@ -52,11 +52,12 @@ etcdctl del "" --prefix 更多详情请参考 [etcd 文档](https://github.com/coreos/etcd/tree/master/etcdctl)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 参考 [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) 来初始化 Kubernetes 主节点。 * 参考 [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) 来初始化 Kubernetes 工作节点并加入集群。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-token.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-token.md index 37e4cbcfca..ba49bc9834 100644 --- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-token.md +++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-token.md @@ -1,6 +1,6 @@ --- title: kubeadm 令牌 -content_template: templates/concept +content_type: concept weight: 70 --- @@ -11,12 +11,12 @@ reviewers: - luxas - jbeda title: kubeadm token -content_template: templates/concept +content_type: concept weight: 70 --- --> -{{% capture overview %}} + ## kubeadm token create {#cmd-token-create} {{< include "generated/kubeadm_token_create.md" >}} @@ -45,11 +45,12 @@ such a token and also to create and manage new ones. ## kubeadm token list {#cmd-token-list} {{< include "generated/kubeadm_token_list.md" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) 引导 Kubernetes 工作节点并将其加入群集 -{{% /capture %}} + diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md index 6fb5d8828e..f387963503 100644 --- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md +++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-upgrade.md @@ -1,6 +1,6 @@ --- title: kubeadm upgrade -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + `kubeadm upgrade` 是一个对用户友好的命令,它将复杂的升级逻辑包装在一个命令后面,支持升级的规划和实际执行。 -{{% /capture %}} -{{% capture body %}} + + * 如果您使用 kubeadm v1.7.x 或更低版本初始化集群,则可以参考[kubeadm 配置](/docs/reference/setup-tools/kubeadm/kubeadm-config/)配置集群用于 `kubeadm upgrade`。 -{{% /capture %}} + diff --git a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-version.md b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-version.md index d139966055..b2afa2124b 100644 --- a/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-version.md +++ b/content/zh/docs/reference/setup-tools/kubeadm/kubeadm-version.md @@ -4,19 +4,19 @@ reviewers: - luxas - jbeda title: kubeadm version -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + 此命令用来查询 kubeadm 的版本。 -{{% /capture %}} -{{% capture body %}} + + {{< include "generated/kubeadm_version.md" >}} -{{% /capture %}} + diff --git a/content/zh/docs/reference/tools.md b/content/zh/docs/reference/tools.md index ae97a3ea74..fa41dcaf8c 100644 --- a/content/zh/docs/reference/tools.md +++ b/content/zh/docs/reference/tools.md @@ -2,7 +2,7 @@ reviewers: - janetkuo title: 工具 -content_template: templates/concept +content_type: concept --- @@ -19,11 +19,11 @@ content_template: templates/concept -{{% capture overview %}} + Kubernetes 包含一些内置工具,可以帮助用户更好的使用 Kubernetes 系统。 -{{% /capture %}} -{{% capture body %}} + + ## Kubectl -{{% capture overview %}} + 此页提供 Kubernetes API 的总览 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 本页面包含基于各种编程语言使用 Kubernetes API 的客户端库概述。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 更简单地说,可以在学习和生产环境中创建一个 Kubernetes 集群。 -{{% /capture %}} -{{% capture body %}} + + [Kubernetes 合作伙伴](https://kubernetes.io/partners/#conformance) 包括一个 [已认证的 Kubernetes](https://github.com/cncf/k8s-conformance/#certified-kubernetes) 提供商列表。 -{{% /capture %}} + diff --git a/content/zh/docs/setup/best-practices/certificates.md b/content/zh/docs/setup/best-practices/certificates.md index 6ea5228ba2..40a9da84a1 100644 --- a/content/zh/docs/setup/best-practices/certificates.md +++ b/content/zh/docs/setup/best-practices/certificates.md @@ -2,7 +2,7 @@ title: PKI 证书和要求 reviewers: - sig-cluster-lifecycle -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果您是使用 [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) 安装的 Kubernetes,则会自动生成集群所需的证书。您还可以生成自己的证书。例如,不将私钥存储在 API 服务器上,可以让私钥更加安全。此页面说明了集群必需的证书。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + @@ -126,9 +126,10 @@ Kubernetes 发布的版本通常只维护支持九个月,在维护周期内, | v1.11.x | 2018 年 6 月 | 2019 年 3 月 | | v1.12.x | 2018 年 9 月 | 2019 年 6 月 | -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具。Minikube 在笔记本电脑上的虚拟机(VM)中运行单节点 Kubernetes 集群,供那些希望尝试 Kubernetes 或进行日常开发的用户使用。 -{{% /capture %}} -{{% capture body %}} + + 我们欢迎您向社区提交贡献、提出问题以及参与评论!Minikube 开发人员可以在 [Slack](https://kubernetes.slack.com) 的 #minikube 频道上互动交流(点击[这里](http://slack.kubernetes.io/)获得邀请)。我们还有 [kubernetes-dev Google Groups 邮件列表](https://groups.google.com/forum/#!forum/kubernetes-dev)。如果您要发信到列表中,请在主题前加上 "minikube: "。 -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/container-runtimes.md b/content/zh/docs/setup/production-environment/container-runtimes.md index a9a7c4fbd5..fb3dde5428 100644 --- a/content/zh/docs/setup/production-environment/container-runtimes.md +++ b/content/zh/docs/setup/production-environment/container-runtimes.md @@ -3,7 +3,7 @@ reviewers: - vincepri - bart0sh title: 容器运行时 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="stable" >}} {{< caution >}} -{{% capture overview %}} + DC/OS 入门的正式来源位于[quickstart 仓库](https://github.com/mesosphere/dcos-kubernetes-quickstart)中。 -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/on-premises-vm/ovirt.md b/content/zh/docs/setup/production-environment/on-premises-vm/ovirt.md index 8be64713e9..ea8790f452 100644 --- a/content/zh/docs/setup/production-environment/on-premises-vm/ovirt.md +++ b/content/zh/docs/setup/production-environment/on-premises-vm/ovirt.md @@ -1,6 +1,6 @@ --- title: oVirt -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + -{{% capture overview %}} + 如果您有不同的观点,您可能更喜欢使用 [kubeadm](/docs/admin/kubeadm/) 作为构建工具来构建自己的集群。kops 建立在 kubeadm 工作的基础上。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + {{< feature-state for_k8s_version="1.12" state="stable" >}} @@ -55,9 +55,9 @@ You can generate a `ClusterConfiguration` object with default values by running 您可以通过运行 `kubeadm config print init-defaults` 并将输出保存到您选择的文件中,以默认值形式生成 `ClusterConfiguration` 对象。 {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + ![外部 etcd 拓扑](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [使用 kubeadm 设置高可用集群](/docs/setup/production-environment/tools/kubeadm/high-availability/) -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/tools/kubeadm/high-availability.md b/content/zh/docs/setup/production-environment/tools/kubeadm/high-availability.md index 7b6fd2fd2d..3703563d4b 100644 --- a/content/zh/docs/setup/production-environment/tools/kubeadm/high-availability.md +++ b/content/zh/docs/setup/production-environment/tools/kubeadm/high-availability.md @@ -2,7 +2,7 @@ reviewers: - sig-cluster-lifecycle title: 利用 kubeadm 创建高可用集群 -content_template: templates/task +content_type: task weight: 60 --- @@ -11,12 +11,12 @@ weight: 60 reviewers: - sig-cluster-lifecycle title: Creating Highly Available clusters with kubeadm -content_template: templates/task +content_type: task weight: 60 --- --> -{{% capture overview %}} + ## 这两种方法的第一步 @@ -731,4 +732,4 @@ the creation of additional nodes could fail due to a lack of required SANs. mv /home/${USER}/etcd-ca.key /etc/kubernetes/pki/etcd/ca.key ``` -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md b/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md index 9b2a62318a..accb3a5b43 100644 --- a/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md +++ b/content/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md @@ -1,6 +1,6 @@ --- title: 安装 kubeadm -content_template: templates/task +content_type: task weight: 10 card: name: setup @@ -10,7 +10,7 @@ card: -{{% capture overview %}} + * [使用 kubeadm 创建集群](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md b/content/zh/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md index 6618de8e48..e10bafa969 100644 --- a/content/zh/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md +++ b/content/zh/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md @@ -2,7 +2,7 @@ reviewers: - sig-cluster-lifecycle title: 使用 kubeadm 配置集群中的每个 kubelet -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.11" state="stable" >}} @@ -46,9 +46,9 @@ kubeadm CLI 工具的生命周期与 [kubelet](/docs/reference/command-line-tool 集群中涉及的所有 kubelet 的一些配置细节都必须相同,而其他配置方面则需要基于每个 kubelet 进行设置,以适应给定机器的不同特性,例如操作系统、存储和网络。 您可以手动地管理 kubelet 的配置,但是 [kubeadm 现在提供一种 `KubeletConfiguration` API 类型,用于集中管理 kubelet 的配置](#configure-kubelets-using-kubeadm)。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + 要创建自托管集群,请参见 [kubeadm alpha 自托管枢纽](/docs/reference/setup-tools/kubeadm/kubeadm-alpha/#cmd-selfhosting) 命令。 -{{% /capture %}} -{{% capture body %}} + + 1. 当原始静态控制平面停止时,新的自托管控制平面能够绑定到侦听端口并变为活动状态。 -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md b/content/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md index a3e4420e35..e79718b204 100644 --- a/content/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md +++ b/content/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md @@ -1,6 +1,6 @@ --- title: 使用 kubeadm 创建一个高可用 etcd 集群 -content_template: templates/task +content_type: task weight: 70 --- @@ -9,12 +9,12 @@ weight: 70 reviewers: - sig-cluster-lifecycle title: Set up a High Availability etcd cluster with kubeadm -content_template: templates/task +content_type: task weight: 70 --- --> -{{% capture overview %}} + {{< note >}} 默认情况下,kubeadm 运行单成员的 etcd 集群,该集群由控制面节点上的 kubelet 以静态 Pod 的方式进行管理。由于 etcd 集群只包含一个成员且不能在任一成员不可用时保持运行,所以这不是一种高可用设置。本任务,将告诉您如何在使用 kubeadm 创建一个 kubernetes 集群时创建一个外部 etcd:有三个成员的高可用 etcd 集群。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [工具箱]: /docs/setup/production-environment/tools/kubeadm/install-kubeadm/ -{{% /capture %}} -{{% capture steps %}} + + - 将 `${HOST0}` 设置为要测试的主机的 IP 地址 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 一旦拥有了一个正常工作的 3 成员的 etcd 集群,你就可以基于[使用 kubeadm 的外部 etcd 方法](/docs/setup/independent/high-availability/),继续部署一个高可用的控制平面。 -{{% /capture %}} + diff --git a/content/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md b/content/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md index 1e3ab441b4..e00a71127c 100644 --- a/content/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md +++ b/content/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md @@ -1,17 +1,17 @@ --- title: 对 kubeadm 进行故障排查 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + -{{% capture overview %}} + 本页面介绍了如何在 AWS 上安装 Kubernetes 集群。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + @@ -61,9 +62,9 @@ To create a Kubernetes cluster on AWS, you will need an Access Key ID and a Secr --> * [KubeOne](https://github.com/kubermatic/kubeone) 是一个开源集群生命周期管理工具,它可用于创建,升级和管理高可用 Kubernetes 集群。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + Windows 应用程序构成了许多组织中运行的服务和应用程序的很大一部分。本指南将引导您完成在 Kubernetes 中配置和部署 Windows 容器的步骤。 -{{% /capture %}} -{{% capture body %}} + + 本文描述 Kubernetes 各组件之间版本倾斜支持策略。 特定的集群部署工具可能会有额外的限制。 -{{% /capture %}} -{{% capture body %}} + + ## Supported versions diff --git a/content/zh/docs/tasks/_index.md b/content/zh/docs/tasks/_index.md index 0be5747945..892ea33b1e 100644 --- a/content/zh/docs/tasks/_index.md +++ b/content/zh/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: 任务 main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + Kubernetes 文档这一部分包含的一些页面展示如何去做单个任务。一个任务页面展示了如何执行操作单一的项目,通常是通过给出若干步骤。 -{{% /capture %}} -{{% capture body %}} + + ## Web 用户界面 (Dashboard) @@ -178,9 +178,10 @@ Configure and schedule NVIDIA GPUs for use as a resource by nodes in a cluster. Configure and schedule huge pages as a schedulable resource in a cluster. --> -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 如果您想编写任务页面,请参阅[创建文档提取请求](/docs/home/contribute/create-pull-request/)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/access-cluster.md b/content/zh/docs/tasks/access-application-cluster/access-cluster.md index d0b41d4a6f..c839c2951f 100644 --- a/content/zh/docs/tasks/access-application-cluster/access-cluster.md +++ b/content/zh/docs/tasks/access-application-cluster/access-cluster.md @@ -1,29 +1,29 @@ --- title: 访问集群 weight: 20 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 本文阐述多种与集群交互的方法。 -{{% /capture %}} + {{< toc >}} -{{% capture body %}} + 本文旨在说明如何让一个 Pod 内的两个容器使用一个卷(Volume)进行通信。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 创建一个包含两个容器的 Pod @@ -111,10 +112,10 @@ Pod 的配置文件如下: Hello from the debian container -{{% /capture %}} -{{% capture discussion %}} + + ## 讨论 @@ -137,10 +138,11 @@ Pod 能有多个容器的主要原因是为了支持辅助应用(helper applic 在本练习中的卷为 Pod 生命周期中的容器相互通信提供了一种方法。如果 Pod 被删除或者重建了, 任何共享卷中的数据都会丢失。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + @@ -161,7 +163,7 @@ Pod 能有多个容器的主要原因是为了支持辅助应用(helper applic * 参见 [Pod](/docs/api-reference/{{< param "version" >}}/#pod-v1-core). -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 219e1b4ee8..d577256a6e 100644 --- a/content/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -1,10 +1,10 @@ --- title: 配置对多集群的访问 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文展示如何使用配置文件来配置对多个集群的访问。 在将集群、用户和上下文定义在一个或多个配置文件中之后,用户可以使用 `kubectl config use-context` 命令快速地在集群之间进行切换。 @@ -13,15 +13,16 @@ content_template: templates/task 这是一种引用配置文件的通用方式,并不意味着存在一个名为 `kubeconfig` 的文件。 {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 需要安装 [`kubectl`](/docs/tasks/tools/install-kubectl/) 命令行工具。 -{{% /capture %}} -{{% capture steps %}} + + ## 定义集群、用户和上下文 @@ -305,14 +306,15 @@ kubectl config view export KUBECONFIG=$KUBECONFIG_SAVED ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [使用 kubeconfig 文件组织集群访问](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl 配置](/docs/user-guide/kubectl/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md b/content/zh/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md index a23cea7633..a6cee8c2d0 100644 --- a/content/zh/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md +++ b/content/zh/docs/tasks/access-application-cluster/configure-cloud-provider-firewall.md @@ -3,11 +3,11 @@ reviewers: - bprashanth - davidopp title: 配置你的云平台防火墙 -content_template: templates/task +content_type: task weight: 90 --- -{{% capture overview %}} + @@ -159,4 +160,4 @@ the wilds of the internet. {{< /note >}} -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/configure-dns-cluster.md b/content/zh/docs/tasks/access-application-cluster/configure-dns-cluster.md index 0142302759..8d8520cb18 100644 --- a/content/zh/docs/tasks/access-application-cluster/configure-dns-cluster.md +++ b/content/zh/docs/tasks/access-application-cluster/configure-dns-cluster.md @@ -1,27 +1,27 @@ --- title: 为集群配置 DNS weight: 120 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kubernetes 提供 DNS 集群插件,大多数支持的环境默认情况下都会启用。 -{{% /capture %}} -{{% capture body %}} + + 有关如何为 Kubernetes 集群配置 DNS 的详细信息,请参阅 [Kubernetes DNS 插件示例.](https://github.com/kubernetes/kubernetes/tree/release-1.5/examples/cluster-dns) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/connecting-frontend-backend.md b/content/zh/docs/tasks/access-application-cluster/connecting-frontend-backend.md index 9833f284d8..2c91610128 100644 --- a/content/zh/docs/tasks/access-application-cluster/connecting-frontend-backend.md +++ b/content/zh/docs/tasks/access-application-cluster/connecting-frontend-backend.md @@ -1,10 +1,10 @@ --- title: 使用 Service 把前端连接到后端 -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + @@ -12,10 +12,11 @@ content_template: templates/tutorial 本任务会描述如何创建前端微服务和后端微服务。后端微服务是一个 hello 欢迎程序。 前端和后端的连接是通过 Kubernetes 服务对象(Service object)完成的。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + @@ -24,10 +25,11 @@ content_template: templates/tutorial * 从后端将流量路由到前端 * 使用服务对象把前端应用连接到后端应用 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -36,10 +38,10 @@ content_template: templates/tutorial 所以需要对应的可支持此功能的环境。如果你的环境不能支持,你可以使用 [NodePort](/docs/user-guide/services/#type-nodeport) 类型的服务代替。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ### 使用部署对象(Deployment)创建后端 @@ -180,16 +182,17 @@ curl http:// {"message":"Hello"} ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解更多 [Services](/docs/concepts/services-networking/service/) * 了解更多 [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/create-external-load-balancer.md b/content/zh/docs/tasks/access-application-cluster/create-external-load-balancer.md index ab0cd5ace6..86d83cd34b 100644 --- a/content/zh/docs/tasks/access-application-cluster/create-external-load-balancer.md +++ b/content/zh/docs/tasks/access-application-cluster/create-external-load-balancer.md @@ -1,18 +1,18 @@ --- title: 创建一个外部负载均衡器 -content_template: templates/task +content_type: task weight: 80 --- -{{% capture overview %}} + 有关如何配置和使用 Ingress 资源为服务提供外部可访问的 URL、负载均衡流量、终止 SSL 等功能,请查看 [Ingress](/docs/concepts/services-networking/ingress/) 文档。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 本文展示如何使用 kubectl 来列出集群中所有运行 pod 的容器的镜像 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + + + + +## {{% heading "whatsnext" %}} -{{% capture whatsnext %}} -{{% capture overview %}} + 本文展示如何使用 `kubectl port-forward` 连接到在 Kubernetes 集群中运行的 Redis 服务。这种类型的连接对数据库调试很有用。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -32,10 +33,10 @@ for database debugging. --> * 安装 [redis-cli](http://redis.io/topics/rediscli)。 -{{% /capture %}} -{{% capture steps %}} + + 成功的 ping 请求应该返回 PONG。 -{{% /capture %}} -{{% capture discussion %}} + + 学习更多关于 [kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands/#port-forward)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/service-access-application-cluster.md b/content/zh/docs/tasks/access-application-cluster/service-access-application-cluster.md index 56dc9ec216..454773b100 100644 --- a/content/zh/docs/tasks/access-application-cluster/service-access-application-cluster.md +++ b/content/zh/docs/tasks/access-application-cluster/service-access-application-cluster.md @@ -1,18 +1,18 @@ --- title: 使用服务来访问集群中的应用 -content_template: templates/tutorial +content_type: tutorial weight: 60 --- -{{% capture overview %}} + 本文展示如何创建一个 Kubernetes 服务对象,能让外部客户端访问在集群中运行的应用。该服务为一个应用的两个运行实例提供负载均衡。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 学习更多关于如何 [通过服务连接应用](/docs/concepts/services-networking/connect-applications-service/)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/zh/docs/tasks/access-application-cluster/web-ui-dashboard.md index d9b2638c01..6096d7febe 100644 --- a/content/zh/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/zh/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -4,7 +4,7 @@ reviewers: - mikedanese - rf232 title: 网页界面 (Dashboard) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -18,7 +18,7 @@ reviewers: - mikedanese - rf232 title: Web UI (Dashboard) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -27,7 +27,7 @@ card: --- --> -{{% capture overview %}} + ![日志浏览](/images/docs/ui-dashboard-logs-view.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + 本文说明如何使用 HTTP 代理访问 Kubernetes API。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -33,9 +34,9 @@ This page shows how to use an HTTP proxy to access the Kubernetes API. kubectl run node-hello --image=gcr.io/google-samples/node-hello:1.0 --port=8080 ``` -{{% /capture %}} -{{% capture steps %}} + + 想了解更多信息,请参阅 [kubectl 代理](/docs/reference/generated/kubectl/kubectl-commands#proxy)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/access-kubernetes-api/setup-extension-api-server.md b/content/zh/docs/tasks/access-kubernetes-api/setup-extension-api-server.md index d6dca73746..bd3c600296 100644 --- a/content/zh/docs/tasks/access-kubernetes-api/setup-extension-api-server.md +++ b/content/zh/docs/tasks/access-kubernetes-api/setup-extension-api-server.md @@ -4,7 +4,7 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/task +content_type: task weight: 15 --- @@ -15,21 +15,22 @@ reviewers: - lavalamp - cheftako - chenopis -content_template: templates/task +content_type: task weight: 15 --- --> -{{% capture overview %}} + 设置一个扩展的 API server 来使用聚合层以让 Kubernetes apiserver 使用其它 API 进行扩展,这些 API 不是核心 Kubernetes API 的一部分。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + 本页展示了如何使用 Kubernetes API 访问集群 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + @@ -349,4 +350,4 @@ securely with the API server. --> 在每种情况下,Pod 的服务账号凭证被用于与 API 服务器的安全通信。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/access-cluster-services.md b/content/zh/docs/tasks/administer-cluster/access-cluster-services.md index 82253e0c32..cb03264553 100644 --- a/content/zh/docs/tasks/administer-cluster/access-cluster-services.md +++ b/content/zh/docs/tasks/administer-cluster/access-cluster-services.md @@ -1,20 +1,21 @@ --- title: 访问集群上运行的服务 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文展示了如何连接 Kubernetes 集群上运行的服务。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 访问集群上运行的服务 @@ -103,6 +104,6 @@ $ kubectl cluster-info - Web 服务器不总是能够传递令牌,所以你可能需要使用基本(密码)认证。 Apiserver 可以配置为接受基本认证,但你的集群可能并没有这样配置。 - 某些 web 应用可能不能工作,特别是那些使用客户端侧 javascript 的应用,它们构造 url 的方式可能不能理解代理路径前缀。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/change-default-storage-class.md b/content/zh/docs/tasks/administer-cluster/change-default-storage-class.md index 0dbfb7c8ee..8685c3ca12 100644 --- a/content/zh/docs/tasks/administer-cluster/change-default-storage-class.md +++ b/content/zh/docs/tasks/administer-cluster/change-default-storage-class.md @@ -1,22 +1,23 @@ --- title: 改变默认 StorageClass -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文展示了如何改变默认的 Storage Class,它用于为没有特殊需求的 PersistentVolumeClaims 配置 volumes。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 为什么要改变默认 storage class? @@ -92,11 +93,12 @@ content_template: templates/task gold (default) kubernetes.io/gce-pd 1d ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解更多关于 [StorageClasses](/docs/concepts/storage/persistent-volumes/)。 - {{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/change-pv-reclaim-policy.md b/content/zh/docs/tasks/administer-cluster/change-pv-reclaim-policy.md index 428845923c..d36686c38a 100644 --- a/content/zh/docs/tasks/administer-cluster/change-pv-reclaim-policy.md +++ b/content/zh/docs/tasks/administer-cluster/change-pv-reclaim-policy.md @@ -1,21 +1,22 @@ --- title: 更改 PersistentVolume 的回收策略 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文展示了如何更改 Kubernetes PersistentVolume 的回收策略。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 为什么要更改 PersistentVolume 的回收策略 @@ -66,9 +67,10 @@ content_template: templates/task 在前面的输出中,你可以看到绑定到 claim `default/claim3` 的 volume 拥有的回收策略为 `Retain`。当用户删除 claim `default/claim3` 时,它不会被自动删除。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解更多关于 [PersistentVolumes](/docs/concepts/storage/persistent-volumes/)的信息。 * 了解更多关于 [PersistentVolumeClaims](/docs/user-guide/persistent-volumes/#persistentvolumeclaims) 的信息。 @@ -80,6 +82,6 @@ content_template: templates/task * [PersistentVolumeClaim](/docs/api-reference/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * 查阅 [PersistentVolumeSpec](/docs/api-reference/{{< param "version" >}}/#persistentvolumeclaim-v1-core) 的 `persistentVolumeReclaimPolicy` 字段。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md b/content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md index 479151b213..7f2b41da33 100644 --- a/content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md +++ b/content/zh/docs/tasks/administer-cluster/configure-multiple-schedulers.md @@ -1,6 +1,6 @@ --- title: 配置多个调度器 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + -{{% capture overview %}} + {{< glossary_definition term_id="etcd" length="all" prepend="etcd 是一个">}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 此页面介绍了 CoreDNS 升级过程以及如何安装 CoreDNS 而不是 kube-dns。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 当涉及到资源利用时,优化内核的配置可能是有用的。有关详细信息,请参阅 [关于扩展 CoreDNS 的文档](https://github.com/coredns/deployment/blob/master/kubernetes/Scaling_CoreDNS.md)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 您可以通过修改 `Corefile` 来配置 [CoreDNS](https://coredns.io),以支持比 ku-dns 更多的用例。有关更多信息,请参考 [CoreDNS 网站](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/cpu-management-policies.md b/content/zh/docs/tasks/administer-cluster/cpu-management-policies.md index 964121940a..c3960f1c28 100644 --- a/content/zh/docs/tasks/administer-cluster/cpu-management-policies.md +++ b/content/zh/docs/tasks/administer-cluster/cpu-management-policies.md @@ -4,7 +4,7 @@ reviewers: - sjenning - ConnorDoyle - balajismaniam -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="beta" >}} @@ -31,15 +31,16 @@ directives. 按照设计,Kubernetes 对 pod 执行相关的很多方面进行了抽象,使得用户不必关心。然 而,为了正常运行,有些工作负载要求在延迟和/或性能方面有更强的保证。 为此,kubelet 提供方法来实现更复杂的负载放置策略,同时保持抽象,避免显式的放置指令。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 该 pod 属于 `Guaranteed` QoS 类型,因其指定了 `limits` 值,同时当未显式指定时,`requests` 值被设置为与 `limits` 值相等。同时,容器对 CPU 资源的限制值是一个大于或等于 1 的整数值。所以,该 `nginx` 容器被赋予 2 个独占 CPU。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/declare-network-policy.md b/content/zh/docs/tasks/administer-cluster/declare-network-policy.md index 30798bb20b..594162909b 100644 --- a/content/zh/docs/tasks/administer-cluster/declare-network-policy.md +++ b/content/zh/docs/tasks/administer-cluster/declare-network-policy.md @@ -3,17 +3,18 @@ approvers: - caseydavenport - danwinship title: 声明网络策略 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文可以帮助您开始使用 Kubernetes 的 [NetworkPolicy API](/docs/concepts/services-networking/network-policies/) 声明网络策略去管理 Pod 之间的通信 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 您首先需要有一个支持网络策略的 Kubernetes 集群。已经有许多支持 NetworkPolicy 的网络提供商,包括: @@ -25,9 +26,9 @@ content_template: templates/task **注意**:以上列表是根据产品名称按字母顺序排序,而不是按推荐或偏好排序。下面示例对于使用了上面任何提供商的 Kubernetes 集群都是有效的 -{{% /capture %}} -{{% capture steps %}} + + ## 创建一个`nginx` deployment 并且通过服务将其暴露 @@ -143,6 +144,6 @@ Hit enter for command prompt Connecting to nginx (10.100.0.16:80) / # ``` -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager.md b/content/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager.md index 09dc35a528..82710c17d8 100644 --- a/content/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager.md +++ b/content/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager.md @@ -4,7 +4,7 @@ reviewers: - thockin - wlan0 title: 开发云控制器管理器 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} 为了深入了解实施细节,所有云控制器管理器都将从 Kubernetes 核心导入依赖包,唯一的区别是每个项目都会通过调用 [cloudprovider.RegisterCloudProvider](https://github.com/kubernetes/cloud-provider/blob/master/plugins.go#L56-L66) 来注册自己的驱动,更新可用驱动的全局变量。 -{{% /capture %}} -{{% capture body %}} + + 对于 in-tree 驱动,您可以将 in-tree 云控制器管理器作为群集中的 [Daemonset](/examples/admin/cloud/ccm-example.yaml) 运行。有关详细信息,请参阅 [运行的云控制器管理器文档](/docs/tasks/administer-cluster/running-cloud-controller.md)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md b/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md index 4795bface2..5667dc1a41 100644 --- a/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md +++ b/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md @@ -3,7 +3,7 @@ reviewers: - bowei - zihongz title: 自定义 DNS 服务 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + This page provides hints on diagnosing DNS problems. -{{% /capture %}} + --> -{{% capture overview %}} + 这篇文章提供了一些关于 DNS 问题诊断的方法。 -{{% /capture %}} + --> -{{% capture prerequisites %}} +## {{% heading "prerequisites" %}} + - {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} - Kubernetes 1.6 或者以上版本。 - 集群必须使用了 `coredns` (或者 `kube-dns`)插件。 - {{% /capture %}} + -{{% capture steps %}} + @@ -595,7 +597,7 @@ for more details on Cluster Federation and multi-site support. - [集群里自动伸缩 DNS Service](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/). -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md b/content/zh/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md index 8fc387c92e..698a58bf7e 100644 --- a/content/zh/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md +++ b/content/zh/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md @@ -1,23 +1,24 @@ --- title: 集群 DNS 服务自动伸缩 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本页展示了如何在集群中启用和配置 DNS 服务的自动伸缩功能。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -34,9 +35,9 @@ Kubernetes cluster. * 建议使用 Kubernetes 1.4.0 或更高版本。 -{{% /capture %}} -{{% capture steps %}} + + * 了解更多关于 [cluster-proportional-autoscaler 实现](https://github.com/kubernetes-incubator/cluster-proportional-autoscaler)的相关信息。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md b/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md index 671ee47032..4e6bd67307 100644 --- a/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md +++ b/content/zh/docs/tasks/administer-cluster/enabling-endpointslices.md @@ -3,7 +3,7 @@ reviewers: - bowei - freehan title: 启用端点切片 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本页提供启用 Kubernetes 端点切片的总览 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 本文展示如何启用和配置静态 Secret 数据的加密 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -38,17 +39,18 @@ This page shows how to enable and configure encryption of secret data at rest. * 静态数据加密在 1.7.0 中仍然是 alpha 版本,这意味着它可能会在没有通知的情况下进行更改。在升级到 1.8.0 之前,用户可能需要解密他们的数据。 -{{% /capture %}} + {{< toc >}} -{{% capture prerequisites %}} +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 并重新启动所有 `kube-apiserver` 进程。然后运行命令 `kubectl get secrets --all-namespaces -o json | kubectl replace -f -` 强制解密所有 secret。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/extended-resource-node.md b/content/zh/docs/tasks/administer-cluster/extended-resource-node.md index 0418e4065c..9a73d35278 100644 --- a/content/zh/docs/tasks/administer-cluster/extended-resource-node.md +++ b/content/zh/docs/tasks/administer-cluster/extended-resource-node.md @@ -1,15 +1,15 @@ --- title: 为节点发布扩展资源 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state for_k8s_version="1.5" state="alpha" >}} -{{% capture overview %}} + 此页面展示如何配置和启用 ip-masq-agent。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture discussion %}} + + @@ -124,9 +125,9 @@ By default, in GCE/Google Kubernetes Engine starting with Kubernetes version 1.7 --> 默认情况下,从 Kubernetes 1.7.0 版本开始的 GCE/Google Kubernetes Engine 中,如果启用了网络策略,或者您使用的集群 CIDR 不在 10.0.0.0/8 范围内,则 ip-masq-agent 将在您的集群中运行。如果您在其他环境中运行,则可以将 ip-masq-agent [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) 添加到您的集群: -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 本页展示了如何配置秘钥管理服务—— Key Management Service (KMS) 提供商和插件以启用数据加密。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -31,9 +32,9 @@ content_template: templates/task {{< feature-state for_k8s_version="v1.12" state="beta" >}} -{{% /capture %}} -{{% capture steps %}} + + @@ -278,6 +279,6 @@ resources: kubectl get secrets --all-namespaces -o json | kubectl replace -f - ``` -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md b/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md index a3403ebe1b..664381d24b 100644 --- a/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md +++ b/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md @@ -2,18 +2,18 @@ reviewers: - sig-cluster-lifecycle title: 使用 kubeadm 进行证书管理 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.15" state="stable" >}} @@ -23,9 +23,10 @@ Client certificates generated by [kubeadm](/docs/reference/setup-tools/kubeadm/k 由 [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) 生成的客户端证书在 1 年后到期。 本页说明如何使用 kubeadm 管理证书续订。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 您应该熟悉[Kubernetes 中的 PKI 证书和要求](/docs/setup/best-practices/certificates/)。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + `STATUS` 应显示所有节点为 `Ready` 状态,并且版本号已经被更新。 -{{% /capture %}} + -{{% capture overview %}} + {{< feature-state state="beta" >}} 建议通过配置文件的方式提供参数,因为这样可以简化节点部署和配置管理。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - 需要安装 1.10 或更高版本的 Kubelet 二进制文件,才能实现 beta 功能。 -{{% /capture %}} -{{% capture steps %}} + + 请注意,命令行参数和 Kubelet 配置文件的某些默认值不同。如果设置了 `--config`,并且没有通过命令行指定值,则 `KubeletConfiguration` 版本的默认值生效。在上面的例子中,version 是 `kubelet.config.k8s.io/v1beta1`。 -{{% /capture %}} -{{% capture discussion %}} + + 如果您正在使用 [动态 Kubelet 配置](/docs/tasks/administer-cluster/reconfigure-kubelet) 特性,那么自动回滚机制将认为是 "最后已知正常(last known good)" 的配置,通过 `--config` 提供的配置与覆盖这些值的任何参数的结合。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/limit-storage-consumption.md b/content/zh/docs/tasks/administer-cluster/limit-storage-consumption.md index e8cadbd4b2..29070a748f 100644 --- a/content/zh/docs/tasks/administer-cluster/limit-storage-consumption.md +++ b/content/zh/docs/tasks/administer-cluster/limit-storage-consumption.md @@ -1,16 +1,16 @@ --- title: 限制存储消耗 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 演示中用到了以下资源:[ResourceQuota](/docs/concepts/policy/resource-quotas/),[LimitRange](/docs/tasks/administer-cluster/memory-default-namespace/) 和 [PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/)。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 限制范围对象可以用来设置可请求的存储量上限,而资源配额对象则可以通过申领计数和累计存储容量有效地限制命名空间耗用的存储量。这两种机制使得集群管理员能够规划其集群存储预算而不会发生任一项目超量分配的风险。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md b/content/zh/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md index 8607d283b6..de2cb0f12d 100644 --- a/content/zh/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md +++ b/content/zh/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md @@ -1,18 +1,18 @@ --- title: 为命名空间配置CPU最小和最大限制 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + 本文主要描述如何配置一个命名空间下可运行的pod总数。资源配额详细信息可查看:[资源配额](/docs/api-reference/v1.7/#resourcequota-v1-core) 。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 创建一个命名空间 @@ -102,9 +103,10 @@ lastUpdateTime: 2017-07-07T20:57:05Z kubectl delete namespace quota-pod-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 对于集群管理 @@ -128,7 +130,7 @@ kubectl delete namespace quota-pod-example * [配置pod的QoS](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md b/content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md index 51fc980a06..5564bec734 100644 --- a/content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md +++ b/content/zh/docs/tasks/administer-cluster/namespaces-walkthrough.md @@ -3,17 +3,17 @@ reviewers: - derekwaynecarr - janetkuo title: 命名空间演练 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + @@ -38,16 +38,17 @@ Kubernetes {{< glossary_tooltip text="命名空间" term_id="namespace" >}} 此示例演示了如何使用 Kubernetes 命名空间细分群集。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + @@ -383,4 +384,4 @@ authorization rules for each namespace. --> 随着 Kubernetes 中的策略支持的发展,我们将扩展此场景,以展示如何为每个命名空间提供不同的授权规则。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/namespaces.md b/content/zh/docs/tasks/administer-cluster/namespaces.md index 5d25fe0f6d..f2e63f5d48 100644 --- a/content/zh/docs/tasks/administer-cluster/namespaces.md +++ b/content/zh/docs/tasks/administer-cluster/namespaces.md @@ -3,33 +3,34 @@ reviewers: - derekwaynecarr - janetkuo title: 通过命名空间共享集群 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本页展示了如何查看、使用和删除{{< glossary_tooltip text="namespaces" term_id="namespace" >}}。本页同时展示了如何使用 Kubernetes 命名空间去细分集群。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 您已拥有一个 [配置好的 Kubernetes 集群](/docs/setup/). * 您已对 Kubernetes 的 _[Pods](/docs/concepts/workloads/pods/pod/)_, _[Services](/docs/concepts/services-networking/service/)_, 和 _[Deployments](/docs/concepts/workloads/controllers/deployment/)_ 有基本理解。 -{{% /capture %}} -{{% capture steps %}} + + @@ -460,9 +461,9 @@ authorization rules for each namespace. --> 随着 Kubernetes 中的策略支持的发展,我们将扩展此场景,以展示如何为每个命名空间提供不同的授权规则。 -{{% /capture %}} -{{% capture discussion %}} + + @@ -552,9 +553,10 @@ across namespaces, you need to use the fully qualified domain name (FQDN). --> 当您创建 [Service](/docs/concepts/services-networking/service/) 时,它会创建相应的 [DNS 条目](/docs/concepts/services-networking/dns-pod-service/)。此条目的格式为 ` .svc.cluster.local`,这意味着如果容器只使用 ``,它将解析为本地服务到命名空间。 这对于在多个命名空间(如开发,暂存和生产)中使用相同的配置非常有用。 如果要跨命名空间访问,则需要使用完全限定的域名(FQDN)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + @@ -564,6 +566,6 @@ across namespaces, you need to use the fully qualified domain name (FQDN). --> * 了解更多 [设置请求的命名空间](/docs/concepts/overview/working-with-objects/namespaces/#setting-the-namespace-for-a-request) 的内容。 * 参见 [命名空间设计](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/architecture/namespaces.md)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md b/content/zh/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md index dd94193b7c..4abb9ad1b9 100644 --- a/content/zh/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md +++ b/content/zh/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md @@ -2,22 +2,23 @@ reviewers: - caseydavenport title: 使用 Calico 作为 NetworkPolicy -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 本页展示了两种在 Kubernetes 上快速创建 Calico 集群的方法。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 决定您想部署一个[云](#在-Google-Kubernetes-Engine-GKE-上创建一个-Calico-集群) 还是 [本地](#使用-kubeadm-创建一个本地-Calico-集群) 集群。 -{{% /capture %}} -{{% capture steps %}} + + 集群运行后,您可以按照 [声明 Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) 去尝试使用 Kubernetes NetworkPolicy。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md b/content/zh/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md index 400e3c03ad..151985e4bc 100644 --- a/content/zh/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md +++ b/content/zh/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md @@ -2,11 +2,11 @@ reviewers: - danwent title: 使用 Cilium 作为 NetworkPolicy -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + @@ -15,15 +15,16 @@ For background on Cilium, read the [Introduction to Cilium](https://cilium.readt 关于 Cilium 的背景知识,请阅读 [Cilium 介绍](https://cilium.readthedocs.io/en/latest/intro)。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 本页展示了如何使用 [Kube-router](https://github.com/cloudnativelabs/kube-router) 作为 NetworkPolicy。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 您需要拥有一个正在运行的 Kubernetes 集群。如果您还没有集群,可以使用任意的集群安装器如 Kops,Bootkube,Kubeadm 等创建一个。 -{{% /capture %}} -{{% capture steps %}} + + ## 安装 Kube-router 插件 Kube-router 插件自带一个Network Policy 控制器,监视来自于Kubernetes API server 的 NetworkPolicy 和 pods 的变化,根据策略指示配置 iptables 规则和 ipsets 来允许或阻止流量。请根据 [尝试通过集群安装器使用 Kube-router](https://www.kube-router.io/docs/user-guide/#try-kube-router-with-cluster-installers) 指南安装 Kube-router 插件。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 在您安装 Kube-router 插件后,可以根据 [声明 Network Policy](/docs/tasks/administer-cluster/declare-network-policy/) 去尝试使用 Kubernetes NetworkPolicy。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md b/content/zh/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md index 28bb1641df..e355e9c547 100644 --- a/content/zh/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md +++ b/content/zh/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md @@ -2,25 +2,26 @@ reviewers: - chrismarino title: 使用 Romana 作为 NetworkPolicy -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 本页展示如何使用 Romana 作为 NetworkPolicy。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 完成[kubeadm 入门指南](/docs/getting-started-guides/kubeadm/)中的1、2、3步。 -{{% /capture %}} -{{% capture steps %}} + + Romana 安装完成后,您可以按照[声明 Network Policy](/docs/tasks/administer-cluster/declare-network-policy/)去尝试使用 Kubernetes NetworkPolicy。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md b/content/zh/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md index ff3ede466f..5e7b4baaba 100644 --- a/content/zh/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md +++ b/content/zh/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md @@ -2,26 +2,27 @@ reviewers: - bboreham title: 使用 Weave Net 作为 NetworkPolicy -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 本页展示了如何使用使用 Weave Net 作为 NetworkPolicy。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 您需要拥有一个 Kubernetes 集群。按照[kubeadm 入门指南](/docs/getting-started-guides/kubeadm/)来引导一个。 -{{% /capture %}} -{{% capture steps %}} + + 每个 Node 都有一个 weave Pod,所有 Pod 都是`Running`和`2/2 READY`。(`2/2`表示每个Pod都有`weave`和`weave-npc`。) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 安装Weave Net插件后,您可以按照[声明网络策略](/docs/tasks/administration-cluster/declare-network-policy/)来试用 Kubernetes NetworkPolicy。 如果您有任何疑问,请联系我们[#weave-community on Slack 或 Weave User Group](https://github.com/weaveworks/weave#getting-help)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/nodelocaldns.md b/content/zh/docs/tasks/administer-cluster/nodelocaldns.md index 8c50aa56ca..8654e98818 100644 --- a/content/zh/docs/tasks/administer-cluster/nodelocaldns.md +++ b/content/zh/docs/tasks/administer-cluster/nodelocaldns.md @@ -3,7 +3,7 @@ reviewers: - bowei - zihongz title: 在 Kubernetes 集群中使用 NodeLocal DNSCache -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本页概述了 Kubernetes 中的 NodeLocal DNSCache 功能。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} - {{% capture steps %}} + + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} @@ -42,9 +42,10 @@ fields is available in the inline `KubeletConfiguration` [类型文档](https://github.com/kubernetes/kubernetes/blob/release-1.11/pkg/kubelet/apis/kubeletconfig/v1beta1/types.go)。 {{< /warning >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + ## 在你集群中的一个实时节点上配置Kubelet @@ -529,9 +530,9 @@ error is reported. 在删除此字段后,`Node.Status.Config` 最终变成空,所有配置源都已重置为 `nil`,这表示 本地默认配置是`assigned`,`active` 和 `lastKnownGood`这三个参数,没有报告错误。 -{{% /capture %}} -{{% capture discussion %}} + + ## Kubectl 补丁示例 @@ -691,4 +692,4 @@ in the Kubelet log for additional details and context about the error.
    -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/reserve-compute-resources.md b/content/zh/docs/tasks/administer-cluster/reserve-compute-resources.md index 9abaef533e..3b26ba5ba9 100644 --- a/content/zh/docs/tasks/administer-cluster/reserve-compute-resources.md +++ b/content/zh/docs/tasks/administer-cluster/reserve-compute-resources.md @@ -4,7 +4,7 @@ reviewers: - derekwaynecarr - dashpole title: 为系统守护进程预留计算资源 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 从 Kubernetes 1.17 版本开始,可以选择将 `reserved-cpus` 显式 cpuset 指定为操作系统守护程序、中断、计时器和 Kubernetes 守护程序保留的 CPU。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/administer-cluster/running-cloud-controller.md b/content/zh/docs/tasks/administer-cluster/running-cloud-controller.md index 014bb69dfc..1e0371908e 100644 --- a/content/zh/docs/tasks/administer-cluster/running-cloud-controller.md +++ b/content/zh/docs/tasks/administer-cluster/running-cloud-controller.md @@ -4,7 +4,7 @@ reviewers: - thockin - wlan0 title: Kubernetes 云管理控制器 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + {{< feature-state state="beta" >}} -{{% capture overview %}} + 本文档涉及与保护集群免受意外或恶意访问有关的主题,并对总体安全性提出建议。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="beta" >}} 本文档介绍如何通过 sysctl 接口在 Kubernetes 集群中配置和使用内核参数。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + {{< warning >}} -{{% capture overview %}} + {{< feature-state state="alpha" >}} @@ -43,15 +43,16 @@ _Topology Manager_ is a Kubelet component that aims to co-ordinate the set of co --> _拓扑管理器(Topology Manager)_ 是一个 Kubelet 的一部分,旨在协调负责这些优化的一组组件。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + --- title: 为容器和 Pods 分配 CPU 资源 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + -{{% capture overview %}} + 此页面显示如何将内存 *请求* (request)和内存 *限制* (limit)分配给一个容器。我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的内存。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -72,9 +73,9 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 此页面显示如何将 Kubernetes Pod 分配给 Kubernetes 集群中的特定节点。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 了解更多关于 [标签和选择器](/docs/concepts/overview/working-with-objects/labels/)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md b/content/zh/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md index ae631c7a4d..8c0cc202d6 100644 --- a/content/zh/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md +++ b/content/zh/docs/tasks/configure-pod-container/attach-handler-lifecycle-event.md @@ -1,17 +1,17 @@ --- title: 为容器的生命周期事件设置处理函数 -content_template: templates/task +content_type: task weight: 140 --- -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + ConfigMap 允许您将配置文件与镜像文件分离,以使容器化的应用程序具有可移植性。该页面提供了一系列使用示例,这些示例演示了如何使用存储在 ConfigMap 中的数据创建 ConfigMap 和配置 Pod。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 了解 ConfigMap 和 Pod @@ -824,11 +825,12 @@ ConfigMap 驻留在特定的[命令空间](/docs/concepts/overview/working-with- 这些不是创建 pods 的常用方法。 {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 遵循[使用ConfigMap配置Redis](/docs/tutorials/configuration/configure-redis-using-configmap/)的真实案例。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/configure-pod-container/configure-pod-initialization.md b/content/zh/docs/tasks/configure-pod-container/configure-pod-initialization.md index c9c875c476..170d8b1a5d 100644 --- a/content/zh/docs/tasks/configure-pod-container/configure-pod-initialization.md +++ b/content/zh/docs/tasks/configure-pod-container/configure-pod-initialization.md @@ -1,32 +1,33 @@ --- title: 配置 Pod 初始化 -content_template: templates/task +content_type: task weight: 130 --- -{{% capture overview %}} + 本文介绍在应用容器运行前,怎样利用 Init 容器初始化 Pod。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + `serviceAccountToken` 不是一种卷类型 {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 确认 Pod 中的容器运行正常,然后监视 Pod 的变化: ```shell ls /projected-volume/ ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 确认 Pod 中的容器运行正常,然后监视 Pod 的变化: * 进一步了解[`投射`](/docs/concepts/storage/volumes/#projected) 卷。 * 阅读[一体卷](https://github.com/kubernetes/community/blob/{{< param "githubbranch" >}}/contributors/design-proposals/node/all-in-one-volume.md)设计文档。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/configure-pod-container/configure-runasusername.md b/content/zh/docs/tasks/configure-pod-container/configure-runasusername.md index 65a9e88cb5..d6a2476c6f 100644 --- a/content/zh/docs/tasks/configure-pod-container/configure-runasusername.md +++ b/content/zh/docs/tasks/configure-pod-container/configure-runasusername.md @@ -1,18 +1,18 @@ --- title: 为 Windows 的 pod 和容器配置 RunAsUserName -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} @@ -29,9 +29,10 @@ This feature is in beta. The overall functionality for `RunAsUserName` will not 该功能目前处于 beta 状态。 `RunAsUserName` 的整体功能不会出现变更,但是关于用户名验证的部分可能会有所更改。 {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + -{{% capture overview %}} + 此页面展示了如何配置 Pod 以使用卷进行存储。 @@ -27,15 +27,16 @@ consistent storage that is independent of the Container, you can use a applications, such as key-value stores (such as Redis) and databases. --> -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 为 Pod 配置卷 @@ -178,9 +179,10 @@ of `Always`. kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 参阅[卷](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)。 @@ -200,4 +202,4 @@ details such as mounting and unmounting the devices on the nodes. See [Volumes](/docs/concepts/storage/volumes/) for more details. --> -{{% /capture %}} + diff --git a/content/zh/docs/tasks/configure-pod-container/extended-resource.md b/content/zh/docs/tasks/configure-pod-container/extended-resource.md index 5551219219..005152b9e9 100644 --- a/content/zh/docs/tasks/configure-pod-container/extended-resource.md +++ b/content/zh/docs/tasks/configure-pod-container/extended-resource.md @@ -1,18 +1,18 @@ --- title: 为容器分派扩展资源 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + {{< feature-state state="stable" >}} @@ -23,10 +23,11 @@ This page shows how to assign extended resources to a Container. {{< feature-state state="stable" >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -38,10 +39,10 @@ That will configure one of your Nodes to advertise a dongle resource. 在您开始此练习前,请先练习[为节点广播扩展资源](/docs/tasks/administer-cluster/extended-resource-node/)。 在那个练习中将配置您的一个节点来广播 dongle 资源。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state state="stable" for_k8s_version="v1.17" >}} @@ -36,15 +36,16 @@ include debugging utilities like a shell. --> 您可以使用此功能来配置协作容器,比如日志处理 sidecar 容器,或者对那些不包含诸如 shell 等调试实用工具的镜像进行故障排查。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< feature-state state="beta" >}} @@ -37,11 +37,11 @@ Kubernetes 审计功能提供了与安全相关的按时间顺序排列的记录 - 它从哪触发的? - 活动的后续处理行为是什么? -{{% /capture %}} + {{< toc >}} -{{% capture body %}} + -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.11" state="stable" >}} @@ -34,9 +34,10 @@ Kubernetes node. `crictl` and its source are hosted in the 您可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序。 `crictl`和它的源代码在 [cri-tools](https://github.com/kubernetes-incubator/cri-tools) 代码库。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + -{{% capture overview %}} + 此页面告诉您如何调试 Pod 和 ReplicationController。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -33,9 +34,9 @@ This page shows how to debug Pods and ReplicationControllers. * 您应该先熟悉 [Pods](/docs/concepts/workloads/pods/pod/) 和 [Pod Lifecycle](/docs/concepts/workloads/pods/pod-lifecycle/) 的基础概念。 -{{% /capture %}} -{{% capture steps %}} + + 您也可以使用`kubectl describe rc ${CONTROLLER_NAME}`来检查和Replication Controllers有关的事件。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-service.md b/content/zh/docs/tasks/debug-application-cluster/debug-service.md index 7b70264018..76cccc17d3 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-service.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-service.md @@ -2,7 +2,7 @@ reviewers: - thockin - bowei -content_template: templates/concept +content_type: concept title: 调试 Service --- @@ -11,12 +11,12 @@ title: 调试 Service reviewers: - thockin - bowei -content_template: templates/concept +content_type: concept title: Debug Services --- --> -{{% capture overview %}} + 对于新安装的 Kubernetes,经常出现的一个问题是 `Service` 没有正常工作。如果您已经运行了 `Deployment` 并创建了一个 `Service`,但是当您尝试访问它时没有得到响应,希望这份文档能帮助您找出问题所在。 -{{% /capture %}} -{{% capture body %}} + + 访问[故障排查文档](/docs/troubleshooting/)获取更多信息。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md b/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md index 61a77fa1f8..e6ad084295 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md @@ -1,23 +1,24 @@ --- title: 调试StatefulSet -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 此任务展示如何调试StatefulSet。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 你需要有一个Kubernetes集群,通过必要的配置使kubectl命令行工具与您的集群进行通信。 * 你应该有一个运行中的StatefulSet,以便用于调试。 -{{% /capture %}} -{{% capture steps %}} + + ## 调试StatefulSet @@ -67,12 +68,13 @@ spec: kubectl annotate pods pod.alpha.kubernetes.io/initialized="true" --overwrite ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 点击链接[调试init-container](/docs/tasks/troubleshoot/debug-init-containers/),了解更多信息。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md b/content/zh/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md index 8e1b947be6..b5d2ac48ae 100644 --- a/content/zh/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md +++ b/content/zh/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md @@ -1,16 +1,16 @@ --- title: 确定 Pod 失败的原因 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + @@ -28,9 +28,9 @@ This section describes how to set up Falco, how to send audit events to the Kube --> [Falco](https://falco.org/)是一个开源项目,用于为云原生平台提供入侵和异常检测。本节介绍如何设置 Falco、如何将审计事件发送到 Falco 公开的 Kubernetes Audit 端点、以及 Falco 如何应用一组规则来自动检测可疑行为。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + *节点问题探测器* 是一个 [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) 用来监控节点健康。它从各种守护进程收集节点问题,并以[NodeCondition](/docs/concepts/architecture/nodes/#condition) 和 [Event](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#event-v1-core) 的形式报告给 apiserver 。 更多信息请参阅 [这里](https://github.com/kubernetes/node-problem-detector)。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + 内核监视器使用 [`Translator`] 插件将内核日志转换为内部数据结构。我们可以很容易为新的日志格式实现新的翻译器。 -{{% /capture %}} -{{% capture discussion %}} + + -{{% capture overview %}} + 从 Kubernetes 1.8开始,资源使用指标,例如容器 CPU 和内存使用率,可通过 Metrics API 在 Kubernetes 中获得。这些指标可以直接被用户访问,比如使用`kubectl top`命令行,或者这些指标由集群中的控制器使用,例如,Horizontal Pod Autoscaler,使用这些指标来做决策。 -{{% /capture %}} -{{% capture body %}} + + 在[设计文档](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md)中可以了解到有关 Metrics Server 的更多信息。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index cbd049906f..a91705008b 100644 --- a/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -1,19 +1,19 @@ --- reviewers: - mikedanese -content_template: templates/concept +content_type: concept title: 资源监控工具 --- -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + 这个页面展示了如何... -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 关于你刚才所做的过程,有一点是需要知道的。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + {{< feature-state state="stable" >}} @@ -27,9 +27,10 @@ of plugins as a means of utilizing these building blocks to create more complex 通过将核心 `kubectl` 命令看作与 Kubernetes 集群交互的基本构建块,集群管理员可以将插件视为一种利用这些构建块创建更复杂行为的方法。 插件用新的子命令扩展了 `kubectl`,允许新的和自定义的特性不包括在 `kubectl` 的主要发行版中。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -28,9 +28,10 @@ across all the clusters in federation. ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/) 非常相似且提供相同的功能。 在联邦控制平面中创建它们可以确保它们在联邦的所有集群中同步。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "federated-task-tutorial-prereqs.md" >}} * 通常我们还期望您拥有基本的 [Kubernetes 应用知识](/docs/tutorials/kubernetes-basics/), 特别是 [ConfigMap](/docs/tasks/configure-pod-container/configure-pod-configmap/) 相关的应用知识。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -28,9 +28,10 @@ across all the clusters in federation. 联邦控制平面中的 DaemonSet(在本指南中称为 “联邦 DaemonSet”)与传统的 Kubernetes [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) 非常类似,并提供相同的功能。在联邦控制平面中创建联邦 DaemonSet 可以确保它们同步到联邦的所有集群中。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "federated-task-tutorial-prereqs.md" >}} * 你还应该具备基本的 [Kubernetes 应用知识](/docs/tutorials/kubernetes-basics/),特别是 [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) 相关的应用知识。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -36,9 +36,10 @@ Some features (such as full rollout compatibility) are still in development. --> 一些特性(例如完整的 rollout 兼容性)仍在开发中。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "federated-task-tutorial-prereqs.md" >}} * 您还应当拥有基本的 [Kubernetes 应用知识](/docs/tutorials/kubernetes-basics/),特别是在 [Deployments](/docs/concepts/workloads/controllers/deployment/) 方面。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -21,10 +21,10 @@ This guide explains how to use events in federation control plane to help in deb --> 本指南介绍如何在联邦控制平面中使用事件来帮助调试。 -{{% /capture %}} -{{% capture body %}} + + 标准的 kubectl get,update,delete 命令都可以正常工作。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/federation/administer-federation/job.md b/content/zh/docs/tasks/federation/administer-federation/job.md index e10314baaf..27983d7924 100644 --- a/content/zh/docs/tasks/federation/administer-federation/job.md +++ b/content/zh/docs/tasks/federation/administer-federation/job.md @@ -1,16 +1,16 @@ --- title: 联邦 Job -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -30,9 +30,10 @@ parallelism and completions exist across the registered clusters. 联邦控制平面中的一次性任务(在本指南中称为“联邦一次性任务”)类似于传统的 [Kubernetes 一次性任务](/docs/concepts/workloads/controllers/job/),并且提供相同的功能。 在联邦控制平面中创建 job 可以确保在已注册的集群中存在所需的并行性和完成数。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "federated-task-tutorial-prereqs.md" >}} * 你需要具备基本的 [Kubernetes 的工作知识](/docs/tutorials/kubernetes-basics/),特别是 [job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)。 @@ -43,9 +44,9 @@ parallelism and completions exist across the registered clusters. general and [jobs](/docs/concepts/workloads/controllers/jobs-run-to-completion/) in particular. --> -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -31,9 +31,10 @@ across all the clusters in federation. 联邦控制平面中的命名空间(本指南中称为“联邦命名空间”)与提供相同功能的传统 Kubernetes 命名空间非常相似。 在联邦控制平面中创建它们可确保它们在联邦中的所有集群之间同步 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "federated-task-tutorial-prereqs.md" >}} * 您还需要具备基本的 [Kubernetes 工作知识](/docs/tutorials/Kubernetes-basics/), @@ -45,9 +46,9 @@ You are also expected to have a basic general and [Namespaces](/docs/concepts/overview/working-with-objects/namespaces/) in particular. --> -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -27,9 +27,10 @@ replicas exist across the registered clusters. 本指南阐述了如何在联邦控制平面中使用 ReplicaSet。 在联邦控制平面中的 ReplicaSet (在本指南中称为”联邦 ReplicaSet”) 和传统的 [Kubernetes ReplicaSet](/docs/concepts/workloads/controllers/replicaset/) 很相似,提供了一样的功能。在联邦控制平面中创建联邦 ReplicaSet 可以确保在联邦的所有集群中都有预期数量的副本。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "federated-task-tutorial-prereqs.md" >}} * 你还应该具备基本的 [Kubernetes 应用知识](/docs/tutorials/kubernetes-basics/),特别是 [ReplicaSets](/docs/concepts/workloads/controllers/replicaset/) 相关的应用知识。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -30,10 +30,10 @@ across all the clusters in federation. 联邦控制平面中的 Secret(在本指南中称为“联邦 secret”)与提供相同功能的传统 [Kubernetes Secret](/docs/concepts/configuration/secret/) 非常相似。 在联邦控制平面中创建它们可以确保它们跨联邦中的所有集群同步。 -{{% /capture %}} -{{% capture body %}} + + -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -52,17 +52,18 @@ cluster if it exists and is healthy, or the closest healthy shard in a different cluster if it does not. --> 如果存在健康的分片,联合 Kubernetes 集群(即 Pods )中的客户端将自动在其中找到联合服务的本地分片集群或者集群中最接近的健康分片;如果不存在,则使用最接近的其他集群的健康分片。 -{{% /capture %}} + {{< toc >}} -{{% capture prerequisites %}} +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 前提 @@ -432,9 +433,9 @@ many clients will fail over automatically to one of the alternative IP's in less time than that given appropriate configuration. --> 标准的 Kubernetes 服务集群 IP 已确保无响应的单个 Pod 端点以低延迟(几秒钟)自动退出服务。此外,如上所述,Kubernetes 联邦集群系统会自动监视集群的状态以及联合服务的所有分片后面的端点,并根据需要使分片进入和退出服务(例如,当服务后面的所有端点或者整个集群或可用性区域出现故障时,或者相反地从中断中恢复时)。由于 DNS 缓存固有的延迟(默认情况下,缓存超时或联合服务 DNS 记录的 TTL 配置为3分钟,可以调整),在灾难性故障的情况下,所有客户端可能要花费很长时间才能完全故障转移到备用集群。但是,鉴于每个区域服务端点可以返回的离散 IP 地址数量(例如上面的 us-central1,它有三个替代方案),与给定的合适配置相比,许多客户端将在更少的时间内自动故障转移到其他 IP。 -{{% /capture %}} -{{% capture discussion %}} + + ## 故障排除 @@ -505,4 +506,4 @@ Check that: --> * [联合提议](https://git.k8s.io/community/contributors/design-proposals/multicluster/federation.md) 详细介绍了促进这项工作的用例。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/federation/set-up-coredns-provider-federation.md b/content/zh/docs/tasks/federation/set-up-coredns-provider-federation.md index 03508536a5..8193d928dc 100644 --- a/content/zh/docs/tasks/federation/set-up-coredns-provider-federation.md +++ b/content/zh/docs/tasks/federation/set-up-coredns-provider-federation.md @@ -1,18 +1,18 @@ --- title: 将 CoreDNS 设置为联邦集群的 DNS 提供者 -content_template: templates/tutorial +content_type: tutorial weight: 130 --- -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -24,10 +24,11 @@ DNS provider for Cluster Federation. --> 此页面显示如何配置和部署 CoreDNS,将其用作联邦集群的 DNS 提供者 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 现在联邦集群已经为跨集群服务发现做好了准备! -{{% /capture %}} + diff --git a/content/zh/docs/tasks/federation/set-up-placement-policies-federation.md b/content/zh/docs/tasks/federation/set-up-placement-policies-federation.md index 774966f39c..1dfc62e3fd 100644 --- a/content/zh/docs/tasks/federation/set-up-placement-policies-federation.md +++ b/content/zh/docs/tasks/federation/set-up-placement-policies-federation.md @@ -1,14 +1,14 @@ --- title: 在联邦中设置放置策略 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} @@ -20,9 +20,10 @@ resources using an external policy engine. --> 此页面显示如何使用外部策略引擎对联邦资源强制执行基于策略的放置决策。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 您需要一个正在运行的 Kubernetes 集群(它被引用为主机集群)。有关您的平台的安装说明,请参阅[入门](/docs/setup/)指南。 -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 本页将展示如何为 {{< glossary_tooltip term_id="pod" >}} 中的容器设置启动时要执行的命令及其入参。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + -{{% capture overview %}} + 创建后,命令 `echo Warm greetings to The Most Honorable Kubernetes` 将在容器中运行。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 本文展示如何安全地将敏感数据(如密码和加密密钥)注入到 Pods 中。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 将 secret 数据转换为 base-64 形式 @@ -187,9 +188,10 @@ base-64 形式的密码为 `Mzk1MjgkdmRnN0pi`。 SECRET_PASSWORD=39528$vdg7Jb ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解更多关于 [Secrets](/docs/concepts/configuration/secret/)。 * 了解 [Volumes](/docs/concepts/storage/volumes/)。 @@ -200,4 +202,4 @@ base-64 形式的密码为 `Mzk1MjgkdmRnN0pi`。 * [Volume](/docs/api-reference/{{< param "version" >}}/#volume-v1-core) * [Pod](/docs/api-reference/{{< param "version" >}}/#pod-v1-core) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md b/content/zh/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md index e702a8dcf2..84ddad382e 100644 --- a/content/zh/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md +++ b/content/zh/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md @@ -1,22 +1,23 @@ --- title: 通过文件将Pod信息呈现给容器 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 此页面描述Pod如何使用DownwardAPIVolumeFile把自己的信息呈现给pod中运行的容器。DownwardAPIVolumeFile可以呈现pod的字段和容器字段。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Downward API @@ -175,9 +176,9 @@ kubectl exec -it kubernetes-downwardapi-volume-example-2 -- sh ``` 你可以使用同样的命令查看`cpu_request`, `mem_limit` 和`mem_request` 文件. -{{% /capture %}} -{{% capture discussion %}} + + ## Capabilities of the Downward API @@ -225,10 +226,11 @@ kubectl exec -it kubernetes-downwardapi-volume-example-2 -- sh 对于容器来说,有时候拥有自己的信息是很有用的,可避免与Kubernetes过度耦合。Downward API使得容器使用自己或者集群的信息,而不必通过Kubernetes客户端或API服务器。 一个例子是有一个现有的应用假定要用一个非常熟悉的环境变量来保存一个唯一标识。一种可能是给应用增加处理层,但这样是冗余和易出错的,而且它违反了低耦合的目标。更好的选择是使用Pod名称作为标识,把Pod名称注入这个环境变量中。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [PodSpec](/docs/resources-reference/{{< param "version" >}}/#podspec-v1-core) * [Volume](/docs/resources-reference/{{< param "version" >}}/#volume-v1-core) @@ -236,6 +238,6 @@ kubectl exec -it kubernetes-downwardapi-volume-example-2 -- sh * [DownwardAPIVolumeFile](/docs/resources-reference/{{< param "version" >}}/#downwardapivolumefile-v1-core) * [ResourceFieldSelector](/docs/resources-reference/{{< param "version" >}}/#resourcefieldselector-v1-core) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md b/content/zh/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md index 610181bb41..46e101baa5 100644 --- a/content/zh/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md +++ b/content/zh/docs/tasks/inject-data-application/environment-variable-expose-pod-information.md @@ -1,9 +1,9 @@ --- title: 通过环境变量将Pod信息呈现给容器 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 此页面显示了Pod如何使用环境变量把自己的信息呈现给pod中运行的容器。环境变量可以呈现pod的字段和容器字段。 @@ -11,17 +11,18 @@ content_template: templates/task 环境变量 和[DownwardAPIVolumeFiles](/docs/resources-reference/{{< param "version" >}}/#downwardapivolumefile-v1-core). 这两种呈现Pod和Container字段的方式都称为*Downward API*。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Downward API @@ -137,9 +138,10 @@ kubectl logs dapi-envars-resourcefieldref 67108864 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [给容器定义环境变量](/docs/tasks/configure-pod-container/define-environment-variable-container/) * [PodSpec](/docs/resources-reference/{{< param "version" >}}/#podspec-v1-core) @@ -149,7 +151,7 @@ kubectl logs dapi-envars-resourcefieldref * [ObjectFieldSelector](/docs/resources-reference/{{< param "version" >}}/#objectfieldselector-v1-core) * [ResourceFieldSelector](/docs/resources-reference/{{< param "version" >}}/#resourcefieldselector-v1-core) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/job/automated-tasks-with-cron-jobs.md b/content/zh/docs/tasks/job/automated-tasks-with-cron-jobs.md index 5b987b3cc3..131ef52219 100644 --- a/content/zh/docs/tasks/job/automated-tasks-with-cron-jobs.md +++ b/content/zh/docs/tasks/job/automated-tasks-with-cron-jobs.md @@ -3,7 +3,7 @@ reviewers: - chenopis title: 使用 CronJob 运行自动化任务 -content_template: templates/task +content_type: task weight: 10 --- @@ -12,12 +12,12 @@ weight: 10 title: Running Automated Tasks with a CronJob reviewers: - chenopis -content_template: templates/task +content_type: task weight: 10 --- --> -{{% capture overview %}} + -{{% capture overview %}} + -{{% capture overview %}} + 熟秋基础知识,非并行方式运行 [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/)。 -{{% /capture %}} -{{% capture steps %}} + + 您可以看到,其中的一个 pod 处理了若干个工作单元。 -{{% /capture %}} -{{% capture discussion %}} + + 如果您有连续的后台处理业务,那么可以考虑使用 `replicationController` 来运行您的后台业务,和运行一个类似 [https://github.com/resque/resque](https://github.com/resque/resque) 的后台处理库。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/job/parallel-processing-expansion.md b/content/zh/docs/tasks/job/parallel-processing-expansion.md index e113804e73..b010ae6848 100644 --- a/content/zh/docs/tasks/job/parallel-processing-expansion.md +++ b/content/zh/docs/tasks/job/parallel-processing-expansion.md @@ -1,6 +1,6 @@ --- title: 使用扩展进行并行处理 -content_template: templates/concept +content_type: concept min-kubernetes-server-version: v1.8 weight: 20 --- @@ -8,13 +8,13 @@ weight: 20 -{{% capture overview %}} + 在这个示例中,我们将运行从一个公共模板创建的多个 Kubernetes Job。您可能需要先熟悉 [Jobs](/docs/concepts/workloads/controllers/jobs-run-to-completion/) 的基本概念、非并行以及如何使用它。 -{{% /capture %}} -{{% capture body %}} + + 在这种情况下,您可以考虑其他的[作业模式](/docs/concepts/jobs/run-to-completion-finite-workloads/#job-patterns)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/manage-daemon/rollback-daemon-set.md b/content/zh/docs/tasks/manage-daemon/rollback-daemon-set.md index 12764dd515..780a16f95e 100644 --- a/content/zh/docs/tasks/manage-daemon/rollback-daemon-set.md +++ b/content/zh/docs/tasks/manage-daemon/rollback-daemon-set.md @@ -2,25 +2,26 @@ approvers: - janetkuo title: 对 DaemonSet 执行回滚 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文展示了如何对 DaemonSet 执行回滚。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * DaemonSet 滚动升级历史和 DaemonSet 回滚特性仅在 Kubernetes 1.7 及以后版本的 `kubectl` 中支持。 * 确保您了解如何 [对 DaemonSet 执行滚动升级](/docs/tasks/manage-daemon/update-daemon-set/)。 -{{% /capture %}} -{{% capture steps %}} + + ## 对 DaemonSet 执行回滚 @@ -98,10 +99,10 @@ kubectl rollout status ds/ daemonset "" successfully rolled out ``` -{{% /capture %}} -{{% capture discussion %}} + + ## 理解 DaemonSet 版本 @@ -134,6 +135,6 @@ NAME CONTROLLER REVISION AGE * 查看 [DaemonSet 滚动升级故障排除](/docs/tasks/manage-daemon/update-daemon-set/#troubleshooting)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/manage-daemon/update-daemon-set.md b/content/zh/docs/tasks/manage-daemon/update-daemon-set.md index 66c5f63175..7ad4b7259d 100644 --- a/content/zh/docs/tasks/manage-daemon/update-daemon-set.md +++ b/content/zh/docs/tasks/manage-daemon/update-daemon-set.md @@ -2,7 +2,7 @@ reviewers: - janetkuo title: 对 DaemonSet 执行滚动更新 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文介绍了如何对 DaemonSet 执行滚动更新。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * Kubernetes 1.6 或者更高版本中才支持 DaemonSet 滚动更新功能。 -{{% /capture %}} -{{% capture steps %}} + + 如果在 DaemonSet 中指定了 `.spec.minReadySeconds`,主节点和工作节点之间的时钟偏差会使 DaemonSet 无法检测到正确的滚动更新进度。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + -{{% capture overview %}} + {{< feature-state state="stable" >}} 作为 **GA** 特性,Kubernetes 支持在 Pod 应用中使用预先分配的巨页。本文描述了用户如何使用巨页,以及当前的限制。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + ## API @@ -121,6 +122,6 @@ token. - 作为服务质量特性,保证巨页的 NUMA 局部性。 - 支持 LimitRange 。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md b/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md index d001d4638a..1cd2daf0a1 100644 --- a/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md +++ b/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md @@ -1,17 +1,17 @@ --- title: 使用配置文件对 Kubernetes 对象进行命令式管理 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 可以使用 `kubectl` 命令行工具以及用 YAML 或 JSON 编写的对象配置文件来创建、更新和删除 Kubernetes 对象。 本文档说明了如何使用配置文件定义和管理对象。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + 这篇文章分享了如何验证 IPv4/IPv6 双协议栈的 Kubernetes 集群。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + 本文展示了如何限制应用程序的并发中断数量,在允许集群管理员管理集群节点的同时保证高可用。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + @@ -39,9 +40,9 @@ nodes. --> Pod Disruption Budgets. --> * 用户应当与集群所有者或服务提供者确认其遵从 Pod 中断预算(Pod Disruption Budgets)的规则。 -{{% /capture %}} -{{% capture steps %}} + + ## 用 PodDisruptionBudget 来保护应用 @@ -56,9 +57,9 @@ nodes. --> 1. 以 YAML 文件形式定义 PDB 。 1. 通过 YAML 文件创建 PDB 对象。 -{{% /capture %}} -{{% capture discussion %}} + + ## 确定要保护的应用 @@ -329,6 +330,6 @@ to create PDBs whose selectors overlap. --> 用户可以令选择器选择一个内置控制器所控制 pod 的子集或父集。然而,当名字空间下存在多个 PDB 时, 用户必须小心,保证 PDB 的选择器之间不重叠。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/delete-stateful-set.md b/content/zh/docs/tasks/run-application/delete-stateful-set.md index 31c789cd48..92c35c7ded 100644 --- a/content/zh/docs/tasks/run-application/delete-stateful-set.md +++ b/content/zh/docs/tasks/run-application/delete-stateful-set.md @@ -6,29 +6,30 @@ reviewers: - janetkuo - smarterclayton title: 删除 StatefulSet -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + 本文介绍如何删除 StatefulSet。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 本文假设在您的集群上已经运行了由 StatefulSet 创建的应用。 -{{% /capture %}} -{{% capture steps %}} + + ## 删除 StatefulSet @@ -119,15 +120,16 @@ If you find that some pods in your StatefulSet are stuck in the 'Terminating' or ---> 如果您发现 StatefulSet 中的某些 pods 长时间处于 'Terminating' 或者 'Unknown' 状态,则可能需要手动干预以强制从 apiserver 中删除 pods。这是一项潜在的危险任务。详细信息请阅读[删除 StatefulSet 类型的 Pods](/docs/tasks/manage-stateful-set/delete-pods/)。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 了解更多有关[强制删除 StatefulSet 类型的 Pods](/docs/tasks/run-application/force-delete-stateful-set-pod/)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/force-delete-stateful-set-pod.md b/content/zh/docs/tasks/run-application/force-delete-stateful-set-pod.md index 7197d8034d..3a401d617a 100644 --- a/content/zh/docs/tasks/run-application/force-delete-stateful-set-pod.md +++ b/content/zh/docs/tasks/run-application/force-delete-stateful-set-pod.md @@ -5,7 +5,7 @@ reviewers: - foxish - smarterclayton title: 强制删除 StatefulSet 类型的 Pods -content_template: templates/task +content_type: task weight: 70 --- @@ -17,19 +17,20 @@ reviewers: - foxish - smarterclayton title: Force Delete StatefulSet Pods -content_template: templates/task +content_type: task weight: 70 --- ---> -{{% capture overview %}} + 本文介绍了如何删除 StatefulSet 管理的部分 pods,并且解释了这样操作时需要记住的注意事项。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 请始终谨慎地执行强制删除 StatefulSet 类型的 pods,并完全了解所涉及地风险。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 进一步了解[调试 StatefulSet](/docs/tasks/debug-application-cluster/debug-stateful-set/)。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index 72adc7421e..d7db4ef10b 100644 --- a/content/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -5,11 +5,11 @@ reviewers: - justinsb - directxman12 title: Horizontal Pod Autoscaler演练 -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + diff --git a/content/zh/docs/tasks/run-application/run-replicated-stateful-application.md b/content/zh/docs/tasks/run-application/run-replicated-stateful-application.md index 407c7f5c18..d35a0efefa 100644 --- a/content/zh/docs/tasks/run-application/run-replicated-stateful-application.md +++ b/content/zh/docs/tasks/run-application/run-replicated-stateful-application.md @@ -1,6 +1,6 @@ --- title: 运行一个有状态的应用程序 -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + 请注意 **这不是生产配置**。 重点是, MySQL 设置保留在不安全的默认值上,使重点放在 Kubernetes 中运行有状态应用程序的常规模式。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/). * 熟悉 MySQL 会有所帮助,但是本教程旨在介绍对其他系统应该有用的常规模式。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 观察对宕机的抵抗力。 * 缩放 StatefulSet 的大小。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 部署 MySQL @@ -590,9 +592,10 @@ kubectl delete pvc data-mysql-3 kubectl delete pvc data-mysql-4 ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + @@ -642,15 +645,16 @@ kubectl delete pvc data-mysql-4 如果您使用了动态预配器,当得知您删除 PersistentVolumeClaims 时,它将自动删除 PersistentVolumes。 一些动态预配器(例如用于 EBS 和 PD 的预配器)也会在删除 PersistentVolumes 时释放基础资源。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 在[Helm Charts 存储库](https://github.com/kubernetes/charts)中查找其他有状态的应用程序示例。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/run-single-instance-stateful-application.md b/content/zh/docs/tasks/run-application/run-single-instance-stateful-application.md index 6ba0afd89c..5bd417375a 100644 --- a/content/zh/docs/tasks/run-application/run-single-instance-stateful-application.md +++ b/content/zh/docs/tasks/run-application/run-single-instance-stateful-application.md @@ -1,33 +1,35 @@ --- title: 运行一个单实例有状态应用 -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + 本文介绍在 Kubernetes 中使用 PersistentVolume 和 Deployment 如何运行一个单实例有状态应用. 该应用是 MySQL. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 在环境中通过磁盘创建一个PersistentVolume. * 创建一个MySQL Deployment. * 在集群内以一个已知的 DNS 名将 MySQL 暴露给其他 pods. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * {{< include "default-storage-class-prereqs.md" >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 部署MySQL @@ -158,10 +160,11 @@ kubectl delete pv mysql-pv-volume 如果通过手动的方式分配 PersistentVolume, 那么也需要手动的删除它,以及释放下层资源. 如果是用过动态分配 PersistentVolume 的方式,在删除 PersistentVolumeClaim 后 PersistentVolume 将被自动的删除. 一些存储服务(比如 EBS 和 PD)也会在 PersistentVolume 被删除时自动回收下层资源. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解更多 Deployment 对象请参考 [Deployment objects](/docs/concepts/workloads/controllers/deployment/). @@ -171,6 +174,6 @@ kubectl delete pv mysql-pv-volume * 卷和持久卷请参考 [Volumes](/docs/concepts/storage/volumes/) 和 [Persistent Volumes](/docs/concepts/storage/persistent-volumes/) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/run-stateless-application-deployment.md b/content/zh/docs/tasks/run-application/run-stateless-application-deployment.md index a4b086717f..a925a0d919 100644 --- a/content/zh/docs/tasks/run-application/run-stateless-application-deployment.md +++ b/content/zh/docs/tasks/run-application/run-stateless-application-deployment.md @@ -1,32 +1,34 @@ --- title: 使用Deployment运行一个无状态应用 -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + 本文介绍通过Kubernetes Deployment对象如何去运行一个应用. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 创建一个nginx deployment. * 使用kubectl列举关于deployment信息. * 更新deployment. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 创建和探究一个nginx deployment @@ -132,13 +134,14 @@ content_template: templates/tutorial 创建一个多副本应用首选方法是使用Deployment,反过来使用ReplicaSet. 在Deployment和ReplicaSet加入到Kubernetes之前, 多副本应用通过[ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/)来配置. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 了解更多 [Deployment objects](/docs/concepts/workloads/controllers/deployment/). -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/scale-stateful-set.md b/content/zh/docs/tasks/run-application/scale-stateful-set.md index cf4a6817a8..ef0e5223e2 100644 --- a/content/zh/docs/tasks/run-application/scale-stateful-set.md +++ b/content/zh/docs/tasks/run-application/scale-stateful-set.md @@ -8,22 +8,23 @@ approvers: - kow3ns - smarterclayton title: 弹缩StatefulSet -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 本文介绍如何弹缩StatefulSet. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * StatefulSets仅适用于Kubernetes1.5及以上版本. * **不是所有Stateful应用都适合弹缩.** 在弹缩前您的应用前. 您必须充分了解您的应用, 不适当的弹缩StatefulSet或许会造成应用自身功能的不稳定. * 仅当您确定该Stateful应用的集群是完全健康才可执行弹缩操作. -{{% /capture %}} -{{% capture steps %}} + + ## 使用 `kubectl` 弹缩StatefulSets @@ -79,12 +80,13 @@ StatefulSet的扩容/缩容操作. 一些分布式数据库在节点加入和同 这些情况下,最好是在应用级别进行弹缩操作, 并且只有在您确保Stateful应用的集群是完全健康时才执行弹缩. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 了解更多 [deleting a StatefulSet](/docs/tasks/manage-stateful-set/deleting-a-statefulset/). -{{% /capture %}} + diff --git a/content/zh/docs/tasks/run-application/update-api-object-kubectl-patch.md b/content/zh/docs/tasks/run-application/update-api-object-kubectl-patch.md index 23a94d1d08..68c99d6881 100644 --- a/content/zh/docs/tasks/run-application/update-api-object-kubectl-patch.md +++ b/content/zh/docs/tasks/run-application/update-api-object-kubectl-patch.md @@ -1,7 +1,7 @@ --- title: 使用 kubectl patch 更新 API 对象 description: 使用 kubectl patch 更新 Kubernetes API 对象。做一个策略性的合并 patch 或 JSON 合并 patch。 -content_template: templates/task +content_type: task weight: 40 --- @@ -9,12 +9,12 @@ weight: 40 --- title: Update API Objects in Place Using kubectl patch description: Use kubectl patch to update Kubernetes API objects in place. Do a strategic merge patch or a JSON merge patch. -content_template: templates/task +content_type: task weight: 40 --- --> -{{% capture overview %}} + -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog is" >}} @@ -152,9 +153,10 @@ helm install catalog svc-cat/catalog --namespace catalog helm install svc-cat/catalog --name catalog --namespace catalog ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + -{{% capture overview %}} + {{< glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog is" >}} @@ -115,9 +116,10 @@ If you would like to uninstall Service Catalog from your Kubernetes cluster usin sc uninstall ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 本文展示如何在 kubelet 中启用并配置证书轮换。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 要求 Kubernetes 1.8.0 或更高的版本 * Kubelet 证书轮换在 1.8.0 版本中处于 beta 阶段, 这意味着该特性可能在没有通知的情况下发生变化。 -{{% /capture %}} -{{% capture steps %}} + + ## 概述 @@ -60,6 +61,6 @@ Kubelet 会从 Kubernetes API 取回签署的证书,并将其写入磁盘, 会从 Kubernetes API 取回签署的证书,并将其写入磁盘。 然后它会更新与 Kubernetes API 的连接,使用新的证书重新连接到 Kubernetes API。 -{{% /capture %}} + diff --git a/content/zh/docs/tasks/tls/managing-tls-in-a-cluster.md b/content/zh/docs/tasks/tls/managing-tls-in-a-cluster.md index e82f1303ee..a5184367d1 100644 --- a/content/zh/docs/tasks/tls/managing-tls-in-a-cluster.md +++ b/content/zh/docs/tasks/tls/managing-tls-in-a-cluster.md @@ -1,6 +1,6 @@ --- title: 管理集群中的 TLS 认证 -content_template: templates/task +content_type: task reviewers: - mikedanese - beacham @@ -9,7 +9,7 @@ reviewers: -{{% capture overview %}} + -{{% capture overview %}} + 在 Kubernetes 上使用 Kubernetes 命令行工具 [kubectl](/docs/user-guide/kubectl/) 部署和管理应用程序。使用 kubectl,您可以检查集群资源;创建、删除和更新组件;查看您的新集群;并启动实例应用程序。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 您必须使用与集群小版本号差别为一的 kubectl 版本。例如,1.2版本的客户端应该与1.1版本、1.2版本和1.3版本的主节点一起使用。使用最新版本的 kubectl 有助于避免无法预料的问题。 -{{% /capture %}} -{{% capture steps %}} + + [了解如何启动并对外暴露您的应用程序](/docs/tasks/access-application-cluster/service-access-application-cluster/) -{{% /capture %}} + diff --git a/content/zh/docs/tasks/tools/install-minikube.md b/content/zh/docs/tasks/tools/install-minikube.md index db9657876d..6dba5fd3c6 100644 --- a/content/zh/docs/tasks/tools/install-minikube.md +++ b/content/zh/docs/tasks/tools/install-minikube.md @@ -1,6 +1,6 @@ --- title: 安装 Minikube -content_template: templates/task +content_type: task weight: 20 card: name: tasks @@ -10,7 +10,7 @@ card: -{{% capture overview %}} + -{{% capture overview %}} + Kubernetes 文档的这一部分包含教程。一个教程展示了如何完成一个比单个[任务](/zh/docs/tasks/)更大的目标。 通常一个教程有几个部分,每个部分都有一系列步骤。在浏览每个教程之前, @@ -29,9 +29,9 @@ Before walking through each tutorial, you may want to bookmark the [Standardized Glossary](/docs/reference/glossary/) page for later references. --> -{{% /capture %}} -{{% capture body %}} + + ## 基础知识 @@ -173,9 +173,10 @@ Before walking through each tutorial, you may want to bookmark the * [Using Source IP](/docs/tutorials/services/source-ip/) --> -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 如果您想编写教程,请参阅[使用页面模板](/zh/docs/home/contribute/page-templates/) 以获取有关教程页面类型和教程模板的信息。 @@ -185,5 +186,5 @@ If you would like to write a tutorial, see for information about the tutorial page type and the tutorial template. --> -{{% /capture %}} + diff --git a/content/zh/docs/tutorials/clusters/apparmor.md b/content/zh/docs/tutorials/clusters/apparmor.md index 655eec5db1..5dcee5fac7 100644 --- a/content/zh/docs/tutorials/clusters/apparmor.md +++ b/content/zh/docs/tutorials/clusters/apparmor.md @@ -1,15 +1,15 @@ --- title: AppArmor -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.4" state="beta" >}} @@ -24,9 +24,10 @@ violations. --> Apparmor 是一个 Linux 内核安全模块,它补充了标准的基于 Linux 用户和组的安全模块将程序限制为有限资源集的权限。AppArmor 可以配置为任何应用程序减少潜在的攻击面,并且提供更加深入的防御。AppArmor 是通过配置文件进行配置的,这些配置文件被调整为报名单,列出了特定程序或者容器所需要的访问权限,如 Linux 功能、网络访问、文件权限等。每个配置文件都可以在*强制*模式(阻止访问不允许的资源)或*投诉*模式(仅报告冲突)下运行。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 务必: @@ -175,9 +177,9 @@ gke-test-default-pool-239f5d02-x1kf: kubelet is posting ready status. AppArmor e gke-test-default-pool-239f5d02-xwux: kubelet is posting ready status. AppArmor enabled ``` -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 保护 Pod @@ -586,9 +588,10 @@ logs or through `journalctl`. More information is provided in * **value**: 配置文件引用的逗号分隔列表(如上所述) - 尽管转义逗号是配置文件名中的合法字符,但此处不能显式允许。 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 其他资源 @@ -598,4 +601,4 @@ logs or through `journalctl`. More information is provided in * [Apparmor 配置文件语言快速指南](https://gitlab.com/apparmor/apparmor/wikis/QuickProfileLanguage) * [Apparmor 核心策略参考](https://gitlab.com/apparmor/apparmor/wikis/Policy_Layout) -{{% /capture %}} + diff --git a/content/zh/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/zh/docs/tutorials/configuration/configure-redis-using-configmap.md index 8cc92c076e..d43ee91103 100644 --- a/content/zh/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/zh/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -3,19 +3,20 @@ reviewers: - eparis - pmorie title: 使用 ConfigMap 来配置 Redis -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + 这篇文档基于[使用 ConfigMap 来配置 Containers](/zh/docs/tasks/configure-pod-container/configure-pod-configmap/) 这个任务,提供了一个使用 ConfigMap 来配置 Redis 的真实案例。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + -{{% capture overview %}} + 有关 `docker build` 命令的更多信息,请参阅 [Docker 文档](https://docs.docker.com/engine/reference/commandline/build/)。 -{{% /capture %}} -{{% capture lessoncontent %}} + + -{{% capture overview %}} + 以下是提供 Kubernetes 在线培训的一些网站: -{{% /capture %}} -{{% capture body %}} + + * [自定进度的 Kubernetes 在线课程 (Learnk8s 学院)] (https://learnk8s.io/academy) -{{% /capture %}} + diff --git a/content/zh/docs/tutorials/services/source-ip.md b/content/zh/docs/tutorials/services/source-ip.md index 098f5d760f..d44eb358a0 100644 --- a/content/zh/docs/tutorials/services/source-ip.md +++ b/content/zh/docs/tutorials/services/source-ip.md @@ -1,17 +1,18 @@ --- title: 使用 Source IP -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + Kubernetes 集群中运行的应用通过 Service 抽象来互相查找、通信和与外部世界沟通。本文介绍被发送到不同类型 Services 的数据包源 IP 的变化过程,你可以根据你的需求改变这些行为。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -41,19 +42,20 @@ kubectl run source-ip-app --image=k8s.gcr.io/echoserver:1.4 deployment.apps/source-ip-app created ``` -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 通过多种类型的 Services 暴露一个简单应用 * 理解每种 Service 类型如何处理源 IP NAT * 理解保留源IP所涉及的折中 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Type=ClusterIP 类型 Services 的 Source IP @@ -368,9 +370,10 @@ __跨平台支持__ 第一类负载均衡器必须使用一种它和后端之间约定的协议来和真实的客户端 IP 通信,例如 HTTP [X-FORWARDED-FOR](https://en.wikipedia.org/wiki/X-Forwarded-For) 头,或者 [proxy 协议](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt)。 第二类负载均衡器可以通过简单的在保存于 Service 的 `service.spec.healthCheckNodePort` 字段上创建一个 HTTP 健康检查点来使用上面描述的特性。 -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 删除服务: @@ -386,10 +389,11 @@ $ kubectl delete svc -l run=source-ip-app $ kubectl delete deployment source-ip-app ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 学习更多关于 [通过 services 连接应用](/zh/docs/concepts/services-networking/connect-applications-service/) * 学习更多关于 [负载均衡](/zh/docs/user-guide/load-balancer) -{{% /capture %}} + diff --git a/content/zh/docs/tutorials/stateful-application/basic-stateful-set.md b/content/zh/docs/tutorials/stateful-application/basic-stateful-set.md index e48f5f2528..868c13def6 100644 --- a/content/zh/docs/tutorials/stateful-application/basic-stateful-set.md +++ b/content/zh/docs/tutorials/stateful-application/basic-stateful-set.md @@ -1,6 +1,6 @@ --- title: StatefulSet 基础 -content_template: templates/tutorial +content_type: tutorial approvers: - enisoc - erictune @@ -11,7 +11,7 @@ approvers: --- -{{% capture overview %}} + ## 创建 StatefulSet @@ -1516,9 +1518,10 @@ StatefulSet 控制器将并发的删除所有 Pod,在删除一个 Pod 前不 kubectl delete svc nginx ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 你需要删除本教程中用到的 PersistentVolumes 的持久化存储介质。基于你的环境、存储配置和提供方式,按照必须的步骤保证回收所有的存储。 -{{% /capture %}} + diff --git a/content/zh/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/zh/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index d05f07d135..e5e53815d9 100644 --- a/content/zh/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/zh/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -2,7 +2,7 @@ title: 示例:使用 Persistent Volumes 部署 WordPress 和 MySQL reviewers: - ahmetb -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -10,7 +10,7 @@ card: title: "Stateful 示例: Wordpress with Persistent Volumes" --- -{{% capture overview %}} + 本教程展示了在 Kubernetes 上使用 [PodDisruptionBudgets](/zh/docs/admin/disruptions/#specifying-a-poddisruptionbudget) 和 [PodAntiAffinity](/zh/docs/user-guide/node-selection/#inter-pod-affinity-and-anti-affinity-beta-feature) 特性运行 [Apache Zookeeper](https://zookeeper.apache.org)。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 在开始本教程前,你应该熟悉以下 Kubernetes 概念。 @@ -38,9 +39,10 @@ content_template: templates/tutorial 本教程假设你的集群配置为动态的提供 PersistentVolumes。如果你的集群没有配置成这样,在开始本教程前,你需要手动准备三个 20 GiB 的卷。 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 在学习本教程后,你将熟悉下列内容。 @@ -48,9 +50,9 @@ content_template: templates/tutorial * 如何使用 ConfigMaps 一致性配置 ensemble。 * 如何在 ensemble 中 分布 ZooKeeper 服务的部署。 * 如何在计划维护中使用 PodDisruptionBudgets 确保服务可用性。 -{{% /capture %}} -{{% capture lessoncontent %}} + + ### ZooKeeper 基础 @@ -1167,11 +1169,12 @@ node "kubernetes-minion-group-ixsl" uncordoned 你可以同时使用 `kubectl drain` 和 PodDisruptionBudgets 来保证你的服务在维护过程中仍然可用。如果使用 drain 来隔离节点并在此之前删除 pods 使节点进入离线维护状态,如果服务表达了 disruption budget,这个 budget 将被遵守。你应该总是为关键服务分配额外容量,这样它们的 Pods 就能够迅速的重新调度。 -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + * 使用 `kubectl uncordon` 解除你集群中所有节点的隔离。 * 你需要删除在本教程中使用的 PersistentVolumes 的持久存储媒介。请遵循必须的步骤,基于你的环境、存储配置和准备方法,保证回收所有的存储。 -{{% /capture %}} + diff --git a/content/zh/docs/tutorials/stateless-application/expose-external-ip-address.md b/content/zh/docs/tutorials/stateless-application/expose-external-ip-address.md index b5f9eccfb0..4a4d7779e2 100644 --- a/content/zh/docs/tutorials/stateless-application/expose-external-ip-address.md +++ b/content/zh/docs/tutorials/stateless-application/expose-external-ip-address.md @@ -1,18 +1,18 @@ --- title: 公开外部 IP 地址以访问集群中应用程序 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + 此页面显示如何创建公开外部 IP 地址的 Kubernetes 服务对象。 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + -{{% capture overview %}} + - -

    \ No newline at end of file diff --git a/layouts/partials/templates/task.html b/layouts/partials/templates/task.html deleted file mode 100644 index 05fb8729d7..0000000000 --- a/layouts/partials/templates/task.html +++ /dev/null @@ -1,11 +0,0 @@ - -{{ partial "templates/block" (dict "page" .page "block" "overview" "purpose" "states, in one or two sentences, the purpose of this document") }} - -{{ .ctx.Scratch.Set "blocks" slice }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "prerequisites" "heading" (i18n "prerequisites_heading") "purpose" "lists action prerequisites and knowledge prerequisites.") }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "steps" "purpose" "lists a sequence of numbered steps that accomplish the task.'") }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "discussion" "optional" true ) }} -{{ .ctx.Scratch.Add "blocks" (dict "content" .page.Content) }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "whatsnext" "heading" (i18n "whatsnext_heading") "optional" true ) }} - -{{ partial "templates/blocks" . }} diff --git a/layouts/partials/templates/tool-reference.html b/layouts/partials/templates/tool-reference.html deleted file mode 100644 index 291c5419ab..0000000000 --- a/layouts/partials/templates/tool-reference.html +++ /dev/null @@ -1,13 +0,0 @@ - -{{ partial "templates/block" (dict "page" .page "block" "overview" "purpose" "provides an overview" "optional" true) }} - -{{ .ctx.Scratch.Set "blocks" slice }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "synopsis" "heading" "Synopsis" "purpose" "describes the component") }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "options" "heading" "Options" "purpose" "lists the options for the component") }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "parentoptions" "heading" "Options from Parent Commands" "optional" true ) }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "examples" "heading" "Examples" "optional" true ) }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "body" "purpose" "the body of the page content" "optional" true) }} -{{ .ctx.Scratch.Add "blocks" (dict "content" .page.Content) }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "seealso" "heading" "See Also" "optional" true ) }} - -{{ partial "templates/blocks" . }} \ No newline at end of file diff --git a/layouts/partials/templates/tutorial.html b/layouts/partials/templates/tutorial.html deleted file mode 100644 index abd0f6e4b9..0000000000 --- a/layouts/partials/templates/tutorial.html +++ /dev/null @@ -1,12 +0,0 @@ -{{ partial "templates/block" (dict "page" .page "block" "overview" "purpose" "states, in one or two sentences, the purpose of this document") }} - -{{ .ctx.Scratch.Set "blocks" slice }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "objectives" "heading" (i18n "objectives_heading") "purpose" "lists the objectives for this tutorial.") }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "prerequisites" "heading" (i18n "prerequisites_heading") "purpose" "lists action prerequisites and knowledge prerequisites.") }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "lessoncontent" "purpose" "provides the lesson content for this tutorial.") }} -{{ .ctx.Scratch.Add "blocks" (dict "content" .page.Content) }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "cleanup" "heading" (i18n "cleanup_heading") "optional" true ) }} -{{ .ctx.Scratch.Add "blocks" (dict "page" .page "block" "whatsnext" "heading" (i18n "whatsnext_heading") "optional" true ) }} - -{{ partial "templates/blocks" . }} - From 758a0eceb00dbc6e5dadd5ba777df053a0f69d0e Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 10:00:11 -0400 Subject: [PATCH 345/533] fix missed pages --- content/de/docs/reference/_index.md | 10 +++++----- content/de/docs/reference/kubectl/cheatsheet.md | 15 ++++++++------- content/de/docs/reference/tools.md | 10 +++++----- content/es/docs/_index.md | 8 ++++---- content/pt/docs/_index.md | 8 ++++---- .../overview/working-with-objects/names.md | 3 ++- content/vi/docs/tasks/tools/install-kubectl.md | 3 ++- 7 files changed, 30 insertions(+), 27 deletions(-) diff --git a/content/de/docs/reference/_index.md b/content/de/docs/reference/_index.md index b57b2740cd..7ffa9c04c9 100644 --- a/content/de/docs/reference/_index.md +++ b/content/de/docs/reference/_index.md @@ -5,16 +5,16 @@ approvers: linkTitle: "Referenzen" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Dieser Abschnitt der Kubernetes-Dokumentation enthält Referenzinformationen. -{{% /capture %}} -{{% capture body %}} + + ## API-Referenz @@ -58,4 +58,4 @@ Offiziell unterstützte Clientbibliotheken: Ein Archiv der Designdokumente für Kubernetes-Funktionalität. Gute Ansatzpunkte sind [Kubernetes Architektur](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) und [Kubernetes Design Übersicht](https://git.k8s.io/community/contributors/design-proposals). -{{% /capture %}} + diff --git a/content/de/docs/reference/kubectl/cheatsheet.md b/content/de/docs/reference/kubectl/cheatsheet.md index c68fc183b5..15b8d0bda3 100644 --- a/content/de/docs/reference/kubectl/cheatsheet.md +++ b/content/de/docs/reference/kubectl/cheatsheet.md @@ -1,20 +1,20 @@ --- title: kubectl Spickzettel -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + Siehe auch: [Kubectl Überblick](/docs/reference/kubectl/overview/) und [JsonPath Dokumentation](/docs/reference/kubectl/jsonpath). Diese Seite ist eine Übersicht über den Befehl `kubectl`. -{{% /capture %}} -{{% capture body %}} + + # kubectl - Spickzettel @@ -335,9 +335,10 @@ Ausführlichkeit | Beschreibung `--v=8` | HTTP-Anforderungsinhalt anzeigen `--v=9` | HTTP-Anforderungsinhalt anzeigen, ohne den Inhalt zu kürzen. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Lernen Sie mehr im [Überblick auf kubectl](/docs/reference/kubectl/overview/). @@ -347,4 +348,4 @@ Ausführlichkeit | Beschreibung * Entdecken Sie mehr Community [kubectl Spickzettel](https://github.com/dennyzhang/cheatsheet-kubernetes-A4). -{{% /capture %}} + diff --git a/content/de/docs/reference/tools.md b/content/de/docs/reference/tools.md index 3daeda6efe..42bba64616 100644 --- a/content/de/docs/reference/tools.md +++ b/content/de/docs/reference/tools.md @@ -1,13 +1,13 @@ --- title: Tools -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Kubernetes enthält mehrere integrierte Tools, die Ihnen bei der Arbeit mit dem Kubernetes System helfen. -{{% /capture %}} -{{% capture body %}} + + ## Kubectl [`kubectl`](/docs/tasks/tools/install-kubectl/) ist ein Kommandozeilenprogramm für Kubernetes. Es steuert den Kubernetes Clustermanager. @@ -49,4 +49,4 @@ Verwenden Sie Kompose um: * Ein Docker Compose Datei in Kubernetes Objekte zu übersetzen * Von Ihrer lokalen Docker Entwicklung auf eine Kubernetes verwaltete Entwicklung zu wechseln * v1 oder v2 Docker Compose `yaml` Dateien oder [Distributed Application Bundles](https://docs.docker.com/compose/bundles/) zu konvertieren -{{% /capture %}} + diff --git a/content/es/docs/_index.md b/content/es/docs/_index.md index e036f2e97e..a5cbf56e30 100644 --- a/content/es/docs/_index.md +++ b/content/es/docs/_index.md @@ -3,18 +3,18 @@ reviewers: - raelga title: Documentación weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + **¡Bienvenido a la documentación de Kubernetes en Castellano!** Como podrá comprobar, la mayor parte de la documentación aún está disponible solo en inglés, pero no se preocupe, hay un equipo trabajando en la traducción al castellano. -{{% /capture %}} -{{% capture body %}} + + Si quiere participar, puede entrar al canal de Slack [#kubernets-docs-es](http://slack.kubernetes.io/) y formar parte del equipo detrás de la localización. diff --git a/content/pt/docs/_index.md b/content/pt/docs/_index.md index 0cc7186ef0..1d1529975c 100644 --- a/content/pt/docs/_index.md +++ b/content/pt/docs/_index.md @@ -3,18 +3,18 @@ reviewers: - raelga title: Documentação weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + **Bem-vindo à documentação do Kubernetes em Português** Como você pode ver, a maior parte da documentação ainda está disponível apenas em inglês, mas não se preocupe, há uma equipe trabalhando na tradução para o português. -{{% /capture %}} -{{% capture body %}} + + Se você quiser participar, você pode entrar no canal Slack [#kubernets-docs-pt](http://slack.kubernetes.io/) e fazer parte da equipe por trás da tradução. diff --git a/content/pt/docs/concepts/overview/working-with-objects/names.md b/content/pt/docs/concepts/overview/working-with-objects/names.md index 99aff00a2e..16556d127a 100644 --- a/content/pt/docs/concepts/overview/working-with-objects/names.md +++ b/content/pt/docs/concepts/overview/working-with-objects/names.md @@ -50,7 +50,8 @@ Kubernetes UIDs são identificadores únicos universais (também chamados de UUI UUIDs utilizam padrões ISO/IEC 9834-8 e ITU-T X.667. -{{% capture Qual é o próximo %}} +## {{% heading "whatsnext" %}} + * Leia sobre [labels](/docs/concepts/overview/working-with-objects/labels/) em Kubernetes. * Consulte o documento de design [Identificadores e Nomes em Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md). diff --git a/content/vi/docs/tasks/tools/install-kubectl.md b/content/vi/docs/tasks/tools/install-kubectl.md index 40297a9118..fe964d0b59 100644 --- a/content/vi/docs/tasks/tools/install-kubectl.md +++ b/content/vi/docs/tasks/tools/install-kubectl.md @@ -466,7 +466,8 @@ compinit -{{% capture Tiếp theo %}} +## {{% heading "whatsnext" %}} + * [Cài đặt Minikube](/docs/tasks/tools/install-minikube/) * Xem [hướng dẫn bắt đầu](/docs/setup/) để biết thêm về việc tạo cluster. * [Tìm hiểu cách khởi chạy và hiển thị ứng dụng của bạn.](/docs/tasks/access-application-cluster/service-access-application-cluster/) From 38250940c339316b7dce237ae2f2989560d088ee Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 12:46:54 -0400 Subject: [PATCH 346/533] create page-content-types --- content/en/docs/concepts/_index.md | 4 +- .../docs/concepts/example-concept-template.md | 4 +- content/en/docs/contribute/_index.md | 2 +- .../docs/contribute/new-content/overview.md | 2 +- .../docs/contribute/review/reviewing-prs.md | 2 +- .../contribute/style/hugo-shortcodes/index.md | 4 +- .../contribute/style/page-content-types.md | 207 ++++++++++++++++ .../docs/contribute/style/page-templates.md | 223 ------------------ .../en/docs/contribute/style/style-guide.md | 11 +- .../docs/contribute/style/write-new-topic.md | 7 +- .../en/docs/tasks/example-task-template.md | 3 +- content/en/docs/tutorials/_index.md | 4 +- 12 files changed, 226 insertions(+), 247 deletions(-) create mode 100644 content/en/docs/contribute/style/page-content-types.md delete mode 100644 content/en/docs/contribute/style/page-templates.md diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/concepts/_index.md index ae9ed7545d..c0ea1a2c8d 100644 --- a/content/en/docs/concepts/_index.md +++ b/content/en/docs/concepts/_index.md @@ -66,7 +66,7 @@ The nodes in a cluster are the machines (VMs, physical servers, etc) that run yo If you would like to write a concept page, see -[Using Page Templates](/docs/home/contribute/page-templates/) -for information about the concept page type and the concept template. +[Page Content Types](/docs/home/contribute/style/page-content-types/#concept) +for information about the concept page types. diff --git a/content/en/docs/concepts/example-concept-template.md b/content/en/docs/concepts/example-concept-template.md index d5dfd52be1..adf3741f90 100644 --- a/content/en/docs/concepts/example-concept-template.md +++ b/content/en/docs/concepts/example-concept-template.md @@ -33,8 +33,8 @@ To use ... **[Optional Section]** -* Learn more about [Writing a New Topic](/docs/home/contribute/write-new-topic/). -* See [Using Page Templates - Concept template](/docs/home/contribute/page-templates/#concept_template) for how to use this template. +* Learn more about [Writing a New Topic](/docs/home/contribute/style/write-new-topic/). +* See [Page Content Types - Concept](/docs/home/contribute/style/page-concept-types/#concept). diff --git a/content/en/docs/contribute/_index.md b/content/en/docs/contribute/_index.md index e518b1f975..2f93af4a35 100644 --- a/content/en/docs/contribute/_index.md +++ b/content/en/docs/contribute/_index.md @@ -48,7 +48,7 @@ roles and permissions. - [Open a pull request using GitHub](/docs/contribute/new-content/new-content/#changes-using-github) to existing documentation and learn more about filing issues in GitHub. - [Review pull requests](/docs/contribute/review/reviewing-prs/) from other Kubernetes community members for accuracy and language. - Read the Kubernetes [content](/docs/contribute/style/content-guide/) and [style guides](/docs/contribute/style/style-guide/) so you can leave informed comments. -- Learn how to [use page templates](/docs/contribute/style/page-templates/) and [Hugo shortcodes](/docs/contribute/style/hugo-shortcodes/) to make bigger changes. +- Learn about [page content types](/docs/contribute/style/page-content-types/) and [Hugo shortcodes](/docs/contribute/style/hugo-shortcodes/). ## Next steps diff --git a/content/en/docs/contribute/new-content/overview.md b/content/en/docs/contribute/new-content/overview.md index cdb7174b2a..e9ef332430 100644 --- a/content/en/docs/contribute/new-content/overview.md +++ b/content/en/docs/contribute/new-content/overview.md @@ -19,7 +19,7 @@ This section contains information you should know before contributing new conten - Write Kubernetes documentation in Markdown and build the Kubernetes site using [Hugo](https://gohugo.io/). - The source is in [GitHub](https://github.com/kubernetes/website). You can find Kubernetes documentation at `/content/en/docs/`. Some of the reference documentation is automatically generated from scripts in the `update-imported-docs/` directory. -- [Page templates](/docs/contribute/style/page-templates/) control the presentation of documentation content in Hugo. +- [Page content types](/docs/contribute/style/page-content-types/) describe the presentation of documentation content in Hugo. - In addition to the standard Hugo shortcodes, we use a number of [custom Hugo shortcodes](/docs/contribute/style/hugo-shortcodes/) in our documentation to control the presentation of content. - Documentation source is available in multiple languages in `/content/`. Each language has its own folder with a two-letter code determined by the [ISO 639-1 standard](https://www.loc.gov/standards/iso639-2/php/code_list.php). For example, English documentation source is stored in `/content/en/docs/`. - For more information about contributing to documentation in multiple languages or starting a new translation, see [localization](/docs/contribute/localization). diff --git a/content/en/docs/contribute/review/reviewing-prs.md b/content/en/docs/contribute/review/reviewing-prs.md index 11a56b17c8..3c271aa44f 100644 --- a/content/en/docs/contribute/review/reviewing-prs.md +++ b/content/en/docs/contribute/review/reviewing-prs.md @@ -86,7 +86,7 @@ When reviewing, use the following as a starting point. - Did this PR change or remove a page title, slug/alias or anchor link? If so, are there broken links as a result of this PR? Is there another option, like changing the page title without changing the slug? - Does the PR introduce a new page? If so: - - Is the page using the right [page template](/docs/contribute/style/page-templates/) and associated Hugo shortcodes? + - Is the page using the right [page content type](/docs/contribute/style/page-content-types/) and associated Hugo shortcodes? - Does the page appear correctly in the section's side navigation (or at all)? - Should the page appear on the [Docs Home](/docs/home/) listing? - Do the changes show up in the Netlify preview? Be particularly vigilant about lists, code blocks, tables, notes and images. diff --git a/content/en/docs/contribute/style/hugo-shortcodes/index.md b/content/en/docs/contribute/style/hugo-shortcodes/index.md index 87033f15a5..12d00ae01a 100644 --- a/content/en/docs/contribute/style/hugo-shortcodes/index.md +++ b/content/en/docs/contribute/style/hugo-shortcodes/index.md @@ -240,8 +240,8 @@ Renders to: ## {{% heading "whatsnext" %}} * Learn about [Hugo](https://gohugo.io/). -* Learn about [writing a new topic](/docs/home/contribute/write-new-topic/). -* Learn about [using page templates](/docs/home/contribute/page-templates/). +* Learn about [writing a new topic](/docs/home/contribute/style/write-new-topic/). +* Learn about [page content types](/docs/home/contribute/style/page-content-types/). * Learn about [staging your changes](/docs/home/contribute/stage-documentation-changes/) * Learn about [creating a pull request](/docs/home/contribute/create-pull-request/). diff --git a/content/en/docs/contribute/style/page-content-types.md b/content/en/docs/contribute/style/page-content-types.md new file mode 100644 index 0000000000..e4ee461dc7 --- /dev/null +++ b/content/en/docs/contribute/style/page-content-types.md @@ -0,0 +1,207 @@ +--- +title: Page content types +content_type: concept +weight: 30 +card: + name: contribute + weight: 30 +--- + + + +The Kubernetes documentation follows several types of page content: + +- Concept +- Task +- Tutorial +- Reference + +Content pages contain HTML headings that create structure on the page. + + + +## Content sections + +Each page content type contains a number of sections. +Most of the main sections are outlined in the page using Markdown comments. +This page structure helps to maintain the different content types. + +For example, + +``` + +``` + +``` + +``` + +To create localized headings for common headings, use the `heading` shortcode +in your content pages. Common localized headings are: + +- whatsnext +- prerequisites +- objectives +- cleanup + +To create a localized `whatsnext` heading on a page, you can add to your page: + +```none +## {{%/* heading "whatsnext" */%}} +``` + +The `whatsnext` heading displays as: + +## {{% heading "whatsnext" %}} + + +To create a localized `prerequisites` heading on a page, you can add to your page: + +```none +## {{%/* heading "prerequisites" */%}} +``` + +The `prerequisites heading displays as: + +## {{% heading "prerequisites" %}} + + +The `heading` shortcode takes one parameter. +The string should match the prefix of a variable in the localized file, such `i18n/en.toml`: + +``` +[whatsnext_heading] +other = "What's next" +``` + +Another localized file, such as `i18n/ko.toml`: + +``` +[whatsnext_heading] +other = "다음 내용" +``` + +## Concept + +A concept page explains some aspect of Kubernetes. For example, a concept +page might describe the Kubernetes Deployment object and explain the role it +plays as an application once it is deployed, scaled, and updated. Typically, concept +pages don't include sequences of steps, but instead provide links to tasks or +tutorials. + +To write a new concept page, create a Markdown file in a subdirectory of the +`/content/en/docs/concepts` directory, with the following characteristics: + +Concept pages are divided into three sections: + +| Page section | +|---------------| +| overview | +| body | +| whatsnext | + + +Fill each section with content. Follow these guidelines: +- Organize content with H2 and H3 headings. +- For `overview`, set the topic's context with a single paragraph. +- For `body`, explain the concept. +- For `whatsnext`, provide a bulleted list of topics (5 maximum) to learn more about the concept. + +[Annotations](/docs/concepts/overview/working-with-objects/annotations/) is a published example of a concept page. + +## Task + +A task page shows how to do a single thing, typically by giving a short +sequence of steps. Task pages have minimal explanation, but often provide links +to conceptual topics that provide related background and knowledge. + +To write a new task page, create a Markdown file in a subdirectory of the +`/content/en/docs/tasks` directory, with the following characteristics: + +| Page section | +|---------------| +| overview | +| prerequisites | +| steps | +| discussion | +| whatsnext | + +Within each section, write your content. Use the following guidelines: +- Use a minimum of H2 headings (with two leading `#` characters). The sections + themselves are titled automatically by the template. +- For `overview`, use a paragraph to set context for the entire topic. +- For `prerequisites`, use bullet lists when possible. Start adding additional + prerequisites below the `include`. The default prerequisites include a running Kubernetes cluster. +- For `steps`, use numbered lists. +- For discussion, use normal content to expand upon the information covered + in `steps`. +- For `whatsnext`, give a bullet list of up to 5 topics the reader might be + interested in reading next. + +An example of a published task topic is [Using an HTTP proxy to access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api). + +## Tutorial + +A tutorial page shows how to accomplish a goal that is larger than a single +task. Typically a tutorial page has several sections, each of which has a +sequence of steps. For example, a tutorial might provide a walkthrough of a +code sample that illustrates a certain feature of Kubernetes. Tutorials can +include surface-level explanations, but should link to related concept topics +for deep explanations. + +To write a new tutorial page, create a Markdown file in a subdirectory of the +`/content/en/docs/tutorials` directory, with the following characteristics: + +| Page section | +|---------------| +| overview | +| prerequisites | +| objectives | +| lessoncontent | +| cleanup | +| whatsnext | + +Within each section, write your content. Use the following guidelines: +- Use a minimum of H2 headings (with two leading `#` characters). The sections + themselves are titled automatically by the template. +- For `overview`, use a paragraph to set context for the entire topic. +- For `prerequisites`, use bullet lists when possible. Add additional + prerequisites below the ones included by default. +- For `objectives`, use bullet lists. +- For `lessoncontent`, use a mix of numbered lists and narrative content as + appropriate. +- For `cleanup`, use numbered lists to describe the steps to clean up the + state of the cluster after finishing the task. +- For `whatsnext`, give a bullet list of up to 5 topics the reader might be + interested in reading next. + +An example of a published tutorial topic is +[Running a Stateless Application Using a Deployment](/docs/tutorials/stateless-application/run-stateless-application-deployment/). + +## Reference + +A component tool reference page shows the `--help` output for a Kubernetes component tool. +Each page output depends upon the component tool's source code in `kubernetes/kubernetes`. + +Typically a tool reference page has several sections: + +| Page section | +|------------------------------| +| synopsis | +| options | +| options from parent commands | +| examples | +| body | +| seealso | + +An example of a published tool reference topic is: + +- [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) +- [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) +- [kubectl](/docs/reference/kubectl/kubectl/) + +## {{% heading "whatsnext" %}} + +- Learn about the [Style guide](/docs/contribute/style/style-guide/) +- Learn about the [Content guide](/docs/contribute/style/content-guide/) +- Learn about [content organization](/docs/contribute/style/content-organization/) diff --git a/content/en/docs/contribute/style/page-templates.md b/content/en/docs/contribute/style/page-templates.md deleted file mode 100644 index 7c0616e107..0000000000 --- a/content/en/docs/contribute/style/page-templates.md +++ /dev/null @@ -1,223 +0,0 @@ ---- -title: Using Page Templates -content_type: concept -weight: 30 -card: - name: contribute - weight: 30 ---- - - - -When contributing new topics, apply one of the following templates to them. -This standardizes the user experience of a given page. - -The page templates are in the -[`layouts/partials/templates`](https://git.k8s.io/website/layouts/partials/templates) -directory of the [`kubernetes/website`](https://github.com/kubernetes/website) -repository. - -{{< note >}} -Every new topic needs to use a template. If you are unsure which -template to use for a new topic, start with the -[concept template](#concept-template). -{{< /note >}} - - - - - - - -## Concept template - -A concept page explains some aspect of Kubernetes. For example, a concept -page might describe the Kubernetes Deployment object and explain the role it -plays as an application once it is deployed, scaled, and updated. Typically, concept -pages don't include sequences of steps, but instead provide links to tasks or -tutorials. - - -To write a new concept page, create a Markdown file in a subdirectory of the -`/content/en/docs/concepts` directory, with the following characteristics: - -- In the page's YAML front-matter, set `content_type: concept`. -- In the page's body, set the required `capture` variables and any optional - ones you want to include: - - | Variable | Required? | - |---------------|-----------| - | overview | yes | - | body | yes | - | whatsnext | no | - - The page's body will look like this (remove any optional captures you don't - need): - - ``` - {{%/* capture overview */%}} - - {{%/* /capture */%}} - - {{%/* capture body */%}} - - {{%/* /capture */%}} - - {{%/* capture whatsnext */%}} - - {{%/* /capture */%}} - ``` - -- Fill each section with content. Follow these guidelines: - - Organize content with H2 and H3 headings. - - For `overview`, set the topic's context with a single paragraph. - - For `body`, explain the concept. - - For `whatsnext`, provide a bulleted list of topics (5 maximum) to learn more about the concept. - -[Annotations](/docs/concepts/overview/working-with-objects/annotations/) is a published example of the concept template. This page also uses the concept template. - -## Task template - -A task page shows how to do a single thing, typically by giving a short -sequence of steps. Task pages have minimal explanation, but often provide links -to conceptual topics that provide related background and knowledge. - -To write a new task page, create a Markdown file in a subdirectory of the -`/content/en/docs/tasks` directory, with the following characteristics: - -- In the page's YAML front-matter, set `content_type: task`. -- In the page's body, set the required `capture` variables and any optional - ones you want to include: - - | Variable | Required? | - |---------------|-----------| - | overview | yes | - | prerequisites | yes | - | steps | no | - | discussion | no | - | whatsnext | no | - - The page's body will look like this (remove any optional captures you don't - need): - - ``` - {{%/* capture overview */%}} - - {{%/* /capture */%}} - - {{%/* capture prerequisites */%}} - - {{}} {{}} - - {{%/* /capture */%}} - - {{%/* capture steps */%}} - - {{%/* /capture */%}} - - {{%/* capture discussion */%}} - - {{%/* /capture */%}} - - {{%/* capture whatsnext */%}} - - {{%/* /capture */%}} - ``` - -- Within each section, write your content. Use the following guidelines: - - Use a minimum of H2 headings (with two leading `#` characters). The sections - themselves are titled automatically by the template. - - For `overview`, use a paragraph to set context for the entire topic. - - For `prerequisites`, use bullet lists when possible. Start adding additional - prerequisites below the `include`. The default prerequisites include a running Kubernetes cluster. - - For `steps`, use numbered lists. - - For discussion, use normal content to expand upon the information covered - in `steps`. - - For `whatsnext`, give a bullet list of up to 5 topics the reader might be - interested in reading next. - -An example of a published topic that uses the task template is [Using an HTTP proxy to access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api). - -## Tutorial template - -A tutorial page shows how to accomplish a goal that is larger than a single -task. Typically a tutorial page has several sections, each of which has a -sequence of steps. For example, a tutorial might provide a walkthrough of a -code sample that illustrates a certain feature of Kubernetes. Tutorials can -include surface-level explanations, but should link to related concept topics -for deep explanations. - -To write a new tutorial page, create a Markdown file in a subdirectory of the -`/content/en/docs/tutorials` directory, with the following characteristics: - -- In the page's YAML front-matter, set `content_type: tutorial`. -- In the page's body, set the required `capture` variables and any optional - ones you want to include: - - | Variable | Required? | - |---------------|-----------| - | overview | yes | - | prerequisites | yes | - | objectives | yes | - | lessoncontent | yes | - | cleanup | no | - | whatsnext | no | - - The page's body will look like this (remove any optional captures you don't - need): - - ``` - {{%/* capture overview */%}} - - {{%/* /capture */%}} - - {{%/* capture prerequisites */%}} - - {{}} {{}} - - {{%/* /capture */%}} - - {{%/* capture objectives */%}} - - {{%/* /capture */%}} - - {{%/* capture lessoncontent */%}} - - {{%/* /capture */%}} - - {{%/* capture cleanup */%}} - - {{%/* /capture */%}} - - {{%/* capture whatsnext */%}} - - {{%/* /capture */%}} - ``` - -- Within each section, write your content. Use the following guidelines: - - Use a minimum of H2 headings (with two leading `#` characters). The sections - themselves are titled automatically by the template. - - For `overview`, use a paragraph to set context for the entire topic. - - For `prerequisites`, use bullet lists when possible. Add additional - prerequisites below the ones included by default. - - For `objectives`, use bullet lists. - - For `lessoncontent`, use a mix of numbered lists and narrative content as - appropriate. - - For `cleanup`, use numbered lists to describe the steps to clean up the - state of the cluster after finishing the task. - - For `whatsnext`, give a bullet list of up to 5 topics the reader might be - interested in reading next. - -An example of a published topic that uses the tutorial template is -[Running a Stateless Application Using a Deployment](/docs/tutorials/stateless-application/run-stateless-application-deployment/). - - - -## {{% heading "whatsnext" %}} - - -- Learn about the [Style guide](/docs/contribute/style/style-guide/) -- Learn about the [Content guide](/docs/contribute/style/content-guide/) -- Learn about [content organization](/docs/contribute/style/content-organization/) - - diff --git a/content/en/docs/contribute/style/style-guide.md b/content/en/docs/contribute/style/style-guide.md index 64b2ec0705..78ddd4a787 100644 --- a/content/en/docs/contribute/style/style-guide.md +++ b/content/en/docs/contribute/style/style-guide.md @@ -11,8 +11,7 @@ These are guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. For additional information on creating new content for the Kubernetes -documentation, read the [Documentation Content Guide](/docs/contribute/style/content-guide/) and follow the instructions on -[using page templates](/docs/contribute/style/page-templates/) and [creating a documentation pull request](/docs/contribute/new-content/open-a-pr). +documentation, read the [Documentation Content Guide](/docs/contribute/style/content-guide/). Changes to the style guide are made by SIG Docs as a group. To propose a change or addition, [add it to the agenda](https://docs.google.com/document/d/1ddHwLK3kUMX1wVFIwlksjTk0MsqitBnWPe1LRa1Rx5A/edit) for an upcoming SIG Docs meeting, and attend the meeting to participate in the @@ -212,7 +211,7 @@ The output is similar to this: Code examples and configuration examples that include version information should be consistent with the accompanying text. -If the information is version specific, the Kubernetes version needs to be defined in the `prerequisites` section of the [Task template](/docs/contribute/style/page-templates/#task-template) or the [Tutorial template](/docs/contribute/style/page-templates/#tutorial-template). Once the page is saved, the `prerequisites` section is shown as **Before you begin**. +If the information is version specific, the Kubernetes version needs to be defined in the `prerequisites` section of the [Task template](/docs/contribute/style/page-content-types/#task) or the [Tutorial template](/docs/contribute/style/page-content-types/#tutorial). Once the page is saved, the `prerequisites` section is shown as **Before you begin**. To specify the Kubernetes version for a task or tutorial page, include `min-kubernetes-server-version` in the front matter of the page. @@ -591,8 +590,6 @@ The Federation feature provides ... | The new Federation feature provides ... * Learn about [writing a new topic](/docs/contribute/style/write-new-topic/). -* Learn about [using page templates](/docs/contribute/style/page-templates/). +* Learn about [using page templates](/docs/contribute/style/page-content-types/). * Learn about [staging your changes](/docs/contribute/stage-documentation-changes/) -* Learn about [creating a pull request](/docs/contribute/start/#submit-a-pull-request/). - - +* Learn about [creating a pull request](/docs/contribute/new-content/open-a-pr/). diff --git a/content/en/docs/contribute/style/write-new-topic.md b/content/en/docs/contribute/style/write-new-topic.md index a6b9e187a1..f0c972c0fd 100644 --- a/content/en/docs/contribute/style/write-new-topic.md +++ b/content/en/docs/contribute/style/write-new-topic.md @@ -28,9 +28,8 @@ Task | A task page shows how to do a single thing. The idea is to give readers a Tutorial | A tutorial page shows how to accomplish a goal that ties together several Kubernetes features. A tutorial might provide several sequences of steps that readers can actually do as they read the page. Or it might provide explanations of related pieces of code. For example, a tutorial could provide a walkthrough of a code sample. A tutorial can include brief explanations of the Kubernetes features that are being tied together, but should link to related concept topics for deep explanations of individual features. {{< /table >}} -Use a template for each new page. Each page type has a -[template](/docs/contribute/style/page-templates/) -that you can use as you write your topic. Using templates helps ensure +Use a [content type](/docs/contribute/style/page-content-types/) for each new page +that you write. Using page type helps ensure consistency among topics of a given type. ## Choosing a title and filename @@ -164,6 +163,6 @@ image format is SVG. ## {{% heading "whatsnext" %}} -* Learn about [using page templates](/docs/contribute/page-templates/). +* Learn about [using page content types](/docs/contribute/style/page-content-types/). * Learn about [creating a pull request](/docs/contribute/new-content/open-a-pr/). diff --git a/content/en/docs/tasks/example-task-template.md b/content/en/docs/tasks/example-task-template.md index b3dd5e8e43..90d14e98da 100644 --- a/content/en/docs/tasks/example-task-template.md +++ b/content/en/docs/tasks/example-task-template.md @@ -49,5 +49,4 @@ Here's an interesting thing to know about the steps you just did. **[Optional Section]** * Learn more about [Writing a New Topic](/docs/home/contribute/write-new-topic/). -* See [Using Page Templates - Task template](/docs/home/contribute/page-templates/#task_template) for how to use this template. - +* Learn about [Page Content Types - Task](/docs/home/contribute/style/page-content-types/#task). diff --git a/content/en/docs/tutorials/_index.md b/content/en/docs/tutorials/_index.md index 95b8ec9e1f..5551e5a8ea 100644 --- a/content/en/docs/tutorials/_index.md +++ b/content/en/docs/tutorials/_index.md @@ -70,7 +70,7 @@ Before walking through each tutorial, you may want to bookmark the If you would like to write a tutorial, see -[Using Page Templates](/docs/home/contribute/page-templates/) -for information about the tutorial page type and the tutorial template. +[Content Page Types](/docs/home/contribute/style/page-content-types/) +for information about the tutorial page type. From fb79042c6101777c997283f6f6513882c5f76ee0 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Tue, 2 Jun 2020 16:51:01 -0400 Subject: [PATCH 347/533] update orig. order of headings --- .../de/docs/tasks/tools/install-minikube.md | 13 ++++------ .../en/docs/tasks/tools/install-minikube.md | 17 +++++------- .../es/docs/tasks/tools/install-minikube.md | 13 ++++------ .../fr/docs/tasks/tools/install-minikube.md | 10 ++++--- .../id/docs/tasks/tools/install-minikube.md | 16 +++++------- .../ja/docs/tasks/tools/install-minikube.md | 16 ++++++------ .../ko/docs/tasks/tools/install-minikube.md | 16 +++++------- .../ru/docs/tasks/tools/install-minikube.md | 17 +++++------- .../vi/docs/tasks/tools/install-minikube.md | 15 +++++------ .../zh/docs/tasks/tools/install-minikube.md | 26 +++++++++---------- 10 files changed, 69 insertions(+), 90 deletions(-) diff --git a/content/de/docs/tasks/tools/install-minikube.md b/content/de/docs/tasks/tools/install-minikube.md index 7353df0733..318fcf25aa 100644 --- a/content/de/docs/tasks/tools/install-minikube.md +++ b/content/de/docs/tasks/tools/install-minikube.md @@ -108,14 +108,6 @@ Schließen Sie nach der Installation von Minikube die aktuelle CLI-Sitzung und s So installieren Sie Minikube manuell unter Windows mit [Windows Installer](https://docs.microsoft.com/en-us/windows/desktop/msi/windows-installer-portal), laden Sie die Datei [`minikube-installer.exe`](https://github.com/kubernetes/minikube/releases/latest) und führen Sie den Installer aus. - -## {{% heading "whatsnext" %}} - - -* [Kubernetes lokal über Minikube ausführen](/docs/setup/minikube/) - - - ## Eine bestehende Installation bereinigen Wenn Sie minikube bereits installiert haben, starten Sie die Anwendung: @@ -132,3 +124,8 @@ Müssen Sie die Konfigurationsdateien löschen: ```shell rm -rf ~/.minikube ``` + +## {{% heading "whatsnext" %}} + + +* [Kubernetes lokal über Minikube ausführen](/docs/setup/minikube/) diff --git a/content/en/docs/tasks/tools/install-minikube.md b/content/en/docs/tasks/tools/install-minikube.md index 84c6dd0341..15f862f431 100644 --- a/content/en/docs/tasks/tools/install-minikube.md +++ b/content/en/docs/tasks/tools/install-minikube.md @@ -58,7 +58,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for -# Installing minikube +## Installing minikube {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -200,16 +200,6 @@ To install Minikube manually on Windows, download [`minikube-windows-amd64`](htt {{% /tab %}} {{< /tabs >}} - - - -## {{% heading "whatsnext" %}} - - -* [Running Kubernetes Locally via Minikube](/docs/setup/learning-environment/minikube/) - - - ## Confirm Installation To confirm successful installation of both a hypervisor and Minikube, you can run the following command to start up a local Kubernetes cluster: @@ -261,3 +251,8 @@ then you need to clear minikube's local state: ```shell minikube delete ``` + +## {{% heading "whatsnext" %}} + + +* [Running Kubernetes Locally via Minikube](/docs/setup/learning-environment/minikube/) diff --git a/content/es/docs/tasks/tools/install-minikube.md b/content/es/docs/tasks/tools/install-minikube.md index fcdeb7c40b..e19912e636 100644 --- a/content/es/docs/tasks/tools/install-minikube.md +++ b/content/es/docs/tasks/tools/install-minikube.md @@ -108,14 +108,6 @@ Para instalar Minikube manualmente en Windows, descarga [`minikube-windows-amd64 Para instalar Minikube manualmente en Windows usando [Windows Installer](https://docs.microsoft.com/en-us/windows/desktop/msi/windows-installer-portal), descarga [`minikube-installer.exe`](https://github.com/kubernetes/minikube/releases/latest) y ejecuta el instalador. - -## {{% heading "whatsnext" %}} - - -* [Ejecutar Kubernetes Localmente via Minikube](/docs/setup/minikube/) - - - ## Limpiar todo para comenzar de cero Si habías instalado previamente minikube, y ejecutas: @@ -132,3 +124,8 @@ Necesitas eliminar permanentemente los siguientes archivos de configuración: ```shell rm -rf ~/.minikube ``` + +## {{% heading "whatsnext" %}} + + +* [Ejecutar Kubernetes Localmente via Minikube](/docs/setup/minikube/) \ No newline at end of file diff --git a/content/fr/docs/tasks/tools/install-minikube.md b/content/fr/docs/tasks/tools/install-minikube.md index 0e3f8ff424..c3fcb56f34 100644 --- a/content/fr/docs/tasks/tools/install-minikube.md +++ b/content/fr/docs/tasks/tools/install-minikube.md @@ -58,7 +58,7 @@ Configuration requise pour Hyper-V: un hyperviseur a été détecté. Les foncti -# Installer Minikube +## Installer Minikube {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -203,11 +203,8 @@ Pour installer Minikube manuellement sur Windows, téléchargez [`minikube-windo -## {{% heading "whatsnext" %}} -* [Exécutez Kubernetes localement via Minikube](/fr/docs/setup/learning-environment/minikube/) - ## Confirmer l'installation @@ -261,3 +258,8 @@ Vous devez supprimer les fichiers de configuration : ```shell rm -rf ~/.minikube ``` + +## {{% heading "whatsnext" %}} + + +* [Exécutez Kubernetes localement via Minikube](/fr/docs/setup/learning-environment/minikube/) diff --git a/content/id/docs/tasks/tools/install-minikube.md b/content/id/docs/tasks/tools/install-minikube.md index 7e2d111637..342f05246a 100644 --- a/content/id/docs/tasks/tools/install-minikube.md +++ b/content/id/docs/tasks/tools/install-minikube.md @@ -58,7 +58,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for -# Menginstal minikube +## Menginstal minikube {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -197,15 +197,6 @@ Untuk menginstal Minikube secara manual pada Windows, unduh [`minikube-windows-a {{< /tabs >}} - - -## {{% heading "whatsnext" %}} - - -* [Menjalanakan Kubernetes secara lokal dengan Minikube](/docs/setup/learning-environment/minikube/) - - - ## Memastikan instalasi Untuk memastikan keberhasilan kedua instalasi hypervisor dan Minikube, kamu bisa menjalankan perintah berikut untuk memulai sebuah klaster Kubernetes lokal: @@ -256,3 +247,8 @@ maka kamu perlu membersihkan _state_ lokal Minikube: ```shell minikube delete ``` + +## {{% heading "whatsnext" %}} + + +* [Menjalanakan Kubernetes secara lokal dengan Minikube](/docs/setup/learning-environment/minikube/) diff --git a/content/ja/docs/tasks/tools/install-minikube.md b/content/ja/docs/tasks/tools/install-minikube.md index 6936a8735d..39b274b948 100644 --- a/content/ja/docs/tasks/tools/install-minikube.md +++ b/content/ja/docs/tasks/tools/install-minikube.md @@ -58,7 +58,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for -# minikubeのインストール +## minikubeのインストール {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -185,13 +185,6 @@ WindowsにMinikubeを手動でインストールするには、[`minikube-window -## {{% heading "whatsnext" %}} - - -* [Minikubeを使ってローカルでKubernetesを実行する](/ja/docs/setup/learning-environment/minikube/) - - - ## ローカル状態のクリーンアップ {#cleanup-local-state} もし以前に Minikubeをインストールしていたら、以下のコマンドを実行します。 @@ -208,3 +201,10 @@ minikubeのローカル状態をクリアする必要があります: ```shell minikube delete ``` + + +## {{% heading "whatsnext" %}} + + +* [Minikubeを使ってローカルでKubernetesを実行する](/ja/docs/setup/learning-environment/minikube/) + diff --git a/content/ko/docs/tasks/tools/install-minikube.md b/content/ko/docs/tasks/tools/install-minikube.md index 56fce69ec2..386d606769 100644 --- a/content/ko/docs/tasks/tools/install-minikube.md +++ b/content/ko/docs/tasks/tools/install-minikube.md @@ -58,7 +58,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for -# minikube 설치하기 +## minikube 설치하기 {{< tabs name="tab_with_md" >}} {{% tab name="리눅스" %}} @@ -201,15 +201,6 @@ Minikube 설치를 마친 후, 현재 CLI 세션을 닫고 재시작한다. Mini {{< /tabs >}} - - -## {{% heading "whatsnext" %}} - - -* [Minikube로 로컬에서 쿠버네티스 실행하기](/docs/setup/minikube/) - - - ## 설치 확인 하이퍼바이저와 Minikube의 성공적인 설치를 확인하려면, 다음 명령어를 실행해서 로컬 쿠버네티스 클러스터를 시작할 수 있다. @@ -261,3 +252,8 @@ machine does not exist ```shell minikube delete ``` + +## {{% heading "whatsnext" %}} + + +* [Minikube로 로컬에서 쿠버네티스 실행하기](/docs/setup/minikube/) diff --git a/content/ru/docs/tasks/tools/install-minikube.md b/content/ru/docs/tasks/tools/install-minikube.md index 13e907501b..7b502d2471 100644 --- a/content/ru/docs/tasks/tools/install-minikube.md +++ b/content/ru/docs/tasks/tools/install-minikube.md @@ -56,7 +56,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for -# Установка minikube +## Установка minikube {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -195,15 +195,6 @@ choco install minikube {{< /tabs >}} - - -## {{% heading "whatsnext" %}} - - -* [Локальный запуск Kubernetes при помощи Minikube](/ru/docs/setup/learning-environment/minikube/) - - - ## Проверка установки Чтобы убедиться в том, что гипервизор и Minikube были установлены корректно, выполните следующую команду, которая запускает локальный кластер Kubernetes: @@ -255,3 +246,9 @@ machine does not exist ```shell minikube delete ``` + + +## {{% heading "whatsnext" %}} + + +* [Локальный запуск Kubernetes при помощи Minikube](/ru/docs/setup/learning-environment/minikube/) diff --git a/content/vi/docs/tasks/tools/install-minikube.md b/content/vi/docs/tasks/tools/install-minikube.md index 27aa441287..398b989c66 100644 --- a/content/vi/docs/tasks/tools/install-minikube.md +++ b/content/vi/docs/tasks/tools/install-minikube.md @@ -58,7 +58,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for -# Cài đặt minikube +## Cài đặt minikube {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -187,13 +187,6 @@ Sau khi Minikube hoàn tất việc cài đặt, hãy đóng CLI hiện tại v -## {{% heading "whatsnext" %}} - - -* [Chạy Kubernetes trên local thông qua Minikube](/docs/setup/learning-environment/minikube/) - - - ## Dọn dẹp local state {#cleanup-local-state} Nếu bạn đã cài Minikube trước đó, và chạy: @@ -210,3 +203,9 @@ thì tiếp theo bạn cần xóa bỏ local state của minikube: ```shell minikube delete ``` + +## {{% heading "whatsnext" %}} + + +* [Chạy Kubernetes trên local thông qua Minikube](/docs/setup/learning-environment/minikube/) + diff --git a/content/zh/docs/tasks/tools/install-minikube.md b/content/zh/docs/tasks/tools/install-minikube.md index 6dba5fd3c6..b5dd10fa35 100644 --- a/content/zh/docs/tasks/tools/install-minikube.md +++ b/content/zh/docs/tasks/tools/install-minikube.md @@ -110,7 +110,7 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for # Installing minikube --> -# 安装 minikube +## 安装 minikube {{< tabs name="tab_with_md" >}} {{% tab name="Linux" %}} @@ -383,18 +383,6 @@ To install Minikube manually on Windows, download [`minikube-windows-amd64`](htt -## {{% heading "whatsnext" %}} - - - - - -* [使用 Minikube 在本地运行 Kubernetes](/docs/setup/learning-environment/minikube/) - - - + +* [使用 Minikube 在本地运行 Kubernetes](/docs/setup/learning-environment/minikube/) + From f7faa9cb15ed36f6b0e21bfd45465d559000962c Mon Sep 17 00:00:00 2001 From: inductor Date: Wed, 10 Jun 2020 08:43:05 +0900 Subject: [PATCH 348/533] Remove unused shortcodes #21612 --- content/ja/_index.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/ja/_index.html b/content/ja/_index.html index e458e11754..7d01d366b7 100644 --- a/content/ja/_index.html +++ b/content/ja/_index.html @@ -3,9 +3,6 @@ title: "プロダクショングレードのコンテナ管理基盤" abstract: "自動化されたコンテナのデプロイ・スケール・管理" cid: home --- -{{< announcement >}} - -{{< deprecationwarning >}} {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} From 1210b91c8822919f6531ee13cc072dc59bbbc59e Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Tue, 9 Jun 2020 20:04:55 -0400 Subject: [PATCH 349/533] reorder config --- config.toml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/config.toml b/config.toml index 4cd636d278..772c160e1f 100644 --- a/config.toml +++ b/config.toml @@ -23,12 +23,16 @@ disableLanguages = ["hi", "no"] [markup] [markup.goldmark] + [markup.goldmark.extensions] + definitionList = true + table = true + typographer = false + [markup.goldmark.parser] + attribute = true + autoHeadingID = true + autoHeadingIDType = "blackfriday" [markup.goldmark.renderer] unsafe = true - [markup.goldmark.extensions] - definitionList = true - table = true - typographer = false [markup.highlight] codeFences = true guessSyntax = false @@ -43,14 +47,6 @@ disableLanguages = ["hi", "no"] endLevel = 2 ordered = false startLevel = 2 - [markup.goldmark.parser] - attribute = true - autoHeadingID = true - autoHeadingIDType = "blackfriday" - [markup.goldmark.extensions] - definitionList = true - table = true - typographer = false [frontmatter] date = ["date", ":filename", "publishDate", "lastmod"] From 87f68710ffd2fe78afc6041512051b8f04bfb5ab Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Tue, 9 Jun 2020 21:01:24 -0400 Subject: [PATCH 350/533] correct tool reference front matter --- .../command-line-tools-reference/cloud-controller-manager.md | 2 +- .../reference/command-line-tools-reference/kube-apiserver.md | 2 +- .../command-line-tools-reference/kube-controller-manager.md | 2 +- .../docs/reference/command-line-tools-reference/kube-proxy.md | 2 +- .../reference/command-line-tools-reference/kube-scheduler.md | 2 +- .../en/docs/reference/command-line-tools-reference/kubelet.md | 2 +- content/en/docs/reference/kubectl/kubectl.md | 2 +- scripts/replace-capture.sh | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md b/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md index 7cafd5ba06..982eb0993e 100644 --- a/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md +++ b/content/en/docs/reference/command-line-tools-reference/cloud-controller-manager.md @@ -1,6 +1,6 @@ --- title: cloud-controller-manager -content_template: templates/tool-reference +content_type: tool-reference weight: 30 --- diff --git a/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md b/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md index 05dbcf4c3c..01cf6a87b8 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md @@ -1,6 +1,6 @@ --- title: kube-apiserver -content_template: templates/tool-reference +content_type: tool-reference weight: 30 --- diff --git a/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md b/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md index f25129d187..75fed787d0 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md @@ -1,6 +1,6 @@ --- title: kube-controller-manager -content_template: templates/tool-reference +content_type: tool-reference weight: 30 --- diff --git a/content/en/docs/reference/command-line-tools-reference/kube-proxy.md b/content/en/docs/reference/command-line-tools-reference/kube-proxy.md index c888f2bfff..535bd81aa6 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-proxy.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-proxy.md @@ -1,6 +1,6 @@ --- title: kube-proxy -content_template: templates/tool-reference +content_type: tool-reference weight: 30 --- diff --git a/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md b/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md index e276535500..d510610140 100644 --- a/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md +++ b/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md @@ -1,6 +1,6 @@ --- title: kube-scheduler -content_template: templates/tool-reference +content_type: tool-reference weight: 30 --- diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet.md b/content/en/docs/reference/command-line-tools-reference/kubelet.md index 28f13458f1..54dc1a84d9 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet.md @@ -1,6 +1,6 @@ --- title: kubelet -content_template: templates/tool-reference +content_type: tool-reference weight: 28 --- diff --git a/content/en/docs/reference/kubectl/kubectl.md b/content/en/docs/reference/kubectl/kubectl.md index f7e9a0f934..f734d32f99 100644 --- a/content/en/docs/reference/kubectl/kubectl.md +++ b/content/en/docs/reference/kubectl/kubectl.md @@ -1,6 +1,6 @@ --- title: kubectl -content_template: templates/tool-reference +content_type: tool-reference weight: 30 --- diff --git a/scripts/replace-capture.sh b/scripts/replace-capture.sh index 6cdde69ec3..231a361ed1 100755 --- a/scripts/replace-capture.sh +++ b/scripts/replace-capture.sh @@ -10,7 +10,7 @@ CONTENT_DIR=${K8S_WEBSITE}/content declare -a DIRS=("concepts" "contribute" "home" "reference" "setup" "tasks" "tutorials") declare -a EMPTY_STMTS=("body" "discussion" "lessoncontent" "overview" "steps") declare -a REPLACE_STMTS=("cleanup" "objectives" "options" "prerequisites" "seealso" "synopsis" "whatsnext") -declare -a CONTENT_TYPES=("concept" "task" "tutorial" "tool_reference") +declare -a CONTENT_TYPES=("concept" "task" "tutorial" "tool-reference") END_CAPTURE="{{% \/capture %}}" CONTENT_TEMPLATE="content_template:" From d5f35e43a757f8578578a45a411b5dd93950a8ca Mon Sep 17 00:00:00 2001 From: akitok Date: Wed, 10 Jun 2020 10:05:46 +0900 Subject: [PATCH 351/533] Fix /ja/docs/contribute/_index.md --- content/ja/docs/contribute/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/contribute/_index.md b/content/ja/docs/contribute/_index.md index 21f5dcf43d..5997551f27 100644 --- a/content/ja/docs/contribute/_index.md +++ b/content/ja/docs/contribute/_index.md @@ -34,7 +34,7 @@ Kubernetesのドキュメントは、GitHubのリポジトリにあります。 - 明快で意味のあるGitコミットメッセージを書いてください。 - PRがマージされたときにissueを参照し、自動的にissueをクローズする_Github Special Keywords_を必ず含めるようにしてください。 -- タイプミスの修正や、スタイルの変更、文法の変更などのような小さな変更をPRに加える場合は、必ず _Github Special Keywords_ を含めるようにしてください。比較的小さな変更のために多くのコミットを得ることがないように、コミットはまとめてください。 +- タイプミスの修正や、スタイルの変更、文法の変更などのような小さな変更をPRに加える場合は、比較的小さな変更のためにコミットの数が増えすぎないように、コミットはまとめてください。 - あなたがコードを変更をした理由を示し、レビュアーがあなたのPRを理解するのに十分な情報を確保した適切なPR説明を、必ず含めるようにしてください。 - 追加文献 : - [chris.beams.io/posts/git-commit/](https://chris.beams.io/posts/git-commit/) From 93b2f3a8d5fd1b8eaa8703fc7852d73059e53b07 Mon Sep 17 00:00:00 2001 From: nishipy <41185206+nishipy@users.noreply.github.com> Date: Wed, 10 Jun 2020 11:19:21 +0900 Subject: [PATCH 352/533] Update content/ja/docs/concepts/services-networking/ingress.md Co-authored-by: inductor(Kohei) --- content/ja/docs/concepts/services-networking/ingress.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/concepts/services-networking/ingress.md b/content/ja/docs/concepts/services-networking/ingress.md index 2742e7aa9b..c37863ce51 100644 --- a/content/ja/docs/concepts/services-networking/ingress.md +++ b/content/ja/docs/concepts/services-networking/ingress.md @@ -71,7 +71,7 @@ spec: ``` 他の全てのKubernetesリソースと同様に、Ingressは`apiVersion`、`kind`や`metadata`フィールドが必要です。Ingressオブジェクトの名前は、有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 -設定ファイルの利用に関する一般的な情報は、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナーの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)、[リソースの管理](/docs/concepts/cluster-administration/manage-deployment/)を参照してください。 +設定ファイルの利用に関する一般的な情報は、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)、[コンテナの設定](/docs/tasks/configure-pod-container/configure-pod-configmap/)、[リソースの管理](/docs/concepts/cluster-administration/manage-deployment/)を参照してください。 Ingressでは、Ingressコントローラーに依存しているいくつかのオプションの設定をするためにアノテーションを使うことが多いです。その例としては、[rewrite-targetアノテーション](https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md)などがあります。 [Ingressコントローラー](/docs/concepts/services-networking/ingress-controllers)の種類が異なれば、サポートするアノテーションも異なります。サポートされているアノテーションについて学ぶために、ユーザーが使用するIngressコントローラーのドキュメントを確認してください。 From bc5741b603d45f17dbc5d2277db21da1dcfbf096 Mon Sep 17 00:00:00 2001 From: huynq0911 Date: Wed, 10 Jun 2020 09:36:20 +0700 Subject: [PATCH 353/533] [VI] Remove announcement and deprecationwarning [VI] Remove announcement and deprecationwarning shortcodes Signed-off-by: Nguyen Quang Huy --- content/vi/_index.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/content/vi/_index.html b/content/vi/_index.html index b8f5baf68d..f782a0fcb2 100644 --- a/content/vi/_index.html +++ b/content/vi/_index.html @@ -3,9 +3,6 @@ title: "Giải pháp điều phối container trong môi trường production" abstract: "Triển khai tự động, nhân rộng và quản lý container" cid: home --- -{{< announcement >}} - -{{< deprecationwarning >}} {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} From 3d2c685abe99ed31c2e3b40c08e276112c1f48da Mon Sep 17 00:00:00 2001 From: Tony Han Date: Wed, 10 Jun 2020 11:16:00 +0800 Subject: [PATCH 354/533] zh: fix cpu in manage-compute-resources-container --- .../configuration/manage-compute-resources-container.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/zh/docs/concepts/configuration/manage-compute-resources-container.md b/content/zh/docs/concepts/configuration/manage-compute-resources-container.md index 8bf3244ed9..d6733e0d51 100644 --- a/content/zh/docs/concepts/configuration/manage-compute-resources-container.md +++ b/content/zh/docs/concepts/configuration/manage-compute-resources-container.md @@ -246,9 +246,9 @@ When using Docker: every 100ms. A container cannot use more than its share of CPU time during this interval. --> -- `spec.containers[].resources.requests.cpu` 的值将转换成 millicore 值,这是个浮点数,并乘以 1024,这个数字中的较大者或 2 用作 `docker run` 命令中的[ `--cpu-shares`](https://docs.docker.com/engine/reference/run/#/cpu-share-constraint) 标志的值。 +- `spec.containers[].resources.requests.cpu` 先被转换为可能是小数的 core 值,再乘以 1024,这个数字和 2 的较大者用作 `docker run` 命令中的[ `--cpu-shares`](https://docs.docker.com/engine/reference/run/#/cpu-share-constraint) 标志的值。 -- `spec.containers[].resources.limits.cpu` 被转换成 millicore 值。被乘以 100000 然后 除以 1000。这个数字用作 `docker run` 命令中的 [`--cpu-quota`](https://docs.docker.com/engine/reference/run/#/cpu-quota-constraint) 标志的值。[`--cpu-quota` ] 标志被设置成了 100000,表示测量配额使用的默认100ms 周期。如果 [`--cpu-cfs-quota`] 标志设置为 true,则 kubelet 会强制执行 cpu 限制。从 Kubernetes 1.2 版本起,此标志默认为 true。 +- `spec.containers[].resources.limits.cpu` 先被转换为 millicore 值,再乘以 100,结果就是每 100ms 内 container 可以使用的 CPU 总时间。在此时间间隔(100ms)内,一个 container 使用的 CPU 时间不会超过它被分配的时间。 {{< note >}} - 默认配额限制为 100 毫秒。 CPU配额的最小单位为 1 毫秒。 + 默认的配额(quota)周期为 100 毫秒。 CPU配额的最小精度为 1 毫秒。 {{}} - -Many cloud providers (e.g. Google Compute Engine) define firewalls that help prevent inadvertent -exposure to the internet. When exposing a service to the external world, you may need to open up -one or more ports in these firewalls to serve traffic. This document describes this process, as -well as any provider specific details that may be necessary. - - - - -## {{% heading "prerequisites" %}} - - -{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} - - - - - -## Restrict Access For LoadBalancer Service - - When using a Service with `spec.type: LoadBalancer`, you can specify the IP ranges that are allowed to access the load balancer - by using `spec.loadBalancerSourceRanges`. This field takes a list of IP CIDR ranges, which Kubernetes will use to configure firewall exceptions. - This feature is currently supported on Google Compute Engine, Google Kubernetes Engine, AWS Elastic Kubernetes Service, Azure Kubernetes Service, and IBM Cloud Kubernetes Service. This field will be ignored if the cloud provider does not support the feature. - - Assuming 10.0.0.0/8 is the internal subnet. In the following example, a load balancer will be created that is only accessible to cluster internal IPs. - This will not allow clients from outside of your Kubernetes cluster to access the load balancer. - -```yaml -apiVersion: v1 -kind: Service -metadata: - name: myapp -spec: - ports: - - port: 8765 - targetPort: 9376 - selector: - app: example - type: LoadBalancer - loadBalancerSourceRanges: - - 10.0.0.0/8 -``` - - In the following example, a load balancer will be created that is only accessible to clients with IP addresses from 130.211.204.1 and 130.211.204.2. - -```yaml -apiVersion: v1 -kind: Service -metadata: - name: myapp -spec: - ports: - - port: 8765 - targetPort: 9376 - selector: - app: example - type: LoadBalancer - loadBalancerSourceRanges: - - 130.211.204.1/32 - - 130.211.204.2/32 -``` - -## Google Compute Engine - -When using a Service with `spec.type: LoadBalancer`, the firewall will be -opened automatically. When using `spec.type: NodePort`, however, the firewall -is *not* opened by default. - -Google Compute Engine firewalls are documented [elsewhere](https://cloud.google.com/compute/docs/networking#firewalls_1). - -You can add a firewall with the `gcloud` command line tool: - -```shell -gcloud compute firewall-rules create my-rule --allow=tcp: -``` - -{{< note >}} -GCE firewalls are defined per-vm, rather than per-ip address. This means that -when you open a firewall for a service's ports, anything that serves on that -port on that VM's host IP address may potentially serve traffic. Note that this -is not a problem for other Kubernetes services, as they listen on IP addresses -that are different than the host node's external IP address. - -Consider: - - * You create a Service with an external load balancer (IP Address 1.2.3.4) - and port 80 - * You open the firewall for port 80 for all nodes in your cluster, so that - the external Service actually can deliver packets to your Service - * You start an nginx server, running on port 80 on the host virtual machine - (IP Address 2.3.4.5). This nginx is also exposed to the internet on - the VM's external IP address. - -Consequently, please be careful when opening firewalls in Google Compute Engine -or Google Kubernetes Engine. You may accidentally be exposing other services to -the wilds of the internet. - -{{< /note >}} - - diff --git a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md index 4da7cdf3d6..7a37fdc20b 100644 --- a/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/en/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -83,7 +83,11 @@ The deploy wizard expects that you provide the following information: A [Deployment](/docs/concepts/workloads/controllers/deployment/) will be created to maintain the desired number of Pods across your cluster. -- **Service** (optional): For some parts of your application (e.g. frontends) you may want to expose a [Service](/docs/concepts/services-networking/service/) onto an external, maybe public IP address outside of your cluster (external Service). For external Services, you may need to open up one or more ports to do so. Find more details [here](/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/). +- **Service** (optional): For some parts of your application (e.g. frontends) you may want to expose a [Service](/docs/concepts/services-networking/service/) onto an external, maybe public IP address outside of your cluster (external Service). + + {{< note >}} + For external Services, you may need to open up one or more ports to do so. + {{< /note >}} Other Services that are only visible from inside the cluster are called internal Services. From 5fe8c3ca5ef0727d315a7dc269a2a6994d0da465 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 4 May 2020 18:56:23 -0400 Subject: [PATCH 368/533] move setup konnectivity svc move api-access to extend-kubernetes --- .../control-plane-node-communication.md | 9 ++++--- .../api-extension/apiserver-aggregation.md | 6 ++--- .../api-extension/custom-resources.md | 16 ++++++------ .../docs/concepts/overview/kubernetes-api.md | 6 ++--- .../docs/contribute/style/write-new-topic.md | 4 +-- .../reference/glossary/aggregation-layer.md | 4 +-- .../glossary/customresourcedefinition.md | 7 +++-- .../docs/reference/using-api/api-overview.md | 2 +- .../docs/setup/best-practices/certificates.md | 4 +-- .../configure-pod-container/configure-gmsa.md | 2 +- .../debug-application-introspection.md | 2 +- .../_index.md | 0 .../configure-aggregation-layer.md | 26 +++++++------------ .../custom-resources/_index.md | 0 .../custom-resource-definition-versioning.md | 0 .../custom-resource-definitions.md | 20 +++++++------- .../http-proxy-access-api.md | 7 ----- .../setup-extension-api-server.md | 23 +++++++--------- .../setup-konnectivity.md | 25 ++++++++---------- .../tasks/run-application/configure-pdb.md | 2 +- .../horizontal-pod-autoscale.md | 2 +- .../docs/tasks/setup-konnectivity/_index.md | 5 ---- static/_redirects | 13 ++++++---- 23 files changed, 82 insertions(+), 103 deletions(-) rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/_index.md (100%) mode change 100755 => 100644 rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/configure-aggregation-layer.md (96%) rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/custom-resources/_index.md (100%) rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/custom-resources/custom-resource-definition-versioning.md (100%) rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/custom-resources/custom-resource-definitions.md (95%) rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/http-proxy-access-api.md (99%) rename content/en/docs/tasks/{access-kubernetes-api => extend-kubernetes}/setup-extension-api-server.md (73%) rename content/en/docs/tasks/{setup-konnectivity => extend-kubernetes}/setup-konnectivity.md (66%) delete mode 100755 content/en/docs/tasks/setup-konnectivity/_index.md diff --git a/content/en/docs/concepts/architecture/control-plane-node-communication.md b/content/en/docs/concepts/architecture/control-plane-node-communication.md index d8d0dd1ea1..925f14d17a 100644 --- a/content/en/docs/concepts/architecture/control-plane-node-communication.md +++ b/content/en/docs/concepts/architecture/control-plane-node-communication.md @@ -31,9 +31,11 @@ The control plane components also communicate with the cluster apiserver over th As a result, the default operating mode for connections from the nodes and pods running on the nodes to the control plane is secured by default and can run over untrusted and/or public networks. ## Control Plane to node + There are two primary communication paths from the control plane (apiserver) to the nodes. The first is from the apiserver to the kubelet process which runs on each node in the cluster. The second is from the apiserver to any node, pod, or service through the apiserver's proxy functionality. ### apiserver to kubelet + The connections from the apiserver to the kubelet are used for: * Fetching logs for pods. @@ -61,9 +63,10 @@ This tunnel ensures that the traffic is not exposed outside of the network in wh SSH tunnels are currently deprecated so you shouldn't opt to use them unless you know what you are doing. The Konnectivity service is a replacement for this communication channel. ### Konnectivity service + {{< feature-state for_k8s_version="v1.18" state="beta" >}} -As a replacement to the SSH tunnels, the Konnectivity service provides TCP level proxy for the control plane to Cluster communication. The Konnectivity consists of two parts, the Konnectivity server and the Konnectivity agents, running in the control plane network and the nodes network respectively. The Konnectivity agents initiate connections to the Konnectivity server and maintain the connections. -All control plane to nodes traffic then goes through these connections. +As a replacement to the SSH tunnels, the Konnectivity service provides TCP level proxy for the control plane to cluster communication. The Konnectivity service consists of two parts: the Konnectivity server and the Konnectivity agents, running in the control plane network and the nodes network respectively. The Konnectivity agents initiate connections to the Konnectivity server and maintain the network connections. +After enabling the Konnectivity service, all control plane to nodes traffic goes through these connections. -See [Konnectivity Service Setup](/docs/tasks/setup-konnectivity/) on how to set it up in your cluster. +Follow the [Konnectivity service task](/docs/tasks/extend-kubernetes/setup-konnectivity/) to set up the Konnectivity service in your cluster. diff --git a/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index 9efee5b311..1f47323301 100644 --- a/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -39,9 +39,9 @@ to disable the timeout restriction. This deprecated feature gate will be removed ## {{% heading "whatsnext" %}} -* To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). -* Then, [setup an extension api-server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) to work with the aggregation layer. -* Also, learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). +* To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/). +* Then, [setup an extension api-server](/docs/tasks/extend-kubernetes/setup-extension-api-server/) to work with the aggregation layer. +* Also, learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/). * Read the specification for [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io) diff --git a/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index ea52f6e44b..f2ca2e2435 100644 --- a/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -128,7 +128,7 @@ Regardless of how they are installed, the new resources are referred to as Custo ## CustomResourceDefinitions -The [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/) +The [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/) API resource allows you to define custom resources. Defining a CRD object creates a new custom resource with a name and schema that you specify. The Kubernetes API serves and handles the storage of your custom resource. @@ -178,17 +178,17 @@ Aggregated APIs offer more advanced API features and customization of other feat | Feature | Description | CRDs | Aggregated API | | ------- | ----------- | ---- | -------------- | -| Validation | Help users prevent errors and allow you to evolve your API independently of your clients. These features are most useful when there are many clients who can't all update at the same time. | Yes. Most validation can be specified in the CRD using [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation). Any other validations supported by addition of a [Validating Webhook](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9). | Yes, arbitrary validation checks | -| Defaulting | See above | Yes, either via [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#defaulting) `default` keyword (GA in 1.17), or via a [Mutating Webhook](/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) (though this will not be run when reading from etcd for old objects). | Yes | -| Multi-versioning | Allows serving the same object through two API versions. Can help ease API changes like renaming fields. Less important if you control your client versions. | [Yes](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning) | Yes | +| Validation | Help users prevent errors and allow you to evolve your API independently of your clients. These features are most useful when there are many clients who can't all update at the same time. | Yes. Most validation can be specified in the CRD using [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/extend-api-custom-resource-definitions/#validation). Any other validations supported by addition of a [Validating Webhook](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9). | Yes, arbitrary validation checks | +| Defaulting | See above | Yes, either via [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#defaulting) `default` keyword (GA in 1.17), or via a [Mutating Webhook](/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) (though this will not be run when reading from etcd for old objects). | Yes | +| Multi-versioning | Allows serving the same object through two API versions. Can help ease API changes like renaming fields. Less important if you control your client versions. | [Yes](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning) | Yes | | Custom Storage | If you need storage with a different performance mode (for example, a time-series database instead of key-value store) or isolation for security (for example, encryption of sensitive information, etc.) | No | Yes | | Custom Business Logic | Perform arbitrary checks or actions when creating, reading, updating or deleting an object | Yes, using [Webhooks](/docs/reference/access-authn-authz/extensible-admission-controllers/#admission-webhooks). | Yes | -| Scale Subresource | Allows systems like HorizontalPodAutoscaler and PodDisruptionBudget interact with your new resource | [Yes](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#scale-subresource) | Yes | -| Status Subresource | Allows fine-grained access control where user writes the spec section and the controller writes the status section. Allows incrementing object Generation on custom resource data mutation (requires separate spec and status sections in the resource) | [Yes](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#status-subresource) | Yes | +| Scale Subresource | Allows systems like HorizontalPodAutoscaler and PodDisruptionBudget interact with your new resource | [Yes](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#scale-subresource) | Yes | +| Status Subresource | Allows fine-grained access control where user writes the spec section and the controller writes the status section. Allows incrementing object Generation on custom resource data mutation (requires separate spec and status sections in the resource) | [Yes](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#status-subresource) | Yes | | Other Subresources | Add operations other than CRUD, such as "logs" or "exec". | No | Yes | | strategic-merge-patch | The new endpoints support PATCH with `Content-Type: application/strategic-merge-patch+json`. Useful for updating objects that may be modified both locally, and by the server. For more information, see ["Update API Objects in Place Using kubectl patch"](/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/) | No | Yes | | Protocol Buffers | The new resource supports clients that want to use Protocol Buffers | No | Yes | -| OpenAPI Schema | Is there an OpenAPI (swagger) schema for the types that can be dynamically fetched from the server? Is the user protected from misspelling field names by ensuring only allowed fields are set? Are types enforced (in other words, don't put an `int` in a `string` field?) | Yes, based on the [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) schema (GA in 1.16). | Yes | +| OpenAPI Schema | Is there an OpenAPI (swagger) schema for the types that can be dynamically fetched from the server? Is the user protected from misspelling field names by ensuring only allowed fields are set? Are types enforced (in other words, don't put an `int` in a `string` field?) | Yes, based on the [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) schema (GA in 1.16). | Yes | ### Common Features @@ -253,6 +253,6 @@ When you add a custom resource, you can access it using: * Learn how to [Extend the Kubernetes API with the aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/). -* Learn how to [Extend the Kubernetes API with CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/). +* Learn how to [Extend the Kubernetes API with CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/). diff --git a/content/en/docs/concepts/overview/kubernetes-api.md b/content/en/docs/concepts/overview/kubernetes-api.md index a82359072f..0721dd9ecd 100644 --- a/content/en/docs/concepts/overview/kubernetes-api.md +++ b/content/en/docs/concepts/overview/kubernetes-api.md @@ -136,10 +136,10 @@ There are several API groups in a cluster: There are two paths to extending the API with [custom resources](/docs/concepts/api-extension/custom-resources/): -1. [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/) +1. [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resource-definitions/) lets you declaratively define how the API server should provide your chosen resource API. -1. You can also [implement your own extension API server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) - and use the [aggregator](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) +1. You can also [implement your own extension API server](/docs/tasks/extend-kubernetes/setup-extension-api-server/) + and use the [aggregator](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) to make it seamless for clients. ## Enabling or disabling API groups diff --git a/content/en/docs/contribute/style/write-new-topic.md b/content/en/docs/contribute/style/write-new-topic.md index f0c972c0fd..8bd4b8fbe2 100644 --- a/content/en/docs/contribute/style/write-new-topic.md +++ b/content/en/docs/contribute/style/write-new-topic.md @@ -37,12 +37,12 @@ consistency among topics of a given type. Choose a title that has the keywords you want search engines to find. Create a filename that uses the words in your title separated by hyphens. For example, the topic with title -[Using an HTTP Proxy to Access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api/) +[Using an HTTP Proxy to Access the Kubernetes API](/docs/tasks/extend-kubernetes/http-proxy-access-api/) has filename `http-proxy-access-api.md`. You don't need to put "kubernetes" in the filename, because "kubernetes" is already in the URL for the topic, for example: - /docs/tasks/access-kubernetes-api/http-proxy-access-api/ + /docs/tasks/extend-kubernetes/http-proxy-access-api/ ## Adding the topic title to the front matter diff --git a/content/en/docs/reference/glossary/aggregation-layer.md b/content/en/docs/reference/glossary/aggregation-layer.md index e5bafd9c06..620460429c 100644 --- a/content/en/docs/reference/glossary/aggregation-layer.md +++ b/content/en/docs/reference/glossary/aggregation-layer.md @@ -14,6 +14,6 @@ tags: --- The aggregation layer lets you install additional Kubernetes-style APIs in your cluster. - + -When you've configured the {{< glossary_tooltip text="Kubernetes API Server" term_id="kube-apiserver" >}} to [support additional APIs](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/), you can add `APIService` objects to "claim" a URL path in the Kubernetes API. +When you've configured the {{< glossary_tooltip text="Kubernetes API Server" term_id="kube-apiserver" >}} to [support additional APIs](/docs/tasks/extend-kubernetes/configure-aggregation-layer/), you can add `APIService` objects to "claim" a URL path in the Kubernetes API. diff --git a/content/en/docs/reference/glossary/customresourcedefinition.md b/content/en/docs/reference/glossary/customresourcedefinition.md index 16f4a69411..9e6ec9c7c5 100755 --- a/content/en/docs/reference/glossary/customresourcedefinition.md +++ b/content/en/docs/reference/glossary/customresourcedefinition.md @@ -2,7 +2,7 @@ title: CustomResourceDefinition id: CustomResourceDefinition date: 2018-04-12 -full_link: /docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/ +full_link: /docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/ short_description: > Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server. @@ -14,7 +14,6 @@ tags: --- Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server. - - -Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can't meet your needs. + +Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can't meet your needs. diff --git a/content/en/docs/reference/using-api/api-overview.md b/content/en/docs/reference/using-api/api-overview.md index cfba8b9f19..25b7d46af9 100644 --- a/content/en/docs/reference/using-api/api-overview.md +++ b/content/en/docs/reference/using-api/api-overview.md @@ -86,7 +86,7 @@ Currently, there are several API groups in use: The two paths that support extending the API with [custom resources](/docs/concepts/api-extension/custom-resources/) are: - - [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/) + - [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/) for basic CRUD needs. - [aggregator](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md) for a full set of Kubernetes API semantics to implement their own apiserver. diff --git a/content/en/docs/setup/best-practices/certificates.md b/content/en/docs/setup/best-practices/certificates.md index ce7939bc4d..a85d44e0f4 100644 --- a/content/en/docs/setup/best-practices/certificates.md +++ b/content/en/docs/setup/best-practices/certificates.md @@ -31,7 +31,7 @@ Kubernetes requires PKI for the following operations: * Client and server certificates for the [front-proxy][proxy] {{< note >}} -`front-proxy` certificates are required only if you run kube-proxy to support [an extension API server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/). +`front-proxy` certificates are required only if you run kube-proxy to support [an extension API server](/docs/tasks/extend-kubernetes/setup-extension-api-server/). {{< /note >}} etcd also implements mutual TLS to authenticate clients and peers. @@ -162,6 +162,6 @@ These files are used as follows: [usage]: https://godoc.org/k8s.io/api/certificates/v1beta1#KeyUsage [kubeadm]: /docs/reference/setup-tools/kubeadm/kubeadm/ -[proxy]: /docs/tasks/access-kubernetes-api/configure-aggregation-layer/ +[proxy]: /docs/tasks/extend-kubernetes/configure-aggregation-layer/ diff --git a/content/en/docs/tasks/configure-pod-container/configure-gmsa.md b/content/en/docs/tasks/configure-pod-container/configure-gmsa.md index 82d3d87498..a2b3f24628 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-gmsa.md +++ b/content/en/docs/tasks/configure-pod-container/configure-gmsa.md @@ -20,7 +20,7 @@ In Kubernetes, GMSA credential specs are configured at a Kubernetes cluster-wide You need to have a Kubernetes cluster and the `kubectl` command-line tool must be configured to communicate with your cluster. The cluster is expected to have Windows worker nodes. This section covers a set of initial steps required once for each cluster: ### Install the GMSACredentialSpec CRD -A [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/)(CRD) for GMSA credential spec resources needs to be configured on the cluster to define the custom resource type `GMSACredentialSpec`. Download the GMSA CRD [YAML](https://github.com/kubernetes-sigs/windows-gmsa/blob/master/admission-webhook/deploy/gmsa-crd.yml) and save it as gmsa-crd.yaml. +A [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/)(CRD) for GMSA credential spec resources needs to be configured on the cluster to define the custom resource type `GMSACredentialSpec`. Download the GMSA CRD [YAML](https://github.com/kubernetes-sigs/windows-gmsa/blob/master/admission-webhook/deploy/gmsa-crd.yml) and save it as gmsa-crd.yaml. Next, install the CRD with `kubectl apply -f gmsa-crd.yaml` ### Install webhooks to validate GMSA users diff --git a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md index e0ce8166b0..730b9fb00c 100644 --- a/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md +++ b/content/en/docs/tasks/debug-application-cluster/debug-application-introspection.md @@ -397,7 +397,7 @@ Learn about additional debugging tools, including: * [Logging](/docs/concepts/cluster-administration/logging/) * [Monitoring](/docs/tasks/debug-application-cluster/resource-usage-monitoring/) * [Getting into containers via `exec`](/docs/tasks/debug-application-cluster/get-shell-running-container/) -* [Connecting to containers via proxies](/docs/tasks/access-kubernetes-api/http-proxy-access-api/) +* [Connecting to containers via proxies](/docs/tasks/extend-kubernetes/http-proxy-access-api/) * [Connecting to containers via port forwarding](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) * [Inspect Kubernetes node with crictl](/docs/tasks/debug-application-cluster/crictl/) diff --git a/content/en/docs/tasks/access-kubernetes-api/_index.md b/content/en/docs/tasks/extend-kubernetes/_index.md old mode 100755 new mode 100644 similarity index 100% rename from content/en/docs/tasks/access-kubernetes-api/_index.md rename to content/en/docs/tasks/extend-kubernetes/_index.md diff --git a/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md b/content/en/docs/tasks/extend-kubernetes/configure-aggregation-layer.md similarity index 96% rename from content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md rename to content/en/docs/tasks/extend-kubernetes/configure-aggregation-layer.md index b6c71d0eee..739a69d45a 100644 --- a/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md +++ b/content/en/docs/tasks/extend-kubernetes/configure-aggregation-layer.md @@ -10,24 +10,19 @@ weight: 10 -Configuring the [aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs. - - +Configuring the [aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs. ## {{% heading "prerequisites" %}} - {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} {{< note >}} -There are a few setup requirements for getting the aggregation layer working in your environment to support mutual TLS auth between the proxy and extension apiservers. Kubernetes and the kube-apiserver have multiple CAs, so make sure that the proxy is signed by the aggregation layer CA and not by something else, like the master CA. +There are a few setup requirements for getting the aggregation layer working in your environment to support mutual TLS auth between the proxy and extension apiservers. Kubernetes and the kube-apiserver have multiple CAs, so make sure that the proxy is signed by the aggregation layer CA and not by something else, like the master CA. +{{< /note >}} {{< caution >}} Reusing the same CA for different client types can negatively impact the cluster's ability to function. For more information, see [CA Reusage and Conflicts](#ca-reusage-and-conflicts). {{< /caution >}} -{{< /note >}} - - @@ -138,7 +133,10 @@ The Kubernetes apiserver connects to the extension apiserver over TLS, authentic The Kubernetes apiserver will use the files indicated by `--proxy-client-*-file` to authenticate to the extension apiserver. In order for the request to be considered valid by a compliant extension apiserver, the following conditions must be met: 1. The connection must be made using a client certificate that is signed by the CA whose certificate is in `--requestheader-client-ca-file`. -2. The connection must be made using a client certificate whose CN is one of those listed in `--requestheader-allowed-names`. **Note:** You can set this option to blank as `--requestheader-allowed-names=""`. This will indicate to an extension apiserver that _any_ CN is acceptable. +2. The connection must be made using a client certificate whose CN is one of those listed in `--requestheader-allowed-names`. + +{{< note >}}You can set this option to blank as `--requestheader-allowed-names=""`. This will indicate to an extension apiserver that _any_ CN is acceptable. +{{< /note >}} When started with these options, the Kubernetes apiserver will: @@ -278,10 +276,6 @@ spec: ## {{% heading "whatsnext" %}} - -* [Setup an extension api-server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) to work with the aggregation layer. -* For a high level overview, see [Extending the Kubernetes API with the aggregation layer](/docs/concepts/api-extension/apiserver-aggregation/). -* Learn how to [Extend the Kubernetes API Using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). - - - +* [Setup an extension api-server](/docs/tasks/extend-kubernetes/setup-extension-api-server/) to work with the aggregation layer. +* For a high level overview, see [Extending the Kubernetes API with the aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/). +* Learn how to [Extend the Kubernetes API Using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/). diff --git a/content/en/docs/tasks/access-kubernetes-api/custom-resources/_index.md b/content/en/docs/tasks/extend-kubernetes/custom-resources/_index.md similarity index 100% rename from content/en/docs/tasks/access-kubernetes-api/custom-resources/_index.md rename to content/en/docs/tasks/extend-kubernetes/custom-resources/_index.md diff --git a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md b/content/en/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning.md similarity index 100% rename from content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning.md rename to content/en/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning.md diff --git a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md b/content/en/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md similarity index 95% rename from content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md rename to content/en/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md index d2b7d76d9b..78b55b58dc 100644 --- a/content/en/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions.md +++ b/content/en/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md @@ -251,11 +251,11 @@ If you later recreate the same CustomResourceDefinition, it will start out empty {{< feature-state state="stable" for_k8s_version="v1.16" >}} -CustomResources traditionally store arbitrary JSON (next to `apiVersion`, `kind` and `metadata`, which is validated by the API server implicitly). With [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) a schema can be specified, which is validated during creation and updates, compare below for details and limits of such a schema. +CustomResources traditionally store arbitrary JSON (next to `apiVersion`, `kind` and `metadata`, which is validated by the API server implicitly). With [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) a schema can be specified, which is validated during creation and updates, compare below for details and limits of such a schema. With `apiextensions.k8s.io/v1` the definition of a structural schema is mandatory for CustomResourceDefinitions, while in `v1beta1` this is still optional. -A structural schema is an [OpenAPI v3.0 validation schema](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) which: +A structural schema is an [OpenAPI v3.0 validation schema](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) which: 1. specifies a non-empty type (via `type` in OpenAPI) for the root, for each specified field of an object node (via `properties` or `additionalProperties` in OpenAPI) and for each item in an array node (via `items` in OpenAPI), with the exception of: * a node with `x-kubernetes-int-or-string: true` @@ -364,15 +364,15 @@ Violations of the structural schema rules are reported in the `NonStructural` co Structural schemas are a requirement for `apiextensions.k8s.io/v1`, and disables the following features for `apiextensions.k8s.io/v1beta1`: -* [Validation Schema Publishing](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#publish-validation-schema-in-openapi-v2) -* [Webhook Conversion](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/#webhook-conversion) +* [Validation Schema Publishing](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#publish-validation-schema-in-openapi-v2) +* [Webhook Conversion](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion) * [Pruning](#preserving-unknown-fields) ### Pruning versus preserving unknown fields {#preserving-unknown-fields} {{< feature-state state="stable" for_k8s_version="v1.16" >}} -CustomResourceDefinitions traditionally store any (possibly validated) JSON as is in etcd. This means that unspecified fields (if there is a [OpenAPI v3.0 validation schema](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) at all) are persisted. This is in contrast to native Kubernetes resources such as a pod where unknown fields are dropped before being persisted to etcd. We call this "pruning" of unknown fields. +CustomResourceDefinitions traditionally store any (possibly validated) JSON as is in etcd. This means that unspecified fields (if there is a [OpenAPI v3.0 validation schema](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) at all) are persisted. This is in contrast to native Kubernetes resources such as a pod where unknown fields are dropped before being persisted to etcd. We call this "pruning" of unknown fields. {{< tabs name="CustomResourceDefinition_pruning" >}} {{% tab name="apiextensions.k8s.io/v1" %}} @@ -427,7 +427,7 @@ spec: The field `someRandomField` has been pruned. -Note that the `kubectl create` call uses `--validate=false` to skip client-side validation. Because the [OpenAPI validation schemas are also published](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#publish-validation-schema-in-openapi-v2) to kubectl, it will also check for unknown fields and reject those objects long before they are sent to the API server. +Note that the `kubectl create` call uses `--validate=false` to skip client-side validation. Because the [OpenAPI validation schemas are also published](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#publish-validation-schema-in-openapi-v2) to kubectl, it will also check for unknown fields and reject those objects long before they are sent to the API server. ### Controlling pruning @@ -533,7 +533,7 @@ allOf: With one of those specification, both an integer and a string validate. -In [Validation Schema Publishing](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#publish-validation-schema-in-openapi-v2), `x-kubernetes-int-or-string: true` is unfolded to one of the two patterns shown above. +In [Validation Schema Publishing](/docs/tasks/extend-kubernetes/custom-resources/extend-api-custom-resource-definitions/#publish-validation-schema-in-openapi-v2), `x-kubernetes-int-or-string: true` is unfolded to one of the two patterns shown above. ### RawExtension @@ -565,7 +565,7 @@ With `x-kubernetes-embedded-resource: true`, the `apiVersion`, `kind` and `metad ## Serving multiple versions of a CRD -See [Custom resource definition versioning](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/) +See [Custom resource definition versioning](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/) for more information about serving multiple versions of your CustomResourceDefinition and migrating your objects from one version to another. @@ -634,7 +634,7 @@ Additionally, the following restrictions are applied to the schema: These fields can only be set with specific features enabled: -- `default`: can be set for `apiextensions.k8s.io/v1` CustomResourceDefinitions. Defaulting is in GA since 1.17 (beta since 1.16 with the `CustomResourceDefaulting` feature gate to be enabled, which is the case automatically for many clusters for beta features). Compare [Validation Schema Defaulting](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#defaulting). +- `default`: can be set for `apiextensions.k8s.io/v1` CustomResourceDefinitions. Defaulting is in GA since 1.17 (beta since 1.16 with the `CustomResourceDefaulting` feature gate to be enabled, which is the case automatically for many clusters for beta features). Compare [Validation Schema Defaulting](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#defaulting). {{< note >}} Compare with [structural schemas](#specifying-a-structural-schema) for further restriction required for certain CustomResourceDefinition features. @@ -1456,6 +1456,6 @@ crontabs/my-new-cron-object 3s * See [CustomResourceDefinition](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#customresourcedefinition-v1-apiextensions-k8s-io). -* Serve [multiple versions](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/) of a +* Serve [multiple versions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/) of a CustomResourceDefinition. diff --git a/content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md b/content/en/docs/tasks/extend-kubernetes/http-proxy-access-api.md similarity index 99% rename from content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md rename to content/en/docs/tasks/extend-kubernetes/http-proxy-access-api.md index 695ed5b6c0..dd80c8c349 100644 --- a/content/en/docs/tasks/access-kubernetes-api/http-proxy-access-api.md +++ b/content/en/docs/tasks/extend-kubernetes/http-proxy-access-api.md @@ -20,8 +20,6 @@ a Hello world application by entering this command: kubectl run node-hello --image=gcr.io/google-samples/node-hello:1.0 --port=8080 ``` - - ## Using kubectl to start a proxy server @@ -82,11 +80,6 @@ The output should look similar to this: ... } - - ## {{% heading "whatsnext" %}} Learn more about [kubectl proxy](/docs/reference/generated/kubectl/kubectl-commands#proxy). - - - diff --git a/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md b/content/en/docs/tasks/extend-kubernetes/setup-extension-api-server.md similarity index 73% rename from content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md rename to content/en/docs/tasks/extend-kubernetes/setup-extension-api-server.md index adf93732d3..626ddcab5c 100644 --- a/content/en/docs/tasks/access-kubernetes-api/setup-extension-api-server.md +++ b/content/en/docs/tasks/extend-kubernetes/setup-extension-api-server.md @@ -1,5 +1,5 @@ --- -title: Setup an Extension API Server +title: Set up an Extension API Server reviewers: - lavalamp - cheftako @@ -10,7 +10,7 @@ weight: 15 -Setting up an extension API server to work the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs. +Setting up an extension API server to work with the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs. @@ -19,7 +19,7 @@ Setting up an extension API server to work the aggregation layer allows the Kube {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -* You must [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) and enable the apiserver flags. +* You must [configure the aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) and enable the apiserver flags. @@ -29,7 +29,7 @@ Setting up an extension API server to work the aggregation layer allows the Kube The following steps describe how to set up an extension-apiserver *at a high level*. These steps apply regardless if you're using YAML configs or using APIs. An attempt is made to specifically identify any differences between the two. For a concrete example of how they can be implemented using YAML configs, you can look at the [sample-apiserver](https://github.com/kubernetes/sample-apiserver/blob/master/README.md) in the Kubernetes repo. -Alternatively, you can use an existing 3rd party solution, such as [apiserver-builder](https://github.com/Kubernetes-incubator/apiserver-builder/blob/master/README.md), which should generate a skeleton and automate all of the following steps for you. +Alternatively, you can use an existing 3rd party solution, such as [apiserver-builder](https://github.com/kubernetes-sigs/apiserver-builder-alpha/blob/master/README.md), which should generate a skeleton and automate all of the following steps for you. 1. Make sure the APIService API is enabled (check `--runtime-config`). It should be on by default, unless it's been deliberately turned off in your cluster. 1. You may need to make an RBAC rule allowing you to add APIService objects, or get your cluster administrator to make one. (Since API extensions affect the entire cluster, it is not recommended to do testing/development/debug of an API extension in a live cluster.) @@ -45,18 +45,13 @@ Alternatively, you can use an existing 3rd party solution, such as [apiserver-bu 1. Create a Kubernetes cluster role binding from the service account in your namespace to the `system:auth-delegator` cluster role to delegate auth decisions to the Kubernetes core API server. 1. Create a Kubernetes role binding from the service account in your namespace to the `extension-apiserver-authentication-reader` role. This allows your extension api-server to access the `extension-apiserver-authentication` configmap. 1. Create a Kubernetes apiservice. The CA cert above should be base64 encoded, stripped of new lines and used as the spec.caBundle in the apiservice. This should not be namespaced. If using the [kube-aggregator API](https://github.com/kubernetes/kube-aggregator/), only pass in the PEM encoded CA bundle because the base 64 encoding is done for you. -1. Use kubectl to get your resource. It should return "No resources found." Which means that everything worked but you currently have no objects of that resource type created yet. - +1. Use kubectl to get your resource. When run, kubectl should return "No resources found.". This message +indicates that everything worked but you currently have no objects of that resource type created. ## {{% heading "whatsnext" %}} -* If you haven't already, [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) and enable the apiserver flags. -* For a high level overview, see [Extending the Kubernetes API with the aggregation layer](/docs/concepts/api-extension/apiserver-aggregation). -* Learn how to [Extend the Kubernetes API Using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). - - - - - +* Walk through the steps to [configure the API aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) and enable the apiserver flags. +* For a high level overview, see [Extending the Kubernetes API with the aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/). +* Learn how to [Extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/). diff --git a/content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md b/content/en/docs/tasks/extend-kubernetes/setup-konnectivity.md similarity index 66% rename from content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md rename to content/en/docs/tasks/extend-kubernetes/setup-konnectivity.md index da91611e17..da9dabb135 100644 --- a/content/en/docs/tasks/setup-konnectivity/setup-konnectivity.md +++ b/content/en/docs/tasks/extend-kubernetes/setup-konnectivity.md @@ -6,36 +6,34 @@ weight: 70 -The Konnectivity service provides TCP level proxy for the Master → Cluster +The Konnectivity service provides a TCP level proxy for the control plane to cluster communication. - - ## {{% heading "prerequisites" %}} - {{< include "task-tutorial-prereqs.md" >}} - - ## Configure the Konnectivity service -First, you need to configure the API Server to use the Konnectivity service -to direct its network traffic to cluster nodes: - -1. Set the `--egress-selector-config-file` flag of the API Server, it is the -path to the API Server egress configuration file. -1. At the path, create a configuration file. For example, +The following steps require an egress configuration, for example: {{< codenew file="admin/konnectivity/egress-selector-configuration.yaml" >}} +You need to configure the API Server to use the Konnectivity service +and direct the network traffic to the cluster nodes: + +1. Create an egress configuration file such as `admin/konnectivity/egress-selector-configuration.yaml`. +1. Set the `--egress-selector-config-file` flag of the API Server to the path of +your API Server egress configuration file. + Next, you need to deploy the Konnectivity server and agents. [kubernetes-sigs/apiserver-network-proxy](https://github.com/kubernetes-sigs/apiserver-network-proxy) is a reference implementation. -Deploy the Konnectivity server on your master node. The provided yaml assumes +Deploy the Konnectivity server on your control plane node. The provided +`konnectivity-server.yaml` manifest assumes that the Kubernetes components are deployed as a {{< glossary_tooltip text="static Pod" term_id="static-pod" >}} in your cluster. If not, you can deploy the Konnectivity server as a DaemonSet. @@ -49,4 +47,3 @@ Then deploy the Konnectivity agents in your cluster: Last, if RBAC is enabled in your cluster, create the relevant RBAC rules: {{< codenew file="admin/konnectivity/konnectivity-rbac.yaml" >}} - diff --git a/content/en/docs/tasks/run-application/configure-pdb.md b/content/en/docs/tasks/run-application/configure-pdb.md index d00ad62e47..8113e07128 100644 --- a/content/en/docs/tasks/run-application/configure-pdb.md +++ b/content/en/docs/tasks/run-application/configure-pdb.md @@ -52,7 +52,7 @@ specified by one of the built-in Kubernetes controllers: In this case, make a note of the controller's `.spec.selector`; the same selector goes into the PDBs `.spec.selector`. -From version 1.15 PDBs support custom controllers where the [scale subresource](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#scale-subresource) is enabled. +From version 1.15 PDBs support custom controllers where the [scale subresource](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#scale-subresource) is enabled. You can also use PDBs with pods which are not controlled by one of the above controllers, or arbitrary groups of pods, but there are some restrictions, diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md index ca6f860528..6dc61f8d4f 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -260,7 +260,7 @@ See [Support for metrics APIs](#support-for-metrics-apis) for the requirements. By default, the HorizontalPodAutoscaler controller retrieves metrics from a series of APIs. In order for it to access these APIs, cluster administrators must ensure that: -* The [API aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/) is enabled. +* The [API aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) is enabled. * The corresponding APIs are registered: diff --git a/content/en/docs/tasks/setup-konnectivity/_index.md b/content/en/docs/tasks/setup-konnectivity/_index.md deleted file mode 100755 index 09f254eba0..0000000000 --- a/content/en/docs/tasks/setup-konnectivity/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Setup Konnectivity Service" -weight: 20 ---- - diff --git a/static/_redirects b/static/_redirects index 500c084c6d..4296183616 100644 --- a/static/_redirects +++ b/static/_redirects @@ -98,7 +98,6 @@ /docs/concepts/configuration/scheduler-perf-tuning/ /docs/concepts/scheduling-eviction/scheduler-perf-tuning/ 301 /docs/concepts/configuration/scheduling-framework/ /docs/concepts/scheduling-eviction/scheduling-framework/ 301 /docs/concepts/configuration/taint-and-toleration/ /docs/concepts/scheduling-eviction/taint-and-toleration/ 301 -/docs/concepts/ecosystem/thirdpartyresource/ /docs/tasks/access-kubernetes-api/extend-api-third-party-resource/ 301 /docs/concepts/jobs/cron-jobs/ /docs/concepts/workloads/controllers/cron-jobs/ 301 /docs/concepts/jobs/run-to-completion-finite-workloads/ /docs/concepts/workloads/controllers/jobs-run-to-completion/ 301 /docs/concepts/nodes/node/ /docs/concepts/architecture/nodes/ 301 @@ -194,9 +193,13 @@ /docs/tasks/access-application-cluster/access-cluster.md /docs/tasks/access-application-cluster/access-cluster/ 301! /docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/ /docs/tasks/access-application-cluster/configure-access-multiple-clusters/ 301 -/docs/tasks/access-kubernetes-api/access-kubernetes-api/http-proxy-access-api/ /docs/tasks/access-kubernetes-api/http-proxy-access-api/ 301 -/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/ /docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ 301 -/docs/tasks/access-kubernetes-api/migrate-third-party-resource/ /docs/tasks/access-kubernetes-api/custom-resources/migrate-third-party-resource/ 301 + +/docs/tasks/access-kubernetes-api/access-kubernetes-api/custom-resources/custom-resource-definitions/ /docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/ 301 +/docs/tasks/access-kubernetes-api/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/ /docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/ 301 +/docs/tasks/access-kubernetes-api/access-kubernetes-api/http-proxy-access-api/ /docs/tasks/extend-kubernetes/http-proxy-access-api/ 301 +/docs/tasks/access-kubernetes-api/configure-aggregation-layer/ /docs/tasks/extend-kubernetes/configure-aggregation-layer/ 301 +/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/ /docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/ 301 +/docs/tasks/access-kubernetes-api/setup-extension-api-server/ /docs/tasks/extend-kubernetes/setup-extension-api-server/ 301 /docs/tasks/administer-cluster/apply-resource-quota-limit/ /docs/tasks/administer-cluster/quota-api-object/ 301 /docs/tasks/administer-cluster/assign-pods-nodes/ /docs/tasks/configure-pod-container/assign-pods-nodes/ 301 @@ -253,6 +256,7 @@ /docs/tasks/configure-pod-container/weave-network-policy/ /docs/tasks/administer-cluster/weave-network-policy/ 301 /docs/tasks/debug-application-cluster/sematext-logging-monitoring/ https://sematext.com/kubernetes/ 301 /docs/tasks/job/work-queue-1/ /docs/concepts/workloads/controllers/jobs-run-to-completion/ 301 +/docs/tasks/setup-konnectivity/setup-konnectivity/ /docs/tasks/extend-kubernetes/setup-konnectivity/ 301 /docs/tasks/kubectl/get-shell-running-container/ /docs/tasks/debug-application-cluster/get-shell-running-container/ 301 /docs/tasks/kubectl/install/ /docs/tasks/tools/install-kubectl/ 301 /docs/tasks/kubectl/list-all-running-container-images/ /docs/tasks/access-application-cluster/list-all-running-container-images/ 301 @@ -404,7 +408,6 @@ /docs/user-guide/sharing-clusters/ /docs/tasks/administer-cluster/share-configuration/ 301 /docs/user-guide/simple-nginx/ /docs/tasks/run-application/run-stateless-application-deployment/ 301 /docs/user-guide/StatefulSet/ /docs/concepts/workloads/controllers/statefulset/ 301 -/docs/user-guide/thirdpartyresources/ /docs/tasks/access-kubernetes-api/extend-api-third-party-resource/ 301 /docs/user-guide/ui/ /docs/tasks/access-application-cluster/web-ui-dashboard/ 301 /docs/user-guide/ui-access/ /docs/tasks/access-application-cluster/web-ui-dashboard/ 301 /docs/user-guide/update-dem/ /docs/tasks/run-application/rolling-update-replication-controller/ 301 From b328c19213b55242fcb2b167a319fd4ed94ea31a Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Wed, 27 May 2020 11:06:05 -0400 Subject: [PATCH 369/533] more cleanup of _redirects --- static/_redirects | 5 ----- 1 file changed, 5 deletions(-) diff --git a/static/_redirects b/static/_redirects index 4296183616..cb60ef7bcd 100644 --- a/static/_redirects +++ b/static/_redirects @@ -142,7 +142,6 @@ /docs/contribute/start/ /docs/contribute/ 301 /docs/contribute/intermediate/ /docs/contribute/ 301 - /docs/deprecate/ /docs/reference/using-api/deprecation-policy/ 301 /docs/deprecated/ /docs/reference/using-api/deprecation-policy/ 301 /docs/deprecation-policy/ /docs/reference/using-api/deprecation-policy/ 301 @@ -218,9 +217,6 @@ /docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-ha-1-13 /docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ 301 /docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-14 /docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ 301 /docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-15 /docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ 301 -#/docs/tasks/administer-cluster/kubeadm-upgrade-1-7/ /docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-7/ 301 -#/docs/tasks/administer-cluster/kubeadm-upgrade-1-8/ /docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-8/ 301 -#/docs/tasks/administer-cluster/kubeadm-upgrade-1-9/ /docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-1-9/ 301 /docs/tasks/administer-cluster/kubeadm-upgrade-ha/ /docs/tasks/administer-cluster/upgrade-downgrade/kubeadm-upgrade-ha/ 301 /docs/tasks/administer-cluster/kube-router-network-policy/ /docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy/ 301 /docs/tasks/administer-cluster/memory-constraint-namespace/ /docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/ 301 @@ -234,7 +230,6 @@ /docs/tasks/administer-cluster/running-cloud-controller.md /docs/tasks/administer-cluster/running-cloud-controller/ 301 /docs/tasks/administer-cluster/share-configuration/ /docs/tasks/access-application-cluster/configure-access-multiple-clusters/ 301 /docs/tasks/administer-cluster/static-pod/ /docs/tasks/configure-pod-container/static-pod/ 301 -#/docs/tasks/administer-cluster/upgrade-1-6/ /docs/tasks/administer-cluster/upgrade-downgrade/upgrade-1-6/ 301 /docs/tasks/administer-cluster/weave-network-policy/ /docs/tasks/administer-cluster/network-policy-provider/weave-network-policy/ 301 /docs/tasks/configure-pod-container/apply-resource-quota-limit/ /docs/tasks/administer-cluster/apply-resource-quota-limit/ 301 /docs/tasks/configure-pod-container/assign-cpu-ram-container/ /docs/tasks/configure-pod-container/assign-memory-resource/ 301 From 0bf1b10411bfc6a6305ae4aaf073103cbb9ccab6 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Wed, 10 Jun 2020 15:59:27 -0400 Subject: [PATCH 370/533] fix link, edit content --- .../contribute/style/page-content-types.md | 60 ++++++++++--------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/content/en/docs/contribute/style/page-content-types.md b/content/en/docs/contribute/style/page-content-types.md index e4ee461dc7..a14c74cebf 100644 --- a/content/en/docs/contribute/style/page-content-types.md +++ b/content/en/docs/contribute/style/page-content-types.md @@ -16,35 +16,39 @@ The Kubernetes documentation follows several types of page content: - Tutorial - Reference -Content pages contain HTML headings that create structure on the page. - ## Content sections -Each page content type contains a number of sections. -Most of the main sections are outlined in the page using Markdown comments. -This page structure helps to maintain the different content types. +Each page content type contains a number of sections declared as +Markdown comments and HTML headings. HTML section headings render using the +`heading` shortcode. This page structure helps to maintain the different content types. -For example, +Examples of Markdown comments defining page content sections: -``` +```markdown ``` -``` +```markdown ``` -To create localized headings for common headings, use the `heading` shortcode -in your content pages. Common localized headings are: +To create common headings in your content pages, use the `heading` shortcode with +a heading string. + +Examples of heading strings: - whatsnext - prerequisites - objectives - cleanup +- synopsis +- seealso +- options -To create a localized `whatsnext` heading on a page, you can add to your page: +To create a `whatsnext` heading, add the heading shortcode +to your page as follows: ```none ## {{%/* heading "whatsnext" */%}} @@ -54,29 +58,29 @@ The `whatsnext` heading displays as: ## {{% heading "whatsnext" %}} - -To create a localized `prerequisites` heading on a page, you can add to your page: +You can declare a `prerequisites` heading as: ```none ## {{%/* heading "prerequisites" */%}} ``` -The `prerequisites heading displays as: +The `prerequisites` heading displays as: ## {{% heading "prerequisites" %}} +The `heading` shortcode takes one string parameter. The string matches the prefix +of a variable in the `i18n/.toml` files. -The `heading` shortcode takes one parameter. -The string should match the prefix of a variable in the localized file, such `i18n/en.toml`: +`i18n/en.toml`: -``` +```toml [whatsnext_heading] other = "What's next" ``` -Another localized file, such as `i18n/ko.toml`: +`i18n/ko.toml`: -``` +```toml [whatsnext_heading] other = "다음 내용" ``` @@ -100,8 +104,8 @@ Concept pages are divided into three sections: | body | | whatsnext | - Fill each section with content. Follow these guidelines: + - Organize content with H2 and H3 headings. - For `overview`, set the topic's context with a single paragraph. - For `body`, explain the concept. @@ -109,7 +113,7 @@ Fill each section with content. Follow these guidelines: [Annotations](/docs/concepts/overview/working-with-objects/annotations/) is a published example of a concept page. -## Task +## Task A task page shows how to do a single thing, typically by giving a short sequence of steps. Task pages have minimal explanation, but often provide links @@ -127,6 +131,7 @@ To write a new task page, create a Markdown file in a subdirectory of the | whatsnext | Within each section, write your content. Use the following guidelines: + - Use a minimum of H2 headings (with two leading `#` characters). The sections themselves are titled automatically by the template. - For `overview`, use a paragraph to set context for the entire topic. @@ -138,7 +143,7 @@ Within each section, write your content. Use the following guidelines: - For `whatsnext`, give a bullet list of up to 5 topics the reader might be interested in reading next. -An example of a published task topic is [Using an HTTP proxy to access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api). +An example of a published task topic is [Using an HTTP proxy to access the Kubernetes API](/docs/tasks/extend-kubernetes/http-proxy-access-api/). ## Tutorial @@ -162,6 +167,7 @@ To write a new tutorial page, create a Markdown file in a subdirectory of the | whatsnext | Within each section, write your content. Use the following guidelines: + - Use a minimum of H2 headings (with two leading `#` characters). The sections themselves are titled automatically by the template. - For `overview`, use a paragraph to set context for the entire topic. @@ -180,10 +186,11 @@ An example of a published tutorial topic is ## Reference -A component tool reference page shows the `--help` output for a Kubernetes component tool. -Each page output depends upon the component tool's source code in `kubernetes/kubernetes`. +A component tool reference page shows the description and flag options output for +a Kubernetes component tool. Each page output depends upon the component tool's source +code in `kubernetes/kubernetes`. -Typically a tool reference page has several sections: +A tool reference page has several possible sections: | Page section | |------------------------------| @@ -191,10 +198,9 @@ Typically a tool reference page has several sections: | options | | options from parent commands | | examples | -| body | | seealso | -An example of a published tool reference topic is: +Examples of published tool reference pages are: - [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) - [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) From 6820d60f046d56db4d31022ab4bcfdb4113e3c1a Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Thu, 4 Jun 2020 15:39:31 -0400 Subject: [PATCH 371/533] fixup security overview --- content/en/docs/concepts/security/overview.md | 161 ++++++++---------- 1 file changed, 75 insertions(+), 86 deletions(-) diff --git a/content/en/docs/concepts/security/overview.md b/content/en/docs/concepts/security/overview.md index ed3ba48eb4..98776c7199 100644 --- a/content/en/docs/concepts/security/overview.md +++ b/content/en/docs/concepts/security/overview.md @@ -3,59 +3,53 @@ reviewers: - zparnold title: Overview of Cloud Native Security content_type: concept -weight: 1 +weight: 10 --- -{{< toc >}} - -Kubernetes Security (and security in general) is an immense topic that has many -highly interrelated parts. In today's era where open source software is -integrated into many of the systems that help web applications run, -there are some overarching concepts that can help guide your intuition about how you can -think about security holistically. This guide will define a mental model -for some general concepts surrounding Cloud Native Security. The mental model is completely arbitrary -and you should only use it if it helps you think about where to secure your software -stack. +This overview defines a model for thinking about Kubernetes security in the context of Cloud Native security. + +{{< warning >}} +This container security model provides suggestions, not proven information security policies. +{{< /warning >}} -## The 4C's of Cloud Native Security -Let's start with a diagram that may help you understand how you can think about security in layers. +## The 4C's of Cloud Native security + +You can think about security in layers. The 4C's of Cloud Native security are Cloud, +Clusters, Containers, and Code. + {{< note >}} This layered approach augments the [defense in depth](https://en.wikipedia.org/wiki/Defense_in_depth_(computing)) -approach to security, which is widely regarded as a best practice for securing -software systems. The 4C's are Cloud, Clusters, Containers, and Code. +computing approach to security, which is widely regarded as a best practice for securing +software systems. {{< /note >}} {{< figure src="/images/docs/4c.png" title="The 4C's of Cloud Native Security" >}} - -As you can see from the above figure, -each one of the 4C's depend on the security of the squares in which they fit. It -is nearly impossibly to safeguard against poor security standards in Cloud, Containers, and Code -by only addressing security at the code level. However, when these areas are dealt -with appropriately, then adding security to your code augments an already strong -base. These areas of concern will now be described in more detail below. +Each layer of the Cloud Native security model builds upon the next outermost layer. +The Code layer benefits from strong base (Cloud, Cluster, Container) security layers. +You cannot safeguard against poor security standards in the base layers by addressing +security at the Code level. ## Cloud In many ways, the Cloud (or co-located servers, or the corporate datacenter) is the [trusted computing base](https://en.wikipedia.org/wiki/Trusted_computing_base) -of a Kubernetes cluster. If these components themselves are vulnerable (or -configured in a vulnerable way) then there's no real way to guarantee the security -of any components built on top of this base. Each cloud provider has extensive -security recommendations they make to their customers on how to run workloads securely -in their environment. It is out of the scope of this guide to give recommendations -on cloud security since every cloud provider and workload is different. Here are some -links to some of the popular cloud providers' documentation -for security as well as give general guidance for securing the infrastructure that -makes up a Kubernetes cluster. +of a Kubernetes cluster. If the Cloud layer is vulnerable (or +configured in a vulnerable way) then there is no guarantee that the components built +on top of this base are secure. Each cloud provider makes security recommendations +for running workloads securely in their environment. -### Cloud Provider Security Table +### Cloud provider security +If you are running a Kubernetes cluster on your own hardware or a different cloud provider, +consult your documentation for security best practices. +Here are links to some of the popular cloud providers' security documentation: +{{< table caption="Cloud provider security" >}} IaaS Provider | Link | -------------------- | ------------ | @@ -66,46 +60,48 @@ IBM Cloud | https://www.ibm.com/cloud/security | Microsoft Azure | https://docs.microsoft.com/en-us/azure/security/azure-security | VMWare VSphere | https://www.vmware.com/security/hardening-guides.html | +{{< /table >}} -If you are running on your own hardware or a different cloud provider you will need to -consult your documentation for security best practices. +### Infrastructure security {#infrastructure-security} -### General Infrastructure Guidance Table +Suggestions for securing your infrastructure in a Kubernetes cluster: + +{{< table caption="Infrastructure security" >}} Area of Concern for Kubernetes Infrastructure | Recommendation | ---------------------------------------------- | ------------ | -Network access to API Server (Masters) | Ideally all access to the Kubernetes Masters is not allowed publicly on the internet and is controlled by network access control lists restricted to the set of IP addresses needed to administer the cluster.| -Network access to Nodes (Worker Servers) | Nodes should be configured to _only_ accept connections (via network access control lists) from the masters on the specified ports, and accept connections for services in Kubernetes of type NodePort and LoadBalancer. If possible, these nodes should not be exposed on the public internet entirely. -Kubernetes access to Cloud Provider API | Each cloud provider will need to grant a different set of permissions to the Kubernetes Masters and Nodes, so this recommendation will be more generic. It is best to provide the cluster with cloud provider access that follows the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) for the resources it needs to administer. An example for Kops in AWS can be found here: https://github.com/kubernetes/kops/blob/master/docs/iam_roles.md#iam-roles -Access to etcd | Access to etcd (the datastore of Kubernetes) should be limited to the masters only. Depending on your configuration, you should also attempt to use etcd over TLS. More info can be found here: https://github.com/etcd-io/etcd/tree/master/Documentation#security +--------------------------------------------- | -------------- | +Network access to API Server (Control plane) | All access to the Kubernetes control plane is not allowed publicly on the internet and is controlled by network access control lists restricted to the set of IP addresses needed to administer the cluster.| +Network access to Nodes (nodes) | Nodes should be configured to _only_ accept connections (via network access control lists)from the control plane on the specified ports, and accept connections for services in Kubernetes of type NodePort and LoadBalancer. If possible, these nodes should not be exposed on the public internet entirely. +Kubernetes access to Cloud Provider API | Each cloud provider needs to grant a different set of permissions to the Kubernetes control plane and nodes. It is best to provide the cluster with cloud provider access that follows the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) for the resources it needs to administer. The [Kops documentation](https://github.com/kubernetes/kops/blob/master/docs/iam_roles.md#iam-roles) provides information about IAM policies and roles. +Access to etcd | Access to etcd (the datastore of Kubernetes) should be limited to the control plane only. Depending on your configuration, you should attempt to use etcd over TLS. More information can be found in the [etcd documentation](https://github.com/etcd-io/etcd/tree/master/Documentation). etcd Encryption | Wherever possible it's a good practice to encrypt all drives at rest, but since etcd holds the state of the entire cluster (including Secrets) its disk should especially be encrypted at rest. +{{< /table >}} + ## Cluster -This section will provide links for securing -workloads in Kubernetes. There are two areas of concern for securing -Kubernetes: +There are two areas of concern for securing Kubernetes: -* Securing the components that are configurable which make up the cluster -* Securing the components which run in the cluster +* Securing the cluster components that are configurable +* Securing the applications which run in the cluster +### Components of the Cluster {#cluster-components} -### Components _of_ the Cluster - -If you want to protect your cluster from accidental or malicious access, and adopt +If you want to protect your cluster from accidental or malicious access and adopt good information practices, read and follow the advice about [securing your cluster](/docs/tasks/administer-cluster/securing-a-cluster/). -### Components _in_ the Cluster (your application) +### Components in the cluster (your application) {#cluster-applications} + Depending on the attack surface of your application, you may want to focus on specific -aspects of security. For example, if you are running a service (Service A) that is critical +aspects of security. For example: If you are running a service (Service A) that is critical in a chain of other resources and a separate workload (Service B) which is -vulnerable to a resource exhaustion attack, by not putting resource limits on -Service B you run the risk of also compromising Service A. Below is a table of -links of things to consider when securing workloads running in Kubernetes. +vulnerable to a resource exhaustion attack then the risk of compromising Service A +is high if you do not limit the resources of Service B. The following table lists +areas of security concerns and recommendations for securing workloads running in Kubernetes: Area of Concern for Workload Security | Recommendation | ------------------------------- | ------------ | +------------------------------ | --------------------- | RBAC Authorization (Access to the Kubernetes API) | https://kubernetes.io/docs/reference/access-authn-authz/rbac/ Authentication | https://kubernetes.io/docs/reference/access-authn-authz/controlling-access/ Application secrets management (and encrypting them in etcd at rest) | https://kubernetes.io/docs/concepts/configuration/secret/
    https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/ @@ -114,52 +110,45 @@ Quality of Service (and Cluster resource management) | https://kubernetes.io/doc Network Policies | https://kubernetes.io/docs/concepts/services-networking/network-policies/ TLS For Kubernetes Ingress | https://kubernetes.io/docs/concepts/services-networking/ingress/#tls - - ## Container -In order to run software in Kubernetes, it must be in a container. Because of this, -there are certain security considerations that must be taken into account in order -to benefit from the workload security primitives of Kubernetes. Container security -is also outside the scope of this guide, but here is a table of general -recommendations and links for further exploration of this topic. +Container security is outside the scope of this guide. Here are general recommendations and +links to explore this topic: Area of Concern for Containers | Recommendation | ------------------------------- | ------------ | -Container Vulnerability Scanning and OS Dependency Security | As part of an image build step or on a regular basis you should scan your containers for known vulnerabilities with a tool such as [CoreOS's Clair](https://github.com/coreos/clair/) -Image Signing and Enforcement | Two other CNCF Projects (TUF and Notary) are useful tools for signing container images and maintaining a system of trust for the content of your containers. If you use Docker, it is built in to the Docker Engine as [Docker Content Trust](https://docs.docker.com/engine/security/trust/content_trust/). On the enforcement piece, [IBM's Portieris](https://github.com/IBM/portieris) project is a tool that runs as a Kubernetes Dynamic Admission Controller to ensure that images are properly signed via Notary before being admitted to the Cluster. +------------------------------ | -------------- | +Container Vulnerability Scanning and OS Dependency Security | As part of an image build step, you should scan your containers for known vulnerabilities. +Image Signing and Enforcement | Sign container images to maintain a system of trust for the content of your containers. Disallow privileged users | When constructing containers, consult your documentation for how to create users inside of the containers that have the least level of operating system privilege necessary in order to carry out the goal of the container. ## Code -Finally moving down into the application code level, this is one of the primary attack -surfaces over which you have the most control. This is also outside of the scope -of Kubernetes but here are a few recommendations: +Application code is one of the primary attack surfaces over which you have the most control. +While securing application code is outside of the Kubernetes security topic, here +are recommendations to protect application code: -### General Code Security Guidance Table +### Code security + +{{< table caption="Code security" >}} Area of Concern for Code | Recommendation | ---------------------------------------------- | ------------ | -Access over TLS only | If your code needs to communicate via TCP, ideally it would be performing a TLS handshake with the client ahead of time. With the exception of a few cases, the default behavior should be to encrypt everything in transit. Going one step further, even "behind the firewall" in our VPC's it's still a good idea to encrypt network traffic between services. This can be done through a process known as mutual or [mTLS](https://en.wikipedia.org/wiki/Mutual_authentication) which performs a two sided verification of communication between two certificate holding services. There are numerous tools that can be used to accomplish this in Kubernetes such as [Linkerd](https://linkerd.io/) and [Istio](https://istio.io/). | +-------------------------| -------------- | +Access over TLS only | If your code needs to communicate by TCP, perform a TLS handshake with the client ahead of time. With the exception of a few cases, encrypt everything in transit. Going one step further, it's a good idea to encrypt network traffic between services. This can be done through a process known as mutual or [mTLS](https://en.wikipedia.org/wiki/Mutual_authentication) which performs a two sided verification of communication between two certificate holding services. | Limiting port ranges of communication | This recommendation may be a bit self-explanatory, but wherever possible you should only expose the ports on your service that are absolutely essential for communication or metric gathering. | -3rd Party Dependency Security | Since our applications tend to have dependencies outside of our own codebases, it is a good practice to regularly scan the code's dependencies to ensure that they are still secure with no vulnerabilities currently filed against them. Each language has a tool for performing this check automatically. | -Static Code Analysis | Most languages provide a way for a snippet of code to be analyzed for any potentially unsafe coding practices. Whenever possible you should perform checks using automated tooling that can scan codebases for common security errors. Some of the tools can be found here: https://owasp.org/www-community/Source_Code_Analysis_Tools | -Dynamic probing attacks | There are a few automated tools that are able to be run against your service to try some of the well known attacks that commonly befall services. These include SQL injection, CSRF, and XSS. One of the most popular dynamic analysis tools is the OWASP Zed Attack proxy https://owasp.org/www-project-zap/ | - - -## Robust automation - -Most of the above mentioned suggestions can actually be automated in your code -delivery pipeline as part of a series of checks in security. To learn about a -more "Continuous Hacking" approach to software delivery, [this article](https://thenewstack.io/beyond-ci-cd-how-continuous-hacking-of-docker-containers-and-pipeline-driven-security-keeps-ygrene-secure/) provides more detail. +3rd Party Dependency Security | It is a good practice to regularly scan your application's third party libraries for known security vulnerabilities. Each programming language has a tool for performing this check automatically. | +Static Code Analysis | Most languages provide a way for a snippet of code to be analyzed for any potentially unsafe coding practices. Whenever possible you should perform checks using automated tooling that can scan codebases for common security errors. Some of the tools can be found at: https://owasp.org/www-community/Source_Code_Analysis_Tools | +Dynamic probing attacks | There are a few automated tools that you can run against your service to try some of the well known service attacks. These include SQL injection, CSRF, and XSS. One of the most popular dynamic analysis tools is the [OWASP Zed Attack proxy](https://owasp.org/www-project-zap/) tool. | +{{< /table >}} ## {{% heading "whatsnext" %}} -* Read about [network policies for Pods](/docs/concepts/services-networking/network-policies/) -* Read about [securing your cluster](/docs/tasks/administer-cluster/securing-a-cluster/) -* Read about [API access control](/docs/reference/access-authn-authz/controlling-access/) -* Read about [data encryption in transit](/docs/tasks/tls/managing-tls-in-a-cluster/) for the control plane -* Read about [data encryption at rest](/docs/tasks/administer-cluster/encrypt-data/) -* Read about [Secrets in Kubernetes](/docs/concepts/configuration/secret/) +Learn about related Kubernetes security topics: +* [Pod security standards](/docs/concepts/security/pod-security-standards/) +* [Network policies for Pods](/docs/concepts/services-networking/network-policies/) +* [Securing your cluster](/docs/tasks/administer-cluster/securing-a-cluster/) +* [API access control](/docs/reference/access-authn-authz/controlling-access/) +* [Data encryption in transit](/docs/tasks/tls/managing-tls-in-a-cluster/) for the control plane +* [Data encryption at rest](/docs/tasks/administer-cluster/encrypt-data/) +* [Secrets in Kubernetes](/docs/concepts/configuration/secret/) From 32591fddab06f6d42f40a60e362b6afe85e39bd1 Mon Sep 17 00:00:00 2001 From: inductor Date: Thu, 11 Jun 2020 08:45:46 +0900 Subject: [PATCH 372/533] transalte partners --- content/ja/partners/_index.html | 91 +++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 content/ja/partners/_index.html diff --git a/content/ja/partners/_index.html b/content/ja/partners/_index.html new file mode 100644 index 0000000000..e22220e340 --- /dev/null +++ b/content/ja/partners/_index.html @@ -0,0 +1,91 @@ +--- +title: パートナー +bigheader: Kubernetesパートナー +abstract: Kubernetesエコシステムの成長を支えるパートナー +class: gridPage +cid: partners +--- + +
    +
    +
    Kubernetesはパートナーと協力して、さまざまなプラットフォームをサポートする強力で活気のあるコードベースを作り上げています。
    +
    +
    +
    +
    + Kubernetes認定サービスプロバイダー(Kubernetes Certified Service Providers, KCSP) +
    +
    企業のKubernetes導入を支援してきた豊富な経験を持つ、熟練のサービスプロバイダーです。 +


    + +

    Interested in becoming a KCSP? +
    +
    +
    +
    +
    + 認定Kubernetesディストリビューション、マネージド環境、およびインストーラー +
    ソフトウェアの適合性により、すべてのベンダーのバージョンのKubernetesが必要なAPIを確実にサポートします。 +


    + +

    Interested in becoming Kubernetes Certified? +
    +
    +
    +
    +
    Kubernetesトレーニングパートナー(Kubernetes Training Partners, KTP)
    +
    クラウドネイティブな技術のトレーニングに長けた、熟練のトレーニングプロバイダーです。 +



    + +

    Interested in becoming a KTP? +
    +
    +
    + + + +
    + + +
    + +
    +
    + + + + From 350059fc9d5c8ac657810459ec53ea13764b7dc9 Mon Sep 17 00:00:00 2001 From: inductor Date: Thu, 11 Jun 2020 08:48:01 +0900 Subject: [PATCH 373/533] Translate partners --- content/ja/partners/_index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/partners/_index.html b/content/ja/partners/_index.html index e22220e340..c94bbc333d 100644 --- a/content/ja/partners/_index.html +++ b/content/ja/partners/_index.html @@ -18,7 +18,7 @@ cid: partners
    企業のKubernetes導入を支援してきた豊富な経験を持つ、熟練のサービスプロバイダーです。


    -

    Interested in becoming a KCSP? +

    KCSPに興味がありますか?
    @@ -28,7 +28,7 @@ cid: partners ソフトウェアの適合性により、すべてのベンダーのバージョンのKubernetesが必要なAPIを確実にサポートします。


    -

    Interested in becoming Kubernetes Certified? +

    Kubernetes Certifiedに興味がありますか??
    @@ -37,7 +37,7 @@ cid: partners
    クラウドネイティブな技術のトレーニングに長けた、熟練のトレーニングプロバイダーです。



    -

    Interested in becoming a KTP? +

    KTPに興味がありますか??
    From 27f44d7010f4b2c558d843d4fddd6be1d8779706 Mon Sep 17 00:00:00 2001 From: jqmichael Date: Tue, 19 May 2020 09:58:44 -0700 Subject: [PATCH 374/533] Added comments to RequestedToCapacityRatio formula --- .../configuration/resource-bin-packing.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/en/docs/concepts/configuration/resource-bin-packing.md b/content/en/docs/concepts/configuration/resource-bin-packing.md index 0d475791ce..321b30b647 100644 --- a/content/en/docs/concepts/configuration/resource-bin-packing.md +++ b/content/en/docs/concepts/configuration/resource-bin-packing.md @@ -132,23 +132,23 @@ CPU: 1 Node Score: intel.com/foo = resourceScoringFunction((2+1),4) - = (100 - ((4-3)*100/4) - = (100 - 25) - = 75 - = rawScoringFunction(75) - = 7 + = (100 - ((4-3)*100/4) + = (100 - 25) + = 75 # requested + used = 75% * available + = rawScoringFunction(75) + = 7 # floor(75/10) Memory = resourceScoringFunction((256+256),1024) = (100 -((1024-512)*100/1024)) - = 50 + = 50 # requested + used = 50% * available = rawScoringFunction(50) - = 5 + = 5 # floor(50/10) CPU = resourceScoringFunction((2+1),8) = (100 -((8-3)*100/8)) - = 37.5 + = 37.5 # requested + used = 37.5% * available = rawScoringFunction(37.5) - = 3 + = 3 # floor(37.5/10) NodeScore = (7 * 5) + (5 * 1) + (3 * 3) / (5 + 1 + 3) = 5 From f4dfc3f08419914df009016421862907b0896344 Mon Sep 17 00:00:00 2001 From: Qing Ju Date: Wed, 10 Jun 2020 16:57:11 -0700 Subject: [PATCH 375/533] Clarified LimitRange is enabled by default --- content/en/docs/concepts/policy/limit-range.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/en/docs/concepts/policy/limit-range.md b/content/en/docs/concepts/policy/limit-range.md index 8bea6c88e7..7c97af88ad 100644 --- a/content/en/docs/concepts/policy/limit-range.md +++ b/content/en/docs/concepts/policy/limit-range.md @@ -26,9 +26,7 @@ A _LimitRange_ provides constraints that can: ## Enabling LimitRange -LimitRange support is enabled by default for many Kubernetes distributions. It is -enabled when the apiserver `--enable-admission-plugins=` flag has `LimitRanger` admission controller as -one of its arguments. +LimitRange support has been enabled by default since Kubernetes 1.10. A LimitRange is enforced in a particular namespace when there is a LimitRange object in that namespace. From 665b7437f09fb10739dc2982a809273496492f4b Mon Sep 17 00:00:00 2001 From: inductor Date: Thu, 11 Jun 2020 09:08:20 +0900 Subject: [PATCH 376/533] Traslate /training/ into Japanese --- content/ja/training/_index.html | 54 ++++++++++++++++----------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/content/ja/training/_index.html b/content/ja/training/_index.html index c966543062..f5d6f74cb1 100644 --- a/content/ja/training/_index.html +++ b/content/ja/training/_index.html @@ -1,7 +1,7 @@ --- -title: Training -bigheader: Kubernetes Training and Certification -abstract: Training programs, certifications, and partners. +title: トレーニング +bigheader: Kubernetesのトレーニングと資格 +abstract: トレーニングプログラム、資格、及びパートナーについて layout: basic cid: training class: training @@ -17,8 +17,8 @@ class: training
    -

    Build your cloud native career

    -

    Kubernetes is at the core of the cloud native movement. Training and certifications from the Linux Foundation and our training partners lets you invest in your career, learn Kubernetes, and make your cloud native projects successful.

    +

    あなたのクラウドネイティブなキャリアを創る/h2> +

    Kubernetesはクラウドネイティブムーブメントの中核を担っています。Linux Foundation及びトレーニングパートナーのトレーニングを受け、認定資格を取得することで、キャリアに投資し、Kubernetesを学び、クラウドネイティブプロジェクトを成功に繋がります。

    @@ -27,37 +27,37 @@ class: training
    -

    Take a free course on edX

    +

    edXで無料コースを受講する

    - Introduction to Kubernetes
     
    + Kubernetes入門
     
    -

    Want to learn Kubernetes? Get an in-depth primer on this powerful system for managing containerized applications.

    +

    Kubernetesを学びたいですか?コンテナ化されたアプリケーションを管理するための強力なシステムに入門しましょう。


    - Go to Course + コースに行く
    - Introduction to Cloud Infrastructure Technologies + クラウドインフラ技術入門
    -

    Learn the fundamentals of building and managing cloud technologies directly from The Linux Foundation, the leader in open source.

    +

    オープンソースのリーダーであるThe Linux Foundationから直接、クラウドテクノロジーの構築と管理の基本を学びます。


    - Go to Course + コースに行く
    - Introduction to Linux + Linux入門
    -

    Never learned Linux? Want a refresh? Develop a good working knowledge of Linux using both the graphical interface and command line across the major Linux distribution families.

    +

    Linuxを学ぶのは初めてですか?知識を更新したいですか?主要なLinuxディストリビューションでGUIとCLIの両方を使用し、Linuxの実用的な知識を深めます。


    - Go to Course + コースに行く
    @@ -66,10 +66,10 @@ class: training
    -

    Learn with the Linux Foundation

    -

    The Linux Foundation offers instructor-led and self-paced courses for all aspects of the Kubernetes application development and operations lifecycle.

    +

    Linux Foundationと共に学ぶ

    +

    Linux Foundationは、Kubernetesアプリケーションの開発と運用のライフサイクルのあらゆる側面について、インストラクター主導の自己学習コースを提供しています。



    - See Courses + コースを見る
    @@ -77,27 +77,27 @@ class: training
    -

    Get Kubernetes Certified

    +

    Kubernetes認定資格を受験する

    - Certified Kubernetes Application Developer (CKAD) + 認定Kubernetesアプリケーションデベロッパー(Certified Kubernetes Application Developer, CKAD)
    -

    The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes.

    +

    認定Kubernetesアプリケーションデベロッパー(CKAD)試験は、ユーザーがKubernetes向けにクラウドネイティブアプリケーションを設計、構築、構成、公開できることを証明します。


    - Go to Certification + 試験を受ける
    - Certified Kubernetes Administrator (CKA) + 認定Kubernetesアドミニストレーター(Certified Kubernetes Administrator, CKA)
    -

    The Certified Kubernetes Administrator (CKA) program provides assurance that CKAs have the skills, knowledge, and competency to perform the responsibilities of Kubernetes administrators.

    +

    認定Kubernetesアドミニストレーター(CKA)プログラムは、保有者がKubernetes管理者の責任を実行するためのスキル、知識、および能力を持っていることを保証します。


    - Go to Certification + 試験を受ける
    @@ -107,8 +107,8 @@ class: training
    -

    Kubernetes Training Partners

    -

    Our network of Kubernetes Training Partners provide training services for Kubernetes and cloud native projects.

    +

    Kubernetesトレーニングパートナー

    +

    Kubernetesトレーニングパートナーネットワークは、Kubernetesおよびクラウドネイティブプロジェクトのトレーニングサービスを提供します。

    From 9bc3136eed3ce8d98bb6a3a4fac7987871b19662 Mon Sep 17 00:00:00 2001 From: Olaf Klischat Date: Sun, 24 May 2020 00:19:02 +0200 Subject: [PATCH 377/533] reconfigure-kubelet.md: Documentation error fixed Documentation error: It's Node.Status.Config, not Node.Spec.Status.Config. --- content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md b/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md index 1e9715e8bf..6218e8ce81 100644 --- a/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md +++ b/content/en/docs/tasks/administer-cluster/reconfigure-kubelet.md @@ -72,7 +72,7 @@ will receive default values appropriate to the configuration version (e.g. `kubelet.config.k8s.io/v1beta1`), unless overridden by flags. The status of the Node's kubelet configuration is reported via -`Node.Spec.Status.Config`. Once you have updated a Node to use the new +`Node.Status.Config`. Once you have updated a Node to use the new ConfigMap, you can observe this status to confirm that the Node is using the intended configuration. From d24ebd300d95d39e3065f40696d08043307a631d Mon Sep 17 00:00:00 2001 From: inductor Date: Thu, 11 Jun 2020 10:34:28 +0900 Subject: [PATCH 378/533] remove unnecessary question marks --- content/ja/partners/_index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/partners/_index.html b/content/ja/partners/_index.html index c94bbc333d..c2d3f52f7e 100644 --- a/content/ja/partners/_index.html +++ b/content/ja/partners/_index.html @@ -28,7 +28,7 @@ cid: partners ソフトウェアの適合性により、すべてのベンダーのバージョンのKubernetesが必要なAPIを確実にサポートします。


    -

    Kubernetes Certifiedに興味がありますか?? +

    Kubernetes Certifiedに興味がありますか?
    @@ -37,7 +37,7 @@ cid: partners
    クラウドネイティブな技術のトレーニングに長けた、熟練のトレーニングプロバイダーです。



    -

    KTPに興味がありますか?? +

    KTPに興味がありますか?
    From 28cdbf738b6cc718fbe767bb440b02572153da27 Mon Sep 17 00:00:00 2001 From: akitok Date: Thu, 11 Jun 2020 11:25:59 +0900 Subject: [PATCH 379/533] Fix /ja/docs/contribute/_index.md --- content/ja/docs/contribute/_index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/ja/docs/contribute/_index.md b/content/ja/docs/contribute/_index.md index 5997551f27..4fce0a44cb 100644 --- a/content/ja/docs/contribute/_index.md +++ b/content/ja/docs/contribute/_index.md @@ -18,16 +18,16 @@ weight: 80 ## はじめに どなたでも、問題を説明するissueや、ドキュメントの改善を求めるissueを作成し、プルリクエスト(PR)を用いて変更に貢献することができます。 -一部のタスクでは、Kubernetes organizationで、より多くの信頼とアクセスが必要です。 -役割と権限についての詳細は、[SIGドキュメントへの参加](/docs/contribute/participating/)を参照してください。 +一部のタスクでは、Kubernetes organizationで、より多くの信頼とアクセス権限が必要です。 +役割と権限についての詳細は、[SIG Docsへの参加](/docs/contribute/participating/)を参照してください。 -Kubernetesのドキュメントは、GitHubのリポジトリにあります。 +Kubernetesのドキュメントは、GitHubのリポジトリーにあります。 どなたからの貢献も歓迎しますが、Kubernetesコミュニティの効果的な運用のためには、gitとGitHubを基本的に使いこなせる必要があります。 ドキュメンテーションに関わるには: 1. CNCFの[Contributor License Agreement](https://github.com/kubernetes/community/blob/master/CLA.md)にサインしてください。 -2. [documentation repository](https://github.com/kubernetes/website)と、ウェブサイトの[static site generator](https://gohugo.io)に慣れ親しんでください。 +2. [ドキュメンテーションのリポジトリー](https://github.com/kubernetes/website)と、ウェブサイトの[静的サイトジェネレーター](https://gohugo.io)に慣れ親しんでください。 3. [コンテンツの改善](https://kubernetes.io/docs/contribute/start/#improve-existing-content)と[変更レビュー](https://kubernetes.io/docs/contribute/start/#review-docs-pull-requests)の基本的なプロセスを理解していることを確認してください。 ## 貢献するためのベストプラクティス @@ -52,7 +52,7 @@ Kubernetesのドキュメントは、GitHubのリポジトリにあります。 - ドキュメントへの貢献の基本について、さらに知りたい場合は、[貢献の開始](/docs/contribute/start/)を参照してください。 - 変更を提案をする際は、[Kubernetesドキュメンテーションスタイルガイド](/docs/contribute/style/style-guide/)に従ってください。 -- SIG Docsについて、さらに知りたい場合は、[SIGドキュメントへの参加](/docs/contribute/participating/)を参照してください。 +- SIG Docsについて、さらに知りたい場合は、[SIG Docsへの参加](/docs/contribute/participating/)を参照してください。 - Kubernetesドキュメントのローカライズについて、さらに知りたい場合は、[Kubernetesドキュメントのローカライズ](/docs/contribute/localization/)を参照してください。 {{% /capture %}} From 83d5fd63547cef9e51198cf1638f25701f876c0f Mon Sep 17 00:00:00 2001 From: "inductor(Kohei)" Date: Thu, 11 Jun 2020 13:07:32 +0900 Subject: [PATCH 380/533] Update content/ja/training/_index.html Co-authored-by: nasa9084 --- content/ja/training/_index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/training/_index.html b/content/ja/training/_index.html index f5d6f74cb1..38128f4d4a 100644 --- a/content/ja/training/_index.html +++ b/content/ja/training/_index.html @@ -18,7 +18,7 @@ class: training

    あなたのクラウドネイティブなキャリアを創る/h2> -

    Kubernetesはクラウドネイティブムーブメントの中核を担っています。Linux Foundation及びトレーニングパートナーのトレーニングを受け、認定資格を取得することで、キャリアに投資し、Kubernetesを学び、クラウドネイティブプロジェクトを成功に繋がります。

    +

    Kubernetesはクラウドネイティブムーブメントの中核を担っています。Linux Foundation及びトレーニングパートナーのトレーニングを受け、認定資格を取得することで、キャリアに投資し、Kubernetesを学び、クラウドネイティブプロジェクトを成功に繋げます。

    @@ -115,4 +115,4 @@ class: training - \ No newline at end of file + From 231b2e215f5acafaaa2eb0b5ba1e8e67c20d4012 Mon Sep 17 00:00:00 2001 From: makochu Date: Thu, 11 Jun 2020 13:37:27 +0900 Subject: [PATCH 381/533] Update content/ja/docs/concepts/services-networking/connect-applications-service.md --- .../connect-applications-service.md | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/connect-applications-service.md b/content/ja/docs/concepts/services-networking/connect-applications-service.md index 5948d51e88..3df1b8bc49 100644 --- a/content/ja/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ja/docs/concepts/services-networking/connect-applications-service.md @@ -16,7 +16,7 @@ Kubernetesのネットワークのアプローチについて説明する前に Dockerコンテナがノード間で通信するには、マシンのIPアドレスにポートを割り当ててから、コンテナに転送またはプロキシする必要があります。 これは明らかに、コンテナが使用するポートを非常に慎重に調整するか、ポートを動的に割り当てる必要があることを意味します。 -複数の開発者間でポートを調整することは大規模に行うことは非常に難しく、ユーザーが制御できないクラスターレベルの問題にさらされます。 +複数の開発者やコンテナを提供するチーム間でポートの割り当てを調整することは、規模的に大変困難であり、ユーザが制御できないクラスターレベルの問題にさらされます。 Kubernetesでは、どのホストで稼働するかに関わらず、Podが他のPodと通信できると想定しています。 すべてのPodに独自のクラスタープライベートIPアドレスを付与するため、Pod間のリンクを明示的に作成したり、コンテナポートをホストポートにマップしたりする必要はありません。 これは、Pod内のコンテナがすべてlocalhostの相互のポートに到達でき、クラスター内のすべてのPodがNATなしで相互に認識できることを意味します。 @@ -204,9 +204,7 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-dns ClusterIP 10.0.0.10 53/UDP,53/TCP 8m ``` -実行されていない場合は、[有効にする](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/kube-dns/README.md#how-do-i-configure-it)ことができます。 -このセクションの残りの部分では、寿命の長いIP(my-nginx)を持つServiceと、そのIPに名前を割り当てたDNSサーバー(CoreDNSクラスターアドオン)があることを前提としているため、標準的な方法(gethostbynameなど)を使用してクラスター内の任意のPodからServiceに通信できます。 -curlアプリケーションを実行して、これをテストしてみましょう: +このセクションの残りの部分は、寿命の長いIP(my-nginx)を持つServiceと、そのIPに名前を割り当てDNSサーバーがあることを前提にしています。ここではCoreDNSクラスターアドオン(アプリケーション名: `kube-dns`)を使用しているため、標準的なメソッド(`gethostbyname()`など) を使用してクラスター内の任意のポッドからServiceに通信できます。CoreDNSが起動していない場合、[CoreDNS README](https://github.com/coredns/deployment/tree/master/kubernetes)または[Installing CoreDNS](/docs/tasks/administer-cluster/coredns/#installing-coredns)を参照し、有効にする事ができます。curlアプリケーションを実行して、これをテストしてみましょう。 ```shell kubectl run curl --image=radial/busyboxplus:curl -i --tty @@ -254,7 +252,21 @@ kubectl get secrets ``` NAME TYPE DATA AGE default-token-il9rc kubernetes.io/service-account-token 1 1d -nginxsecret Opaque 2 1m +nginxsecret kubernetes.io/tls 2 1m +``` +configmapも作成します: +```shell +kubectl create configmap nginxconfigmap --from-file=default.conf +``` +``` +configmap/nginxconfigmap created +``` +```shell +kubectl get configmaps +``` +``` +NAME DATA AGE +nginxconfigmap 1 114s ``` 以下は、(Windows上など)makeの実行で問題が発生した場合に実行する手動の手順です: @@ -274,6 +286,7 @@ kind: "Secret" metadata: name: "nginxsecret" namespace: "default" + type: kubernetes.io/tls data: nginx.crt: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIekNDQWdlZ0F3SUJBZ0lKQUp5M3lQK0pzMlpJTUEwR0NTcUdTSWIzRFFFQkJRVUFNQ1l4RVRBUEJnTlYKQkFNVENHNW5hVzU0YzNaak1SRXdEd1lEVlFRS0V3aHVaMmx1ZUhOMll6QWVGdzB4TnpFd01qWXdOekEzTVRKYQpGdzB4T0RFd01qWXdOekEzTVRKYU1DWXhFVEFQQmdOVkJBTVRDRzVuYVc1NGMzWmpNUkV3RHdZRFZRUUtFd2h1CloybHVlSE4yWXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjFxSU1SOVdWM0IKMlZIQlRMRmtobDRONXljMEJxYUhIQktMSnJMcy8vdzZhU3hRS29GbHlJSU94NGUrMlN5ajBFcndCLzlYTnBwbQppeW1CL3JkRldkOXg5UWhBQUxCZkVaTmNiV3NsTVFVcnhBZW50VWt1dk1vLzgvMHRpbGhjc3paenJEYVJ4NEo5Ci82UVRtVVI3a0ZTWUpOWTVQZkR3cGc3dlVvaDZmZ1Voam92VG42eHNVR0M2QURVODBpNXFlZWhNeVI1N2lmU2YKNHZpaXdIY3hnL3lZR1JBRS9mRTRqakxCdmdONjc2SU90S01rZXV3R0ljNDFhd05tNnNTSzRqYUNGeGpYSnZaZQp2by9kTlEybHhHWCtKT2l3SEhXbXNhdGp4WTRaNVk3R1ZoK0QrWnYvcW1mMFgvbVY0Rmo1NzV3ajFMWVBocWtsCmdhSXZYRyt4U1FVQ0F3RUFBYU5RTUU0d0hRWURWUjBPQkJZRUZPNG9OWkI3YXc1OUlsYkROMzhIYkduYnhFVjcKTUI4R0ExVWRJd1FZTUJhQUZPNG9OWkI3YXc1OUlsYkROMzhIYkduYnhFVjdNQXdHQTFVZEV3UUZNQU1CQWY4dwpEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBRVhTMW9FU0lFaXdyMDhWcVA0K2NwTHI3TW5FMTducDBvMm14alFvCjRGb0RvRjdRZnZqeE04Tzd2TjB0clcxb2pGSW0vWDE4ZnZaL3k4ZzVaWG40Vm8zc3hKVmRBcStNZC9jTStzUGEKNmJjTkNUekZqeFpUV0UrKzE5NS9zb2dmOUZ3VDVDK3U2Q3B5N0M3MTZvUXRUakViV05VdEt4cXI0Nk1OZWNCMApwRFhWZmdWQTRadkR4NFo3S2RiZDY5eXM3OVFHYmg5ZW1PZ05NZFlsSUswSGt0ejF5WU4vbVpmK3FqTkJqbWZjCkNnMnlwbGQ0Wi8rUUNQZjl3SkoybFIrY2FnT0R4elBWcGxNSEcybzgvTHFDdnh6elZPUDUxeXdLZEtxaUMwSVEKQ0I5T2wwWW5scE9UNEh1b2hSUzBPOStlMm9KdFZsNUIyczRpbDlhZ3RTVXFxUlU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" nginx.key: "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ2RhaURFZlZsZHdkbFIKd1V5eFpJWmVEZWNuTkFhbWh4d1NpeWF5N1AvOE9ta3NVQ3FCWmNpQ0RzZUh2dGtzbzlCSzhBZi9WemFhWm9zcApnZjYzUlZuZmNmVUlRQUN3WHhHVFhHMXJKVEVGSzhRSHA3VkpMcnpLUC9QOUxZcFlYTE0yYzZ3MmtjZUNmZitrCkU1bEVlNUJVbUNUV09UM3c4S1lPNzFLSWVuNEZJWTZMMDUrc2JGQmd1Z0ExUE5JdWFubm9UTWtlZTRuMG4rTDQKb3NCM01ZUDhtQmtRQlAzeE9JNHl3YjREZXUraURyU2pKSHJzQmlIT05Xc0RadXJFaXVJMmdoY1kxeWIyWHI2UAozVFVOcGNSbC9pVG9zQngxcHJHclk4V09HZVdPeGxZZmcvbWIvNnBuOUYvNWxlQlkrZStjSTlTMkQ0YXBKWUdpCkwxeHZzVWtGQWdNQkFBRUNnZ0VBZFhCK0xkbk8ySElOTGo5bWRsb25IUGlHWWVzZ294RGQwci9hQ1Zkank4dlEKTjIwL3FQWkUxek1yall6Ry9kVGhTMmMwc0QxaTBXSjdwR1lGb0xtdXlWTjltY0FXUTM5SjM0VHZaU2FFSWZWNgo5TE1jUHhNTmFsNjRLMFRVbUFQZytGam9QSFlhUUxLOERLOUtnNXNrSE5pOWNzMlY5ckd6VWlVZWtBL0RBUlBTClI3L2ZjUFBacDRuRWVBZmI3WTk1R1llb1p5V21SU3VKdlNyblBESGtUdW1vVlVWdkxMRHRzaG9reUxiTWVtN3oKMmJzVmpwSW1GTHJqbGtmQXlpNHg0WjJrV3YyMFRrdWtsZU1jaVlMbjk4QWxiRi9DSmRLM3QraTRoMTVlR2ZQegpoTnh3bk9QdlVTaDR2Q0o3c2Q5TmtEUGJvS2JneVVHOXBYamZhRGR2UVFLQmdRRFFLM01nUkhkQ1pKNVFqZWFKClFGdXF4cHdnNzhZTjQyL1NwenlUYmtGcVFoQWtyczJxWGx1MDZBRzhrZzIzQkswaHkzaE9zSGgxcXRVK3NHZVAKOWRERHBsUWV0ODZsY2FlR3hoc0V0L1R6cEdtNGFKSm5oNzVVaTVGZk9QTDhPTm1FZ3MxMVRhUldhNzZxelRyMgphRlpjQ2pWV1g0YnRSTHVwSkgrMjZnY0FhUUtCZ1FEQmxVSUUzTnNVOFBBZEYvL25sQVB5VWs1T3lDdWc3dmVyClUycXlrdXFzYnBkSi9hODViT1JhM05IVmpVM25uRGpHVHBWaE9JeXg5TEFrc2RwZEFjVmxvcG9HODhXYk9lMTAKMUdqbnkySmdDK3JVWUZiRGtpUGx1K09IYnRnOXFYcGJMSHBzUVpsMGhucDBYSFNYVm9CMUliQndnMGEyOFVadApCbFBtWmc2d1BRS0JnRHVIUVV2SDZHYTNDVUsxNFdmOFhIcFFnMU16M2VvWTBPQm5iSDRvZUZKZmcraEppSXlnCm9RN3hqWldVR3BIc3AyblRtcHErQWlSNzdyRVhsdlhtOElVU2FsbkNiRGlKY01Pc29RdFBZNS9NczJMRm5LQTQKaENmL0pWb2FtZm1nZEN0ZGtFMXNINE9MR2lJVHdEbTRpb0dWZGIwMllnbzFyb2htNUpLMUI3MkpBb0dBUW01UQpHNDhXOTVhL0w1eSt5dCsyZ3YvUHM2VnBvMjZlTzRNQ3lJazJVem9ZWE9IYnNkODJkaC8xT2sybGdHZlI2K3VuCnc1YytZUXRSTHlhQmd3MUtpbGhFZDBKTWU3cGpUSVpnQWJ0LzVPbnlDak9OVXN2aDJjS2lrQ1Z2dTZsZlBjNkQKckliT2ZIaHhxV0RZK2Q1TGN1YSt2NzJ0RkxhenJsSlBsRzlOZHhrQ2dZRUF5elIzT3UyMDNRVVV6bUlCRkwzZAp4Wm5XZ0JLSEo3TnNxcGFWb2RjL0d5aGVycjFDZzE2MmJaSjJDV2RsZkI0VEdtUjZZdmxTZEFOOFRwUWhFbUtKCnFBLzVzdHdxNWd0WGVLOVJmMWxXK29xNThRNTBxMmk1NVdUTThoSDZhTjlaMTltZ0FGdE5VdGNqQUx2dFYxdEYKWSs4WFJkSHJaRnBIWll2NWkwVW1VbGc9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K" @@ -287,7 +300,7 @@ kubectl get secrets ``` NAME TYPE DATA AGE default-token-il9rc kubernetes.io/service-account-token 1 1d -nginxsecret Opaque 2 1m +nginxsecret kubernetes.io/tls 2 1m ``` 次に、nginxレプリカを変更して、シークレットの証明書とServiceを使用してhttpsサーバーを起動し、両方のポート(80と443)を公開します: @@ -332,7 +345,7 @@ NAME READY STATUS RESTARTS AGE curl-deployment-1515033274-1410r 1/1 Running 0 1m ``` ```shell -kubectl exec curl-deployment-1515033274-1410r -- curl https://my-nginx --cacert /etc/nginx/ssl/nginx.crt +kubectl exec curl-deployment-1515033274-1410r -- curl https://my-nginx --cacert /etc/nginx/ssl/tls.crt ... Welcome to nginx! ... @@ -414,7 +427,7 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el {{% capture whatsnext %}} -Kubernetesは、複数のクラスターおよびクラウドプロバイダーにまたがるフェデレーションサービスもサポートし、可用性の向上、フォールトトレランスの向上、サービスのスケーラビリティの向上を実現します。 -詳細については[フェデレーションサービスユーザーガイド](/docs/concepts/cluster-administration/federation-service-discovery/)を参照してください。 - +* 詳細: [Using a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster/) +* 詳細: [Connecting a Front End to a Back End Using a Service](/docs/tasks/access-application-cluster/connecting-frontend-backend/) +* 詳細: [Creating an External Load Balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/) {{% /capture %}} From 7d9e43387d61870ea75c8d8bf50658bed81b92ff Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Thu, 11 Jun 2020 16:08:48 +0900 Subject: [PATCH 382/533] =?UTF-8?q?Remove=20"=E3=81=AE=E2=80=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nasa9084 --- .../tools/kubeadm/create-cluster-kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index 8f60858657..eada2caee5 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -86,7 +86,7 @@ kubeadm init 192.168.0.102 cluster-endpoint ``` -ここでは、`192.168.0.102`がこのノードのIPアドレスであり、`cluster-endpoint`がこのIPアドレスへとマッピングされるカスタムのDNSネームです。このように設定することで、`--control-plane-endpoint=cluster-endpoint`を`kubeadm init`に渡せるようになり、`kubeadm join`にも同じDNSネームを渡せます。後で`cluster-endpoint`を修正して、高可用性が必要なシナリオでロードバランサーのアドレスを指すようにすることができます。 +ここでは、`192.168.0.102`がこのノードのIPアドレスであり、`cluster-endpoint`がこのIPアドレスへとマッピングされるカスタムDNSネームです。このように設定することで、`--control-plane-endpoint=cluster-endpoint`を`kubeadm init`に渡せるようになり、`kubeadm join`にも同じDNSネームを渡せます。後で`cluster-endpoint`を修正して、高可用性が必要なシナリオでロードバランサーのアドレスを指すようにすることができます。 kubeadmでは、`--control-plane-endpoint`を渡さずに構築したシングルコントロールプレーンのクラスターを高可用性クラスターに切り替えることはサポートされていません。 From e69ff0f3a91e3c80fecf3e592f5c553df70d6323 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Thu, 11 Jun 2020 16:44:08 +0900 Subject: [PATCH 383/533] Fix the translation of "General Availability". --- .../tools/kubeadm/create-cluster-kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index eada2caee5..e2c3423005 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -31,7 +31,7 @@ weight: 30 [Kubernetesのバージョンとバージョンスキューポリシー](/ja/docs/setup/release/version-skew-policy/#supported-versions)は、`kubeadm`にもKubernetes全体と同じように当てはまります。Kubernetesと`kubeadm`がサポートするバージョンを理解するには、上記のポリシーを確認してください。このページは、Kubernetes {{< param "version" >}}向けに書かれています。 -kubeadmツールの全体の機能の状態は、一般提供(GA)です。一部のサブ機能はまだ活発に開発が行われています。クラスター作成の実装は、ツールの進化に伴ってわずかに変わるかもしれませんが、全体の実装は非常に安定しているはずです。 +kubeadmツールの全体の機能の状態は、一般利用可能(GA)です。一部のサブ機能はまだ活発に開発が行われています。クラスター作成の実装は、ツールの進化に伴ってわずかに変わるかもしれませんが、全体の実装は非常に安定しているはずです。 {{< note >}} `kubeadm alpha`以下のすべてのコマンドは、定義通り、アルファレベルでサポートされています。 From 0a459351955bcfbcc1ddeec4f9a3bbc0c05bdd6d Mon Sep 17 00:00:00 2001 From: Makoto <63036330+makochu@users.noreply.github.com> Date: Thu, 11 Jun 2020 16:56:00 +0900 Subject: [PATCH 384/533] Update connect-applications-service.md --- .../services-networking/connect-applications-service.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/connect-applications-service.md b/content/ja/docs/concepts/services-networking/connect-applications-service.md index 3df1b8bc49..9c1b8d5907 100644 --- a/content/ja/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ja/docs/concepts/services-networking/connect-applications-service.md @@ -427,7 +427,8 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el {{% capture whatsnext %}} -* 詳細: [Using a Service to Access an Application in a Cluster](/docs/tasks/access-application-cluster/service-access-application-cluster/) -* 詳細: [Connecting a Front End to a Back End Using a Service](/docs/tasks/access-application-cluster/connecting-frontend-backend/) -* 詳細: [Creating an External Load Balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/) +* 詳細: [Serviceを利用したクラスター内のアプリケーションへのアクセス](content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md) +* 詳細: [Serviceを使用してフロントエンドをバックエンドに接続する](content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md) +* 詳細: [Creating an External Load Balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/) + {{% /capture %}} From 6a2d96edab90c74c3a461f70e7f501362982f7a6 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Thu, 11 Jun 2020 17:02:33 +0900 Subject: [PATCH 385/533] Translate a word "network" in "Pod network". Co-authored-by: Naoki Oketani --- .../tools/kubeadm/create-cluster-kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index e2c3423005..b8da78aac6 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -205,7 +205,7 @@ export KUBECONFIG=/etc/kubernetes/admin.conf {{< /caution >}} -CNIを使用するKubernetes Pod networkを提供する外部のプロジェクトがいくつかあります。一部のプロジェクトでは、[ネットワークポリシー](/docs/concepts/services-networking/networkpolicies/)もサポートしています。 +CNIを使用するKubernetes Podネットワークを提供する外部のプロジェクトがいくつかあります。一部のプロジェクトでは、[ネットワークポリシー](/docs/concepts/services-networking/networkpolicies/)もサポートしています。 利用できる[ネットワークアドオンとネットワークポリシーアドオン](/docs/concepts/cluster-administration/addons/#networking-and-network-policy)のリストを確認してください。 From 2033fea436afa9ef40791d556058efe7c2ad9899 Mon Sep 17 00:00:00 2001 From: Makoto <63036330+makochu@users.noreply.github.com> Date: Thu, 11 Jun 2020 17:02:37 +0900 Subject: [PATCH 386/533] Update connect-applications-service.md --- .../services-networking/connect-applications-service.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/connect-applications-service.md b/content/ja/docs/concepts/services-networking/connect-applications-service.md index 9c1b8d5907..c6e1a7f09b 100644 --- a/content/ja/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ja/docs/concepts/services-networking/connect-applications-service.md @@ -427,8 +427,8 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el {{% capture whatsnext %}} -* 詳細: [Serviceを利用したクラスター内のアプリケーションへのアクセス](content/ja/docs/tasks/access-application-cluster/service-access-application-cluster.md) -* 詳細: [Serviceを使用してフロントエンドをバックエンドに接続する](content/ja/docs/tasks/access-application-cluster/connecting-frontend-backend.md) -* 詳細: [Creating an External Load Balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/) +* 詳細: [Serviceを利用したクラスター内のアプリケーションへのアクセス](docs/tasks/access-application-cluster/service-access-application-cluster.md) +* 詳細: [Serviceを使用してフロントエンドをバックエンドに接続する](docs/tasks/access-application-cluster/connecting-frontend-backend.md) +* 詳細: [Creating an External Load Balancer](en/docs/tasks/access-application-cluster/create-external-load-balancer/) {{% /capture %}} From 58cd5ae880eae3e4b6507a8e39d303306b2a5606 Mon Sep 17 00:00:00 2001 From: Roy Lenferink Date: Wed, 10 Jun 2020 12:28:48 +0200 Subject: [PATCH 387/533] Renamed docker-* targets to container-* and deprecated docker-* targets --- Makefile | 56 ++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 576b25eebf..be53b5eac9 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,16 @@ -DOCKER ?= docker -HUGO_VERSION = $(shell grep ^HUGO_VERSION netlify.toml | tail -n 1 | cut -d '=' -f 2 | tr -d " \"\n") -DOCKER_IMAGE = kubernetes-hugo -DOCKER_RUN = $(DOCKER) run --rm --interactive --tty --volume $(CURDIR):/src -NODE_BIN = node_modules/.bin -NETLIFY_FUNC = $(NODE_BIN)/netlify-lambda +HUGO_VERSION = $(shell grep ^HUGO_VERSION netlify.toml | tail -n 1 | cut -d '=' -f 2 | tr -d " \"\n") +NODE_BIN = node_modules/.bin +NETLIFY_FUNC = $(NODE_BIN)/netlify-lambda + +# The CONTAINER_ENGINE variable is used for specifying the container engine. By default 'docker' is used +# but this can be overridden when calling make, e.g. +# CONTAINER_ENGINE=podman make container-image +CONTAINER_ENGINE ?= docker +CONTAINER_IMAGE = kubernetes-hugo +CONTAINER_RUN = $(CONTAINER_ENGINE) run --rm --interactive --tty --volume $(CURDIR):/src + +CCRED=\033[0;31m +CCEND=\033[0m .PHONY: all build build-preview help serve @@ -36,16 +43,28 @@ serve: ## Boot the development server. hugo server --buildFuture docker-image: - $(DOCKER) build . \ - --network=host \ - --tag $(DOCKER_IMAGE) \ - --build-arg HUGO_VERSION=$(HUGO_VERSION) + @echo -e "$(CCRED)**** The use of docker-image is deprecated. Use container-image instead. ****$(CCEND)" + $(MAKE) container-image docker-build: - $(DOCKER_RUN) $(DOCKER_IMAGE) hugo + @echo -e "$(CCRED)**** The use of docker-build is deprecated. Use container-build instead. ****$(CCEND)" + $(MAKE) container-build docker-serve: - $(DOCKER_RUN) --mount type=tmpfs,destination=/src/resources,tmpfs-mode=0755 -p 1313:1313 $(DOCKER_IMAGE) hugo server --buildFuture --bind 0.0.0.0 + @echo -e "$(CCRED)**** The use of docker-serve is deprecated. Use container-serve instead. ****$(CCEND)" + $(MAKE) container-serve + +container-image: + $(CONTAINER_ENGINE) build . \ + --network=host \ + --tag $(CONTAINER_IMAGE) \ + --build-arg HUGO_VERSION=$(HUGO_VERSION) + +container-build: + $(CONTAINER_RUN) $(CONTAINER_IMAGE) hugo + +container-serve: + $(CONTAINER_RUN) --mount type=tmpfs,destination=/src/resources,tmpfs-mode=0755 -p 1313:1313 $(CONTAINER_IMAGE) hugo server --buildFuture --bind 0.0.0.0 test-examples: scripts/test_examples.sh install @@ -53,8 +72,13 @@ test-examples: .PHONY: link-checker-setup link-checker-image-pull: - docker pull wjdp/htmltest + $(CONTAINER_ENGINE) pull wjdp/htmltest + +docker-internal-linkcheck: + @echo -e "$(CCRED)**** The use of docker-internal-linkcheck is deprecated. Use container-internal-linkcheck instead. ****$(CCEND)" + $(MAKE) container-internal-linkcheck + +container-internal-linkcheck: link-checker-image-pull + $(CONTAINER_RUN) $(CONTAINER_IMAGE) hugo --config config.toml,linkcheck-config.toml --buildFuture + $(CONTAINER_ENGINE) run --mount type=bind,source=$(CURDIR),target=/test --rm wjdp/htmltest htmltest -docker-internal-linkcheck: link-checker-image-pull - $(DOCKER_RUN) $(DOCKER_IMAGE) hugo --config config.toml,linkcheck-config.toml --buildFuture - $(DOCKER) run --mount type=bind,source=$(CURDIR),target=/test --rm wjdp/htmltest htmltest \ No newline at end of file From f3b3032dacdb3a6da0dafde4ba5a39fd99872cc1 Mon Sep 17 00:00:00 2001 From: Makoto <63036330+makochu@users.noreply.github.com> Date: Thu, 11 Jun 2020 18:11:14 +0900 Subject: [PATCH 388/533] Update connect-applications-service.md --- .../services-networking/connect-applications-service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/concepts/services-networking/connect-applications-service.md b/content/ja/docs/concepts/services-networking/connect-applications-service.md index c6e1a7f09b..07a7f9d71e 100644 --- a/content/ja/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ja/docs/concepts/services-networking/connect-applications-service.md @@ -427,8 +427,8 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el {{% capture whatsnext %}} -* 詳細: [Serviceを利用したクラスター内のアプリケーションへのアクセス](docs/tasks/access-application-cluster/service-access-application-cluster.md) -* 詳細: [Serviceを使用してフロントエンドをバックエンドに接続する](docs/tasks/access-application-cluster/connecting-frontend-backend.md) +* 詳細: [Serviceを利用したクラスター内のアプリケーションへのアクセス](docs/tasks/access-application-cluster/service-access-application-cluster/) +* 詳細: [Serviceを使用してフロントエンドをバックエンドに接続する](docs/tasks/access-application-cluster/connecting-frontend-backend/) * 詳細: [Creating an External Load Balancer](en/docs/tasks/access-application-cluster/create-external-load-balancer/) {{% /capture %}} From e0d44d9b6f544eabbf4deb5af5c8fc61ab9de8d3 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Thu, 11 Jun 2020 20:02:22 +0900 Subject: [PATCH 389/533] Append anchor link aliases to fix broken links. --- .../production-environment/tools/kubeadm/install-kubeadm.md | 2 +- content/ja/docs/setup/release/version-skew-policy.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md b/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md index 426ca84b25..0c9e45643f 100644 --- a/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md +++ b/content/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md @@ -99,7 +99,7 @@ etcdポートはコントロールプレーンノードに含まれています 使用するPodネットワークプラグイン(以下を参照)のポートも開く必要があります。これは各Podネットワークプラグインによって異なるため、必要なポートについてはプラグインのドキュメントを参照してください。 -## ランタイムのインストール +## ランタイムのインストール {#installing-runtime} v1.6.0以降、KubernetesはデフォルトでCRI(Container Runtime Interface)の使用を有効にしています。 diff --git a/content/ja/docs/setup/release/version-skew-policy.md b/content/ja/docs/setup/release/version-skew-policy.md index 4573e740a6..8128083278 100644 --- a/content/ja/docs/setup/release/version-skew-policy.md +++ b/content/ja/docs/setup/release/version-skew-policy.md @@ -10,7 +10,7 @@ weight: 30 {{% capture body %}} -## サポートされるバージョン +## サポートされるバージョン {#supported-versions} Kubernetesのバージョンは**x.y.z**の形式で表現され、**x**はメジャーバージョン、**y**はマイナーバージョン、**z**はパッチバージョンを指します。これは[セマンティック バージョニング](http://semver.org/)に従っています。詳細は、[Kubernetesのリリースバージョニング](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md#kubernetes-release-versioning)を参照してください。 From d7e41951bd05228de5b6025b4bee7627a24327b8 Mon Sep 17 00:00:00 2001 From: "inductor(Kohei)" Date: Thu, 11 Jun 2020 20:49:09 +0900 Subject: [PATCH 390/533] Update content/ja/training/_index.html Co-authored-by: Tim Bannister --- content/ja/training/_index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/training/_index.html b/content/ja/training/_index.html index 38128f4d4a..df7f08bc9b 100644 --- a/content/ja/training/_index.html +++ b/content/ja/training/_index.html @@ -1,7 +1,7 @@ --- title: トレーニング bigheader: Kubernetesのトレーニングと資格 -abstract: トレーニングプログラム、資格、及びパートナーについて +abstract: トレーニングプログラム、資格、及びパートナーについて。 layout: basic cid: training class: training From e7f67a05c2ca93e905cf997384d2ee412502e8bc Mon Sep 17 00:00:00 2001 From: inductor Date: Thu, 11 Jun 2020 20:51:40 +0900 Subject: [PATCH 391/533] improve translation --- content/ja/training/_index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/training/_index.html b/content/ja/training/_index.html index df7f08bc9b..dc4d1bf2c2 100644 --- a/content/ja/training/_index.html +++ b/content/ja/training/_index.html @@ -83,9 +83,9 @@ class: training
    - 認定Kubernetesアプリケーションデベロッパー(Certified Kubernetes Application Developer, CKAD) + 認定Kubernetesアプリケーション開発者(Certified Kubernetes Application Developer, CKAD)
    -

    認定Kubernetesアプリケーションデベロッパー(CKAD)試験は、ユーザーがKubernetes向けにクラウドネイティブアプリケーションを設計、構築、構成、公開できることを証明します。

    +

    認定Kubernetesアプリケーション開発者(CKAD)試験は、ユーザーがKubernetes向けにクラウドネイティブアプリケーションを設計、構築、構成、公開できることを証明します。


    試験を受ける
    @@ -93,9 +93,9 @@ class: training
    - 認定Kubernetesアドミニストレーター(Certified Kubernetes Administrator, CKA) + 認定Kubernetes管理者(Certified Kubernetes Administrator, CKA)
    -

    認定Kubernetesアドミニストレーター(CKA)プログラムは、保有者がKubernetes管理者の責任を実行するためのスキル、知識、および能力を持っていることを保証します。

    +

    認定Kubernetes管理者(CKA)プログラムは、保有者がKubernetes管理者の責務を実行するためのスキル、知識、および能力を持っていることを保証します。


    試験を受ける
    From 59f5e70b2fc07c6b8d12267a5c57c48ad5041b29 Mon Sep 17 00:00:00 2001 From: Suraj Deshmukh Date: Thu, 11 Jun 2020 17:26:32 +0530 Subject: [PATCH 392/533] TLS bootstrapping: Remove "Limits" section The aforementioned "Limits" is no longer valid. The issue that the section points at is closed after code merge. Signed-off-by: Suraj Deshmukh --- .../kubelet-tls-bootstrapping.md | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md b/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md index 562ec5b867..0daa490276 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md @@ -14,15 +14,15 @@ In a Kubernetes cluster, the components on the worker nodes - kubelet and kube-p In order to ensure that communication is kept private, not interfered with, and ensure that each component of the cluster is talking to another trusted component, we strongly recommend using client TLS certificates on nodes. -The normal process of bootstrapping these components, especially worker nodes that need certificates so they can communicate safely with kube-apiserver, -can be a challenging process as it is often outside of the scope of Kubernetes and requires significant additional work. +The normal process of bootstrapping these components, especially worker nodes that need certificates so they can communicate safely with kube-apiserver, +can be a challenging process as it is often outside of the scope of Kubernetes and requires significant additional work. This in turn, can make it challenging to initialize or scale a cluster. In order to simplify the process, beginning in version 1.4, Kubernetes introduced a certificate request and signing API to simplify the process. The proposal can be found [here](https://github.com/kubernetes/kubernetes/pull/20439). This document describes the process of node initialization, how to set up TLS client certificate bootstrapping for -kubelets, and how it works. +kubelets, and how it works. @@ -90,7 +90,7 @@ In addition, you need your Kubernetes Certificate Authority (CA). As without bootstrapping, you will need a Certificate Authority (CA) key and certificate. As without bootstrapping, these will be used to sign the kubelet certificate. As before, it is your responsibility to distribute them to master nodes. -For the purposes of this document, we will assume these have been distributed to master nodes at `/var/lib/kubernetes/ca.pem` (certificate) and `/var/lib/kubernetes/ca-key.pem` (key). +For the purposes of this document, we will assume these have been distributed to master nodes at `/var/lib/kubernetes/ca.pem` (certificate) and `/var/lib/kubernetes/ca-key.pem` (key). We will refer to these as "Kubernetes CA certificate and key". All Kubernetes components that use these certificates - kubelet, kube-apiserver, kube-controller-manager - assume the key and certificate to be PEM-encoded. @@ -98,7 +98,7 @@ All Kubernetes components that use these certificates - kubelet, kube-apiserver, ## kube-apiserver configuration The kube-apiserver has several requirements to enable TLS bootstrapping: -* Recognizing CA that signs the client certificate +* Recognizing CA that signs the client certificate * Authenticating the bootstrapping kubelet to the `system:bootstrappers` group * Authorize the bootstrapping kubelet to create a certificate signing request (CSR) @@ -120,13 +120,13 @@ of provisioning. 1. [Bootstrap Tokens](#bootstrap-tokens) 2. [Token authentication file](#token-authentication-file) -Bootstrap tokens are a simpler and more easily managed method to authenticate kubelets, and do not require any additional flags when starting kube-apiserver. +Bootstrap tokens are a simpler and more easily managed method to authenticate kubelets, and do not require any additional flags when starting kube-apiserver. Using bootstrap tokens is currently __beta__ as of Kubernetes version 1.12. Whichever method you choose, the requirement is that the kubelet be able to authenticate as a user with the rights to: 1. create and retrieve CSRs -2. be automatically approved to request node client certificates, if automatic approval is enabled. +2. be automatically approved to request node client certificates, if automatic approval is enabled. A kubelet authenticating using bootstrap tokens is authenticated as a user in the group `system:bootstrappers`, which is the standard method to use. @@ -152,7 +152,7 @@ From the kube-apiserver's perspective, however, the bootstrap token is special. and grants anyone authenticating with that token special bootstrap rights, notably treating them as a member of the `system:bootstrappers` group. This fulfills a basic requirement for TLS bootstrapping. -The details for creating the secret are available [here](/docs/reference/access-authn-authz/bootstrap-tokens/). +The details for creating the secret are available [here](/docs/reference/access-authn-authz/bootstrap-tokens/). If you want to use bootstrap tokens, you must enable it on kube-apiserver with the flag: @@ -161,7 +161,7 @@ If you want to use bootstrap tokens, you must enable it on kube-apiserver with t ``` #### Token authentication file -kube-apiserver has an ability to accept tokens as authentication. +kube-apiserver has an ability to accept tokens as authentication. These tokens are arbitrary but should represent at least 128 bits of entropy derived from a secure random number generator (such as `/dev/urandom` on most modern Linux systems). There are multiple ways you can generate a token. For example: @@ -252,8 +252,8 @@ RBAC permissions to the correct group. There are two distinct sets of permissions: -* `nodeclient`: If a node is creating a new certificate for a node, then it does not have a certificate yet. It is authenticating using one of the tokens listed above, and thus is part of the group `system:bootstrappers`. -* `selfnodeclient`: If a node is renewing its certificate, then it already has a certificate (by definition), which it uses continuously to authenticate as part of the group `system:nodes`. +* `nodeclient`: If a node is creating a new certificate for a node, then it does not have a certificate yet. It is authenticating using one of the tokens listed above, and thus is part of the group `system:bootstrappers`. +* `selfnodeclient`: If a node is renewing its certificate, then it already has a certificate (by definition), which it uses continuously to authenticate as part of the group `system:nodes`. To enable the kubelet to request and receive a new certificate, create a `ClusterRoleBinding` that binds the group in which the bootstrapping node is a member `system:bootstrappers` to the `ClusterRole` that grants it permission, `system:certificates.k8s.io:certificatesigningrequests:nodeclient`: @@ -273,7 +273,7 @@ roleRef: apiGroup: rbac.authorization.k8s.io ``` -To enable the kubelet to renew its own client certificate, create a `ClusterRoleBinding` that binds the group in which the fully functioning node is a member `system:nodes` to the `ClusterRole` that +To enable the kubelet to renew its own client certificate, create a `ClusterRoleBinding` that binds the group in which the fully functioning node is a member `system:nodes` to the `ClusterRole` that grants it permission, `system:certificates.k8s.io:certificatesigningrequests:selfnodeclient`: ```yml @@ -382,7 +382,7 @@ To secure these, the kubelet can do one of: * request serving certificates from the cluster server, via the CSR API The client certificate provided by TLS bootstrapping is signed, by default, for `client auth` only, and thus cannot -be used as serving certificates, or `server auth`. +be used as serving certificates, or `server auth`. However, you _can_ enable its server certificate, at least partially, via certificate rotation. @@ -443,15 +443,3 @@ also manually approve certificate requests using kubectl. An administrator can list CSRs with `kubectl get csr` and describe one in detail with `kubectl describe csr `. An administrator can approve or deny a CSR with `kubectl certificate approve ` and `kubectl certificate deny `. - - -## Limits -Although Kubernetes supports running control plane master components like kube-apiserver and kube-controller-manager in containers, and even as `Pod`s in a kubelet, as of this writing, you cannot both TLS Bootstrap a kubelet and run master plane components on it. - -The reason for this limitation is that the kubelet attempts to bootstrap communication with kube-apiserver _before_ starting any pods, even static ones define on disk and referenced via the kubelet option `--pod-manifest-path=`. Trying to do both TLS Bootstrapping and master components in kubelet leads to a race condition: kubelet needs to communicate to kube-apiserver to request certificates, yet requires those certificates to be available to start kube-apiserver. - -An issue is open referencing this [here](https://github.com/kubernetes/kubernetes/issues/68686). - - - - From f7a39682ca2b0ae2972ac64b0ea03b71481d0d30 Mon Sep 17 00:00:00 2001 From: Philippe Martin Date: Thu, 11 Jun 2020 14:41:03 +0200 Subject: [PATCH 393/533] Fix tabs --- .../update-api-object-kubectl-patch.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md b/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md index 3c7ae83ea5..55d9128f20 100644 --- a/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md +++ b/content/en/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md @@ -308,7 +308,7 @@ spec: Patch your Deployment: -{{< tabs name="kubectl_patch_example" >}} +{{< tabs name="kubectl_retainkeys_example" >}} {{{< tab name="Bash" codelang="bash" >}} kubectl patch deployment retainkeys-demo --patch "$(cat patch-file-no-retainkeys.yaml)" {{< /tab >}} @@ -339,7 +339,7 @@ With this patch, we indicate that we want to retain only the `type` key of the ` Patch your Deployment again with this new patch: -{{< tabs name="kubectl_patch_example" >}} +{{< tabs name="kubectl_retainkeys2_example" >}} {{{< tab name="Bash" codelang="bash" >}} kubectl patch deployment retainkeys-demo --patch "$(cat patch-file-retainkeys.yaml)" {{< /tab >}} From 6c1edf3c1ff9989d79b5c58d1331ef47b01bb0d2 Mon Sep 17 00:00:00 2001 From: June Yi Date: Fri, 12 Jun 2020 00:00:46 +0900 Subject: [PATCH 394/533] Fifth Korean l10n work for release 1.18 - Update to Outdated files in the dev-1.18-ko.5 branch. (#21450) - Translate tasks/run-application/run-single-instance-stateful-application in Korean (#21174) - Translate tasks/debug-application-cluster/determine-reason-pod-failure in Korean (#21515) - Translate tasks/manage-hugepages/scheduling-hugepages.md into Korean (#21337) - Translate tasks/extend-kubectl/kubectl-plugins.md into Korean (#21454) - Translate tasks/manage-daemon/rollback-daemon-set.md into Korean (#21376) - Translate contribute/generate-ref-docs/overview in Korean (#21466) - Translate reference/kubectl/overview.md into Korean (#21552) - Translate configure-pod-initialization in Korean (#21600) - Translate tasks/manage-daemon/update-daemon-set.md into Korean (#21378) Co-authored-by: Jerry Park Co-authored-by: Yoon Co-authored-by: Yuk, Yongsu Co-authored-by: Seokho Son Co-authored-by: guslcho Co-authored-by: DongMoon Kim Co-authored-by: bluefriday --- .../cluster-administration/cloud-providers.md | 4 +- .../manage-deployment.md | 2 +- .../docs/concepts/configuration/overview.md | 5 +- content/ko/docs/concepts/containers/images.md | 2 +- .../compute-storage-net/network-plugins.md | 4 +- .../docs/concepts/overview/kubernetes-api.md | 2 +- .../working-with-objects/namespaces.md | 10 +- .../concepts/policy/pod-security-policy.md | 6 +- .../taint-and-toleration.md | 15 +- .../connect-applications-service.md | 2 +- .../workloads/controllers/daemonset.md | 2 +- .../controllers/jobs-run-to-completion.md | 2 +- .../workloads/pods/init-containers.md | 2 +- .../contribute/generate-ref-docs/_index.md | 11 + .../docs/contribute/new-content/overview.md | 3 + content/ko/docs/home/_index.md | 2 +- content/ko/docs/reference/_index.md | 8 +- content/ko/docs/reference/kubectl/_index.md | 5 + .../ko/docs/reference/kubectl/cheatsheet.md | 8 +- content/ko/docs/reference/kubectl/overview.md | 495 ++++++++++++++++++ .../docs/reference/using-api/api-overview.md | 2 +- .../tools/kubeadm/ha-topology.md | 5 + .../windows/user-guide-windows-containers.md | 6 +- .../web-ui-dashboard.md | 2 +- .../configure-pod-initialization.md | 91 ++++ .../determine-reason-pod-failure.md | 117 +++++ .../tasks/extend-kubectl/kubectl-plugins.md | 386 ++++++++++++++ content/ko/docs/tasks/manage-daemon/_index.md | 4 + .../manage-daemon/rollback-daemon-set.md | 155 ++++++ .../tasks/manage-daemon/update-daemon-set.md | 200 +++++++ .../manage-hugepages/scheduling-hugepages.md | 126 +++++ .../kustomization.md | 14 +- ...un-single-instance-stateful-application.md | 196 +++++++ .../ko/docs/tasks/tools/install-kubectl.md | 2 +- content/ko/docs/tutorials/hello-minikube.md | 8 +- .../stateful-application/zookeeper.md | 1 - .../controllers/fluentd-daemonset-update.yaml | 48 ++ .../controllers/fluentd-daemonset.yaml | 42 ++ content/ko/examples/debug/termination.yaml | 10 + content/ko/examples/pods/init-containers.yaml | 29 + .../includes/default-storage-class-prereqs.md | 5 + content/ko/training/_index.html | 2 +- 42 files changed, 1983 insertions(+), 58 deletions(-) create mode 100644 content/ko/docs/contribute/generate-ref-docs/_index.md create mode 100755 content/ko/docs/reference/kubectl/_index.md create mode 100644 content/ko/docs/reference/kubectl/overview.md create mode 100644 content/ko/docs/tasks/configure-pod-container/configure-pod-initialization.md create mode 100644 content/ko/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md create mode 100644 content/ko/docs/tasks/extend-kubectl/kubectl-plugins.md create mode 100644 content/ko/docs/tasks/manage-daemon/_index.md create mode 100644 content/ko/docs/tasks/manage-daemon/rollback-daemon-set.md create mode 100644 content/ko/docs/tasks/manage-daemon/update-daemon-set.md create mode 100644 content/ko/docs/tasks/manage-hugepages/scheduling-hugepages.md create mode 100644 content/ko/docs/tasks/run-application/run-single-instance-stateful-application.md create mode 100644 content/ko/examples/controllers/fluentd-daemonset-update.yaml create mode 100644 content/ko/examples/controllers/fluentd-daemonset.yaml create mode 100644 content/ko/examples/debug/termination.yaml create mode 100644 content/ko/examples/pods/init-containers.yaml create mode 100644 content/ko/includes/default-storage-class-prereqs.md diff --git a/content/ko/docs/concepts/cluster-administration/cloud-providers.md b/content/ko/docs/concepts/cluster-administration/cloud-providers.md index 31e93af741..30dc7b230e 100644 --- a/content/ko/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/ko/docs/concepts/cluster-administration/cloud-providers.md @@ -400,9 +400,9 @@ IBM 클라우드 쿠버네티스 서비스 제공자를 사용하면, 단일 영 쿠버네티스 노드 오브젝트의 이름은 IBM 클라우드 쿠버네티스 서비스 워커 노드 인스턴스의 프라이빗 IP 주소이다. ### 네트워킹 -IBM 클라우드 쿠버네티스 서비스 제공자는 노드의 네트워크 성능 품질과 네트워크 격리를 위한 VLAN을 제공한다. 사용자 정의 방화벽 및 Calico 네트워크 폴리시를 설정하여 클러스터에 추가적인 보안 계층을 추가하거나 VPN을 통해 온-프레미스 데이터센터에 클러스터를 연결할 수 있다. 자세한 내용은 [인-클러스터(in-cluster) 및 프라이빗 네트워킹 계획](https://cloud.ibm.com/docs/containers?topic=containers-cs_network_cluster#cs_network_cluster)을 참고한다. +IBM 클라우드 쿠버네티스 서비스 제공자는 노드의 네트워크 성능 품질과 네트워크 격리를 위한 VLAN을 제공한다. 사용자 정의 방화벽 및 Calico 네트워크 폴리시를 설정하여 클러스터에 추가적인 보안 계층을 추가하거나 VPN을 통해 온-프레미스 데이터센터에 클러스터를 연결할 수 있다. 자세한 내용은 [클러스터 네트워킹 구성](https://cloud.ibm.com/docs/containers?topic=containers-plan_clusters)을 참고한다. -퍼블릭 또는 클러스터 내에서 앱을 노출하기 위해 노드포트(NodePort), 로드밸런서 또는 인그레스 서비스를 활용할 수 있다. 어노테이션을 사용하여 인그레스 애플리케이션 로드 밸런서를 커스터마이징 할 수도 있다. 자세한 내용은 [외부 네트워킹으로 앱 노출 계획](https://cloud.ibm.com/docs/containers?topic=containers-cs_network_planning#cs_network_planning)을 참고한다. +퍼블릭 또는 클러스터 내에서 앱을 노출하기 위해 노드포트(NodePort), 로드밸런서 또는 인그레스 서비스를 활용할 수 있다. 어노테이션을 사용하여 인그레스 애플리케이션 로드 밸런서를 커스터마이징 할 수도 있다. 자세한 내용은 [앱을 노출할 서비스 선택하기](https://cloud.ibm.com/docs/containers?topic=containers-cs_network_planning#cs_network_planning)을 참고한다. ### 스토리지 IBM 클라우드 쿠버네티스 서비스 제공자는 쿠버네티스-네이티브 퍼시스턴트 볼륨을 활용하여 사용자가 파일, 블록 및 클라우드 오브젝트 스토리지를 앱에 마운트할 수 있도록 한다. 데이터를 지속적으로 저장하기 위해 서비스로서의-데이터베이스(database-as-a-service)와 써드파티 애드온을 사용할 수도 있다. 자세한 정보는 [고가용성 퍼시스턴트 스토리지 계획](https://cloud.ibm.com/docs/containers?topic=containers-storage_planning#storage_planning)을 참고한다. diff --git a/content/ko/docs/concepts/cluster-administration/manage-deployment.md b/content/ko/docs/concepts/cluster-administration/manage-deployment.md index 19641cdbd7..6bed969e90 100644 --- a/content/ko/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/ko/docs/concepts/cluster-administration/manage-deployment.md @@ -154,7 +154,7 @@ deployment.apps/my-deployment created persistentvolumeclaim/my-pvc created ``` -`kubectl` 에 대해 더 자세히 알고 싶다면, [kubectl 개요](/docs/reference/kubectl/overview/)를 참조한다. +`kubectl` 에 대해 더 자세히 알고 싶다면, [kubectl 개요](/ko/docs/reference/kubectl/overview/)를 참조한다. ## 효과적인 레이블 사용 diff --git a/content/ko/docs/concepts/configuration/overview.md b/content/ko/docs/concepts/configuration/overview.md index 67f6a0a5e9..db45ca2d2c 100644 --- a/content/ko/docs/concepts/configuration/overview.md +++ b/content/ko/docs/concepts/configuration/overview.md @@ -57,8 +57,7 @@ DNS 서버는 새로운 `서비스`를 위한 쿠버네티스 API를 Watch하며 - `hostPort`와 같은 이유로, `hostNetwork`를 사용하는 것을 피한다. -- `kube-proxy` 로드 밸런싱이 필요하지 않을 때, 쉬운 서비스 발견을 위해 [헤드리스 서비스](/ko/docs/concepts/services-networking/service/#헤드리스-headless- -서비스)(`ClusterIP`의 값을 `None`으로 가지는)를 사용한다. +- `kube-proxy` 로드 밸런싱이 필요하지 않을 때, 쉬운 서비스 발견을 위해 [헤드리스 서비스](/ko/docs/concepts/services-networking/service/#헤드리스-headless-서비스)(`ClusterIP`의 값을 `None`으로 가지는)를 사용한다. ## 레이블 사용하기 @@ -76,7 +75,7 @@ DNS 서버는 새로운 `서비스`를 위한 쿠버네티스 API를 Watch하며 - `imagePullPolicy: IfNotPresent`: 이미지가 로컬에 이미 존재하지 않으면 이미지가 풀(Pull) 된다. -- `imagePullPolicy: Always`: 파드가 시작될 때마다 이미지가 풀(Pull) 된다. +- `imagePullPolicy: Always`: kubelet이 컨테이너를 시작할 때마다, kubelet은 컨테이너 이미지 레지스트리를 쿼리해서 이름을 이미지 다이제스트(digest)로 확인한다. kubelet에 정확한 다이제스트가 저장된 컨테이너 이미지가 로컬로 캐시된 경우, kubelet은 캐시된 이미지를 사용한다. 그렇지 않으면, kubelet은 확인한 다이제스트를 사용해서 이미지를 다운로드(pull)하고, 해당 이미지를 사용해서 컨테이너를 시작한다. - `imagePullPolicy`가 생략되어 있고, 이미지 태그가 `:latest` 이거나 생략되어 있다면 `Always`가 적용된다. diff --git a/content/ko/docs/concepts/containers/images.md b/content/ko/docs/concepts/containers/images.md index bca9878b4f..afc9a3076a 100644 --- a/content/ko/docs/concepts/containers/images.md +++ b/content/ko/docs/concepts/containers/images.md @@ -148,7 +148,7 @@ kubelet은 ECR 자격 증명을 가져오고 주기적으로 갱신할 것이다 ### IBM 클라우드 컨테이너 레지스트리 사용 IBM 클라우드 컨테이너 레지스트리는 멀티-테넌트 프라이빗 이미지 레지스트리를 제공하여 사용자가 이미지를 안전하게 저장하고 공유할 수 있도록 한다. 기본적으로, 프라이빗 레지스트리의 이미지는 통합된 취약점 조언기(Vulnerability Advisor)를 통해 조사되어 보안 이슈와 잠재적 취약성을 검출한다. IBM 클라우드 계정의 모든 사용자가 이미지에 접근할 수 있도록 하거나, IAM 역할과 정책으로 IBM 클라우드 컨테이너 레지스트리 네임스페이스의 접근 권한을 부여해서 사용할 수 있다. -IBM 클라우드 컨테이너 레지스트리 CLI 플러그인을 설치하고 사용자 이미지를 위한 네임스페이스를 생성하기 위해서는, [IBM 클라우드 컨테이너 레지스트리 시작하기](https://cloud.ibm.com/docs/Registry?topic=registry-getting-started)를 참고한다. +IBM 클라우드 컨테이너 레지스트리 CLI 플러그인을 설치하고 사용자 이미지를 위한 네임스페이스를 생성하기 위해서는, [IBM 클라우드 컨테이너 레지스트리 시작하기](https://cloud.ibm.com/docs/Registry?topic=Registry-getting-started)를 참고한다. 다른 추가적인 구성이 없는 IBM 클라우드 쿠버네티스 서비스 클러스터의 IBM 클라우드 컨테이너 레지스트리 내 기본 네임스페이스에 저장되어 있는 배포된 이미지를 동일 계정과 동일 지역에서 사용하려면 [이미지로부터 컨테이너 빌드하기](https://cloud.ibm.com/docs/containers?topic=containers-images)를 본다. 다른 구성 옵션에 대한 것은 [레지스트리부터 클러스터에 이미지를 가져오도록 권한을 부여하는 방법 이해하기](https://cloud.ibm.com/docs/containers?topic=containers-registry#cluster_registry_auth)를 본다. diff --git a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 923acfa333..df26abccc5 100644 --- a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -79,11 +79,13 @@ CNI 네트워킹 플러그인은 `hostPort` 를 지원한다. CNI 플러그인 #### 트래픽 셰이핑 지원 +**실험적인 기능입니다** + CNI 네트워킹 플러그인은 파드 수신 및 송신 트래픽 셰이핑도 지원한다. CNI 플러그인 팀에서 제공하는 공식 [대역폭(bandwidth)](https://github.com/containernetworking/plugins/tree/master/plugins/meta/bandwidth) 플러그인을 사용하거나 대역폭 제어 기능이 있는 자체 플러그인을 사용할 수 있다. 트래픽 셰이핑 지원을 활성화하려면, CNI 구성 파일 (기본값 `/etc/cni/net.d`)에 `bandwidth` 플러그인을 -추가해야 한다. +추가하고, 바이너리가 CNI 실행 파일 디렉터리(기본값: `/opt/cni/bin`)에 포함되어있는지 확인한다. ```json { diff --git a/content/ko/docs/concepts/overview/kubernetes-api.md b/content/ko/docs/concepts/overview/kubernetes-api.md index 851791b9ca..aa5d4a043d 100644 --- a/content/ko/docs/concepts/overview/kubernetes-api.md +++ b/content/ko/docs/concepts/overview/kubernetes-api.md @@ -15,7 +15,7 @@ API 엔드포인트, 리소스 타입과 샘플은 [API Reference](/docs/referen API에 원격 접속하는 방법은 [Controlling API Access doc](/docs/reference/access-authn-authz/controlling-access/)에서 논의되었다. -쿠버네티스 API는 시스템을 위한 선언적 설정 스키마를 위한 기초가 되기도 한다. [kubectl](/docs/reference/kubectl/overview/) 커맨드라인 툴을 사용해서 API 오브젝트를 생성, 업데이트, 삭제 및 조회할 수 있다. +쿠버네티스 API는 시스템을 위한 선언적 설정 스키마를 위한 기초가 되기도 한다. [kubectl](/ko/docs/reference/kubectl/overview/) 커맨드라인 툴을 사용해서 API 오브젝트를 생성, 업데이트, 삭제 및 조회할 수 있다. 쿠버네티스는 또한 API 리소스에 대해 직렬화된 상태를 (현재는 [etcd](https://coreos.com/docs/distributed-configuration/getting-started-with-etcd/)에) 저장한다. diff --git a/content/ko/docs/concepts/overview/working-with-objects/namespaces.md b/content/ko/docs/concepts/overview/working-with-objects/namespaces.md index 8e4cf04db2..d5eb45f21c 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ko/docs/concepts/overview/working-with-objects/namespaces.md @@ -47,11 +47,11 @@ weight: 30 kubectl get namespace ``` ``` -NAME STATUS AGE -default Active 1d -kube-system Active 1d -kube-public Active 1d -kube-node-lease Active 1d +NAME STATUS AGE +default Active 1d +kube-node-lease Active 1d +kube-public Active 1d +kube-system Active 1d ``` 쿠버네티스는 처음에 세 개의 초기 네임스페이스를 갖는다. diff --git a/content/ko/docs/concepts/policy/pod-security-policy.md b/content/ko/docs/concepts/policy/pod-security-policy.md index 54a5f8a22a..57a115fc69 100644 --- a/content/ko/docs/concepts/policy/pod-security-policy.md +++ b/content/ko/docs/concepts/policy/pod-security-policy.md @@ -371,6 +371,8 @@ podsecuritypolicy "example" deleted {{< codenew file="policy/restricted-psp.yaml" >}} +더 많은 예제는 [파드 보안 표준](/docs/concepts/security/pod-security-standards/#policy-instantiation)을 본다. + ## 정책 레퍼런스 ### 특권을 가진 @@ -631,6 +633,8 @@ spec: ## {{% heading "whatsnext" %}} -API 세부 정보는 [파드 시큐리티 폴리시 레퍼런스](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) 참조 +폴리시 권장 사항에 대해서는 [파드 보안 표준](/docs/concepts/security/pod-security-standards/)을 참조한다. + +API 세부 정보는 [파드 시큐리티 폴리시 레퍼런스](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) 참조한다. diff --git a/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md b/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md index 864da02b8b..0d0a192ddd 100644 --- a/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md +++ b/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md @@ -72,21 +72,10 @@ tolerations: 두 가지 특별한 경우가 있다. -* operator `Exists` 가 있는 비어있는 `key` 는 모든 키, 값 및 이펙트와 일치하므로 +operator `Exists` 가 있는 비어있는 `key` 는 모든 키, 값 및 이펙트와 일치하므로 모든 것이 톨러레이션 된다. -```yaml -tolerations: -- operator: "Exists" -``` - -* 비어있는 `effect` 는 모든 이펙트를 키 `key` 와 일치시킨다. - -```yaml -tolerations: -- key: "key" - operator: "Exists" -``` +비어있는 `effect` 는 모든 이펙트를 키 `key` 와 일치시킨다. {{< /note >}} diff --git a/content/ko/docs/concepts/services-networking/connect-applications-service.md b/content/ko/docs/concepts/services-networking/connect-applications-service.md index c27416ce71..4649577399 100644 --- a/content/ko/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ko/docs/concepts/services-networking/connect-applications-service.md @@ -15,7 +15,7 @@ weight: 30 컨테이너를 제공하는 여러 개발자 또는 팀에서 포트를 조정하는 것은 규모면에서 매우 어려우며, 사용자가 제어할 수 없는 클러스터 수준의 문제에 노출된다. 쿠버네티스는 파드가 배치된 호스트와는 무관하게 다른 파드와 통신할 수 있다고 가정한다. 쿠버네티스는 모든 파드에게 자체 클러스터-프라이빗 IP 주소를 제공하기 때문에 파드간에 명시적으로 링크를 만들거나 컨테이너 포트를 호스트 포트에 매핑 할 필요가 없다. 이것은 파드 내의 컨테이너는 모두 로컬호스트에서 서로의 포트에 도달할 수 있으며 클러스터의 모든 파드는 NAT 없이 서로를 볼 수 있다는 의미이다. 이 문서의 나머지 부분에서는 이러한 네트워킹 모델에서 신뢰할 수 있는 서비스를 실행하는 방법에 대해 자세히 설명할 것이다. -이 가이드는 간단한 nginx 서버를 사용해서 개념증명을 보여준다. 동일한 원칙이 보다 완전한 [Jenkins CI 애플리케이션](https://kubernetes.io/blog/2015/07/strong-simple-ssl-for-kubernetes)에서 구현된다. +이 가이드는 간단한 nginx 서버를 사용해서 개념증명을 보여준다. diff --git a/content/ko/docs/concepts/workloads/controllers/daemonset.md b/content/ko/docs/concepts/workloads/controllers/daemonset.md index 23b27f3f4f..83f3c428a3 100644 --- a/content/ko/docs/concepts/workloads/controllers/daemonset.md +++ b/content/ko/docs/concepts/workloads/controllers/daemonset.md @@ -118,7 +118,7 @@ kubectl apply -f https://k8s.io/examples/controllers/daemonset.yaml `NodeAffinity` 용어를 추가해서 데몬셋 컨트롤러 대신 기본 스케줄러를 사용해서 데몬셋을 스케줄할 수 있다. 이후에 기본 스케줄러를 사용해서 대상 호스트에 파드를 바인딩 한다. 만약 데몬셋 파드에 -이미 노드 선호도가 존재한다면 교체한다. 데몬셋 컨트롤러는 +이미 노드 선호도가 존재한다면 교체한다(대상 호스트를 선택하기 전에 원래 노드의 어피니티가 고려된다). 데몬셋 컨트롤러는 데몬셋 파드를 만들거나 수정할 때만 이런 작업을 수행하며, 데몬셋의 `spec.template` 은 변경되지 않는다. diff --git a/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md index f3875f181b..4d6e93ded5 100644 --- a/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -469,7 +469,7 @@ spec: 스파크 드라이버를 실행한 다음, 정리한다. 이 접근 방식의 장점은 전체 프로세스가 잡 오브젝트의 완료를 보장하면서도, -파드 생성과 작업 할당 방법을 완전히 제어할 수 있다는 점이다. +파드 생성과 작업 할당 방법을 완전히 제어하고 유지한다는 것이다. ## 크론 잡 {#cron-jobs} diff --git a/content/ko/docs/concepts/workloads/pods/init-containers.md b/content/ko/docs/concepts/workloads/pods/init-containers.md index 728074cbf1..0e1f614de3 100644 --- a/content/ko/docs/concepts/workloads/pods/init-containers.md +++ b/content/ko/docs/concepts/workloads/pods/init-containers.md @@ -320,7 +320,7 @@ myapp-pod 1/1 Running 0 9m ## {{% heading "whatsnext" %}} -* [초기화 컨테이너를 가진 파드 생성하기](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) +* [초기화 컨테이너를 가진 파드 생성하기](/docs/tasks/configure-pod-container/configure-pod-initialization/#create-a-pod-that-has-an-init-container) * [초기화 컨테이너 디버깅](/docs/tasks/debug-application-cluster/debug-init-containers/) 알아보기 diff --git a/content/ko/docs/contribute/generate-ref-docs/_index.md b/content/ko/docs/contribute/generate-ref-docs/_index.md new file mode 100644 index 0000000000..756c509206 --- /dev/null +++ b/content/ko/docs/contribute/generate-ref-docs/_index.md @@ -0,0 +1,11 @@ +--- +title: 참조 문서 개요 +main_menu: true +weight: 80 +--- + +이 섹션은 쿠버네티스 참조 가이드를 생성하는 방법에 대해 설명한다. + +참조 문서화 시스템을 빌드하려면, 다음의 가이드를 참고한다. + +* [참조 문서 생성에 대한 퀵스타트 가이드](/docs/contribute/generate-ref-docs/quickstart/) \ No newline at end of file diff --git a/content/ko/docs/contribute/new-content/overview.md b/content/ko/docs/contribute/new-content/overview.md index f53f1f62b6..c17a557c6d 100644 --- a/content/ko/docs/contribute/new-content/overview.md +++ b/content/ko/docs/contribute/new-content/overview.md @@ -54,5 +54,8 @@ CLA에 서명하지 않은 기여자의 풀 리퀘스트(pull request)는 자동 PR 당 하나의 언어로 풀 리퀘스트를 제한한다. 여러 언어로 동일한 코드 샘플을 동일하게 변경해야 하는 경우 각 언어마다 별도의 PR을 연다. +## 기여자를 위한 도구들 + +`kubernetes/website` 리포지터리의 [문서 기여자를 위한 도구](https://github.com/kubernetes/website/tree/master/content/en/docs/doc-contributor-tools) 디렉터리에는 기여 여정이 좀 더 순조롭게 진행되도록 도와주는 도구들이 포함되어 있다. diff --git a/content/ko/docs/home/_index.md b/content/ko/docs/home/_index.md index 94927fbfc1..2432f8781c 100644 --- a/content/ko/docs/home/_index.md +++ b/content/ko/docs/home/_index.md @@ -13,7 +13,7 @@ menu: title: "문서" weight: 20 post: > -

    개념, 튜토리얼 및 참조 문서와 함께 쿠버네티스 사용하는 방법을 익힐 수 있다. 또한, 문서에 기여하는 것도 도움을 줄 수 있다!

    +

    개념, 튜토리얼 및 참조 문서와 함께 쿠버네티스 사용하는 방법을 익힐 수 있다. 또한, 문서에 기여하는 것도 도움을 줄 수 있다!

    description: > 쿠버네티스는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈소스 컨테이너 오케스트레이션 엔진이다. 오픈소스 프로젝트는 Cloud Native Computing Foundation에서 주관한다. overview: > diff --git a/content/ko/docs/reference/_index.md b/content/ko/docs/reference/_index.md index d9c7dcd1cf..148abd29a3 100644 --- a/content/ko/docs/reference/_index.md +++ b/content/ko/docs/reference/_index.md @@ -8,7 +8,7 @@ content_type: concept -쿠버네티스 문서의 본 섹션에서는 레퍼런스를 다룬다. +쿠버네티스 문서의 본 섹션에서는 레퍼런스를 다룬다. @@ -21,8 +21,8 @@ content_type: concept ## API 클라이언트 라이브러리 -프로그래밍 언어에서 쿠버네티스 API를 호출하기 위해서, -[클라이언트 라이브러리](/ko/docs/reference/using-api/client-libraries/)를 사용할 수 있다. +프로그래밍 언어에서 쿠버네티스 API를 호출하기 위해서, +[클라이언트 라이브러리](/ko/docs/reference/using-api/client-libraries/)를 사용할 수 있다. 공식적으로 지원되는 클라이언트 라이브러리는 다음과 같다. - [쿠버네티스 Go 클라이언트 라이브러리](https://github.com/kubernetes/client-go/) @@ -32,7 +32,7 @@ content_type: concept ## CLI 레퍼런스 -* [kubectl](/docs/reference/kubectl/overview/) - 명령어를 실행하거나 쿠버네티스 클러스터를 관리하기 위해 사용하는 주된 CLI 도구. +* [kubectl](/ko/docs/reference/kubectl/overview/) - 명령어를 실행하거나 쿠버네티스 클러스터를 관리하기 위해 사용하는 주된 CLI 도구. * [JSONPath](/docs/reference/kubectl/jsonpath/) - kubectl에서 [JSONPath 표현](http://goessner.net/articles/JsonPath/)을 사용하기 위한 문법 가이드. * [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) - 안정적인 쿠버네티스 클러스터를 쉽게 프로비전하기 위한 CLI 도구. diff --git a/content/ko/docs/reference/kubectl/_index.md b/content/ko/docs/reference/kubectl/_index.md new file mode 100755 index 0000000000..7b6c2d720b --- /dev/null +++ b/content/ko/docs/reference/kubectl/_index.md @@ -0,0 +1,5 @@ +--- +title: "kubectl CLI" +weight: 60 +--- + diff --git a/content/ko/docs/reference/kubectl/cheatsheet.md b/content/ko/docs/reference/kubectl/cheatsheet.md index e13d7f434e..bcf654b0bd 100644 --- a/content/ko/docs/reference/kubectl/cheatsheet.md +++ b/content/ko/docs/reference/kubectl/cheatsheet.md @@ -8,7 +8,7 @@ card: -참고 항목: [Kubectl 개요](/docs/reference/kubectl/overview/)와 [JsonPath 가이드](/docs/reference/kubectl/jsonpath). +참고 항목: [Kubectl 개요](/ko/docs/reference/kubectl/overview/)와 [JsonPath 가이드](/docs/reference/kubectl/jsonpath). 이 페이지는 `kubectl` 커맨드의 개요이다. @@ -203,7 +203,7 @@ kubectl diff -f ./my-manifest.yaml ```bash kubectl set image deployment/frontend www=image:v2 # "frontend" 디플로이먼트의 "www" 컨테이너 이미지를 업데이트하는 롤링 업데이트 -kubectl rollout history deployment/frontend # 현 리비전을 포함한 디플로이먼트의 이력을 체크 +kubectl rollout history deployment/frontend # 현 리비전을 포함한 디플로이먼트의 이력을 체크 kubectl rollout undo deployment/frontend # 이전 디플로이먼트로 롤백 kubectl rollout undo deployment/frontend --to-revision=2 # 특정 리비전으로 롤백 kubectl rollout status -w deployment/frontend # 완료될 때까지 "frontend" 디플로이먼트의 롤링 업데이트 상태를 감시 @@ -355,7 +355,7 @@ kubectl get pods -A -o=custom-columns='DATA:spec.containers[?(@.image!="k8s.gcr. kubectl get pods -A -o=custom-columns='DATA:metadata.*' ``` -More examples in the kubectl [reference documentation](/docs/reference/kubectl/overview/#custom-columns). +더 많은 예제는 kubectl [참조 문서](/ko/docs/reference/kubectl/overview/#custom-columns)를 참고한다. ### Kubectl 출력 로그 상세 레벨(verbosity)과 디버깅 @@ -378,7 +378,7 @@ Kubectl 로그 상세 레벨(verbosity)은 `-v` 또는`--v` 플래그와 로그 ## {{% heading "whatsnext" %}} -* [kubectl 개요](/docs/reference/kubectl/overview/)에 대해 더 배워보자. +* [kubectl 개요](/ko/docs/reference/kubectl/overview/)에 대해 더 배워보자. * [kubectl](/docs/reference/kubectl/kubectl/) 옵션을 참고한다. diff --git a/content/ko/docs/reference/kubectl/overview.md b/content/ko/docs/reference/kubectl/overview.md new file mode 100644 index 0000000000..d70eb8939a --- /dev/null +++ b/content/ko/docs/reference/kubectl/overview.md @@ -0,0 +1,495 @@ +--- +title: kubectl 개요 +content_template: templates/concept +weight: 20 +card: + name: reference + weight: 20 +--- + +{{% capture overview %}} +Kubectl은 쿠버네티스 클러스터를 제어하기 위한 커맨드 라인 도구이다. `kubectl` 은 config 파일을 $HOME/.kube 에서 찾는다. KUBECONFIG 환경 변수를 설정하거나 [`--kubeconfig`](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/) 플래그를 설정하여 다른 [kubeconfig](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/) 파일을 지정할 수 있다. + +이 개요는 `kubectl` 구문을 다루고, 커맨드 동작을 설명하며, 일반적인 예제를 제공한다. 지원되는 모든 플래그 및 하위 명령을 포함한 각 명령에 대한 자세한 내용은 [kubectl](/docs/reference/generated/kubectl/kubectl-commands/) 참조 문서를 참고한다. 설치 방법에 대해서는 [kubectl 설치](/ko/docs/tasks/tools/install-kubectl/)를 참고한다. + +{{% /capture %}} + +{{% capture body %}} + +## 구문 + +터미널 창에서 `kubectl` 명령을 실행하려면 다음의 구문을 사용한다. + +```shell +kubectl [command] [TYPE] [NAME] [flags] +``` + +다음은 `command`, `TYPE`, `NAME` 과 `flags` 에 대한 설명이다. + +* `command`: 하나 이상의 리소스에서 수행하려는 동작을 지정한다. 예: `create`, `get`, `describe`, `delete` + +* `TYPE`: [리소스 타입](#리소스-타입)을 지정한다. 리소스 타입은 대소문자를 구분하지 않으며 단수형, 복수형 또는 약어 형식을 지정할 수 있다. 예를 들어, 다음의 명령은 동일한 출력 결과를 생성한다. + + ```shell + kubectl get pod pod1 + kubectl get pods pod1 + kubectl get po pod1 + ``` + +* `NAME`: 리소스 이름을 지정한다. 이름은 대소문자를 구분한다. 이름을 생략하면, 모든 리소스에 대한 세부 사항이 표시된다. 예: `kubectl get pods` + + 여러 리소스에 대한 작업을 수행할 때, 타입 및 이름별로 각 리소스를 지정하거나 하나 이상의 파일을 지정할 수 있다. + + * 타입 및 이름으로 리소스를 지정하려면 다음을 참고한다. + + * 리소스가 모두 동일한 타입인 경우 리소스를 그룹화하려면 다음을 사용한다. `TYPE1 name1 name2 name<#>`
    + 예: `kubectl get pod example-pod1 example-pod2` + + * 여러 리소스 타입을 개별적으로 지정하려면 다음을 사용한다. `TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>`
    + 예: `kubectl get pod/example-pod1 replicationcontroller/example-rc1` + + * 하나 이상의 파일로 리소스를 지정하려면 다음을 사용한다. `-f file1 -f file2 -f file<#>` + + * YAML이 특히 구성 파일에 대해 더 사용자 친화적이므로, [JSON 대신 YAML을 사용한다](/ko/docs/concepts/configuration/overview/#일반적인-구성-팁).
    + 예: `kubectl get pod -f ./pod.yaml` + +* `flags`: 선택적 플래그를 지정한다. 예를 들어, `-s` 또는 `--server` 플래그를 사용하여 쿠버네티스 API 서버의 주소와 포트를 지정할 수 있다.
    + +{{< caution >}} +커맨드 라인에서 지정하는 플래그는 기본값과 해당 환경 변수를 무시한다. +{{< /caution >}} + +도움이 필요하다면, 터미널 창에서 `kubectl help` 를 실행한다. + +## 명령어 + +다음 표에는 모든 `kubectl` 작업에 대한 간단한 설명과 일반적인 구문이 포함되어 있다. + +명령어 | 구문 | 설명 +-------------------- | -------------------- | -------------------- +`alpha` | `kubectl alpha SUBCOMMAND [flags]` | 쿠버네티스 클러스터에서 기본적으로 활성화되어 있지 않은 알파 기능의 사용할 수 있는 명령을 나열한다. +`annotate` | kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] | 하나 이상의 리소스 어노테이션을 추가하거나 업데이트한다. +`api-resources` | `kubectl api-resources [flags]` | 사용 가능한 API 리소스를 나열한다. +`api-versions` | `kubectl api-versions [flags]` | 사용 가능한 API 버전을 나열한다. +`apply` | `kubectl apply -f FILENAME [flags]`| 파일이나 표준입력(stdin)으로부터 리소스에 구성 변경 사항을 적용한다. +`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | 실행 중인 컨테이너에 연결하여 출력 스트림을 보거나 표준입력을 통해 컨테이너와 상호 작용한다. +`auth` | `kubectl auth [flags] [options]` | 승인을 검사한다. +`autoscale` | kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags] | 레플리케이션 컨트롤러에서 관리하는 파드 집합을 자동으로 조정한다. +`certificate` | `kubectl certificate SUBCOMMAND [options]` | 인증서 리소스를 수정한다. +`cluster-info` | `kubectl cluster-info [flags]` | 클러스터의 마스터와 서비스에 대한 엔드포인트 정보를 표시한다. +`completion` | `kubectl completion SHELL [options]` | 지정된 셸(bash 또는 zsh)에 대한 셸 완성 코드를 출력한다. +`config` | `kubectl config SUBCOMMAND [flags]` | kubeconfig 파일을 수정한다. 세부 사항은 개별 하위 명령을 참고한다. +`convert` | `kubectl convert -f FILENAME [options]` | 다른 API 버전 간에 구성 파일을 변환한다. YAML 및 JSON 형식이 모두 허용된다. +`cordon` | `kubectl cordon NODE [options]` | 노드를 스케줄 불가능(unschedulable)으로 표시한다. +`cp` | `kubectl cp [options]` | 컨테이너에서 그리고 컨테이너로 파일 및 디렉터리를 복사한다. +`create` | `kubectl create -f FILENAME [flags]` | 파일이나 표준입력에서 하나 이상의 리소스를 생성한다. +`delete` | kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags] | 파일, 표준입력 또는 레이블 셀렉터, 이름, 리소스 셀렉터 또는 리소스를 지정하여 리소스를 삭제한다. +`describe` | kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags] | 하나 이상의 리소스의 자세한 상태를 표시한다. +`diff` | `kubectl diff -f FILENAME [flags]`| 라이브 구성에 대해 파일이나 표준입력의 차이점을 출력한다. +`drain` | `kubectl drain NODE [options]` | 유지 보수를 준비 중인 노드를 드레인한다. +`edit` | kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags] | 기본 편집기를 사용하여 서버에서 하나 이상의 리소스 정의를 편집하고 업데이트한다. +`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | 파드의 컨테이너에 대해 명령을 실행한다. +`explain` | `kubectl explain [--recursive=false] [flags]` | 파드, 노드, 서비스 등의 다양한 리소스에 대한 문서를 출력한다. +`expose` | kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags] | 레플리케이션 컨트롤러, 서비스 또는 파드를 새로운 쿠버네티스 서비스로 노출한다. +`get` | kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags] | 하나 이상의 리소스를 나열한다. +`kustomize` | `kubectl kustomize [flags] [options]` | kustomization.yaml 파일의 지시 사항에서 생성된 API 리소스 집합을 나열한다. 인수는 파일을 포함하는 디렉터리의 경로이거나, 리포지터리 루트와 관련하여 경로 접미사가 동일한 git 리포지터리 URL이어야 한다. +`label` | kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] | 하나 이상의 리소스 레이블을 추가하거나 업데이트한다. +`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | 파드의 컨테이너에 대한 로그를 출력한다. +`options` | `kubectl options` | 모든 명령에 적용되는 전역 커맨드 라인 옵션을 나열한다. +`patch` | kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags] | 전략적 병합 패치 프로세스를 사용하여 리소스의 하나 이상의 필드를 업데이트한다. +`plugin` | `kubectl plugin [flags] [options]` | 플러그인과 상호 작용하기 위한 유틸리티를 제공한다. +`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | 하나 이상의 로컬 포트를 파드로 전달한다. +`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | 쿠버네티스 API 서버에 프록시를 실행한다. +`replace` | `kubectl replace -f FILENAME` | 파일 또는 표준입력에서 리소스를 교체한다. +`rollout` | `kubectl rollout SUBCOMMAND [options]` | 리소스의 롤아웃을 관리한다. 유효한 리소스 타입에는 디플로이먼트(deployment), 데몬셋(daemonset)과 스테이트풀셋(statefulset)이 포함된다. +`run` | kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client|none] [--overrides=inline-json] [flags] | 클러스터에서 지정된 이미지를 실행한다. +`scale` | kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags] | 지정된 레플리케이션 컨트롤러의 크기를 업데이트한다. +`set` | `kubectl set SUBCOMMAND [options]` | 애플리케이션 리소스를 구성한다. +`taint` | `kubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N [options]` | 하나 이상의 노드에서 테인트(taint)를 업데이트한다. +`top` | `kubectl top [flags] [options]` | 리소스(CPU/메모리/스토리지) 사용량을 표시한다. +`uncordon` | `kubectl uncordon NODE [options]` | 노드를 스케줄 가능(schedulable)으로 표시한다. +`version` | `kubectl version [--client] [flags]` | 클라이언트와 서버에서 실행 중인 쿠버네티스 버전을 표시한다. +`wait` | kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for condition=available] [options] | 실험(experimental) 기능: 하나 이상의 리소스에서 특정 조건을 기다린다. + +기억하기: 명령 동작에 대한 자세한 내용은 [kubectl](/docs/user-guide/kubectl/) 참조 문서를 참고한다. + +## 리소스 타입 + +다음 표에는 지원되는 모든 리소스 타입과 해당 약어가 나열되어 있다. + +(이 출력은 `kubectl api-resources` 에서 확인할 수 있으며, 쿠버네티스 1.13.3 부터 일치한다.) + +| 리소스 이름 | 짧은 이름 | API 그룹 | 네임스페이스 | 리소스 종류 | +|---|---|---|---|---| +| `bindings` | | | true | Binding| +| `componentstatuses` | `cs` | | false | ComponentStatus | +| `configmaps` | `cm` | | true | ConfigMap | +| `endpoints` | `ep` | | true | Endpoints | +| `limitranges` | `limits` | | true | LimitRange | +| `namespaces` | `ns` | | false | Namespace | +| `nodes` | `no` | | false | Node | +| `persistentvolumeclaims` | `pvc` | | true | PersistentVolumeClaim | +| `persistentvolumes` | `pv` | | false | PersistentVolume | +| `pods` | `po` | | true | Pod | +| `podtemplates` | | | true | PodTemplate | +| `replicationcontrollers` | `rc` | | true| ReplicationController | +| `resourcequotas` | `quota` | | true | ResourceQuota | +| `secrets` | | | true | Secret | +| `serviceaccounts` | `sa` | | true | ServiceAccount | +| `services` | `svc` | | true | Service | +| `mutatingwebhookconfigurations` | | admissionregistration.k8s.io | false | MutatingWebhookConfiguration | +| `validatingwebhookconfigurations` | | admissionregistration.k8s.io | false | ValidatingWebhookConfiguration | +| `customresourcedefinitions` | `crd`, `crds` | apiextensions.k8s.io | false | CustomResourceDefinition | +| `apiservices` | | apiregistration.k8s.io | false | APIService | +| `controllerrevisions` | | apps | true | ControllerRevision | +| `daemonsets` | `ds` | apps | true | DaemonSet | +| `deployments` | `deploy` | apps | true | Deployment | +| `replicasets` | `rs` | apps | true | ReplicaSet | +| `statefulsets` | `sts` | apps | true | StatefulSet | +| `tokenreviews` | | authentication.k8s.io | false | TokenReview | +| `localsubjectaccessreviews` | | authorization.k8s.io | true | LocalSubjectAccessReview | +| `selfsubjectaccessreviews` | | authorization.k8s.io | false | SelfSubjectAccessReview | +| `selfsubjectrulesreviews` | | authorization.k8s.io | false | SelfSubjectRulesReview | +| `subjectaccessreviews` | | authorization.k8s.io | false | SubjectAccessReview | +| `horizontalpodautoscalers` | `hpa` | autoscaling | true | HorizontalPodAutoscaler | +| `cronjobs` | `cj` | batch | true | CronJob | +| `jobs` | | batch | true | Job | +| `certificatesigningrequests` | `csr` | certificates.k8s.io | false | CertificateSigningRequest | +| `leases` | | coordination.k8s.io | true | Lease | +| `events` | `ev` | events.k8s.io | true | Event | +| `ingresses` | `ing` | extensions | true | Ingress | +| `networkpolicies` | `netpol` | networking.k8s.io | true | NetworkPolicy | +| `poddisruptionbudgets` | `pdb` | policy | true | PodDisruptionBudget | +| `podsecuritypolicies` | `psp` | policy | false | PodSecurityPolicy | +| `clusterrolebindings` | | rbac.authorization.k8s.io | false | ClusterRoleBinding | +| `clusterroles` | | rbac.authorization.k8s.io | false | ClusterRole | +| `rolebindings` | | rbac.authorization.k8s.io | true | RoleBinding | +| `roles` | | rbac.authorization.k8s.io | true | Role | +| `priorityclasses` | `pc` | scheduling.k8s.io | false | PriorityClass | +| `csidrivers` | | storage.k8s.io | false | CSIDriver | +| `csinodes` | | storage.k8s.io | false | CSINode | +| `storageclasses` | `sc` | storage.k8s.io | false | StorageClass | +| `volumeattachments` | | storage.k8s.io | false | VolumeAttachment | + +## 출력 옵션 + +특정 명령의 출력을 서식화하거나 정렬하는 방법에 대한 정보는 다음 섹션을 참고한다. 다양한 출력 옵션을 지원하는 명령에 대한 자세한 내용은 [kubectl](/docs/user-guide/kubectl/) 참조 문서를 참고한다. + +### 출력 서식화 + +모든 `kubectl` 명령의 기본 출력 형식은 사람이 읽을 수 있는 일반 텍스트 형식이다. 특정 형식으로 터미널 창에 세부 정보를 출력하려면, 지원되는 `kubectl` 명령에 `-o` 또는 `--output` 플래그를 추가할 수 있다. + +#### 구문 + +```shell +kubectl [command] [TYPE] [NAME] -o +``` + +`kubectl` 명령에 따라, 다음과 같은 출력 형식이 지원된다. + +출력 형식 | 설명 +--------------| ----------- +`-o custom-columns=` | 쉼표로 구분된 [사용자 정의 열](#custom-columns) 목록을 사용하여 테이블을 출력한다. +`-o custom-columns-file=` | `` 파일에서 [사용자 정의 열](#custom-columns) 템플릿을 사용하여 테이블을 출력한다. +`-o json` | JSON 형식의 API 오브젝트를 출력한다. +`-o jsonpath=