diff --git a/docs/private-networks/tutorials/kubernetes/multi-cluster.md b/docs/private-networks/tutorials/kubernetes/multi-cluster.md new file mode 100644 index 0000000000..c2ee424063 --- /dev/null +++ b/docs/private-networks/tutorials/kubernetes/multi-cluster.md @@ -0,0 +1,86 @@ +--- +title: Deploy Besu across multiple Kubernetes clusters across multiple cloud providers +description: Deploy Besu across multiple Kubernetes clusters across multiple cloud providers +sidebar_position: 7 +tags: + - private networks +--- + +# Deploy Besu across multiple Kubernetes clusters across multiple cloud providers + +The following tutorial is just one of many ways to connect nodes in one K8S cluster to nodes in another K8S +cluster across multiple cloud provider - in this case [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/) +and [Azure Kubernetes Service (AKS)](https://azure.microsoft.com/en-au/products/kubernetes-service) + +This tutorial walks you through using AWS as the main cluster and adding an extra node in Azure to the existing pool + +## Overview + +### Steps + +#### 1. Create an AWC VPC + +1. Use a CIDR block that doesn't overlap with that of Azure eg `10.0.0.0/16` +2. Create the EKS cluster as normal and use the default Kubernetes service range `172.20.0.0/16` + +#### 2. Create an Azure Virtual Network + +1. Use a CIDR block that doesn't overlap with that of AWS eg `10.1.0.0/16` +2. It is also recommended to create a subnet for the Gateway and use a CIDR of `/24` eg `10.1.1.0/24` +3. Create the AKS cluster as normal and use the different Kubernetes service range + `10.2.0.0/16` (the default `10.0.0.0/16` overlaps with the AWS VPC CIDR block) + +#### 3. Connect the AWS VPC and Azure VNet with a site to site VPN + +##### 3.1 On the Azure side create a Virtual Network Gateway + +In the AZure VNet, create a Virtual Network Gateway with the following settings + +| Setting | Value | +|----------------------|-------------| +| SKU | VpnGw2AZ (default) | +| Gateway Type | VPN | +| VPN Type | Route-based | +| Virtual Network | Use the network in step 2.1 | +| Gateway subnet | Use the subnet from step 2.2 | +| Public IP Address | Create new | +| Enable active-active mode | Disabled | +| Configure BGP | Disabled | + +The other setttings can remain as defaults or set to suit your requirements. Once this is complete +please note down the IP address that was created for the Virtual Network Gateway + +##### 3.2 On the AWS side create a Customer Gateway + +This Customer Gateway points to the Azure Virtual Network Gateay from step 3.1 + +| Setting | Value | +|----------------------|-------------| +| Routing | Static | +| IP Address | Use the IP of the Virtual Network Gateway in step 3.1 | + +The other setttings can remain as defaults or set to suit your requirements + +##### 3.2 On the AWS side create a Virtual Private Gateway + +Create an AWS Virtual Private Gateway and specify the name. + +| Setting | Value | +|----------------------|-------------| +| ASN | Amazon Default ASN | + +##### 3.3 On the AWS side attach the Virtual Private Gateway to the VPC + +Select the Virtual Private Gateway and then select Actions and `Attach to VPC` and select +the VPC in step 1 + +##### 3.4 On the AWS side create the Site to Site VPN Connection + + +Create an AWS Virtual Private Gateway and specify the name. + +| Setting | Value | +|----------------------|-------------| +| ASN | Amazon Default ASN | + +