From 65471b84aa02350a860177b00a74f928b25fb0cc Mon Sep 17 00:00:00 2001 From: Mark Phelps <209477+markphelps@users.noreply.github.com> Date: Thu, 19 Oct 2023 10:51:22 -0400 Subject: [PATCH 1/5] feat(wip): sidecar image --- images/operations/flipt-k8s-sidecar-dark.svg | 552 ++++++++++++++++++ images/operations/flipt-k8s-sidecar-light.svg | 552 ++++++++++++++++++ operations/deployment.mdx | 18 + 3 files changed, 1122 insertions(+) create mode 100644 images/operations/flipt-k8s-sidecar-dark.svg create mode 100644 images/operations/flipt-k8s-sidecar-light.svg diff --git a/images/operations/flipt-k8s-sidecar-dark.svg b/images/operations/flipt-k8s-sidecar-dark.svg new file mode 100644 index 0000000..bf823e9 --- /dev/null +++ b/images/operations/flipt-k8s-sidecar-dark.svg @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/operations/flipt-k8s-sidecar-light.svg b/images/operations/flipt-k8s-sidecar-light.svg new file mode 100644 index 0000000..69c700f --- /dev/null +++ b/images/operations/flipt-k8s-sidecar-light.svg @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/operations/deployment.mdx b/operations/deployment.mdx index 3770cf8..b0ea62e 100644 --- a/operations/deployment.mdx +++ b/operations/deployment.mdx @@ -95,3 +95,21 @@ This has the potential for multiple benefits: Flipt ships with metrics, logging and tracing around both behaviour and system performance metrics. These pieces of telemetry can be useful for understanding the constraints within your setup of Flipt. We recommend reading the [Configuration: Observability](/configuration/observability) section to understand more about how to extract these measurements. + +## Kubernetes + +TODO: Add more details on how to deploy Flipt in Kubernetes. + +### Sidecar Deployment + +TODO: Add more details on how to deploy Flipt as a sidecar in Kubernetes. + + +
+ ![Flipt sidecar deployment configuration](/images/operations/flipt-k8s-sidecar-light.svg) +
+ +
+ ![Flipt sidecar deployment configuration](/images/operations/flipt-k8s-sidecar-dark.svg) +
+ From 01066089d3af53fd4a513b764666be450790198e Mon Sep 17 00:00:00 2001 From: Yoofi Quansah Date: Thu, 19 Oct 2023 12:46:21 -0500 Subject: [PATCH 2/5] chore: add more detail for Kubernetes and sidecar docs --- operations/deployment.mdx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/operations/deployment.mdx b/operations/deployment.mdx index b0ea62e..29db715 100644 --- a/operations/deployment.mdx +++ b/operations/deployment.mdx @@ -98,11 +98,16 @@ Flipt ships with metrics, logging and tracing around both behaviour and system p ## Kubernetes -TODO: Add more details on how to deploy Flipt in Kubernetes. +Flipt already supports running as a [Docker container](https://github.com/flipt-io/flipt#docker-whale), so the lift to run within a Kubernetes environment proves to be quite simple. + +The easiest way to get started is to use our [helm chart](https://github.com/flipt-io/helm-charts). The `install` command in the README of our helm chart repo will provision a Kubernetes Deployment of flipt along with a Kubernetes Service. + +If you are already familiar with Kubernetes, you can get started by using the image `flipt:flipt:latest` (or pin to a specific version if need be) hosted on Docker Hub. + ### Sidecar Deployment -TODO: Add more details on how to deploy Flipt as a sidecar in Kubernetes. +We released an [article](https://www.flipt.io/blog/flipt-as-a-sidecar) on October 16, 2023 that explored a nice use case of an efficient way to run Flipt as a sidecar.
@@ -113,3 +118,9 @@ TODO: Add more details on how to deploy Flipt as a sidecar in Kubernetes. ![Flipt sidecar deployment configuration](/images/operations/flipt-k8s-sidecar-dark.svg)
+ +The image above represents a generic architecture, but we will focus on this being the state of a Kubernetes cluster. + +The `Flipt (master)` will be the source of truth of all feature flag state, and where Flipt users will make edits to the state through the UI. You can think of this component as what comes by default by a `helm install`. + +The `Flipt Exporter` is a [Kubernetes CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) which uses the `flipt export` command to upload potential changed state to an S3 bucket. As the feature flag state reaches an S3 bucket, several instances of Flipt can then be ran on top of that S3 bucket. Once such example is the `Flipt Sidecar` in the diagram which is collocated with a main process (in the same Kubernetes pod) that uses a Flipt client. From 804d34467647543c7a655179b2316f4356b77e3f Mon Sep 17 00:00:00 2001 From: Yoofi Quansah Date: Thu, 19 Oct 2023 12:46:21 -0500 Subject: [PATCH 3/5] chore: add more detail for Kubernetes and sidecar docs --- operations/deployment.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/operations/deployment.mdx b/operations/deployment.mdx index b0ea62e..bc00b06 100644 --- a/operations/deployment.mdx +++ b/operations/deployment.mdx @@ -98,11 +98,16 @@ Flipt ships with metrics, logging and tracing around both behaviour and system p ## Kubernetes -TODO: Add more details on how to deploy Flipt in Kubernetes. +Flipt already supports running as a [Docker container](https://github.com/flipt-io/flipt#docker-whale), so the lift to run within a Kubernetes environment proves to be quite simple. + +The easiest way to get started is to use our [helm chart](https://github.com/flipt-io/helm-charts). The `install` command in the README of our helm chart repo will provision a Kubernetes Deployment of flipt along with a Kubernetes Service. + +If you are already familiar with Kubernetes, you can get started by using the image `flipt:flipt:latest` (or pin to a specific version if need be) hosted on Docker Hub. + ### Sidecar Deployment -TODO: Add more details on how to deploy Flipt as a sidecar in Kubernetes. +We released an [blog post](https://www.flipt.io/blog/flipt-as-a-sidecar) on October 16, 2023 that explored a nice use case of an efficient way to run Flipt as a sidecar.
@@ -113,3 +118,11 @@ TODO: Add more details on how to deploy Flipt as a sidecar in Kubernetes. ![Flipt sidecar deployment configuration](/images/operations/flipt-k8s-sidecar-dark.svg)
+ +The above image could apply to a generic architecture, but we will focus on this being the state of a Kubernetes cluster. + +The `Flipt (master)` is the source of truth of all feature flag state, and where Flipt users will make edits to the state through the UI. You can think of this component as what comes by default by on a `helm install`. + +The `Flipt Exporter` is a [Kubernetes CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) which uses the [flipt export](/operations/import-export#export) command to upload potential changed state to an S3 bucket. As the feature flag state reaches an S3 bucket, several instances of Flipt can then be ran on top of that S3 bucket. Once such example is the `Flipt Sidecar` in the diagram which is collocated with a main process (in the same Kubernetes pod) that uses a Flipt client. + +The overall idea here is for the main process to achieve faster evaluations going over the "localhost" rather than through a central Flipt process which could be running anywhere in a distributed sense. From 496988b2ee6020ecad3bdadae1f1ad92a2168940 Mon Sep 17 00:00:00 2001 From: yquansah Date: Thu, 19 Oct 2023 21:32:05 +0000 Subject: [PATCH 4/5] chore: format code --- operations/deployment.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/operations/deployment.mdx b/operations/deployment.mdx index bc00b06..900d6fb 100644 --- a/operations/deployment.mdx +++ b/operations/deployment.mdx @@ -104,7 +104,6 @@ The easiest way to get started is to use our [helm chart](https://github.com/fli If you are already familiar with Kubernetes, you can get started by using the image `flipt:flipt:latest` (or pin to a specific version if need be) hosted on Docker Hub. - ### Sidecar Deployment We released an [blog post](https://www.flipt.io/blog/flipt-as-a-sidecar) on October 16, 2023 that explored a nice use case of an efficient way to run Flipt as a sidecar. From 8057b0fd744a9803ae83db7279566e2276b9ed54 Mon Sep 17 00:00:00 2001 From: Yoofi Quansah Date: Fri, 20 Oct 2023 08:15:14 -0500 Subject: [PATCH 5/5] chore: rewrite some lines in the documentation --- operations/deployment.mdx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/operations/deployment.mdx b/operations/deployment.mdx index bc00b06..3714f67 100644 --- a/operations/deployment.mdx +++ b/operations/deployment.mdx @@ -98,16 +98,16 @@ Flipt ships with metrics, logging and tracing around both behaviour and system p ## Kubernetes -Flipt already supports running as a [Docker container](https://github.com/flipt-io/flipt#docker-whale), so the lift to run within a Kubernetes environment proves to be quite simple. +Flipt already supports running as a [Docker container](/installation#docker), so the lift to run within a Kubernetes environment proves to be quite simple. -The easiest way to get started is to use our [helm chart](https://github.com/flipt-io/helm-charts). The `install` command in the README of our helm chart repo will provision a Kubernetes Deployment of flipt along with a Kubernetes Service. +The easiest way to get started is to use our [Helm chart](installation#kubernetes-helm). The chart will provision a Kubernetes Deployment of Flipt along with a Kubernetes Service. -If you are already familiar with Kubernetes, you can get started by using the image `flipt:flipt:latest` (or pin to a specific version if need be) hosted on Docker Hub. +If you are already familiar with Kubernetes, you can get started by using the `flipt:latest` image (or pin to a specific version). ### Sidecar Deployment -We released an [blog post](https://www.flipt.io/blog/flipt-as-a-sidecar) on October 16, 2023 that explored a nice use case of an efficient way to run Flipt as a sidecar. +We published a [blog post](https://www.flipt.io/blog/flipt-as-a-sidecar) that explores an efficient way to run Flipt as a sidecar.
@@ -119,10 +119,8 @@ We released an [blog post](https://www.flipt.io/blog/flipt-as-a-sidecar) on Octo
-The above image could apply to a generic architecture, but we will focus on this being the state of a Kubernetes cluster. +The `Flipt (master)` is the source of truth of all feature flag state where Flipt users make edits through the UI. -The `Flipt (master)` is the source of truth of all feature flag state, and where Flipt users will make edits to the state through the UI. You can think of this component as what comes by default by on a `helm install`. +The `Flipt Exporter` is a [Kubernetes CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) which uses the [flipt export](/cli/commands/export) command to upload potential changed state to a S3 bucket. Several instances of Flipt can then be run using the S3 bucket as a source of truth. One such example is the `Flipt Sidecar` in the diagram which is collocated with a main process (in the same Kubernetes pod) that uses a Flipt client. -The `Flipt Exporter` is a [Kubernetes CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) which uses the [flipt export](/operations/import-export#export) command to upload potential changed state to an S3 bucket. As the feature flag state reaches an S3 bucket, several instances of Flipt can then be ran on top of that S3 bucket. Once such example is the `Flipt Sidecar` in the diagram which is collocated with a main process (in the same Kubernetes pod) that uses a Flipt client. - -The overall idea here is for the main process to achieve faster evaluations going over the "localhost" rather than through a central Flipt process which could be running anywhere in a distributed sense. +The overall idea is for the main process to achieve faster evaluations going over the "localhost" rather than through a central Flipt process which could be running anywhere in a distributed sense.