From f63a50d954e42e1806ee52ad5d0676323ad46809 Mon Sep 17 00:00:00 2001 From: Scott Date: Tue, 17 Nov 2020 08:29:45 -0500 Subject: [PATCH] Move the High Availability doc out of the developers subdirectory Our docs/developers subdirectory is intended for documentation for maintainers and developers of the Tekotn Pipelines project. The HA doc that was added previously has a wider audience than this - it's intended for cluster administrators managing a Tekton Pipelines deployment. This commit moves the ha doc out of the docs/developers subdirectory and puts it in the docs directory. Links are updated to in the install doc and text is reformatted to consolidate the multiple HA configuration sections we have in that doc. --- docs/{developers => }/enabling-ha.md | 4 ++-- docs/install.md | 21 +++++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) rename docs/{developers => }/enabling-ha.md (93%) diff --git a/docs/developers/enabling-ha.md b/docs/enabling-ha.md similarity index 93% rename from docs/developers/enabling-ha.md rename to docs/enabling-ha.md index 911fbb9aca8..ad87431a22f 100644 --- a/docs/developers/enabling-ha.md +++ b/docs/enabling-ha.md @@ -1,4 +1,4 @@ -# HA support for Tekton Pipeline controllers +# HA Support for Tekton Pipeline Controllers - [Overview](#overview) - [Configuring HA](#configuring-ha) @@ -11,7 +11,7 @@ ## Overview --- -This document is aimed at helping maintainers/developers when configuring High Availability(HA) support for the Tekton Pipeline [controller deployment](../../config/controller.yaml). +This document is aimed at helping Cluster Admins when configuring High Availability(HA) support for the Tekton Pipeline [controller deployment](../../config/controller.yaml). HA support allows components to remain operational when a disruption occurs. This is achieved by following an active/active model, where all replicas of the Tekton controller can receive workload. In this HA approach the reconcile space is distributed across buckets, where each replica owns a subset of those buckets and can process the load if the given replica is the leader of that bucket. diff --git a/docs/install.md b/docs/install.md index 5dac5ac30ba..872086c9fa2 100644 --- a/docs/install.md +++ b/docs/install.md @@ -7,6 +7,8 @@ This guide explains how to install Tekton Pipelines. It covers the following top * [Installing Tekton Pipelines on OpenShift](#installing-tekton-pipelines-on-openshift) * [Configuring PipelineResource storage](#configuring-pipelineresource-storage) * [Customizing basic execution parameters](#customizing-basic-execution-parameters) +* [Configuring High Availability](#configuring-high-availability) +* [Configuring tekton pipeline controller performance](#configuring-tekton-pipeline-controller-performance) * [Creating a custom release of Tekton Pipelines](#creating-a-custom-release-of-tekton-pipelines) * [Next steps](#next-steps) @@ -359,9 +361,18 @@ data: disable-working-directory-overwrite: "true" # Tekton will not override the working directory for individual Steps. ``` -### Customizing High Availability for the Pipelines Controller +## Configuring High Availability + +If you want to run Tekton Pipelines in a way so that webhooks are resiliant against failures and support +high concurrency scenarios, you need to run a [Metrics Server](https://github.com/kubernetes-sigs/metrics-server) in +your Kubernetes cluster. This is required by the [Horizontal Pod Autoscalers](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) +to compute replica count. -To customize the behavior of HA for the Tekton Pipelines controller, please refer to the related [documentation](developers/enabling-ha.md). +See [HA Support for Tekton Pipeline Controllers](./enabling-ha.md) for instructions on configuring +High Availability in the Tekton Pipelines Controller. + +The default configuration is defined in [webhook-hpa.yaml](./../config/webhook-hpa.yaml) which can be customized +to better fit specific usecases. ## Configuring tekton pipeline controller performance @@ -371,12 +382,6 @@ Out-of-the-box, Tekton Pipelines Controller is configured for relatively small-s You can create a custom release of Tekton Pipelines by following and customizing the steps in [Creating an official release](https://github.com/tektoncd/pipeline/blob/master/tekton/README.md#create-an-official-release). For example, you might want to customize the container images built and used by Tekton Pipelines. -## Configuring High Availability - -If you want to run Tekton Pipelines in a way so that webhooks are resiliant against failures and support high concurrency scenarios, you need to run a [Metrics Server](https://github.com/kubernetes-sigs/metrics-server) in your Kubernetes cluster. This is required by the [Horizontal Pod Autoscalers](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) to compute the replica count. - -**Note:** The default configuration is defined in [webhook-hpa.yaml](./../config/webhook-hpa.yaml) which could be customized to better fit a specific usecase. - ## Next steps To get started with Tekton Pipelines, see the [Tekton Pipelines Tutorial](./tutorial.md) and take a look at our [examples](https://github.com/tektoncd/pipeline/tree/master/examples).