diff --git a/modules/ROOT/pages/prerequisite-cloud.adoc b/modules/ROOT/pages/prerequisite-cloud.adoc index da881c6..636b3a2 100644 --- a/modules/ROOT/pages/prerequisite-cloud.adoc +++ b/modules/ROOT/pages/prerequisite-cloud.adoc @@ -2,10 +2,10 @@ :page-aliases: cloud-intro [abstract] -Vendor specific tasks to perform before installing the Operator. +Vendor-specific tasks to perform before installing the Operator. Kubernetes is supposed to be portable so a workload can be moved seamlessly from one cloud to another. -There is however, scope in Kubernetes that allows for implementations to differ in ways that are not generic. +There is, however, scope in Kubernetes that allows for implementations to differ in ways that are not generic. This page details any tasks that need to be performed before deploying the Operator on public cloud infrastructure. == Amazon EKS @@ -13,7 +13,7 @@ This page details any tasks that need to be performed before deploying the Opera === Authentication Amazon EKS uses proprietary authentication based on IAM. -The use of Couchbase provided tools (xref:tools/cao.adoc[`cao`]) will require your Kubernetes configuration file to be setup to use IAM authentication. +The use of Couchbase provided tools (xref:tools/cao.adoc[`cao`]) will require your Kubernetes configuration file to be set up to use IAM authentication. Instructions for installing the authenticator can be found in the https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html[official documentation^]. === Configuring for XDCR @@ -45,7 +45,7 @@ This will allow nodes in each cluster to talk to each other. === Best Practices Storage classes:: -The EBS volume type `io2` is recommended over `gp3` for any Storage Classes due to its performance characteristics. However, `gp3` at times could be more cost effective and flexible in terms of storage provisioning. Follow the https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html[official AWS user guide^] for more details on recommendations relating “Large database workloads”. +The EBS volume type `io2` is recommended over `gp3` for any Storage Classes due to its performance characteristics. However, `gp3` at times could be more cost-effective and flexible in terms of storage provisioning. Follow the https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html[official AWS user guide^] for more details on recommendations relating to large "database workloads". == Google GKE @@ -93,9 +93,9 @@ For most users, it will suffice to use automatic subnet provisioning with the fo $ gcloud compute networks create my-network ---- -For the purposes of this document we will manually configure our subnets so we are able to add in the necessary firewall rules to allow XDCR between Couchbase clusters in different GKE clusters. +For the purposes of this document, we will manually configure our subnets so we are able to add in the necessary firewall rules to allow XDCR between Couchbase clusters in different GKE clusters. We create two non-overlapping subnets in the 10.0.0.0/8 https://tools.ietf.org/html/rfc1918[RFC-1918^] private address space in different regions, then allow all ingress traffic from the 10.0.0.0/8 prefix via a firewall rule. -By default network traffic is dropped between different GKE clusters. +By default, network traffic is dropped between different GKE clusters. [source,console] ---- @@ -148,7 +148,7 @@ $ kubectl create clusterrolebinding \ <.> The `ClusterRoleBinding` name can be anything you wish. <.> The `--clusterorle` name refers to a preinstalled role provided by GKE. -<.> The `--user` parameter is the same as your Google Cloud account name used to login to the system. +<.> The `--user` parameter is the same as your Google Cloud account name used to log in to the system. === Firewalling @@ -186,12 +186,12 @@ There are several <> related to this behavior, mo + Third-party storage providers like Portworx decouple volume-to-node attachment by instead creating a replicating pool of storage. Storage nodes may also be run separately from compute nodes. -Most issues with persistent volumes on AKS are the result of nodes being attached and moved between nodes. +Most issues with persistent volumes on AKS are the result of disks being attached and moved between nodes. === Create a Network In order for XDCR to work, a layer 3 tunnel between the two cluster networks is required. -This is so that nodes on one network can talk to nodes on the other, which are in turn port-forwarded onto your Couchbase nodes. +This is so that nodes on one network can talk to nodes on the other, which are, in turn, port-forwarded onto your Couchbase nodes. As such, these must be non-overlapping. If we use the default setting, the first cluster would get the prefix 10.0.0.0/8, as would the second. @@ -225,7 +225,7 @@ At the time of this writing, AKS doesn't support Azure Availability Zones. Rather, AKS supports Azure Availability Sets to achieve high availability. + Availability Sets are labeled numerically (e.g. `0` and `1`). -This means that xref:concept-server-groups.adoc[server groups] also have to be named “0” and “1". +This means that xref:concept-server-groups.adoc[server groups] also have to be named "0" and "1". Failed nodes require manual volume failover:: When an Azure node is down and has volumes attached, a forced detach is required.