We (ReactiveOps.com) use kops: https://github.com/kubernetes/kops
It works well with Ubuntu and we are working on CoreOS (although no promises it gets merged back into core).
Kops can do upgrades although historically it was safer/easier to stand up another cluster alongside and migrate.
Happy to help if you have any questions - Matt [at] reactiveops.com.