@@ -5,7 +5,8 @@ description: Create a cluster for deployment
55
66# Create a cluster
77
8- Create a cluster before you deploy the network, there are options locally and in cloud.
8+ You can create a [ local] ( #local-clusters ) or [ cloud] ( #cloud-clusters ) cluster to deploy a Besu network using
9+ Kubernetes.
910
1011## Prerequisites
1112
@@ -18,8 +19,7 @@ Create a cluster before you deploy the network, there are options locally and in
1819
1920## Local Clusters
2021
21- Use one of several options to create a local cluster. Select one listed below, or another that you
22- are comfortable with.
22+ Use one of several options to create a local cluster. Select one listed below, or another that you're comfortable with.
2323
2424### Minikube
2525
@@ -49,52 +49,52 @@ kind create cluster
4949
5050### Rancher
5151
52- [ Rancher] ( https://github.com/rancher-sandbox/rancher-desktop/ ) is a light-weight open source desktop application
53- for Mac, Windows and Linux. It provides Kubernetes and container management, and allows you to choose the
52+ [ Rancher] ( https://github.com/rancher-sandbox/rancher-desktop/ ) is a lightweight open source desktop application
53+ for Mac, Windows, and Linux. It provides Kubernetes and container management, and allows you to choose the
5454version of Kubernetes to run.
5555
56- It can build, push, pull and run container images. Built container images can be run without needing a registry.
56+ It can build, push, pull, and run container images. Built container images can be run without needing a registry.
5757
5858!!!note
5959 The official Docker-CLI is not supported but rather uses [ nerdctl] ( https://github.com/containerd/nerdctl ) which is
6060 a Docker-CLI compatible tool for containerd, and is automatically installed with Rancher Desktop.
6161
6262!!!note
63- For Windows, you need to [ install Windows Subsystem for Linux (WSL)] ( https://docs.microsoft.com/en-us/windows/wsl/install )
63+ For Windows, you must [ install Windows Subsystem for Linux (WSL)] ( https://docs.microsoft.com/en-us/windows/wsl/install )
6464 to install Rancher Desktop.
6565
6666Refer to the [ official documentation] ( https://github.com/rancher-sandbox/docs.rancherdesktop.io/blob/main/docs/installation.md )
6767for system requirements and installation instructions.
6868
69- ## Cloud Clusters
69+ ## Cloud clusters
7070
7171### AWS EKS
7272
7373[ AWS Elastic Kubernetes Service (AWS EKS)] ( https://aws.amazon.com/eks/ ) is one of the most popular platforms
7474to deploy Hyperledger Besu.
7575
76- To create a cluster in AWS, you need to install the [ AWS CLI] ( https://aws.amazon.com/cli/ ) and
76+ To create a cluster in AWS, you must install the [ AWS CLI] ( https://aws.amazon.com/cli/ ) and
7777[ ` eksctl ` ] ( https://eksctl.io/ ) .
7878
7979The [ template] ( https://github.com/ConsenSys/quorum-kubernetes/tree/master/aws ) comprises the base
8080infrastructure used to build the cluster and other resources in AWS. We also use AWS native
8181services and features after the cluster is created. These include:
8282
83- * [ Pod identities] ( https://github.com/aws/amazon-eks-pod-identity-webhook )
84- * [ Secrets Store CSI drivers] ( https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html )
83+ * [ Pod identities] ( https://github.com/aws/amazon-eks-pod-identity-webhook ) .
84+ * [ Secrets Store CSI drivers] ( https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html ) .
8585* Dynamic storage classes backed by AWS EBS. The
8686 [ volume claims] ( https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims ) are fixed
87- sizes and can be updated as you grow via helm updates, and will not need to re-provision the underlying storage
87+ sizes and can be updated as you grow via helm updates, and won't need to re-provision the underlying storage
8888 class.
8989* [ CNI] ( https://docs.aws.amazon.com/eks/latest/userguide/pod-networking.html ) networking mode for EKS. By default,
9090 EKS clusters use ` kubenet ` to create a virtual network and subnet. Nodes get an IP
9191 address from a virtual network subnet. Network address translation (NAT) is then configured on the nodes, and pods
9292 receive an IP address "hidden" behind the node IP.
9393
9494 !!! note
95- This approach reduces the number of IP addresses that you need
96- to reserve in your network space for pods, but places constraints on what can connect to the nodes from
97- outside the cluster (for example on premises nodes or those on another cloud provider).
95+ This approach reduces the number of IP addresses that you must reserve in your network space for pods, but
96+ constrains what can connect to the nodes from
97+ outside the cluster (for example, on-premise nodes or those on another cloud provider).
9898
9999AWS Container Networking Interface (CNI) provides each pod with an IP address from the subnet, and can be accessed
100100directly. The IP addresses must be unique across your network space, and must be planned in advance. Each node has
@@ -119,7 +119,7 @@ your VPC details.
119119 ```
120120
1211211. Optionally, deploy the
122- [kubernetes dashboard](https://github.com/ConsenSys/quorum-kubernetes/tree/master/aws/templates/k8s-dashboard)
122+ [kubernetes dashboard](https://github.com/ConsenSys/quorum-kubernetes/tree/master/aws/templates/k8s-dashboard).
123123
1241241. Provision the drivers. After the deployment completes, provision the secrets manager, identity, and
125125CSI drivers. Use ` besu` for `EKS_NAMESPACE` and update `AWS_REGION` and `EKS_CLUSTER_NAME` in the
@@ -144,30 +144,31 @@ commands below to match your settings from step 2.
144144
1451451. You can now use your cluster and you can deploy [Helm charts](./Deploy-Charts.md) to it.
146146
147- # ## [ Azure AKS](https://azure.microsoft.com/en-au/services/kubernetes-service/)
147+ # ## Azure Kubernetes Service
148148
149- Azure Kubernetes Service is also a popular cloud platform that you can use to deploy Besu. To create a cluster in
150- Azure, you need to install the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) and you
151- must have admin rights on your Azure subscription to enable some preview features on AKS.
149+ [Azure Kubernetes Service (AKS)](https://azure.microsoft.com/en-us/services/kubernetes-service/) is another popular cloud
150+ platform that you can use to deploy Besu. To create a cluster in
151+ Azure, you must install the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) and have admin
152+ rights on your Azure subscription to enable some preview features on AKS.
152153
153154The [template](https://github.com/ConsenSys/quorum-kubernetes/tree/master/azure) comprises the base
154155infrastructure used to build the cluster and other resources in Azure. We also make use Azure native
155156services and features after the cluster is created. These include:
156157
157158* [AAD pod identities](https://docs.microsoft.com/en-us/azure/aks/use-azure-ad-pod-identity).
158- * [Secrets Store CSI drivers](https://docs.microsoft.com/en-us/azure/key-vault/general/key-vault-integrate-kubernetes)
159+ * [Secrets Store CSI drivers](https://docs.microsoft.com/en-us/azure/key-vault/general/key-vault-integrate-kubernetes).
159160* Dynamic storage classes backed by Azure Files. The
160161 [volume claims](https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv) are fixed sizes and can be updated
161- as you grow via helm updates, and will not need to re-provision the underlying storage class.
162+ as you grow via helm updates, and won ' t need to re-provision the underlying storage class.
162163* [CNI](https://docs.microsoft.com/en-us/azure/aks/configure-azure-cni) networking mode for AKS. By default, AKS
163164 clusters use `kubenet`, to create a virtual network and subnet. Nodes get an IP address
164165 from a virtual network subnet. Network address translation (NAT) is then configured on the nodes, and pods receive
165166 an IP address "hidden" behind the node IP.
166167
167168 !!! note
168- This approach reduces the number of IP addresses that you need to reserve
169- in your network space for pods to use, however places constraints on what can connect to the nodes from outside the
170- cluster (for example on prem nodes or other cloud providers)
169+ This approach reduces the number of IP addresses you must reserve
170+ in your network space for pods to use, but constrains what can connect to the nodes from outside the
171+ cluster (for example, on-premise nodes or other cloud providers).
171172
172173AKS Container Networking Interface (CNI) provides each pod with an IP address from the subnet, and can be accessed
173174directly. These IP addresses must be unique across your network space, and must be planned in advance. Each node has
@@ -177,15 +178,15 @@ exhaustion as your application demands grow, however makes it easier for externa
177178
178179!!!warning
179180
180- Please do not create more than one AKS cluster in the same subnet. AKS clusters may not use 169.254.0.0/16,
181- 172.30.0.0/16, 172.31.0.0/16, or 192.0.2.0/24 for the Kubernetes service address range.
181+ Please do not create more than one AKS cluster in the same subnet. AKS clusters may not use ` 169.254.0.0/16` ,
182+ ` 172.30.0.0/16`, ` 172.31.0.0/16` , or ` 192.0.2.0/24` for the Kubernetes service address range.
182183
183184To provision the cluster:
184185
1851861. Enable the preview features that allow you to use AKS with CNI, and a managed identity to authenticate and
186187 run cluster operations with other services. We also enable
187188 [AAD pod identities](https://docs.microsoft.com/en-us/azure/aks/use-azure-ad-pod-identity) which use the managed
188- identity. This is in preview so you need to enable this feature by registering the ` EnablePodIdentityPreview` feature:
189+ identity. This is in preview, so you must enable this feature by registering the `EnablePodIdentityPreview` feature:
189190
190191 ```bash
191192 az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService
0 commit comments