-
Notifications
You must be signed in to change notification settings - Fork 21
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
Add nightly CI testing on RKE2 #726
Comments
Terraform has been validated locally. A multi-node cluster can be deployed with a fresh build of uds-core on top. A mix between the rke2 open source terraform module and IaC from the image builder repository was used. IRSA was found to be necessary due to restrictions in our CI AWS account. Appropriate external infrastructure (such as resources to support OIDC and s3 storage, networking and IAM roles) are also included. New pipeline is currently pending validation in this PR. Note that the PR includes additional changes to task files and repo structure to support testing across multiple K8s distributions. |
All CI tests passing, moving this to in review. |
Currently validating irsa functionality before asking for another review. |
## Description This pull request introduces a new nightly test of uds-core on RKE2. The pipeline runs in parallel alongside our existing EKS nightly tests. Included in this PR are additional IaC resources to deploy RKE2, an additional bundle for RKE2 and updated task files/workflows. Details: - Changes `test-infra` directory layout to support multiple k8s distributions (merges `test-infra/buckets-iac` and `test-infra/rds-iac` into `test-infra/aws/eks` and adds `test-infra/aws/rke2`) - Adds IaC for a minimal deployment of RKE2 under `test-infra/aws/rke2` - Introduces new test bundle for uds-core on RKE2 (`.github/bundles/rke2`), changes `.github/bundles` directory layout to support additional distros (moves `.github/bundles/*.yaml` to `.github/bundles/eks`) - Introduces new workflow for nightly tests of uds-core on rke2 (`.github/workflows/test-rke2.yaml`) - Updates workflows and task files to support testing across multiple K8s distros. Callouts: - uses existing vpc and subnets in ci account - the `rke2_version` var will be used to query the latest ami for the given minor version - uses rhel amis built from uds-rke2-image-builder repo - includes support for irsa - no cluster-autoscaler deployed, currently hardcoded to provision 4 `m5.2xlarge` nodes - does not deploy any external dependencies apart from s3 buckets for loki and velero Example pipeline run with new RKE2 tests can be seen [here](https://github.com/defenseunicorns/uds-core/actions/runs/11150004170/). ## Related Issue Fixes #726 ## Type of change - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Other (security config, docs update, etc) ## Checklist before merging - [ ] Test, docs, adr added or updated as needed - [ ] [Contributor Guide](https://github.com/defenseunicorns/uds-template-capability/blob/main/CONTRIBUTING.md) followed
Related to #213
Currently we do nightly testing on EKS. In order to expand our testing posture we should also test on RKE2. The EKS testing is contained in these locations:
Definition of done: Nightly test added to spin up RKE2 and deploy core (all flavors, matrixed) on it. This should use external S3 buckets where required. For this initial iteration we should keep it as simple as possible:
The text was updated successfully, but these errors were encountered: