Kubernetes Operations (kOps) - Production Grade k8s Installation, Upgrades and Management
Go to file
Kris Nova e1492314b7 Adding dir 2017-02-01 01:39:06 -07:00
.back_github Adding dir 2017-02-01 01:39:06 -07:00
_vendor Add gengo dependency 2017-01-15 16:00:56 -05:00
addons Schedule autoscaler-addon in master nodes 2017-01-25 17:18:17 +01:00
channels Add version-dependent recommendations to alpha channel 2017-01-29 14:08:44 -05:00
cloudmock/aws Update aws-sdk-go mocks with new functions 2016-12-30 10:47:44 -05:00
cmd First steps in abstracting out ClusterResources for delete and toolbox dump 2017-01-31 21:03:15 -07:00
dns-controller dns-controller optimizations 2017-01-16 23:39:25 -05:00
docs Merge pull request #1696 from jasondewitt/docs_update 2017-02-01 01:02:49 -07:00
examples Fix example code 2016-12-19 00:22:30 -05:00
federation Skip deletion processing for terraform 2017-01-20 11:37:20 -05:00
hack Channel manifest should be version aware 2017-01-25 23:13:48 -05:00
images protokube: build etcd manifest in code 2017-01-24 12:14:25 -05:00
nodeup/pkg Install ebtables in nodeup 2017-02-01 02:18:28 -05:00
permalinks Channel manifest should be version aware 2017-01-25 23:13:48 -05:00
pkg Workaround for time.Duration zero value 2017-02-01 00:30:02 -05:00
protokube Fix boilerplate / gofmt 2017-01-25 09:13:45 -05:00
tests/integration Add --master-count flag, to make it easy to run masters in the same AZ 2017-01-31 01:11:06 -05:00
upup Merge pull request #1745 from justinsb/issue_1711 2017-02-01 00:54:01 -07:00
util/pkg Merge pull request #1705 from tazjin/fix/s3-location-call-timeout 2017-01-30 20:44:03 -05:00
vendor Add gengo dependency 2017-01-15 16:00:56 -05:00
.dockerignore Add .dockerignore file to improve build times 2017-01-04 18:11:11 -03:00
.gitignore Ignore tags files generated by Exhuberant Ctags 2016-12-28 22:13:47 -08:00
.gitmodules Add gengo dependency 2017-01-15 16:00:56 -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 Updates per the repo 2016-12-19 22:03:24 -07:00
HISTORY.md Add notes for stable channel update 2016-10-21 13:39:33 -04:00
LICENSE Unmangle the Apache library 2017-01-19 10:49:31 -05:00
Makefile Bump to 1.5.0-beta1 2017-01-25 23:45:13 -05:00
OWNERS Updates per the repo 2016-12-19 22:03:24 -07:00
README.md Restructure slightly to bring the demo higher 2017-01-25 15:47:39 +00:00
code-of-conduct.md updating base docs to match close to kubernetes-template-project 2016-12-19 22:02:58 -07:00
doc.go Add canonical import paths 2016-11-03 23:46:27 -04:00
version.go Always include a gitsha in the version 2017-01-15 17:14:37 -05: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 production-grade, highly available, Kubernetes clusters from the command line. Deployment is currently supported on Amazon Web Services (AWS), with more platforms planned.

Can I see it in action?

Launching a Kubernetes cluster hosted on AWS

To replicate the above demo, check out our tutorial for launching a Kubernetes cluster hosted on AWS.

Features

  • Automate the provisioning of Kubernetes clusters in (AWS)
  • Deploy Highly Available (HA) Kubernetes Masters
  • Supports upgrading from kube-up
  • Built on a state-sync model for dry-runs and automatic idempotency
  • Ability to generate Terraform configuration
  • Supports custom add-ons for kubectl
  • Command line autocompletion
  • Community supported!

Installing

kubectl is required, see here.

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.

History

See the releases for more information on changes between releases.

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

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.