Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple Cluster pipeline for Conformitron #160

Closed
wants to merge 47 commits into from

Conversation

Howlla
Copy link
Contributor

@Howlla Howlla commented Feb 8, 2024

Issue #, if available:

Description of changes: Testing pipeline for Kube 1.24 to 1.27 with x86 and ARM architectures

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@elamaran11 elamaran11 linked an issue Feb 8, 2024 that may be closed by this pull request
@Howlla
Copy link
Contributor Author

Howlla commented Feb 9, 2024

I run this with

 make pattern multi-cluster-conformitron deploy multi-cluster-central-pipeline

Copy link
Contributor

@elamaran11 elamaran11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Howlla As discussed, I recommend the following:

  1. A Blueprints Construct holding the cluster setup with addons
  2. Using K8s version map to render versions with Construct with stages for pipeline for multiple clusters.
  3. Remove Argo out of the equation. Use FluxConfig

lib/multi-cluster-construct/pipeline.ts Outdated Show resolved Hide resolved
lib/multi-cluster-construct/pipeline.ts Outdated Show resolved Hide resolved
lib/multi-cluster-construct/pipeline.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@elamaran11 elamaran11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Howlla Overall looks great, I have some minor feedback.

  1. Documentation is missing
  2. Reference doc to mkdocs for the pattern
  3. Commented code cleanup, remove account numbers and personal owner reference
  4. Think about accommodating BottleRocket as one of the cluster type
  5. I recommend creating a specific Construct or reusing Observability Builder class in this as Construct which can be rendered multi times to create many clusters
  6. Multi Account Observability should be part of this. You can refer to our Multi Account Mon pattern in CDK Accelerator.
  7. Centralized Logging with ADOT to CW
  8. Centralized tracing with ADOT to X-RAY
  9. Centralized Monitoring with ADOT to AMP
  10. Grafana Operator and Grafana Dashboarding for multi cluster should be a part.
  11. We should bring in Hardening to Clusters using tools like Trivy, Kyverno (Mike should help you with this).

blueprints.CodePipelineStack.builder()
.application('npx ts-node bin/multi-cluster-conformitron.ts')
.name('multi-cluster-central-pipeline')
.owner('Howlla')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will have to change when you merge!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes done

lib/multi-cluster-construct/eksa-secret-stores.ts Outdated Show resolved Hide resolved
lib/multi-cluster-construct/eksa-secret-stores.ts Outdated Show resolved Hide resolved
lib/multi-cluster-construct/index.ts Outdated Show resolved Hide resolved
lib/multi-cluster-construct/pipeline.ts Outdated Show resolved Hide resolved
lib/multi-cluster-construct/pipeline.ts Outdated Show resolved Hide resolved
@Howlla
Copy link
Contributor Author

Howlla commented Feb 19, 2024

Hi @elamaran11 Current status

1.Documentation is missing - Added
2.Reference doc to mkdocs for the pattern - Added
3.Commented code cleanup, remove account numbers and personal owner reference - Removed
4.Accommodating BottleRocket as one of the cluster type - Added
5. Creating a specific Construct or reusing Observability Builder class in this as Construct which can be rendered multi times to create many clusters - Added
6.Multi Account Observability should be part of this. You can refer to our Multi Account Mon pattern in CDK Accelerator. - Didnt use multi accounts
7.Centralized Logging with ADOT to CW - oss observability added
8.Centralized tracing with ADOT to X-RAY - oss observability added
9.Centralized Monitoring with ADOT to AMP - oss observability added
10.Grafana Operator and Grafana Dashboarding for multi cluster should be a part. - additional cluster added for grafana
11.We should bring in Hardening to Clusters using tools like Trivy, Kyverno - future work

Copy link
Contributor

@elamaran11 elamaran11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bhavye. Approach looks very good and well aligned. Did this work and were you able to see metrics of all clusters in AMG console? Can you show a demo of this operating and all ISVS working on friday?

Copy link
Contributor

@elamaran11 elamaran11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doc needs some work, Please remove all ArgoCD references and write a bit about Conformitron and what we are accomplishing here!

docs/patterns/multi-cluster-conformitron.md Outdated Show resolved Hide resolved
docs/patterns/multi-cluster-conformitron.md Outdated Show resolved Hide resolved
@elamaran11 elamaran11 changed the title Multiple Cluster testing pipeline Multiple Cluster pipeline for Conformitron Mar 28, 2024
@Howlla
Copy link
Contributor Author

Howlla commented Jun 8, 2024

New PR Created Here #176

@Howlla Howlla closed this Jun 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multi Cluster Pattern for EKS Addon Validation for Conformitron
2 participants