From 01066089d3af53fd4a513b764666be450790198e Mon Sep 17 00:00:00 2001 From: Yoofi Quansah Date: Thu, 19 Oct 2023 12:46:21 -0500 Subject: [PATCH] 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.