diff --git a/CHANGES.md b/CHANGES.md index 629ce58c..4680d102 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -95,7 +95,7 @@ Notable changes between versions. ## v1.7.3 * Kubernetes v1.7.3 -* Use kubernete-incubator/bootkube v0.6.1 +* Use kubernetes-incubator/bootkube v0.6.1 #### Digital Ocean @@ -105,7 +105,7 @@ Notable changes between versions. ## v1.7.1 * Kubernetes v1.7.1 -* Use kubernete-incubator/bootkube v0.6.0 +* Use kubernetes-incubator/bootkube v0.6.0 * Add Bare-Metal Terraform module (stable) * Add Digital Ocean Terraform module (beta) @@ -118,12 +118,12 @@ Notable changes between versions. ## v1.6.7 * Kubernetes v1.6.7 -* Use kubernete-incubator/bootkube v0.5.1 +* Use kubernetes-incubator/bootkube v0.5.1 ## v1.6.6 * Kubernetes v1.6.6 -* Use kubernete-incubator/bootkube v0.4.5 +* Use kubernetes-incubator/bootkube v0.4.5 * Disable locksmithd on hosts, in favor of [CLUO](https://github.com/coreos/container-linux-update-operator). ## v1.6.4 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index af5882c4..81c2c930 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,4 +2,4 @@ ## Developer Certificate of Origin -By contributing, you agree to the Linux Foundation's Developer Certificate of Origin ([DOC](DCO)). The DCO is a statement that you, the contributor, have the legal right to make your contribution and understand the contribution will be distributed as part of this project. +By contributing, you agree to the Linux Foundation's Developer Certificate of Origin ([DCO](DCO)). The DCO is a statement that you, the contributor, have the legal right to make your contribution and understand the contribution will be distributed as part of this project. diff --git a/docs/addons/cluo.md b/docs/addons/cluo.md index 0d091bcb..1aa21bea 100644 --- a/docs/addons/cluo.md +++ b/docs/addons/cluo.md @@ -12,7 +12,7 @@ kubectl apply -f addons/cluo -R ## Usage -`update-agent` runs as a DaemonSet and annotates a node when `update-engine.service` indiates an update has been installed and a reboot is needed. It also adds additional labels and annotations to nodes. +`update-agent` runs as a DaemonSet and annotates a node when `update-engine.service` indicates an update has been installed and a reboot is needed. It also adds additional labels and annotations to nodes. ``` $ kubectl get nodes --show-labels diff --git a/docs/addons/heapster.md b/docs/addons/heapster.md index 0ec61280..7078bcf3 100644 --- a/docs/addons/heapster.md +++ b/docs/addons/heapster.md @@ -1,6 +1,6 @@ # Heapster -[Heapster](https://kubernetes.io/docs/user-guide/monitoring/) collects data from apiservers and kubelets and exposes it through a REST API. This API powers the `kubectl top` command and Kubernetes dashbard graphs. +[Heapster](https://kubernetes.io/docs/user-guide/monitoring/) collects data from apiservers and kubelets and exposes it through a REST API. This API powers the `kubectl top` command and Kubernetes dashboard graphs. ## Create diff --git a/docs/aws.md b/docs/aws.md index 26b48b68..7a674d9e 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -103,7 +103,7 @@ ssh-add -L ``` !!! warning - `terrafrom apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. + `terraform apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. ## Apply @@ -201,7 +201,7 @@ Learn about [version pinning](concepts.md#versioning), maintenance, and [addons] Clusters create a DNS A record `${cluster_name}.${dns_zone}` to resolve a network load balancer backed by controller instances. This FQDN is used by workers and `kubectl` to access the apiserver. In this example, the cluster's apiserver would be accessible at `tempest.aws.example.com`. -You'll need a registered domain name or subdomain registered in a AWS Route53 DNS zone. You can set this up once and create many clusters with unqiue names. +You'll need a registered domain name or subdomain registered in a AWS Route53 DNS zone. You can set this up once and create many clusters with unique names. ```tf resource "aws_route53_zone" "zone-for-clusters" { @@ -227,7 +227,7 @@ Reference the DNS zone id with `"${aws_route53_zone.zone-for-clusters.zone_id}"` | network_mtu | CNI interface MTU (calico only) | 1480 | 8981 | | host_cidr | CIDR range to assign to EC2 instances | "10.0.0.0/16" | "10.1.0.0/16" | | pod_cidr | CIDR range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | -| service_cidr | CIDR range to assgin to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | +| service_cidr | CIDR range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | Check the list of valid [instance types](https://aws.amazon.com/ec2/instance-types/). diff --git a/docs/bare-metal.md b/docs/bare-metal.md index b57029e4..f3bf3105 100644 --- a/docs/bare-metal.md +++ b/docs/bare-metal.md @@ -1,6 +1,6 @@ # Bare-Metal -In this tutorial, we'll network boot and provison a Kubernetes v1.8.4 cluster on bare-metal. +In this tutorial, we'll network boot and provision a Kubernetes v1.8.4 cluster on bare-metal. First, we'll deploy a [Matchbox](https://github.com/coreos/matchbox) service and setup a network boot environment. Then, we'll declare a Kubernetes cluster in Terraform using the Typhoon Terraform module and power on machines. On PXE boot, machines will install Container Linux to disk, reboot into the disk install, and provision themselves as Kubernetes controllers or workers. @@ -31,7 +31,7 @@ Configure each machine to boot from the disk [^1] through IPMI or the BIOS menu. ipmitool -H node1 -U USER -P PASS chassis bootdev disk options=persistent ``` -During provisioning, you'll explicitly set the boot device to `pxe` for the next boot only. Machines will install (overwrite) the operting system to disk on PXE boot and reboot into the disk install. +During provisioning, you'll explicitly set the boot device to `pxe` for the next boot only. Machines will install (overwrite) the operating system to disk on PXE boot and reboot into the disk install. !!! tip "" Ask your hardware vendor to provide MACs and preconfigure IPMI, if possible. With it, you can rack new servers, `terraform apply` with new info, and power on machines that network boot and provision into clusters. @@ -105,7 +105,7 @@ Read about the [many ways](https://coreos.com/matchbox/docs/latest/network-setup * Place Matchbox behind a menu entry (timeout and default to Matchbox) !!! note "" - TFTP chainloding to modern boot firmware, like iPXE, avoids issues with old NICs and allows faster transfer protocols like HTTP to be used. + TFTP chainloading to modern boot firmware, like iPXE, avoids issues with old NICs and allows faster transfer protocols like HTTP to be used. ## Terraform Setup @@ -203,7 +203,7 @@ ssh-add -L ``` !!! warning - `terrafrom apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. + `terraform apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. ## Apply @@ -354,6 +354,6 @@ Learn about [version pinning](concepts.md#versioning), maintenance, and [addons] | networking | Choice of networking provider | "calico" | "calico" or "flannel" | | network_mtu | CNI interface MTU (calico-only) | 1480 | - | | pod_cidr | CIDR range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | -| service_cidr | CIDR range to assgin to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | +| service_cidr | CIDR range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | | kernel_args | Additional kernel args to provide at PXE boot | [] | "kvm-intel.nested=1" | diff --git a/docs/digital-ocean.md b/docs/digital-ocean.md index 41d01772..ef76d67d 100644 --- a/docs/digital-ocean.md +++ b/docs/digital-ocean.md @@ -98,7 +98,7 @@ ssh-add -L ``` !!! warning - `terrafrom apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. + `terraform apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. ## Apply @@ -195,7 +195,7 @@ Learn about [version pinning](concepts.md#versioning), maintenance, and [addons] Clusters create DNS A records `${cluster_name}.${dns_zone}` to resolve to controller droplets (round robin). This FQDN is used by workers and `kubectl` to access the apiserver. In this example, the cluster's apiserver would be accessible at `nemo.do.example.com`. -You'll need a registered domain name or subdomain registered in Digital Ocean Domains (i.e. DNS zones). You can set this up once and create many clusters with unqiue names. +You'll need a registered domain name or subdomain registered in Digital Ocean Domains (i.e. DNS zones). You can set this up once and create many clusters with unique names. ```tf resource "digitalocean_domain" "zone-for-clusters" { @@ -237,7 +237,7 @@ If you uploaded an SSH key to DigitalOcean (not required), find the fingerprint | worker_type | Digital Ocean droplet size | 512mb | 512mb, 1gb, 2gb, 4gb | | networking | Choice of networking provider | "flannel" | "flannel" | | pod_cidr | CIDR range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | -| service_cidr | CIDR range to assgin to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | +| service_cidr | CIDR range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | !!! warning Do not choose a `controller_type` smaller than `2gb`. The `1gb` droplet is not sufficient for running a controller and bootstrapping will fail. diff --git a/docs/google-cloud.md b/docs/google-cloud.md index 4b704c41..85520742 100644 --- a/docs/google-cloud.md +++ b/docs/google-cloud.md @@ -104,7 +104,7 @@ ssh-add -L ``` !!! warning - `terrafrom apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. + `terraform apply` will hang connecting to a controller if `ssh-agent` does not contain the SSH key. ## Apply @@ -206,7 +206,7 @@ Check the list of valid [regions](https://cloud.google.com/compute/docs/regions- Clusters create a DNS A record `${cluster_name}.${dns_zone}` to resolve a network load balancer backed by controller instances. This FQDN is used by workers and `kubectl` to access the apiserver. In this example, the cluster's apiserver would be accessible at `yavin.google-cloud.example.com`. -You'll need a registered domain name or subdomain registered in a Google Cloud DNS zone. You can set this up once and create many clusters with unqiue names. +You'll need a registered domain name or subdomain registered in a Google Cloud DNS zone. You can set this up once and create many clusters with unique names. ```tf resource "google_dns_managed_zone" "zone-for-clusters" { @@ -229,7 +229,7 @@ resource "google_dns_managed_zone" "zone-for-clusters" { | worker_preemptible | If enabled, Compute Engine will terminate controllers randomly within 24 hours | false | true | | networking | Choice of networking provider | "calico" | "calico" or "flannel" | | pod_cidr | CIDR range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | -| service_cidr | CIDR range to assgin to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | +| service_cidr | CIDR range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | Check the list of valid [machine types](https://cloud.google.com/compute/docs/machine-types). diff --git a/docs/topics/hardware.md b/docs/topics/hardware.md index 08d8e453..5908e477 100644 --- a/docs/topics/hardware.md +++ b/docs/topics/hardware.md @@ -2,9 +2,9 @@ While bare-metal Kubernetes clusters have no special hardware requirements (beyond the [min reqs](/bare-metal.md#requirements)), Typhoon does ensure certain router and server hardware integrates well with Kubernetes. -## Ubiquitiy +## Ubiquiti -Ubiquity EdgeRouters work well with bare-metal Kubernetes clusters. Knowledge about how to setup an EdgeRouter and use the CLI is required. +Ubiquiti EdgeRouters work well with bare-metal Kubernetes clusters. Knowledge about how to setup an EdgeRouter and use the CLI is required. ### PXE @@ -50,7 +50,7 @@ Add `dnsmasq` command line options to enable the TFTP file server. ``` configure -show servce dns forwarding +show service dns forwarding set service dns forwarding options enable-tftp set service dns forwarding options tftp-root=/var/lib/tftpboot commit-confirm @@ -143,7 +143,7 @@ commit-confirm ### BGP -Add the EdgeRouter as a global BGP peer for nodes in a Kubernetes cluster (requires Calico). Neighbors will exchange `podCIDR` routes and individual pods will become routeable on the LAN. +Add the EdgeRouter as a global BGP peer for nodes in a Kubernetes cluster (requires Calico). Neighbors will exchange `podCIDR` routes and individual pods will become routable on the LAN. Configure node(s) as BGP neighbors. diff --git a/docs/topics/performance.md b/docs/topics/performance.md index 4b55eaf8..68ff03d4 100644 --- a/docs/topics/performance.md +++ b/docs/topics/performance.md @@ -19,7 +19,7 @@ Notes: ## Network Performance -Network performance varies based on the platform and CNI plugin. `iperf` was used to measture the bandwidth between different hosts and different pods. Host-to-host shows typical bandwidth between host machines. Pod-to-pod shows the bandwidth between two `iperf` containers. +Network performance varies based on the platform and CNI plugin. `iperf` was used to measure the bandwidth between different hosts and different pods. Host-to-host shows typical bandwidth between host machines. Pod-to-pod shows the bandwidth between two `iperf` containers. | Platform / Plugin | Theory | Host to Host | Pod to Pod | |----------------------------|-------:|-------------:|-------------:| @@ -36,7 +36,7 @@ Network performance varies based on the platform and CNI plugin. `iperf` was use Notes: -* Calico and Flannel have comparable performance. Platform and configuration differenes dominate. +* Calico and Flannel have comparable performance. Platform and configuration differences dominate. * Neither CNI provider seems to be able to leverage bonded NICs (bare-metal) * AWS and Digital Ocean network bandwidth fluctuates more than on other platforms. * Only [certain AWS EC2 instance types](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html#jumbo_frame_instances) allow jumbo frames. This is why the default MTU on AWS must be 1480.