Merge pull request #11090 from olemarkus/docs-apiserver-nodes

Add docs about dedicated apiserver ndoes
This commit is contained in:
Kubernetes Prow Robot 2021-03-22 00:37:44 -07:00 committed by GitHub
commit d0b175fb2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 0 deletions

View File

@ -23,3 +23,4 @@ The following experimental features are currently available:
* `+SkipEtcdVersionCheck` - Bypasses the check that etcd-manager is using a supported etcd version
* `+TerraformJSON` - Produce kubernetes.tf.json file instead of writing HCLv2 syntax. Can be consumed by terraform 0.12+
* `+VFSVaultSupport` - Enables setting Vault as secret/keystore
* `+APIServerNodes` - Enables support for dedicated API server nodes

View File

@ -0,0 +1,39 @@
# Scaling kOps
## Scaling the control plane
### Dedicated API Server nodes
{{ kops_feature_table(kops_added_default='1.21') }}
A common bottleneck of the control plane is the API server. As the number of pods and nodes grow, you will want to add more resources to handle the load.
You can scale the API server horizontally by adding instance groups dedicated to running API server nodes. You can do so by adding an instance group with the `APIServer` role:
```yaml
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: null
labels:
kops.k8s.io/cluster: <cluster name>
name: apiserver-eu-central-1a
spec:
image: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20201026
machineType: t3.small
maxSize: 3
minSize: 3
nodeLabels:
kops.k8s.io/instancegroup: apiserver-eu-central-1a
role: APIServer
subnets:
- eu-central-1a
```
or run `kops create ig --name=<cluster name> apiserver-eu-central-1a --subnet=eu-central-1a`
Because the labels, taints, and domains can change, this feature is currently behind a feature gate.
```sh
export KOPS_FEATURE_FLAGS="+APIServerNodes"
```

View File

@ -4,8 +4,17 @@
# Significant changes
## Dedicated API Server nodes.
kOps now supports extending the control plane with [dedicated apiserver nodes](https://kops.sigs.k8s.io/operations/scaling). These nodes run in dedicated instance groups that can be scaled horizontally.
In 1.21, this feature is behind a feature flag as node role name, labels, taints, and domains can change based on feedback from the community.
# Other significant changes
* Protokube now runs as a systemd process rather than a docker container.
# Breaking changes
# Required Actions

View File

@ -76,6 +76,7 @@ nav:
- Working with Instance Groups: "tutorial/working-with-instancegroups.md"
- Using Manifests and Customizing: "manifests_and_customizing_via_api.md"
- High Availability: "operations/high_availability.md"
- Scaling: "operations/scaling.md"
- Instancegroup images: "operations/images.md"
- Cluster configuration management: "changing_configuration.md"
- Cluster Templating: "operations/cluster_template.md"