aws / containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
https://aws.amazon.com/about-aws/whats-new/containers/
Other
5.22k stars 321 forks source link

Codepipeline EKS support #51

Open runningman84 opened 5 years ago

runningman84 commented 5 years ago

Tell us about your request Kubernetes deployment in CodePipeline

Which service(s) is this request for? EKS,

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? Right now you have to run kubectl apply within codebuild or create a custom lambda function to handle the k8s access. It would be cool if CodeDeploy would support kubernetes/helm deployments out of the box.

Are you currently working around this issue? Using jenkins instead of CodePipeline

tabern commented 5 years ago

Hey @runningman84 - we've written a way to connect CodePipeline and EKS here (https://eksworkshop.com/codepipeline/).

Does this solve the issue for you? Or if you have something else in mind, how would you want to see if implemented?

cc654586411 commented 5 years ago

Hi @tabern - If our source code is on the company's internal BitBucket, how should we integrate with CodePipeline?

Or how to implement the CI CD in this case. Recently, App Mesh also released the GA version (Mar 27, 2019). We intend to implement the micro service architecture in combination with EKS and App Mesh.

I know that there are teams that do this, but some of the steps are more complicated.

runningman84 commented 5 years ago

@tabern using codebuild you have a very simple solution. You have to implement error handling yourself. You do not see any progress bar and you are not able to rollback.

ecout commented 5 years ago

+1: There are current some work arounds like using kubectl or a lambda function but no EKS agent.

ecout commented 5 years ago

Been almost a year now.

ddavtian commented 5 years ago

There are options available in deploying to EKS through a Lambda function, here's a walkthrough of that: https://medium.com/@alejandro.millan.frias/managing-kubernetes-from-aws-lambda-7922c3546249 and also doing other hacks in CodeBuild to get it working. With that said it would be extremely valuable to support this natively via CodeDeploy.

yeshodhan commented 4 years ago

We've given up on CodeDeploy and CodePipeline after switching to Kubernetes. All CI/CD pipelines are now moved to Jenkins.

lefperuch commented 4 years ago

We're also considering not using CodePipeline anymore to deploy our Kubernetes applications. We've decided to follow the Lambda Deploy path, and it has been a nightmare for us ever since. Not having the ability to use CodeDeploy with EKS (which is also provided by AWS) after more than a year since this feature have been requested is very sad.

ecout commented 4 years ago

That's almost 21 months. No triage. Interesting.

robbyt commented 4 years ago

Hey @runningman84 - we've written a way to connect CodePipeline and EKS here (https://eksworkshop.com/codepipeline/).

In this example, the build and deploy happens in the same step, and I don't think this is correct.

The main benifit of using CodePipeline is to have multiple customizable steps in the deployment- e.g., push code to a git repo, automatically build a new docker image, deploy it to the Dev cluster, wait for manual approval before deploying it to the production cluster, etc.