Proximus
JC0045 - GitOps Engineer - Senior
We are looking for a GitOps Engineer
Essential Skills and Knowledge Areas
1. Kubernetes Expertise:
Deep understanding of Kubernetes architecture and components (pods, services, deployments, namespaces, etc.).
Proficiency with kubectl commands and Kubernetes configuration files.
2. GitOps Principles:
Familiarity with GitOps practices, where Git is used as the single source of truth for declarative infrastructure and applications.
Understanding of how ArgoCD implements GitOps for continuous deployment.
3. ArgoCD Specific Knowledge:
Installation and configuration of ArgoCD.
Managing ArgoCD applications, projects, and repositories.
Using the ArgoCD CLI for various operations.
Configuring and using ArgoCD's web UI.
4. Continuous Deployment (CD) Practices:
Designing and implementing CD pipelines.
Automating deployments using ArgoCD.
Monitoring and managing application deployments.
5. YAML and JSON:
Proficiency in writing and understanding YAML and JSON files, as they are used extensively in Kubernetes and ArgoCD configurations.
6. Networking and Security:
Basic networking concepts, including IP addresses, ports, and DNS.
Implementing security best practices for Kubernetes and ArgoCD (e.g., RBAC, network policies).
7. CI/CD Tools Integration:
Integrating ArgoCD with CI tools like Jenkins, GitLab CI, or GitHub Actions.
Understanding how to trigger deployments based on CI pipeline results.
8. Monitoring and Logging:
Setting up monitoring and logging for ArgoCD and deployed applications.
Using tools like Prometheus, Grafana, and ELK stack for observability.
Tools and Technologies
1. kubectl:
The Kubernetes command-line tool for interacting with your cluster.
2. ArgoCD CLI:
The command-line interface for managing ArgoCD applications and configurations.
3. Git:
Version control system for managing code and configuration repositories.
4. CI/CD Tools:
Jenkins, GitLab CI, GitHub Actions, etc., for continuous integration and deployment.
5. Monitoring and Logging Tools:
Prometheus, Grafana, ELK stack, etc., for observability.
Role in Continuous Deployment
An experienced person would be responsible for:
Setting Up ArgoCD:
Installing and configuring ArgoCD in the Kubernetes cluster.
Setting up access controls and security configurations.
Managing Applications:
Creating and managing ArgoCD applications and projects.
Configuring application sync policies and monitoring application states.
Automating Deployments:
Implementing GitOps workflows to automate deployments.
Integrating Argo CD with CI pipelines to trigger deployments based on code changes.
Monitoring and Troubleshooting:
Setting up monitoring and logging for ArgoCD and applications.
Troubleshooting deployment issues and ensuring smooth operation.
Continuous Improvement:
Continuously improving the deployment process and infrastructure.
Keeping up to date with the latest features and best practices in Argo CD and Kubernetes.