在 AKS 集群中部署单个 Neo4j 集群
借助 Neo4j Helm 图表,您可以使用负载均衡器和 Azure 应用程序网关在多个 Azure Kubernetes Service (AKS) 集群上部署 Neo4j 集群。
下图是 Neo4j 集群的示意图,其中三个主服务器运行在三个不同的 AKS 集群上。
该图显示了三个 Neo4j 实例,每个实例都在不同可用区中的不同 AKS 集群上运行,作为单个 Neo4j 集群的一部分。每个 AKS 集群还包括一个用于每个 Neo4j 实例的内部负载均衡器和一个 LIST 发现方法。它们允许 Neo4j 实例相互通信。Neo4j 集群可以通过 Azure 应用程序网关从 Kubernetes 外部访问。
以下步骤是在多 AKS 集群上部署 Neo4j 集群的示例。
在三个可用区中创建三个 AKS 集群
您必须具有 |
-
安装
az
命令行界面 (CLI) (https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli)。 -
创建资源组以托管您的虚拟网络。本示例在
eastus
位置创建了一个名为my-RG
的资源组az group create \ --name my-RG \ --location eastus
示例输出{ "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG", "location": "eastus", "managedBy": null, "name": "my-RG", "properties": { "provisioningState": "Succeeded" }, "tags": null, "type": "Microsoft.Resources/resourceGroups" }
-
在此资源组中,创建 Azure 虚拟网络 (VNet)。本示例创建了一个名为
my-VNet
的虚拟网络,其地址范围为10.30.0.0/16
az network vnet create \ --name my-VNet \ --resource-group my-RG \ --address-prefixes 10.30.0.0/16
示例输出{ "newVNet": { "addressSpace": { "addressPrefixes": [ "10.30.0.0/16" ] }, "bgpCommunities": null, "ddosProtectionPlan": null, "dhcpOptions": { "dnsServers": [] }, "enableDdosProtection": false, "enableVmProtection": null, "encryption": null, "etag": "W/\"97953f32-55fe-4821-aedd-ec7a800127e3\"", "extendedLocation": null, "flowTimeoutInMinutes": null, "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet", "ipAllocations": null, "location": "eastus", "name": "my-VNet", "provisioningState": "Succeeded", "resourceGroup": "my-RG", "resourceGuid": "4ed2a9f4-580e-4424-800b-1065ed9ad0a2", "subnets": [], "tags": { "Owner Department": "Engineering - Neo4j" }, "type": "Microsoft.Network/virtualNetworks", "virtualNetworkPeerings": [] } }
-
将四个子网添加到您已创建的虚拟网络 (
my-VNet
)。它们将由您在每个 AKS 集群上部署的 Azure 资源使用。子网地址范围在虚拟网络的地址空间内必须是唯一的。az network vnet subnet create -g my-RG --vnet-name my-VNet -n subnet1 \ --address-prefixes 10.30.1.0/24 az network vnet subnet create -g my-RG --vnet-name my-VNet -n subnet2 \ --address-prefixes 10.30.2.0/24 az network vnet subnet create -g my-RG --vnet-name my-VNet -n subnet3 \ --address-prefixes 10.30.3.0/24 az network vnet subnet create -g my-RG --vnet-name my-VNet -n subnet4 \ --address-prefixes 10.30.4.0/24
示例输出{ "addressPrefix": "10.30.1.0/24", "addressPrefixes": null, "applicationGatewayIpConfigurations": null, "delegations": [], "etag": "W/\"32bb3a61-c446-4c20-b596-d92b6b9e2e9f\"", "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet1", "ipAllocations": null, "ipConfigurationProfiles": null, "ipConfigurations": null, "name": "subnet1", "natGateway": null, "networkSecurityGroup": null, "privateEndpointNetworkPolicies": "Disabled", "privateEndpoints": null, "privateLinkServiceNetworkPolicies": "Enabled", "provisioningState": "Succeeded", "purpose": null, "resourceGroup": "my-RG", "resourceNavigationLinks": null, "routeTable": null, "serviceAssociationLinks": null, "serviceEndpointPolicies": null, "serviceEndpoints": null, "type": "Microsoft.Network/virtualNetworks/subnets" } { "addressPrefix": "10.30.2.0/24", "addressPrefixes": null, "applicationGatewayIpConfigurations": null, "delegations": [], "etag": "W/\"8ec29708-e749-4a89-813e-0290c3c9a6f7\"", "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet2", "ipAllocations": null, "ipConfigurationProfiles": null, "ipConfigurations": null, "name": "subnet2", "natGateway": null, "networkSecurityGroup": null, "privateEndpointNetworkPolicies": "Disabled", "privateEndpoints": null, "privateLinkServiceNetworkPolicies": "Enabled", "provisioningState": "Succeeded", "purpose": null, "resourceGroup": "my-RG", "resourceNavigationLinks": null, "routeTable": null, "serviceAssociationLinks": null, "serviceEndpointPolicies": null, "serviceEndpoints": null, "type": "Microsoft.Network/virtualNetworks/subnets" } { "addressPrefix": "10.30.3.0/24", "addressPrefixes": null, "applicationGatewayIpConfigurations": null, "delegations": [], "etag": "W/\"4b9ba2be-e385-48e7-be24-c52c79769c3a\"", "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet3", "ipAllocations": null, "ipConfigurationProfiles": null, "ipConfigurations": null, "name": "subnet3", "natGateway": null, "networkSecurityGroup": null, "privateEndpointNetworkPolicies": "Disabled", "privateEndpoints": null, "privateLinkServiceNetworkPolicies": "Enabled", "provisioningState": "Succeeded", "purpose": null, "resourceGroup": "my-RG", "resourceNavigationLinks": null, "routeTable": null, "serviceAssociationLinks": null, "serviceEndpointPolicies": null, "serviceEndpoints": null, "type": "Microsoft.Network/virtualNetworks/subnets" } { "addressPrefix": "10.30.4.0/24", "addressPrefixes": null, "applicationGatewayIpConfigurations": null, "delegations": [], "etag": "W/\"ff08c2d1-2166-4c64-9892-3cac9bc20fd1\"", "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet4", "ipAllocations": null, "ipConfigurationProfiles": null, "ipConfigurations": null, "name": "subnet4", "natGateway": null, "networkSecurityGroup": null, "privateEndpointNetworkPolicies": "Disabled", "privateEndpoints": null, "privateLinkServiceNetworkPolicies": "Enabled", "provisioningState": "Succeeded", "purpose": null, "resourceGroup": "my-RG", "resourceNavigationLinks": null, "routeTable": null, "serviceAssociationLinks": null, "serviceEndpointPolicies": null, "serviceEndpoints": null, "type": "Microsoft.Network/virtualNetworks/subnets" }
-
现在您可以创建 AKS 集群了。通过运行以下命令(它使用
jq
命令)或从子网创建输出中复制来获取子网的订阅 ID。az network vnet subnet show -g my-RG --vnet-name my-VNet -n subnet1 --output json | jq .id
示例输出"/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/
-
在您的资源组中,使用订阅 ID 创建三个 AKS 集群,分别命名为
my-aks-cluster-a
、my-aks-cluster-b
和my-aks-cluster-c
,每个集群有 5 个节点。az aks create --name my-aks-cluster-a --node-count=5 --zones 1 --vnet-subnet-id "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet1" -g my-RG az aks create --name my-aks-cluster-b --node-count=5 --zones 2 --vnet-subnet-id "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet2" -g my-RG az aks create --name my-aks-cluster-c --node-count=5 --zones 3 --vnet-subnet-id "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet3" -g my-RG
示例输出Waiting for AAD role to propagate[################################ ] 90.0000% { "aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { "availabilityZones": [ "1" ], "count": 5, "creationData": null, "currentOrchestratorVersion": "1.23.8", "enableAutoScaling": false, "enableEncryptionAtHost": false, "enableFips": false, "enableNodePublicIp": false, "enableUltraSsd": false, "gpuInstanceProfile": null, "hostGroupId": null, "kubeletConfig": null, "kubeletDiskType": "OS", "linuxOsConfig": null, "maxCount": null, "maxPods": 110, "minCount": null, "mode": "System", "name": "nodepool1", "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2022.08.23", "nodeLabels": null, "nodePublicIpPrefixId": null, "nodeTaints": null, "orchestratorVersion": "1.23.8", "osDiskSizeGb": 128, "osDiskType": "Managed", "osSku": "Ubuntu", "osType": "Linux", "podSubnetId": null, "powerState": { "code": "Running" }, "provisioningState": "Succeeded", "proximityPlacementGroupId": null, "scaleDownMode": null, "scaleSetEvictionPolicy": null, "scaleSetPriority": null, "spotMaxPrice": null, "tags": null, "type": "VirtualMachineScaleSets", "upgradeSettings": { "maxSurge": null }, "vmSize": "Standard_DS2_v2", "vnetSubnetId": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/my-RG/providers/Microsoft.Network/virtualNetworks/my-VNet/subnets/subnet1", "workloadRuntime": null } ], "apiServerAccessProfile": null, "autoScalerProfile": null, "autoUpgradeProfile": null, "azurePortalFqdn": "my-aks-my-rg-5b9ae5-bd2a82e4.portal.hcp.eastus.azmk8s.io", "currentKubernetesVersion": "1.23.8", "disableLocalAccounts": false, "diskEncryptionSetId": null, "dnsPrefix": "my-aks-my-RG-5b9ae5", "enablePodSecurityPolicy": null, "enableRbac": true, "extendedLocation": null, "fqdn": "my-aks-my-rg-5b9ae5-bd2a82e4.hcp.eastus.azmk8s.io", "fqdnSubdomain": null, "httpProxyConfig": null, "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourcegroups/my-RG/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster-a", "identity": { "principalId": "16334702-6bbd-44a0-8090-a7739b881974", "tenantId": "54e85725-ed2a-49a4-a19e-11c8d29f9a0f", "type": "SystemAssigned", "userAssignedIdentities": null }, "identityProfile": { "kubeletidentity": { "clientId": "a445b12d-52d9-4564-b5cf-daa98bf17ab8", "objectId": "91cc2d37-0407-4916-a4cd-51849fbc6541", "resourceId": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourcegroups/MC_my-RG_my-aks-cluster-a_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-aks-cluster-a-agentpool" } }, "kubernetesVersion": "1.23.8", "linuxProfile": { "adminUsername": "azureuser", "ssh": { "publicKeys": [ { "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDzCbi+J6eJq9RTsCGFFhTk/PQrl8jNzbFYsPZeu4BKvyrRz7JfWRgzGLu6OTJynuUejKy6XlNaqYsEoZMsFdOMMYoK/bVCCUwOaOrpGAqNF9dCKbKkEnA6iv6WgEIfVHGoCtMc3pBRU0R9rfWYpf3h7WT/oShnaLzVhPUG+4Jblx3K2tRsZ5+2AEgQeniXUgtZRvPes8qXfr/OES7M7owI0VuOVgiuJo3//sCvDavGJwSAgUECzcPYOEwBfmTWNleYrluiEWc7Ye5Y+W8j86V4L/vh4LRs14WZ92Jt6K3QhshGSpY0tcLnxg7fskdZDtdcSWIPWpbQLdTxdIETKe66qDiijLXkpw2m3XRe8nTc5ysoXGaKvzASAWyR2FYpYvmaSSGe/65jeQMsDjSsEXnLRoDG2A3aHy5yV44QXSd4N9/+Znmea1WnB+tvOUuAlhIgjWvprRPXyhZHdybuQipXPErfYg4G83HWMwh35D5qBAV3DeZUIYYATFszYdGfp3ghdu1LBVXsgH/sHaMZXp9uy5PAP4jOxfGpho3k+UoQZHK3wwskxhK8/IiWpRPRPWUbfhUOilUdkQup8hyfVfGpW7htW3crFwXFbU1LG5gDNrars0i3OHqT1snFB3R38vxDaXdOZCEVPSQAevOj3Q/WYfO2m5o+gp2sEQtEp4mG+w== my.popova@gmail.com\n" } ] } }, "location": "eastus", "maxAgentPools": 100, "name": "my-aks-cluster-a", "networkProfile": { "dnsServiceIp": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": null, "effectiveOutboundIPs": [ { "id": "/subscriptions/5b9ae547-ce82-4834-b276-b72904ceaa84/resourceGroups/MC_my-RG_my-aks-cluster-a_eastus/providers/Microsoft.Network/publicIPAddresses/e7480132-3f34-4f2d-bbc3-4e27e23e574c", "resourceGroup": "MC_my-RG_my-aks-cluster-a_eastus" } ], "enableMultipleStandardLoadBalancers": null, "idleTimeoutInMinutes": null, "managedOutboundIPs": { "count": 1, "countIpv6": null }, "outboundIPs": null, "outboundIpPrefixes": null }, "loadBalancerSku": "Standard", "natGatewayProfile": null, "networkMode": null, "networkPlugin": "kubenet", "networkPolicy": null, "outboundType": "loadBalancer", "podCidr": "10.244.0.0/16", "podCidrs": [ "10.244.0.0/16" ], "serviceCidr": "10.0.0.0/16", "serviceCidrs": [ "10.0.0.0/16" ] }, "nodeResourceGroup": "MC_my-RG_my-aks-cluster-a_eastus", "podIdentityProfile": null, "powerState": { "code": "Running" }, "privateFqdn": null, "privateLinkResources": null, "provisioningState": "Succeeded", "publicNetworkAccess": null, "resourceGroup": "my-RG", "securityProfile": { "azureKeyVaultKms": null, "defender": null }, "servicePrincipalProfile": { "clientId": "msi", "secret": null }, "sku": { "name": "Basic", "tier": "Free" }, "storageProfile": { "diskCsiDriver": { "enabled": true }, "fileCsiDriver": { "enabled": true }, "snapshotController": { "enabled": true } }, "systemData": null, "tags": { "Owner Department": "Engineering - Neo4j" }, "type": "Microsoft.ContainerService/ManagedClusters", "windowsProfile": null }
-
使用以下命令配置
kubectl
以使用您的 AKS 集群az aks get-credentials --name my-aks-cluster-a --admin -g my-RG az aks get-credentials --name my-aks-cluster-b --admin -g my-RG az aks get-credentials --name my-aks-cluster-c --admin -g my-RG
示例输出Merged "my-aks-cluster-a-admin" as current context in /Users/myuser/.kube/config Merged "my-aks-cluster-b-admin" as current context in /Users/myuser/.kube/config Merged "my-aks-cluster-c-admin" as current context in /Users/myuser/.kube/config
在极少数情况下,如果常规的 K8S Kubernetes 发现方法在您的部署/环境中不起作用,您可以使用 |
在每个 AKS 集群上安装 Neo4j
在每个 AKS 集群上安装 neo4j/neo4j helm 图表。LoadBalancer
服务将被配置为使用与集群关联的子网中的私有 IP 地址。例如 my-aks-cluster-a
使用范围为 10.30.1.0/24
的 subnet1
,因此可以使用 10.30.1.1-10.30.1.255
中的任何地址。本示例中,以下地址用于说明:
-
server-1: 10.30.1.101
-
server-2: 10.30.2.101
-
server-3: 10.30.3.101
您必须在资源组中拥有所有者权限,或者具有 |
为每个集群成员创建 values.yaml 文件
为每个 Neo4j 集群成员创建一个自定义 YAML 文件,例如 server-1.values.yaml、server-2.values.yaml、server-3.values.yaml。
属性 services.neo4j.spec.loadBalancerIP
必须设置为 subnet1
示例中的 IP 地址。
-
使用以下命令切换到第一个 AKS 集群
my-aks-cluster-a-admin
的上下文kubectl config use-context my-aks-cluster-a-admin
-
在 server-1.values.yaml 中,将以下设置添加到 Neo4j 配置中
server-1.values.yaml# Neo4j Configuration (yaml format) neo4j: name: multicluster minimumClusterSize: 3 acceptLicenseAgreement: "yes" edition: enterprise volumes: data: mode: defaultStorageClass services: neo4j: annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" spec: loadBalancerIP: 10.30.1.101 multiCluster: true config: dbms.cluster.discovery.resolver_type: LIST dbms.cluster.endpoints: "10.30.1.101:6000, 10.30.2.101:6000, 10.30.3.101:6000" server.cluster.advertised_address: "10.30.1.101:6000" server.cluster.raft.advertised_address: "10.30.1.101:7000" server.bolt.advertised_address: "10.30.1.101:7687" server.routing.advertised_address: "10.30.1.101:7688"
-
在 server-2.values.yaml 中,将以下设置添加到 Neo4j 配置中
server-2.values.yaml# Neo4j Configuration (yaml format) neo4j: name: multicluster minimumClusterSize: 3 acceptLicenseAgreement: "yes" edition: enterprise volumes: data: mode: defaultStorageClass services: neo4j: annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" spec: loadBalancerIP: 10.30.2.101 multiCluster: true config: dbms.cluster.discovery.resolver_type: LIST dbms.cluster.endpoints: "10.30.1.101:6000, 10.30.2.101:6000, 10.30.3.101:6000" server.cluster.advertised_address: "10.30.2.101:6000" server.cluster.raft.advertised_address: "10.30.2.101:7000" server.bolt.advertised_address: "10.30.2.101:7687" server.routing.advertised_address: "10.30.2.101:7688"
-
在 server-3.values.yaml 中,将以下设置添加到 Neo4j 配置中
server-3.values.yaml# Neo4j Configuration (yaml format) neo4j: name: multicluster minimumClusterSize: 3 acceptLicenseAgreement: "yes" edition: enterprise volumes: data: mode: defaultStorageClass services: neo4j: annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" spec: loadBalancerIP: 10.30.3.101 multiCluster: true config: dbms.cluster.discovery.resolver_type: LIST dbms.cluster.endpoints: "10.30.1.101:6000, 10.30.2.101:6000, 10.30.3.101:6000" server.cluster.advertised_address: "10.30.3.101:6000" server.cluster.raft.advertised_address: "10.30.3.101:7000" server.bolt.advertised_address: "10.30.3.101:7687" server.routing.advertised_address: "10.30.3.101:7688"
部署 Neo4j 集群
-
使用以下命令将上下文切换到
my-aks-cluster-a-admin
kubectl config use-context my-aks-cluster-a-admin
-
使用 server-1.values.yaml 安装
server-1
helm install server-1 neo4j/neo4j -f /path/to/server-1.values.yaml
示例输出NAME: server-1 LAST DEPLOYED: Tue Nov 1 14:53:54 2022 NAMESPACE: neo4j STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: Thank you for installing neo4j. Your release "server-1" has been installed in namespace "neo4j". The neo4j user's password has been set to "my-password". This release creates a single member of a Neo4j cluster. It will not become ready until it is able to form a working Neo4j cluster by joining other Neo4j servers. To create a working cluster at least 3 servers are required. Once you have a working Neo4j cluster, you can access the Neo4j browser using the IP address of the multicluster-lb-neo4j service eg. http://[SERVICE_IP]:7474 Graphs are everywhere!
-
将上下文切换到
my-aks-cluster-b-admin
。kubectl config use-context my-aks-cluster-b-admin
-
使用 server-2.values.yaml 安装
server-2
helm install server-2 neo4j/neo4j -f /path/to/server-2.values.yaml
-
将上下文切换到
my-aks-cluster-c-admin
。kubectl config use-context my-aks-cluster-c-admin
-
使用 server-3.values.yaml 安装
server-3
helm install server-3 neo4j/neo4j -f /path/to/server-3.values.yaml
-
切换到每个上下文并检查其中的 Pod 是否处于
READY
状态,以及它们是否已形成集群。kubectl get pods
NAME READY STATUS RESTARTS AGE server-1-0 1/1 Running 0 4m51s
创建 Azure 应用程序网关
您创建一个应用程序网关以从 AKS 集群外部访问 Neo4j 集群。
-
登录到 Azure 门户。
-
在“搜索资源”区域中,查找“应用程序网关”。
“负载均衡 | 应用程序网关”窗口打开。 -
单击“创建”按钮。
-
在“基本信息”选项卡上,配置以下设置
-
从“资源组”下拉列表中,选择
my-RG
。 -
在“应用程序网关/名称”字段中为您的应用程序网关添加名称。
-
从“区域”下拉列表中,选择您的区域。在本示例中,它是“美国东部”。
-
禁用自动缩放。
-
从“虚拟网络”下拉列表中,选择
my-VNet
。 -
从“子网”下拉列表中,选择
subnet4 | 10.30.4.0/24
。 -
单击“下一步:前端 >”。
-
-
在“前端”选项卡上,配置公共 IP 地址
-
在“前端 IP 地址类型”中,选择“公共”。
-
在“公共 IP 地址”中,单击“添加新项”。
-
为其添加一个名称,例如
apg-public
。 -
单击“确定”。
-
-
单击“下一步:后端 >”。
-
-
在“后端”选项卡上,添加负载均衡器的
EXTERNAL-IP
-
单击“添加后端池”。
-
为该池添加一个名称,例如
neo4j-cluster
。 -
在“目标类型”列表中,在“目标”下添加负载均衡器的
EXTERNAL-IP
。
-
-
单击“添加”。
-
单击“下一步:配置 >”。
-
-
在“配置”选项卡上,配置路由规则
-
单击“添加路由规则”并为端口
7474
配置路由规则。-
在“规则名称”字段中,为您的规则添加一个名称,例如
rule7474
。 -
对于“优先级”,添加
1
。 -
在“侦听器”选项卡上,为“侦听器”添加一个名称(例如
listener7474
),选择“前端 IP”为“公共”,并添加端口7474
。 -
在“后端目标”选项卡上,配置后端目标和设置
-
从“目标类型”下拉列表中,选择“后端池”为
neo4j-cluster
。 -
对于“后端目标”,单击“添加新项”并配置。
-
在“后端设置名称”中,输入
settings7474
。 -
在“后端端口”中,输入
7474
。
-
-
-
单击“添加”。
-
-
单击“添加路由规则”并为端口
7687
配置路由规则。-
在“规则名称”字段中,为您的规则添加一个名称,例如
rule7687
。 -
对于“优先级”,添加
2
。 -
在“侦听器”选项卡上,为“侦听器”添加一个名称(例如
listener7687
),选择“前端 IP”为“公共”,并添加端口7687
。 -
在“后端目标”选项卡上,配置后端目标和设置
-
从“目标类型”下拉列表中,选择“后端池”为
neo4j-cluster
。 -
对于“后端目标”,单击“添加新项”并配置。
-
在“后端设置名称”中,输入
settings7687
。 -
在“后端端口”中,输入
7687
。
-
-
-
单击“添加”。
-
-
单击“下一步:标签 >”。
-
单击“下一步:审阅 + 创建 >”,审阅您的配置,然后单击“创建”。
-