Kubernetes Operations (kOps) - Production Grade k8s Installation, Upgrades and Management
Go to file
Justin Santa Barbara e3eb7454d2 Fixes for import from kube-up 2016-12-27 00:18:18 -05:00
_vendor Map ELB attributes to terraform 2016-12-18 21:55:40 -05:00
addons fix bug in ca addon spec 2016-12-15 08:15:42 -05:00
channels bumping stable channel to k8s 1.4.6 2016-11-22 23:10:43 -07:00
cloudmock/aws Fixes per code review 2016-12-19 01:18:28 -05:00
cmd Fixes for import from kube-up 2016-12-27 00:18:18 -05:00
dns-controller updating headers, OMG we need this in the ci 2016-12-03 13:09:58 -07:00
docs Fixes for import from kube-up 2016-12-27 00:18:18 -05:00
e2e fixing more headers 2016-10-15 19:20:56 -06:00
examples Fix example code 2016-12-19 00:22:30 -05:00
federation Mark ObjectMeta as a named field 2016-12-14 22:26:57 -05:00
hack Calico integration 2016-12-20 10:13:00 -08:00
images Merge pull request #948 from justinsb/fix_build 2016-11-19 16:10:39 -05:00
nodeup/pkg/model Add tests for docker nodeup side 2016-12-20 13:10:39 -05:00
pkg Merge pull request #1093 from heschlie/master 2016-12-22 17:43:48 -07:00
protokube Disable kubelet from starting until after volume mounts 2016-11-23 11:30:19 -08:00
tests/integration Fixed CI integration, added some tests for Calico 2016-12-21 19:15:52 -08:00
upup Fixes for import from kube-up 2016-12-27 00:18:18 -05:00
util/pkg First model -> tf test 2016-12-11 17:11:10 -05:00
vendor HACK: apply #38590 directly 2016-12-11 17:11:10 -05:00
.gitignore Don't check in upup/models/bindata.go 2016-09-13 10:08:44 -04:00
.gitmodules Format resource diffs 2016-12-03 10:26:45 -05:00
.travis.yml Commenting out changes instead of delete 2016-12-11 14:07:32 -07:00
CHANGES.md Add notes describing aug 11 changes 2016-08-11 22:40:16 -04:00
CONTRIBUTING.md Readme Changes 2016-10-25 00:56:18 -06:00
HISTORY.md Add notes for stable channel update 2016-10-21 13:39:33 -04:00
LICENSE final commit 2016-03-29 10:27:47 -07:00
Makefile Fix e2e: nodeup-dist can continue to build in docker 2016-12-22 02:38:14 -05:00
README.md Fixes for import from kube-up 2016-12-27 00:18:18 -05:00
code-of-conduct.md adding k8s code of conduct 2016-11-01 12:27:34 -06:00
doc.go Add canonical import paths 2016-11-03 23:46:27 -04:00

README.md

Kubernetes Operations (kops)

Build Status Go Report Card GoDoc Widget

The easiest way to get a production grade Kubernetes cluster up and running.

What is kops?

We like to think of it as kubectl for clusters.

kops lets you deploy grade Kubernetes clusters from the command line, with options that support HA Masters. Kubernetes Operations supports deploying Kubernetes on Amazon Web Services (AWS) and support for more platforms is planned.

Launching a Kubernetes cluster hosted on AWS

Check out our tutorial for launching a Kubernetes cluster hosted on AWS.

Features

  • Automated Kubernetes cluster CRUD for (AWS)
  • Highly Available (HA) Kubernetes Masters Setup
  • Uses a state-sync model for dry-run and automatic idempotency
  • Custom support for kubectl add-ons
  • Kops can generate Terraform configuration
  • Based on a simple meta-model defined in a directory tree
  • Command line autocomplete
  • Community support
  • Upgrade from kube-up

Installing

kubectl is required, see here.

<!-- RE: Move this to an install guide. I like the idea of having the instal on the front page - especially if it's an easy install. It makes the tool look excitng and fun. Also, there is a link below towards the install guide. @kris-nova -->

OSX From Homebrew (Latest Stable Release)

$ brew update && brew install kops

OSX From Homebrew (HEAD of master)

$ brew update && brew install --HEAD kops

Linux

Download the latest release, then:

$ chmod +x kops-linux-amd64                 # Add execution permissions
$ mv kops-linux-amd64 /usr/local/bin/kops   # Move the kops to /usr/local/bin

From Source

Go 1.7+ and make are required.

$ go get -d k8s.io/kops
$ cd ${GOPATH}/src/k8s.io/kops/
$ git checkout release
$ make

See building notes for more information.

At this time, Windows is not a supported platform.

Getting involved!

Want to contribute to kops? We would love the extra help from the community. We have a quickstart guide on adding a feature.

Kops also has time set aside every other week to offer help and guidance to the community. Kops maintainers have agreed to set aside time specifically dedicated to working with newcomers, helping with PRs, and discussing new features.

We recommend letting us know beforehand if you plan on attending so we can have time to prepare for the call.

Maintainer Schedule URL
@justinsb 2nd / 4th Friday 9am PDT Zoom
@chrislovecnm 2nd / 4th Friday 9am PDT Zoom
@kris-nova 2nd / 4th Friday 9am PDT Zoom

Reach out to us on kubernetes slack. A great place to get involved or ask questions is #sig-cluster-lifecycle.

Other Resources

History

View our changelog

GitHub Issues

Bugs

If you think you have found a bug please follow the instructions below.

  • Please spend a small amount of time giving due diligence to the issue tracker. Your issue might be a duplicate.
  • Set -v 10 command line option and save the log output. Please paste this into your issue.
  • Note the version of kops you are running (from kops version), and the command line options you are using
  • Open a new issue
  • Remember users might be searching for your issue in the future, so please give it a meaningful title to helps others.
  • Feel free to reach out to the kops community on kubernetes slack

Features

We also use the issue tracker to track features. If you have an idea for a feature, or think you can help kops become even more awesome follow the steps below.

  • Open a new issue
  • Remember users might be searching for your issue in the future, so please give it a meaningful title to helps others.
  • Clearly define the use case, using concrete examples. EG: I type this and kops does that.
  • Some of our larger features will require some design. If you would like to include a technical design for your feature please include it in the issue.
  • After the new feature is well understood, and the design agreed upon we can start coding the feature. We would love for you to code it. So please open up a WIP (work in progress) pull request, and happy coding.