mirror of https://github.com/kubernetes/kops.git
Merge pull request #11090 from olemarkus/docs-apiserver-nodes
Add docs about dedicated apiserver ndoes
This commit is contained in:
commit
d0b175fb2b
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
```
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in New Issue