This article is about Codeship Pro.

Deploying To AWS EKS

You will need roughly 2 minutes to read this article.

To make it easy for you to deploy your application to AWS EKS, which is a managed Kubernetes cluster service on AWS, we’ve built a container to make authenticating with a remote Kubernetes cluster and using the kubectl CLI easy.

Because AWS provides a setup guide and a starter blog post, we won’t cover the AWS side of your setup here. But, you will need an AWS user with the right IAM permissions and an EKS cluster to be prepared on the AWS side.

CodeShip Kubernetes Deployment Container

CodeShip Pro uses a Kubernetes deployment container that we maintain to authenticate with your remote Kubernetes cluster, including your EKS cluster.

Please review our Kubernetes documentation to learn how to set up and use this authentication container.

It is also advised that you review AWS’ IAM documentation to find the correct policies for your AWS user.

Deploying To EKS

The first thing you will need to do is to define your Kubernetes deployment service, using the [CodeShip Kubernetes deployment container]((https://github.com/CodeShip-library/kubectl-connection-demo). You will add the following to your codeship-services.yml file:

kubernetes-deployment:
  encrypted_env_file: k8s-env.encrypted
  image: codeship/kubectl

With this service configured as per the Kubernetes documentation, you will next add your kubectl deployment commands to your codeship-steps.yml file.

In this example, we will run them via a script named kubernetes.sh (such a script would be run from the container via Docker volumes:

- name: deploy
  service: kubernetes-deployment
  command: ./kubernetes.sh

Inside this kubernetes.sh script, we can include any Kubernetes commands we like. As one example:

#!/bin/sh

kubectl apply -f ./deployment.yaml

From here, you can modify your EKS deployments to run any command you’d like in any context by inserting any commands, tags or behaviors you need.

Need more help?

Contact our support team or post on Stack Overflow using the tag #codeship. Did you check the status page and changelog?

There are also several code examples and sample projects available for you to get started with.

Article not helpful?

Does this article need improvement? If so, please send feedback or submit a pull request!