This is my containerized kube-aws tool from CoreOS. It includes the kube-aws, awscli and kubectl.
Probably you don't want to have local installation of kube-aws, awscli, kubectl, it is too complicated or your OS is not compatible
- Use this command:
docker run --rm -it -e AWS_ACCESS_KEY_ID= -e AWS_SECRET_ACCESS_KEY= -e AWS_DEFAULT_REGION= -v $PWD:$PWD -w $PWD maxmtmn/docker-kube-aws
. - This assumes you are starting from a path on the container host where you either have or want to create a kubernetes stack.
- You will land in bash. From there, you can use all the usual commands of kube-aws, kubectl, or awscli.
- Start docker container with all stuff using your AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_DEFAULT_REGION
docker run --rm -it -e AWS_ACCESS_KEY_ID= -e AWS_SECRET_ACCESS_KEY= -e AWS_DEFAULT_REGION= -v $PWD:$PWD -w $PWD maxmtmn/docker-kube-aws
- Run
aws kms --region=us-east-1 create-key --description="kube-aws assets"
copy kms-key-arn to the next step - Run
kube-aws init --cluster-name=mycluster --external-dns-name=mycluster.com --region=us-east-1 --availability-zone=us-east-1a --key-name=cluster_staging --kms-key-arn="arn:aws:kms:us-east-1......."
- Run
kube-aws render
to produce TLS certs - Run
kube-aws validate --s3-uri s3://mycluster-bucket/cluster
to verify configuration and permissions - Run
kube-aws up --s3-uri s3://mycluster-bucket/cluster
- You can use generated kubeconfig to connect to kubectl using
kubectl --kubeconfig=kubeconfig proxy
- Go to folder where your kubeconfig generated on previous step stored
- Run
docker run --expose 800 -p 800:80 -v $PWD:$PWD -w $PWD maxmtmn/docker-kube-aws kubectl --kubeconfig=kubeconfig proxy
- Navigate to http://localhost:800/ui
Use --build-arg or environment variables kube_aws_version and kubectl_version. Example:
docker build --build-arg kube_aws_version=v0.9.6 --build-arg kubectl_version=v1.6.3 -t maxmtmn/docker-kube-aws .