Kubernetes Operations (kops)
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 the install 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 and contributing!
Are you interested in contributing to kops? We the maintainers and community would love your suggestions, contributions, and help! We have a quickstart guide on adding a feature and the maintainers can be contacted at any time to learn more about how to get involved.
Maintainers
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.
Please feel free to reach out beforehand if you plan on attending!
Office hours, on Zoom video
conference are on Fridays at 5pm UTC/9 am US Pacific every other week, on odd week numbers.
Easy command for number of the week: date +%V
.
The maintainers and other community members are generally available on the kubernetes slack in #kops, so come find and chat with us about how kops can be better for you!
Other Resources
- Create kubecfg settings for kubectl
- Set up add-ons, to add important functionality to Kubernetes
- Learn about InstanceGroups; change instance types, number of nodes, and other options
- Read about networking options
- Look at our other interesting modes
- Full command line interface documentation
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 doesthat
. - 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.