AWS Kubernetes Engineer
Job Summary:
The AWS Kubernetes Engineer will be responsible for designing, implementing, and managing highly scalable, reliable, and secure cloud-native applications and infrastructure on Amazon Web Services (AWS) using Kubernetes. This role requires deep expertise in containerization, orchestration, cloud computing, and DevOps practices to build and maintain automated, production-grade environments for critical applications.
Key Responsibilities:
Kubernetes Cluster Management & Orchestration:
- Design, deploy, and manage highly available and fault-tolerant Kubernetes clusters on AWS using services like Amazon Elastic Kubernetes Service (EKS) or self-managed Kubernetes.
- Implement and optimize container orchestration strategies, including deployment management, scaling, auto-healing, and resource allocation.
- Manage Kubernetes components such as API server, scheduler, controller manager, kubelet, and etcd, ensuring their health and performance.
- Utilize Kubernetes networking (CNI, service mesh like Istio or App Mesh) and storage solutions (CSI, EBS, EFS) for containerized applications.
AWS Cloud Infrastructure Development:
- Provision, configure, and manage AWS cloud resources (e.g., EC2, VPC, ALB, RDS, S3, IAM, CloudWatch) to support Kubernetes deployments and application infrastructure.
- Implement Infrastructure as Code (IaC) using tools like Terraform or AWS CloudFormation to automate the provisioning and management of cloud resources.
- Ensure secure and compliant cloud environments by implementing best practices for network security, access control, and data encryption.
CI/CD & DevOps Automation:
- Design, implement, and maintain robust Continuous Integration and Continuous Delivery (CI/CD) pipelines for containerized applications using tools like Jenkins, GitLab CI/CD, GitHub Actions, or AWS CodePipeline/CodeBuild.
- Automate deployment, testing, and release processes to ensure rapid and reliable software delivery.
- Develop and maintain scripts (e.g., Python, Bash) and automation tools to streamline operational tasks and improve efficiency.
Monitoring, Logging & Troubleshooting:
- Implement comprehensive monitoring and alerting solutions for Kubernetes clusters and applications using tools such as Prometheus, Grafana, Datadog, or AWS CloudWatch Container Insights.
- Establish centralized logging solutions (e.g., ELK Stack, Fluentd, Sumo Logic) for effective troubleshooting and operational visibility.
- Proactively identify and resolve complex infrastructure and application issues within Kubernetes and AWS environments, including performance bottlenecks and stability concerns.
Security & Compliance:
- Implement security best practices for Kubernetes (e.g., network policies, RBAC, pod security policies, secrets management with AWS Secrets Manager or Vault).
- Ensure compliance with industry standards and internal security policies.
- Conduct regular security audits and vulnerability assessments of the containerized environment.
- Collaborate with security teams to integrate security into the CI/CD pipeline.
Required Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a closely related field.
- 6 to 8 years of progressive experience in DevOps, Cloud Engineering, or Infrastructure Engineering roles.
- At least 3 years of hands-on experience with Kubernetes, including cluster deployment, management, and troubleshooting.
- Strong experience with Amazon Web Services (AWS), including foundational services (EC2, VPC, S3, IAM) and container services (EKS, ECS).
- Proficiency in scripting languages such as Python or Bash.
- Experience with Infrastructure as Code (IaC) tools like Terraform or AWS CloudFormation.
- Solid understanding of CI/CD principles and experience with relevant tools.
- Familiarity with monitoring and logging tools for distributed systems.
- Strong understanding of networking concepts (TCP/IP, DNS, Load Balancing) and their application in cloud and container environments.
- Excellent problem-solving, analytical, and communication skills.