Skip to content

An orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS)

License

Notifications You must be signed in to change notification settings

CircleCI-Public/aws-eks-orb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS EKS Orb CircleCI status CircleCI Orb Version GitHub license CircleCI Community

A CircleCI Orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS).

Here are some features that the AWS EKS orb provides:

  • Setting up and tearing down of EKS clusters via the create_cluster and delete_cluster commands / jobs
  • Allowing kubectl and other tools that access kubeconfig (like helm) to work with an EKS cluster via the update_kubeconfig_with_authenticator command
  • Updating deployments with container image updates via the update_container_image job
  • Installing helm and helm charts (See: install_helm_on_cluster and install_helm_chart)

Usage

See the orb registry listing for usage guidelines.

Requirements

  • AWS credential information should be accessible to the AWS CLI. The easiest way to provide the information would be to configure AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_DEFAULT_REGION as CircleCI project or context environment variables.

  • curl should be present in PATH.

  • A python installation present in PATH that supports running the AWS CLI

  • pip if the AWS CLI needs to be installed

Examples

Full usage examples can be found on the AWS EKS orb's page in the orb registry, here.

A demo project is also available here.

version: 2.1

orbs:
  aws-eks: circleci/[email protected]
  kubernetes: circleci/[email protected]

jobs:
  create-deployment:
    executor: aws-eks/python3
    parameters:
      cluster-name:
        description: |
          Name of the EKS cluster
        type: string
    steps:
      - checkout
      - aws-eks/update_kubeconfig_with_authenticator:
          cluster_name: << parameters.cluster-name >>
          install_kubectl: true
      - kubernetes/create_or_update_resource:
          resource_file-path: "tests/nginx-deployment/deployment.yaml"
          resource_name: "deployment/nginx-deployment"
          get_rollout_status: true
          show_kubectl_command: true

workflows:
  deployment:
    jobs:
      - aws-eks/create_cluster:
          cluster_name: eks-demo-deployment
      - create-deployment:
          cluster_name: eks-demo-deployment
          requires:
            - aws-eks/create_cluster
      - aws-eks/update_container_image:
          cluster_name: eks-demo-deployment
          resource_name: "deployment/nginx-deployment"
          container_image_updates: "nginx=nginx:1.9.1"
          requires:
            - create-deployment
      - aws-eks/delete_cluster:
          cluster_name: eks-demo-deployment
          requires:
              - aws-eks/update_container_image

Contributing

We welcome issues to and pull requests against this repository!

For further questions/comments about this or other orbs, visit CircleCI's orbs discussion forum.

About

An orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 19

Languages