1 of 19

A Day in the Life of Kubernetes Release with Tools, Challenges, and Operations

~ Subhasmita Swain

2 of 19

Who am I?

Subhasmita Swain

  • R&D Engineer @Civo
  • Part of the Kubernetes Release Cycles ( v1.26, v.1.30)
  • Former LFX Mentee @Kubernetes
  • Former Outreachy Intern @Apache

3 of 19

What are we going to explore?

  • Overview of Kubernetes Release, Release Lifecycle

  • Release Challenges

  • The importance of Efficient and Sustainable Release Processes

  • Automation Tools in Release Management

4 of 19

Kubernetes Release

  • It's not just pressing a big red button.
  • Orchestrated effort to bundle features, fixes, and enhancements.
  • Ensures stability, security, and reliability of the latest Kubernetes releases.

ship it

really?

5 of 19

Release Team�(human herd)

Release Engineering (Tool magicians)

Release Team: 'We got this.' Release Engineering: 'Hold my YAML…

Release Team: A rotation of contributors coordinating the chaos.

Release Engineering: Stewards of automation, tooling, and CI/CD.

6 of 19

7 of 19

Overview of Release Lifecycle

  • Each Kubernetes release goes through defined stages:
    • planning, development, alpha and beta testing, stabilization, and final release�
  • Planning phase:
    • identifies the key features and objectives for an upcoming release,
    • setting a roadmap and timelines�
  • Development phase:
    • contributors work on features and enhancements�
  • Kubernetes employs Prow, an automated testing system ensuring code quality and identifying issues early�
  • Branch managers and release managers use tools like krel for versioning, branching, and tagging releases, simplifying the management of release cycles�
  • Later stages: alpha and beta versions made available

8 of 19

Release Cycle

9 of 19

  • Scale and complexity: thousands of PRs each cycle.
  • Coordination across multiple SIGs (Special Interest Groups).
  • Ensuring quality under time pressure.
  • Managing contributor burnout and volunteer-driven work.

Release Challenges

10 of 19

The importance of Efficient and Sustainable Release Processes

  • Consistency builds user trust and adoption.
  • Efficiency reduces last-minute chaos and errors.
  • Sustainability ensures long-term contributor health and project longevity.

Few processes with ecological considerations:

  • Optimizing Resource Allocation Through Pod Scaling and Resource Requests
  • Container Image Optimization and Image Promotion
  • Leveraging Node Efficiencies and Sustainable Node Scaling
  • Policy-Driven Resource Limits for Pods and Namespaces
  • Image Promotion Strategies to Reduce Redundant Pulls

and in several other ways…

11 of 19

Automation in Kubernetes Releases

  • Prow: Kubernetes-specific CI/CD system for automated testing, merging PRs.
  • SIG Release Tools: Custom scripts and dashboards to manage branching, tagging, and artifact creation.
  • GitHub Actions & Other Integrations: Linting, static checks, and auxiliary tasks.
  • Release Notes Automation: Automatically gathers and formats changelog entries.

12 of 19

Release Branch Management with krel

  • The command-line tool simplifies and automates the Kubernetes release process�
  • Handles branch management, version tagging, and release cuts—tasks �
  • Reduce manual steps, prevent errors, and streamline the preparation of a new release.

13 of 19

Real-Time Monitoring and Coordination with GitHub Bots

  • k8s-ci-robot streamlines various release management tasks, from labeling issues and pull requests to notifying reviewers and managing test requests. �
  • Manage the CI pipeline and notify maintainers about build or test failures that could impact the release timeline

14 of 19

Continuous Integration and Testing with Prow

  • Kubernetes’ core CI/CD system�
  • Prow triggers thousands of tests on every pull request, running end-to-end (E2E) tests across various Kubernetes components to catch potential issues early.

15 of 19

Image Building and Promotion with k8s-container-image-promoter

  • Automates the management, validation, and promotion of container images through different stages of the release pipeline�
  • Ensures that only validated and signed images are deployed�
  • Minimizing risks associated with releasing untested or potentially vulnerable code

16 of 19

Documentation and Release Notes Automation with release-notes

  • For generating comprehensive release documentation, including feature lists, bug fixes, and breaking changes�
  • Automates the extraction of PR titles and summaries, creating structured release notes that provide clarity for end-users and project contributors alike

krel release-notes --branch release-1.28 --start-sha <start_commit> --end-sha <end_commit>

17 of 19

Looking Ahead: The Future of Releases

18 of 19

19 of 19

Thank you!

Connect with me here!