hashicorp / consul

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
https://www.consul.io
Other
28.05k stars 4.4k forks source link

Flagger support for Consul #7535

Open oleksiyp opened 4 years ago

oleksiyp commented 4 years ago

Feature Description

I would like to install one helm chart in several DCs and get Consul Connect service mesh out of the box.

Use Case(s)

My experience

I spent a few weekends to make this work on PoC level. And here is my experience.

Problems I faced:

Didn't find in docs:

Modified:

I added to service chart additional envoy instance to expose statistics to Prometheus directly through envoys /metrics (although now I realize that I potentially can just expose this path)

Created test-bed:

As a result:

All setup available here: https://github.com/oleksiyp/consul-connect-multi-dc

oleksiyp commented 4 years ago

@nicholasjackson here is full context of my changes related to https://github.com/weaveworks/flagger/pull/482

jsosulska commented 4 years ago

This relates to #7412 . Cross linking for feature request.

david-yu commented 4 years ago

Hi @oleksiyp

Thank you for your feedback. We just released WAN Federation over Mesh Gateways for Kubernetes to enable the multi-dc workflow: https://www.consul.io/docs/k8s/installation/multi-cluster/overview

In addition we are working towards enabling our newly built Ingress Gateway for Consul 1.8 beta (https://www.consul.io/docs/connect/ingress_gateway) into the Helm chart for deployment as well.

As far as Flagger, we have seen requests for flagger in the past. We'll take a review your PR as well so thank you for the PR.

ssimard24 commented 3 years ago

Hi there, was there any movement on the flagger support? We are currently using Consul for pod to pod encryption. But we are also moving towards a gitops solutions and therefore want to use flagger, prometheus, fluxcd, etc. to orchestrate deployments. Without such a support, we will have to start evaluation other ServiceMesh solutions.

nicholasjackson commented 3 years ago

Hey, @ssimard24, @oleksiyp I have been chatting with Stephan from Weave and have created a new SMI controller that allows you to use Flagger without modifications. This is still pretty early stages but it works great for Flaggers requirement round Service Splitting. Personally, I love flagger and would not deploy without it, we are excited to bring this to Consul.

https://github.com/nicholasjackson/consul-smi-controller

I have also started to write up this information, and plan to produce a video within the next week to show how this all works.

https://github.com/nicholasjackson/consul-canary-deployment

Kind regards,

Nic

ssimard24 commented 3 years ago

Great news Nicholas. Thanks for your help.

ssimard24 commented 2 years ago

Hey Nicholas was there any more movement on the topic of Flagger? We are ready to start our proof of concept.

shubhamsre commented 1 year ago

@nicholasjackson could you please let know if there has been a progress on the feature, and is it still in POC phase or in GA. Please point to the official docs, if any. Thanks.