This tool using for CI/CD, you can make deploying an Pod to Kubernetes quickly
Quick run:
docker run \
-e AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID> \
-e AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY> \
-e AWS_DEFAULT_REGION=<YOUR_AWS_DEFAULT_REGION> \
-e KUBECONFIG_FILE_S3_URL=s3://<YOUR_BUCKET>/<folder>/<kubeconfig-file> \
-e EKS_CHART_NAME=<YOUR_CHART_NAME> \
-e EKS_CHART_VERSION=<YOUR_CHART_VERSION> \
-e EKS_IMAGE_REPOSITORY=<YOUR_IMAGE_REPOSITORY> \
-e EKS_CONTAINER_PORT=<YOUR_CONTAINER_PORT> \
-e EKS_CONTAINER_HEALTH_CHECK_PATH=<YOUR_READINESS_LIVENESS_PORT> \
-e EKS_NAMESPACE=<YOUR_CHART_NAMESPACE> \
qitpy/aws-eks-helm-deploy
Example:
docker run \
-e AWS_ACCESS_KEY_ID=2pf8F1tZMhbIuFfclVGz \
-e AWS_SECRET_ACCESS_KEY=bUbFefyoaf4Fq8V8AIIV/gVrbL8i0uxl9hRd2Xqrp \
-e AWS_DEFAULT_REGION=ap-southeast-1 \
-e KUBECONFIG_FILE_S3_URL=s3://my-public-bucket/files/kubeconfig-file \
-e EKS_CHART_NAME=my-chart-name \
-e EKS_IMAGE_REPOSITORY=helloword \
-e EKS_CHART_VERSION=1 \
-e EKS_CONTAINER_PORT=80 \
-e EKS_CONTAINER_HEALTH_CHECK_PATH="/" \
-e EKS_NAMESPACE=default \
qitpy/aws-eks-helm-deploy
Variables (*):
Field | Required/Optional | Default Value | Example Values |
---|---|---|---|
AWS_ACCESS_KEY_ID | Required | null | FAKE_ACCESS_KEY_ID |
AWS_SECRET_ACCESS_KEY | Required | null | FAKE_SECRET_ACCESS_KEY |
AWS_DEFAULT_REGION | Required | null | us-west-2 |
KUBECONFIG_FILE_S3_URL | Required | null | s3://fake-bucket/fake-path/kubeconfig.yaml |
EKS_IMAGE_REPOSITORY | Required | null | fake-repo |
EKS_CHART_NAME | Required | null | fake-chart |
EKS_NAMESPACE | Required | null | fake-namespace |
EKS_CHART_VERSION | Optional | latest | 1.0.0 |
EKS_CONTAINER_PORT | Optional | 80 | 8080 |
EKS_CONTAINER_HEALTH_CHECK_PATH | Optional | / | /health |
RESOURCE_LIMITS_CPU | Optional | default of helm creating | 2 |
RESOURCE_LIMITS_MEMORY | Optional | default of helm creating | 4Gi |
RESOURCE_REQUEST_CPU | Optional | default of helm creating | 1 |
RESOURCE_REQUEST_MEMORY | Optional | default of helm creating | 2Gi |
Please, note:
- this tool require S3 Bucket to hold kubeconfig file, that mean you need to add your kubeconfig file to your S3 Bucket before using.
- your AWS credential need at least AmazonS3ReadOnlyAccess.
- ensure that your cluster-namespace has already existed.