Go Shell Other
omar-nahhas and mumoshu Fix kube-proxy startup race condition when metric server is enabled. (#…
…1426)

The fix is to move the installation of kube-proxy up in the install-kube-system script, so it gets
a chance to start before the installation checks for it and goes into a loop.

Fixes #1424
Latest commit f40a82e Aug 2, 2018
Permalink
Failed to load latest commit information.
awsconn Add support for AWS profile containing source_profile, role_arn, mfa_… May 12, 2018
cfnresource Improvement/named iam roles cleanup (#1285) May 21, 2018
cfnstack Add kube-aws:version to stacktags (#1409) Jul 19, 2018
ci Automate publishing of the dedicated kube-aws documentation site Aug 23, 2017
cmd Implement 'apply' command and deprecate 'up' and 'update' (#1361) Jun 14, 2018
codegen Automatic recovery from permanent failures of etcd3 nodes (#417) Apr 4, 2017
contrib Bump Kubernetes to v1.10.5 Jul 8, 2018
core Fix kube-proxy startup race condition when metric server is enabled. (#… Aug 3, 2018
coreos/amiregistry Allow userdata to be split across multiple parts Jun 21, 2017
docs getting started: fix typo in bucket creation Jul 2, 2018
e2e Bump Kubernetes to v1.10.5 Jul 8, 2018
etcdadm 0.11.x migration from existing clusters without losing state (#1380) Jul 7, 2018
filegen Easier to configure, more tightly integrated node pools Feb 16, 2017
filereader Correct semantic version checks (#1374) Jun 24, 2018
fingerprint Repair CF rollbacks to work after the S3 userdata improvement Mar 22, 2017
gzipcompressor Add certificate expiry checking to credentials. (#1260) May 11, 2018
hack relnote: Add support for release notes of final versions Aug 29, 2017
licenses Add LICENSE for ebs-automatic-nvme-mapping Jun 28, 2018
logger Fix colour causing added newlines Jul 6, 2018
make Prevent unexpected go vet runs on travis Jun 13, 2018
model Add the ability to configure/override flags for cluster-autoscaler-de… Jul 24, 2018
naming feat: Fine-grained stack update and etcd and network stacks separation ( May 10, 2018
netutil refactoring: Extract the netutil package for future use in the upcomi… Nov 28, 2016
node Plugin System (#791) Aug 22, 2017
plugin Add `show certificates` command (#1271) May 11, 2018
proposals Initial plugins proposal Jul 9, 2017
test Add the ability to configure/override flags for cluster-autoscaler-de… Jul 24, 2018
tlscerts tlsutil cleanup plus added tests (#1299) May 13, 2018
tlsutil tlsutil cleanup plus added tests (#1299) May 13, 2018
vendor Add `show certificates` command (#1271) May 11, 2018
.gitignore Bring etcd's up in parallel on new cluster / Fail-fast to update 0.10… Jun 12, 2018
.travis.yml Bump go to 1.10.x for travis builds Jun 13, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Mar 24, 2017
DCO Add the missing DCO Mar 22, 2017
Gopkg.lock Add `show certificates` command (#1271) May 11, 2018
Gopkg.toml Add `show certificates` command (#1271) May 11, 2018
LICENSE Conform as a Kubernetes Incubator Project Mar 14, 2017
Makefile Remove usages and references to glide across scripts Jan 17, 2018
OWNERS Update OWNERS Jul 6, 2017
README.md Consistent logging with options to silence, verbosify and color messa… Jun 6, 2018
RELEASE.md Conform as a Kubernetes Incubator Project Mar 14, 2017
ROADMAP.md Update ROADMAP.md Feb 22, 2018
SECURITY_CONTACTS Add SECURITY_CONTACTS Jun 12, 2018
book.json "Edit This Page" links on the doc are now linked to corresponding edi… Aug 23, 2017
build Remove invalid aws tag symbols from branch names Jul 19, 2018
build-release-binaries [build] only set target os/arch for compile Nov 4, 2016
code-of-conduct.md Update code-of-conduct.md Dec 20, 2017
containerized-build-release-binaries Remove usages and references to glide across scripts Jan 17, 2018
containerized-test-run Containerized test run Jul 16, 2017
kube-aws-bot-git-ssh-key.enc Automate publishing of the dedicated kube-aws documentation site Aug 23, 2017
main.go rename imports from github.com/coreos to github.com/kubernetes-incuba… Mar 24, 2017

README.md

Kubernetes on AWS (kube-aws)

Go Report Card Build Status License

Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order to get stable binaries.

kube-aws is a command-line tool to create/update/destroy Kubernetes clusters on AWS.

Features

  • Create, update and destroy Kubernetes clusters on AWS
  • Highly available and scalable Kubernetes clusters backed by multi-AZ deployment and Node Pools
  • Deployment to an existing VPC
  • Powered by various AWS services including CloudFormation, KMS, Auto Scaling, Spot Fleet, EC2, ELB, S3, etc.

Getting Started / Manual

View the latest manual for kube-aws

Check out our getting started tutorial to launch your first Kubernetes cluster on AWS.

Global options

Each command supports following options:

  • -s --silent do not show messages
  • -v --verbose show debug messages
  • --color use color for messages

Examples

Generate cluster.yaml:

$ mkdir my-cluster
$ cd my-cluster
$ kube-aws init --cluster-name=my-cluster \
--s3-uri=s3://examplebucket/mydir \
--external-dns-name=<my-cluster-endpoint> \
--region=us-west-1 \
--availability-zone=us-west-1c \
--key-name=<key-pair-name> \
--kms-key-arn="arn:aws:kms:us-west-1:xxxxxxxxxx:key/xxxxxxxxxxxxxxxxxxx"

Here us-west-1c is used for parameter --availability-zone, but supported availability zone varies among AWS accounts. Please check if us-west-1c is supported by aws ec2 --region us-west-1 describe-availability-zones, if not switch to other supported availability zone. (e.g., us-west-1a, or us-west-1b)

Generate assets:

$ kube-aws render credentials --generate-ca
$ kube-aws render stack

View generated certificates:

$ kube-aws show certificates

Validate configuration:

$ kube-aws validate

Launch:

$ kube-aws up 

# Or export your cloudformation stack and dependent assets into the `exported/` directory
$ kube-aws up --export

# Access the cluster
$ KUBECONFIG=kubeconfig kubectl get nodes --show-labels

Update:

$ $EDITOR cluster.yaml
# Update all the cfn stacks including the one for control-plane and the ones for worker node pools
$ kube-aws update 

Destroy:

# Destroy all the cfn stacks including the one for control-plane and the ones for worker node pools. Use `--force` for skip confirmation. 
$ kube-aws destroy

Other Resources

Extra or advanced topics in for kube-aws:

The following links can be useful for development:

Please feel free to reach out to the kube-aws community on: #kube-aws in the kubernetes slack

Kubernetes Incubator

This is a Kubernetes Incubator project. The project was established 2017-03-15. The incubator team for the project is:

  • Sponsor: Tim Hockin (@thockin)
  • Champion: Mike Danese (@mikedanese)
  • SIG: sig-aws

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Contributing

Submit a PR to this repository, following the contributors guide.

Details of how to develop kube-aws are in our Developer Guide.