Integration testing for container images via Kind in GitLab CI
summary
CKI runs ~30 Python microservices with ~20–30 daily deployments and frequent outages from API, import and entrypoint breaks. The team builds on Kind (Kubernetes in Docker) inside GitLab CI, mounting local code into node containers, using the Kubernetes Python client and pytest fixtures to spin ephemeral clusters. Concrete tests cover RabbitMQ→GitLab pipeline triggers and an S3-auth proxy (using mo), run locally and in CI, making integration tests as easy to add as unit tests while adding a Kubernetes learning curve.
AI-written summary · about
chapters (10)
- 0:00Container image testing intro
- 3:37Outages from untested images
- 6:52Integration testing requirements
- 9:16Why we chose Kind
- 11:01Setting up Kind for testing
- 14:36Deploying services in Kind
- 16:45Python integration tests with Kind
- 18:56Advantages and downsides of Kind-based testing
- 21:08Fixes for common issues
- 25:01Rolling back images
related talks
28mContinuous Integration Testing: Fully Test your Microservices Application, Early and Often
32mEnhance Your Kubernetes CI/CD Pipelines With Open Source
36mTesting your K8s apps with KIND
47mGitLab CI and Kubernetes: deploying Applications continuously to Kubernetes
35mGitLab CI and Kubernetes, Build Test and Deploy Your Projects
21mDeep Dive: Testing SIG
31mContinuous Integration Testing
26mRunning GitLab and GitLab CI in Kubernetes for the Enterprise
