kubernetes / k8s.io

Code and configuration to manage Kubernetes project infrastructure, including various *.k8s.io sites
https://git.k8s.io/community/sig-k8s-infra
Apache License 2.0
713 stars 794 forks source link

Umbrella Issue: Kubernetes Infrastructure Tech Debt #6608

Open upodroid opened 5 months ago

upodroid commented 5 months ago

This is a bunch of technical debt in our Infra that needs to be resolved in the future.

### IaC(Infrastructure as Code)
- [ ] Manage DNS via Terraform instead of Octodns
- [ ] Rewrite the bash scripts at https://github.com/kubernetes/k8s.io/tree/main/infra/gcp/bash as terraform
- [ ] Enable Terraform self-service for changes with [Atlantis](https://www.runatlantis.io/)
### Kubernetes
- [ ] Recreate the GKE clusters on custom networks
- [ ] Create a doc with IP allocations for our infra across multiple cloud platforms to avoid IP overlap issues. We need to connect our EKS build cluster to a VMware Private Cloud network so our IP space needs to be properly carved out and documented.
- [ ] https://github.com/kubernetes/k8s.io/issues/6442
- [ ] Consolidate all the Kubernetes manifests that will be used by ArgoCD in one location
- [ ] https://github.com/kubernetes/k8s.io/issues/5110

Please edit this issue with other technical debts that we have.

BenTheElder commented 4 months ago

Manage DNS via Terraform instead of Octodns

So taking this as an example, I don't think we should just declare this tech-debt without more details outlining why this is bad and why the alternative is better.

AFAICT our DNS utils are working great, they're relatively small and yaml is familiar to our community at large more than terraform.

This tool doesn't have any external state and does a reliable, kubernetes style "reconcile desired state versus the world", and we have some other neat tricks built in e.g. to staging deploy and test that first.

Rewrite the bash scripts at https://github.com/kubernetes/k8s.io/tree/main/infra/gcp/bash as terraform

Similarly, some of the bash scripts may be tech debt, but terraform isn't free to maintain either and we haven't had problems with most of these.

In general this checklist seems pretty opinionated without justifications.

k8s-triage-robot commented 1 month ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 3 weeks ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten