Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linuxacademy/content-eks-deepdive-sample-api-service-go
Sample Kubernetes service used in the EKS Deep Dive Continuous Deployment lesson
https://github.com/linuxacademy/content-eks-deepdive-sample-api-service-go
aws cicd codebuild codedeploy codepipeline eks go golang k8s kubernetes linuxacademy
Last synced: about 1 month ago
JSON representation
Sample Kubernetes service used in the EKS Deep Dive Continuous Deployment lesson
- Host: GitHub
- URL: https://github.com/linuxacademy/content-eks-deepdive-sample-api-service-go
- Owner: linuxacademy
- Created: 2018-12-27T15:20:22.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-08T11:33:12.000Z (almost 5 years ago)
- Last Synced: 2023-02-26T05:36:46.238Z (over 1 year ago)
- Topics: aws, cicd, codebuild, codedeploy, codepipeline, eks, go, golang, k8s, kubernetes, linuxacademy
- Language: Go
- Homepage: https://linuxacademy.com/cp/modules/view/id/293
- Size: 3.91 KB
- Stars: 4
- Watchers: 4
- Forks: 98
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EKS Deep Dive - Continuous Deployment sample API service
A sample Kubernetes service used in the [EKS Deep Dive](https://linuxacademy.com/cp/modules/view/id/293) Continuous Deployment lesson.
The Dockerfile is a [multi-stage](https://docs.docker.com/develop/develop-images/multistage-build/) build that
compiles the Go application and then packages it in a minimal image that pulls from [scratch](https://hub.docker.com/_/scratch/).
The size of this Docker image is ~ 3.2 MiB.The buildspec.yml file is used by the [AWS CodeBuild](https://aws.amazon.com/codebuild/) stage. In this file, it pulls down
kubectl, builds the container image, pushes the image to [Amazon ECR](https://aws.amazon.com/ecr/) and then deploys the change to the
[Amazon EKS Cluster](https://aws.amazon.com/eks/).In the hello-k8s.yml file, you will find the Kubernetes [service](https://kubernetes.io/docs/concepts/services-networking/service/) and
[deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) definitions. The service is configured with
a [LoadBalancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) which prompts Kubernetes
to launch an external load balancer using an [AWS ELB](https://aws.amazon.com/elasticloadbalancing/).