Skip to content

Commit

Permalink
Merge pull request #9984 from olemarkus/docs-prod-recommendations
Browse files Browse the repository at this point in the history
Production recommendations document
  • Loading branch information
k8s-ci-robot authored Sep 25, 2020
2 parents dff6901 + 7a7f1d7 commit c18be9a
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 11 deletions.
13 changes: 3 additions & 10 deletions docs/getting_started/aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,17 +403,10 @@ delete your cluster and everything contained within it!
kops delete cluster --name ${NAME} --yes
```

# What's next?

We've barely scratched the surface of the capabilities of `kops` in this guide,
and we recommend researching [other interesting
modes](commands.md#other-interesting-modes) to learn more about generating
Terraform configurations, or running your cluster in an HA (Highly Available)
mode.
## Next steps

The [cluster spec docs](../cluster_spec.md) can help to configure these "other
interesting modes". Also be sure to check out how to run a [private network
topology](../topology.md) in AWS.
Now that you have a working _kops_ cluster, read through the [recommendations for production setups guide](production.md)

## Feedback

Expand All @@ -428,4 +421,4 @@ questions, comments, and requests and meet the people behind the project!
Guidelines](https://aws.amazon.com/trademark-guidelines/)*

*Kubernetes Logo used with permission under the [Kubernetes Branding
Guidelines](https://github.com/kubernetes/kubernetes/blob/master/logo/usage_guidelines.md)*
Guidelines](https://github.com/kubernetes/kubernetes/blob/master/logo/usage_guidelines.md)*
6 changes: 5 additions & 1 deletion docs/getting_started/digitalocean.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,8 @@ kops delete cluster dev5.k8s.local --yes

kops for DigitalOcean currently does not support these features:

* rolling update for instance groups
* rolling update for instance groups

# Next steps

Now that you have a working _kops_ cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure _kops_ for production workloads.
4 changes: 4 additions & 0 deletions docs/getting_started/gce.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,3 +185,7 @@ the command. When run without `--yes` it shows a preview of the objects it will


After you've double-checked you're deleting exactly what you want to delete, run `kops delete cluster simple.k8s.local --yes`.

# Next steps

Now that you have a working _kops_ cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure _kops_ for production workloads.
4 changes: 4 additions & 0 deletions docs/getting_started/openstack.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,3 +216,7 @@ spec:
openstack:
insecureSkipVerify: true
```

# Next steps

Now that you have a working _kops_ cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure _kops_ for production workloads.
33 changes: 33 additions & 0 deletions docs/getting_started/production.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Recommendations for production setups

The getting started-documentation is a fast way of spinning up a Kubernetes cluster, but there are some aspects of _kops_ that require extra consideration. This document will highlight the most important things you should know about before deploying your production workload.

## High availability

Running only a single master can be error prone and disruptive.

Read through the [high availability documentation](../operations/high_availability.md) to learn how to set up a cluster with redundant control plane.

## Networking

The default networking of _kops_, kubenet, is **not** recommended for production. Most importantly, it does not support network policies, nor does it support internal networking.

Read through the [networking page](../networking.md) and choose a stable CNI.

## Private topology

By default kops will create clusters using public topology, where all nodes and the Kubernetes API are exposed on public Internet.

Read through the [topology page](../topology.md) to understand the options you have running nodes in internal IP addresses and using a [bastion](../bastion.md) for SSH access.

## Cluster spec

The `kops` command allows you to configure some aspects of your cluster, but for almost any production cluster, you want to change settings that is not accecible through CLI. The cluster spec can be exported as a yaml file and checked into version control.

Read through the [cluster spec page](../cluster_spec.md) and familiarize yourself with the key options that kops offers.

## Templating

If your cluster contains multiple Instance Groups, or if you manage multiple clusters, you want to use generate the cluster spec using templates.

Read through the [templating documentation](../operations/cluster_template.md) to learn how to make use of templates.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ nav:
- kops Commands: "getting_started/commands.md"
- kops Arguments: "getting_started/arguments.md"
- kubectl usage: "getting_started/kubectl.md"
- Production setup: "getting_started/production.md"
- CLI:
- kops: "cli/kops.md"
- kops completion: "cli/kops_completion.md"
Expand Down

0 comments on commit c18be9a

Please sign in to comment.