Merge pull request #2725 from WillemMali/add-documentation-index

added documentation index
This commit is contained in:
Justin Santa Barbara 2017-06-16 10:18:56 -04:00 committed by GitHub
commit de6d4e69f5
5 changed files with 143 additions and 49 deletions

View File

@ -8,12 +8,14 @@
The easiest way to get a production grade Kubernetes cluster up and running. The easiest way to get a production grade Kubernetes cluster up and running.
## What is kops? ## What is kops?
We like to think of it as `kubectl` for clusters. We like to think of it as `kubectl` for clusters.
`kops` helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. AWS (Amazon Web Services) is currently officially supported, with GCE and VMware vSphere in alpha and other platforms planned. `kops` helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. AWS (Amazon Web Services) is currently officially supported, with GCE and VMware vSphere in alpha and other platforms planned.
## Can I see it in action? ## Can I see it in action?
<p align="center"> <p align="center">
@ -27,6 +29,7 @@ We like to think of it as `kubectl` for clusters.
To replicate the above demo, check out our [tutorial](/docs/aws.md) for To replicate the above demo, check out our [tutorial](/docs/aws.md) for
launching a Kubernetes cluster hosted on AWS. launching a Kubernetes cluster hosted on AWS.
## Features ## Features
* Automates the provisioning of Kubernetes clusters in ([AWS](/docs/aws.md)) * Automates the provisioning of Kubernetes clusters in ([AWS](/docs/aws.md))
@ -38,14 +41,22 @@ launching a Kubernetes cluster hosted on AWS.
* Command line [autocompletion](/docs/cli/kops_completion.md) * Command line [autocompletion](/docs/cli/kops_completion.md)
* Community supported! * Community supported!
## Documentations
Documentation is in the `/docs` directory, [and the index is here.](docs/README.md)
## Installing ## Installing
`kubectl` is required, see [here](http://kubernetes.io/docs/user-guide/prereqs/). `kubectl` is required, see [here](http://kubernetes.io/docs/user-guide/prereqs/).
### OSX From Homebrew (Latest Stable Release) ### OSX From Homebrew (Latest Stable Release)
```console ```console
$ brew update && brew install kops $ brew update && brew install kops
``` ```
### Linux ### Linux
@ -56,27 +67,15 @@ $ chmod +x kops-linux-amd64 # Add execution permissions
$ mv kops-linux-amd64 /usr/local/bin/kops # Move the kops to /usr/local/bin $ mv kops-linux-amd64 /usr/local/bin/kops # Move the kops to /usr/local/bin
``` ```
### Developer From Source
Go 1.8+ and make are required. You may need to do a full build including pushing protokube, nodeup, and kops to s3.
See the [install notes](/docs/install.md) for more information.
```console
$ go get -d k8s.io/kops
$ cd ${GOPATH}/src/k8s.io/kops/
$ git checkout release
$ make
```
At this time, Windows is not a supported platform.
## History ## History
See the [releases](https://github.com/kubernetes/kops/releases) for more See the [releases](https://github.com/kubernetes/kops/releases) for more
information on changes between releases. information on changes between releases.
## Getting involved and contributing! ## 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 quick-start guide on [adding a feature](/docs/development/adding_a_feature.md). Also, the maintainers can be contacted at any time to learn more about how to get involved. Are you interested in contributing to kops? We, the maintainers and community, would love your suggestions, contributions, and help! We have a quick-start guide on [adding a feature](/docs/development/adding_a_feature.md). Also, the maintainers can be contacted at any time to learn more about how to get involved.
@ -108,10 +107,12 @@ __Pull Requests__
* [@geojaz](https://github.com/geojaz) * [@geojaz](https://github.com/geojaz)
* [@yissachar](https://github.com/yissachar) * [@yissachar](https://github.com/yissachar)
## Office Hours ## Office Hours
Kops maintainers set aside one hour every other week for **public** office hours. Office hours are hosted on a [zoom video chat](https://zoom.us/my/k8ssigaws) on Fridays at [5 pm UTC/12 noon ET/9 am US Pacific](http://www.worldtimebuddy.com/?pl=1&lid=100,5,8,12), on odd week numbered weeks. We strive to get to know and help developers either working on `kops` or interested in getting to know more about the project. Kops maintainers set aside one hour every other week for **public** office hours. Office hours are hosted on a [zoom video chat](https://zoom.us/my/k8ssigaws) on Fridays at [5 pm UTC/12 noon ET/9 am US Pacific](http://www.worldtimebuddy.com/?pl=1&lid=100,5,8,12), on odd week numbered weeks. We strive to get to know and help developers either working on `kops` or interested in getting to know more about the project.
### Open Office Hours Topics ### Open Office Hours Topics
Include but not limited to: Include but not limited to:
@ -136,19 +137,10 @@ date +%V
The maintainers and other community members are generally available on the [kubernetes slack](https://github.com/kubernetes/community#slack-chat) in [#kops](https://kubernetes.slack.com/messages/kops/), so come find and chat with us about how kops can be better for you! The maintainers and other community members are generally available on the [kubernetes slack](https://github.com/kubernetes/community#slack-chat) in [#kops](https://kubernetes.slack.com/messages/kops/), so come find and chat with us about how kops can be better for you!
## Other Resources
- Create [kubecfg settings for kubectl](/docs/tips.md#create-kubecfg-settings-for-kubectl)
- Set up [add-ons](/docs/addons.md), to add important functionality to Kubernetes
- Learn about [InstanceGroups](/docs/instance_groups.md); change
instance types, number of nodes, and other options
- Read about [networking options](/docs/networking.md)
- Look at our [other interesting modes](/docs/commands.md#other-interesting-modes)
- Full command line interface [documentation](/docs/cli/kops.md)
## GitHub Issues ## GitHub Issues
#### Bugs ### Bugs
If you think you have found a bug please follow the instructions below. If you think you have found a bug please follow the instructions below.
@ -159,7 +151,8 @@ If you think you have found a bug please follow the instructions below.
- Remember users might be searching for your issue in the future, so please give it a meaningful title to helps others. - 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](https://github.com/kubernetes/community#slack-chat) - Feel free to reach out to the kops community on [kubernetes slack](https://github.com/kubernetes/community#slack-chat)
#### Features
### 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. 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.

93
docs/README.md Normal file
View File

@ -0,0 +1,93 @@
Documentation Index
===================
Quick start
-----------
* [Getting started on AWS](aws.md)
* [CLI reference](cli/kops.md)
Overview
--------
* [Command-line interface](#commandline-interface)
* [Inspection](#inspection)
* [`kops` design documents](#kops-design-documents)
* [Networking](#networking)
* [Operations](#operations)
* [Security](#security)
* [Workflows](#workflows)
### Command-line interface ###
* [CLI argument explanations](arguments.md)
* [CLI reference](cli/kops.md)
* [Commands](commands.md)
* miscellaneous CLI-related remarks
* [Experimental features](experimental.md)
* list of and how to enable experimental flags in the CLI
* [kubectl](kubectl.md)
* how to point kubectl to your `kops` cluster
### Inspection ###
* [Download `kops` configuration](download_config.md)
* methods to download the current generated `kops` configuration
* [Get AWS subdomain NS records](ns.md)
### `kops` design documents ###
* [`kops` cluster boot sequence](boot-sequence.md)
* [`kops` cluster spec](cluster_spec.md)
* [`kops` instance groups](instance_groups.md)
* [`kops` philosophy](philosophy.md)
* [`kops` state store](state.md)
### Networking ###
* [Networking overview](networking.md)
* [Run `kops` in an existing VPC](run_in_existing_vpc.md)
* [Supported network topologies](topology.md)
* [Subdomain setup](creating_subdomain.md)
### Operations ###
* [Cluster addon manager](addon_manager.md)
* [Cluster addons](addons.md)
* [Cluster configuration management](changing_configuration.md)
* [Cluster upgrades and migrations](cluster_upgrades_and_migrations.md)
* [`etcd` volume encryption setup](etcd_volume_encryption.md)
* [`etcd` backup setup](etcd_backup.md)
* [GPU setup](gpu.md)
* [High Availability](high_availability.md)
* [InstanceGroup images](images.md)
* how to use other image for cluster nodes, and information on available/tested images
* [`k8s` upgrading](upgrade.md)
* [`kops` updating](update_kops.md)
* [`kube-up` to `kops` upgrade](upgrade_from_kubeup.md)
* [Label management](labels.md)
* for cluster nodes
* [Secret management](secrets.md)
* [Single-master to multi-master update](single-to-multi-master.md)
### Security ###
* [Bastion setup](bastion.md)
* [IAM roles](iam_roles.md)
* [MFA setup](mfa.md)
* how to set up MFA for `kops`
* [Security](security.md)
* overview of secret storage, SSH credentials etc.
### Workflows ###
* [E2E testing with `kops` clusters](testing.md)
* [Getting started on AWS](aws.md)

View File

@ -1,20 +0,0 @@
# Advanced Example
Example Create Cluster Command for HA / Private Topology
```
kops create cluster \
--node-count 3 \
--zones us-west-2a,us-west-2b,us-west-2c \
--master-zones us-west-2a,us-west-2b,us-west-2c \
--dns-zone example.com \
--node-size t2.medium \
--master-size t2.medium \
--node-security-groups sg-12345678 \
--master-security-groups sg-12345678,i-abcd1234 \
--topology private \
--networking weave \
--cloud-labels "Team=Dev,Owner=John Doe" \
--image 293135079892/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-11-16 \
${NAME}
```

View File

@ -1,6 +1,8 @@
# High Availability (HA) High Availability (HA)
======================
## Introduction Introduction
-------------
Kubernetes has two strategies for high availability: Kubernetes has two strategies for high availability:
@ -27,7 +29,9 @@ In short:
* A multi-node kops cluster can tolerate the outage of a single AZ * A multi-node kops cluster can tolerate the outage of a single AZ
* Federation will allow you to create "uber-clusters" that can tolerate a regional outage * Federation will allow you to create "uber-clusters" that can tolerate a regional outage
## Using Kops HA
Using Kops HA
-------------
We can create HA clusters using kops, but only it's important to note that migrating from a single-master We can create HA clusters using kops, but only it's important to note that migrating from a single-master
cluster to a multi-master cluster is a complicated operation (described [here](./single-to-multi-master.md)). cluster to a multi-master cluster is a complicated operation (described [here](./single-to-multi-master.md)).
@ -58,3 +62,27 @@ As a result there are a few considerations that need to be taken into account wh
If we create 2 (or more) masters in the same AZ, then failure of the AZ will likely cause etcd to lose quorum If we create 2 (or more) masters in the same AZ, then failure of the AZ will likely cause etcd to lose quorum
and stop operating (with 3 nodes). Running in the same AZ therefore increases the risk of cluster disruption, and stop operating (with 3 nodes). Running in the same AZ therefore increases the risk of cluster disruption,
though it can be a valid scenario, particularly if combined with [federation](https://kubernetes.io/docs/user-guide/federation/). though it can be a valid scenario, particularly if combined with [federation](https://kubernetes.io/docs/user-guide/federation/).
Advanced Example
----------------
Another example `create cluster` invocation for HA with [a private network topology](topology.md):
```
kops create cluster \
--node-count 3 \
--zones us-west-2a,us-west-2b,us-west-2c \
--master-zones us-west-2a,us-west-2b,us-west-2c \
--dns-zone example.com \
--node-size t2.medium \
--master-size t2.medium \
--node-security-groups sg-12345678 \
--master-security-groups sg-12345678,i-abcd1234 \
--topology private \
--networking weave \
--cloud-labels "Team=Dev,Owner=John Doe" \
--image 293135079892/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-11-16 \
${NAME}
```

View File

@ -1,4 +1,4 @@
# Tips and Tricks # kubectl
## Create kubecfg settings for kubectl ## Create kubecfg settings for kubectl