Argo Course - Final Session
Lecturer: Muhammad
Overview
- Last session of the course.
- Topics covered: Argo CD, Rollouts, Workflows.
- Focus on implementing a CI/CD pipeline.
Previous Session Recap
- Implemented a CI/CD pipeline using Argo stack.
- Built Docker images, pushed to Nexus registry.
- Applied changes to Kubernetes cluster.
CI/CD Pipeline Improvement
- Current issue: manual workflow submission after source code modification.
- Solution: Automate workflow triggering with Argo Events.
Introduction to Argo Events
- Triggers workflows based on events in Kubernetes or external triggers.
- Example events: Git repository changes, database updates, custom user-defined events.
Argo Events Components
- Event Source
- Defines how and when events are generated.
- Integrates with external systems (e.g., GitLab, GitHub).
- In this scenario: GitLab event source.
- Sensor
- Listens for events from event sources.
- Triggers workflows based on these events.
- Event Bus
- Acts as transport layer.
- Connects event sources and sensors.
Configuration and Setup
Setting Up Argo Events
- Ensure Argo Events is installed on Kubernetes cluster.
- Create necessary namespaces and resources.
- Deploy Event Bus and ensure service account permissions.
Event Source Setup
-
GitLab Integration:
- Event source connects Argo Events to specific GitLab repository (my- app repository).
- Create webhook using access tokens for GitLab repository.
-
Ingress Setup:
- Necessary for accessing the service from outside Kubernetes.
- Ingress URL must be reachable from the GitLab server.
Event Sensor Configuration
- Authorization:
- Use service account
operate-workflows with sufficient permissions.
- Define dependencies and triggers.
Workflow Overview
- Clone repositories, build Docker images, and push to Nexus registry.
- Update manifest to switch to the new application version.
- Use Argo Workflows for automation.
Deployment and Demo
Applying Configurations
- Clone relevant repositories (Argo config and my app).
- Apply Argo CD application configurations.
Testing
- Modify repository files to trigger workflows.
- Monitor workflow execution and verify Docker image updates.
- Check Argo CD and Rollouts for deployment updates.
Conclusion
- Argo Events automates workflow submissions, enhancing CI/CD efficiency.
- Successful demo of automated pipeline using Argo technologies.
- Invited contributions to the GitHub repository for further improvements.
Additional Resources
- GitHub Repositories:
argo-cd-tutorial: Contributions for tutorials and projects.
cicd-with-argo-stack: Personal repo with detailed instructions.
Feedback
- Requests for feedback and suggestions for improvement.
This concludes the Argo course, emphasizing the integration of Argo Events to automate CI/CD pipelines effectively. Thank you for participating!