Skip to content

Commit 78afcb3

Browse files
Merge pull request #37 from NearNodeFlash/ha-cluster
RABSW-1025: Improve HA Cluster Documentation
2 parents eb70f18 + bad6aa1 commit 78afcb3

1 file changed

Lines changed: 23 additions & 21 deletions

File tree

docs/guides/ha-cluster/readme.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,6 @@ Fencing is the process of restricting and releasing access to resources that a f
2222

2323
HPE hardware implements software known as the Hardware System Supervisor (HSS), which itself conforms to the SNIA Redfish/Swordfish standard. This provides the means to manage hardware outside the host OS.
2424

25-
### Compute Fencing
26-
27-
The [Redfish fencing agent](https://github.com/ClusterLabs/fence-agents/tree/main/agents/redfish) from [ClusterLabs](https://github.com/ClusterLabs/fence-agents) should be used for Compute nodes in the cluster. Configure the agent with the following parameters:
28-
29-
| Argument | Definition |
30-
| -------- | ---------- |
31-
| `ip=[ADDRESS]` | The IP address or hostname of the HSS controller |
32-
| `port=80` | The Port of the HSS controller. Must be `80` |
33-
| `systems-uri=/redfish/v1/Systems/1` | The URI of the Systems object. Must be `/redfish/v1/Systems/1` |
34-
| `ssl-insecure=true` | Instructs the use of an insecure SSL exchange. Must be `true` |
35-
| `username=[USER]` | The user name for connecting to the HSS controller |
36-
| `password=[PASSWORD]` | the password for connecting to the HSS controller |
37-
38-
For example, setting up the Redfish fencing agent on `rabbit-compute-2` with the redfish service at `192.168.0.1`
39-
40-
```shell
41-
pcs stonith create rabbit-compute-2 fence_redfish pcmk_host_list=rabbit-compute-2 ip=192.168.0.1 systems-uri=/redfish/v1/Systems/1 username=root password=password ssl_insecure=true
42-
```
43-
4425
### NNF Fencing
4526

4627
#### Source
@@ -51,7 +32,7 @@ git clone https://github.com/NearNodeFlash/fence-agents --branch nnf
5132
```
5233
#### Build
5334

54-
Refer to the `NNF.md file` at the root directory of the fence-agents repository.
35+
Refer to the `NNF.md file` at the root directory of the fence-agents repository. The fencing agents must be installed on every node in the cluster.
5536

5637
#### Setup
5738
Configure the NNF agent with the following parameters:
@@ -65,7 +46,9 @@ Configure the NNF agent with the following parameters:
6546
| `nnf-node-name=[NNF-NODE-NAME]` | Name of the NNF node as it is appears in the System Configuration |
6647
| `api-version=[VERSION]` | The API Version of the NNF Node resource. Defaults to "v1alpha1" |
6748

68-
For example, setting up the NNF fencing agent on `rabbit-node-1` with a kubernetes service API running at `192.168.0.1:6443` and the service token and certificate copied to `/etc/nnf/fence/`.
49+
The token and certificate can be found in the Kubernetes Secrets resource for the nnf-system/nnf-fence-agent ServiceAccount. This provides RBAC rules to limit the fencing agent to only the Kubernetes resources it needs access to.
50+
51+
For example, setting up the NNF fencing agent on `rabbit-node-1` with a kubernetes service API running at `192.168.0.1:6443` and the service token and certificate copied to `/etc/nnf/fence/`. This needs to be run on one node in the cluster.
6952

7053
```
7154
pcs stonith create rabbit-node-1 fence_nnf pcmk_host_list=rabbit-node-1 kubernetes-service-host=192.168.0.1 kubernetes-service-port=6443 service-token-file=/etc/nnf/fence/service.token service-cert-file=/etc/nnf/fence/service.cert nnf-node-name=rabbit-node-1
@@ -81,6 +64,25 @@ Since the NNF node is connected to 16 compute blades, careful coordination aroun
8164
6. Set the `storage.Spec.State := Enabled`
8265
7. Wait for `storage.Status.State == Enabled`
8366

67+
### Compute Fencing
68+
69+
The [Redfish fencing agent](https://github.com/ClusterLabs/fence-agents/tree/main/agents/redfish) from [ClusterLabs](https://github.com/ClusterLabs/fence-agents) should be used for Compute nodes in the cluster. It is also included at https://github.com/NearNodeFlash/fence-agents, and can be built at the same time as the NNF fencing agent. Configure the agent with the following parameters:
70+
71+
| Argument | Definition |
72+
| -------- | ---------- |
73+
| `ip=[ADDRESS]` | The IP address or hostname of the HSS controller |
74+
| `port=80` | The Port of the HSS controller. Must be `80` |
75+
| `systems-uri=/redfish/v1/Systems/1` | The URI of the Systems object. Must be `/redfish/v1/Systems/1` |
76+
| `ssl-insecure=true` | Instructs the use of an insecure SSL exchange. Must be `true` |
77+
| `username=[USER]` | The user name for connecting to the HSS controller |
78+
| `password=[PASSWORD]` | the password for connecting to the HSS controller |
79+
80+
For example, setting up the Redfish fencing agent on `rabbit-compute-2` with the redfish service at `192.168.0.1`. This needs to be run on one node in the cluster.
81+
82+
```shell
83+
pcs stonith create rabbit-compute-2 fence_redfish pcmk_host_list=rabbit-compute-2 ip=192.168.0.1 systems-uri=/redfish/v1/Systems/1 username=root password=password ssl_insecure=true
84+
```
85+
8486
### Dummy Fencing
8587

8688
The [dummy fencing agent](https://github.com/ClusterLabs/fence-agents/tree/main/agents/dummy) from ClusterLabs can be used for nodes in the cluster for an early access development system.

0 commit comments

Comments
 (0)