Skip to content

Commit 9664c3e

Browse files
CONFSRVDEV-51308 update docs to be more cloud provider agnostic (#1083)
1 parent 34ee487 commit 9664c3e

6 files changed

Lines changed: 101 additions & 125 deletions

File tree

-206 KB
Loading

docs/docs/assets/images/KubernetesOverview.xml

Lines changed: 91 additions & 116 deletions
Large diffs are not rendered by default.

docs/docs/userguide/CONFIGURATION.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ curl -I https://bitbucket.example.com/status
8080

8181
### Other Ingress Controllers
8282

83-
For other ingress controllers (AWS ALB, Google Cloud Load Balancer, Azure Application Gateway), refer to your controller's documentation for session stickiness configuration.
83+
For other ingress controllers ([AWS ALB](https://aws.amazon.com/elasticloadbalancing/application-load-balancer/){.external}, [Google Cloud Load Balancer](https://cloud.google.com/load-balancing){.external}, [Azure Application Gateway](https://azure.microsoft.com/en-us/products/application-gateway){.external}), refer to your controller's documentation for session stickiness configuration.
8484

8585
## :material-directions-fork: LoadBalancer/NodePort Service Type
8686

@@ -141,7 +141,7 @@ For these reasons, the default volume configuration of the Helm charts is suitab
141141

142142
While you are free to configure your Kubernetes volume management in any way you wish, within the constraints imposed by the products, the recommended setup is to use Kubernetes [PersistentVolumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/){.external} and `PersistentVolumeClaims`.
143143

144-
The `local-home` volume requires a `PersistentVolume` with [ReadWriteOnce (RWO)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){.external} capability, and `shared-home` requires a `PersistentVolume` with [ReadWriteMany (RWX)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){.external} capability. Typically, this will be an NFS volume provided as part of your infrastructure, but some public-cloud Kubernetes engines provide their own `RWX` volumes (e.g. [AWS EFS](https://aws.amazon.com/efs/){.external} and [Azure Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction){.external}). While this entails a higher upfront setup effort, it gives the best flexibility.
144+
The `local-home` volume requires a `PersistentVolume` with [ReadWriteOnce (RWO)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){.external} capability, and `shared-home` requires a `PersistentVolume` with [ReadWriteMany (RWX)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){.external} capability. Typically, this will be an NFS volume provided as part of your infrastructure, but some public-cloud Kubernetes engines provide their own `RWX` volumes (e.g. [AWS EFS](https://aws.amazon.com/efs/){.external}, [Google Filestore](https://cloud.google.com/filestore){.external}, [Azure Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction){.external}). While this entails a higher upfront setup effort, it gives the best flexibility.
145145

146146
### Volumes configuration
147147
By default, the charts will configure the `local-home` and `shared-home` values as follows:
@@ -360,7 +360,7 @@ By default, the Helm charts will not configure the products for Data Center clus
360360
Clustering is enabled by default. To disable clustering, set `crowd.clustering.enabled` to `false` in `${CROWD_HOME}/shared/crowd.cfg.xml` and rollout restart Crowd StatefulSet after the initial product setup is complete.
361361

362362

363-
In addition, the `shared-home` volume must be correctly configured as a [ReadWriteMany (RWX)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){.external} filesystem (e.g. NFS, [AWS EFS](https://aws.amazon.com/efs/){.external} and [Azure Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction){.external})
363+
In addition, the `shared-home` volume must be correctly configured as a [ReadWriteMany (RWX)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){.external} filesystem (e.g. NFS, [AWS EFS](https://aws.amazon.com/efs/){.external}, [Azure Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction){.external}, [GCP Filestore](https://cloud.google.com/filestore){.external}, or any NFS-compatible storage)
364364

365365
## :material-book-cog: Generating configuration files
366366

docs/docs/userguide/OPERATION.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ Go to `http://localhost:9999/metrics` in your local browser to verify metrics av
6262

6363
!!!warning "JMX service security"
6464
By default, JMX services are created as ClusterIP types, i.e. they are not available outside the Kubernetes cluster.
65-
Because the metrics endpoint isn't password protected, make sure you protected with SecurityGroup rules (if in AWS)
66-
when exposing it as a LoadBalancer if required:
65+
Because the metrics endpoint isn't password protected, make sure you protect it using your cloud provider's network security features (e.g., [AWS SecurityGroups](https://docs.aws.amazon.com/managedservices/latest/userguide/about-security-groups.html){.external}, [GCP Cloud Firewall](https://docs.cloud.google.com/firewall/docs){.external}, [Azure Network Security Groups](https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview){.external}) when exposing it as a LoadBalancer if required:
6766
```
6867
monitoring:
6968
jmxExporterPortType: LoadBalancer

docs/docs/userguide/PREREQUISITES.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Before installing the Data Center Helm charts you need to set up your environmen
7070

7171
### :material-folder-network: Configure a shared-home volume
7272
* All of the Data Center products require a shared network filesystem if they are to be operated in multi-node clusters. If no shared filesystem is available, the products can only be operated in single-node configuration.
73-
* Some cloud based options for a shared filesystem include [AWS EFS](https://aws.amazon.com/efs/){.external}, [Azure Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction){.external}. You can also stand up your own NFS.
73+
* Some cloud based options for a shared filesystem include [Google Filestore](https://cloud.google.com/filestore){.external}, [AWS EFS](https://aws.amazon.com/efs/){.external}, [Azure Files](https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction){.external}. You can also stand up your own NFS.
7474

7575
!!! info "Bitbucket shared storage"
7676
Due to the high performance requirements on IO operations, it is critical that you adhere to the requirements in [Bitbucket Supported platforms](https://confluence.atlassian.com/display/BitbucketServer/Supported+platforms).
@@ -85,7 +85,7 @@ Before installing the Data Center Helm charts you need to set up your environmen
8585
* As with the [shared-home](#configure-a-shared-home-volume), each pod requires its own volume for `local-home`. Each product needs this for defining operational data.
8686
* If not defined, an [emptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir){.external} will be utilised.
8787
* Although an `emptyDir` may be acceptable for evaluation purposes, we recommend that each pod is allocated its own volume.
88-
* A `local-home` volume could be logically represented within the cluster using a `StorageClass`. This will dynamically provision an [AWS EBS](https://aws.amazon.com/ebs/?ebs-whats-new.sort-by=item.additionalFields.postDateTime&ebs-whats-new.sort-order=desc){.external} volume to each pod.
88+
* A `local-home` volume could be logically represented within the cluster using a `StorageClass`. This will dynamically provision a persistent block volume (e.g., [AWS EBS](https://docs.aws.amazon.com/ebs/){.external}, [GCP Persistent Disks](https://docs.cloud.google.com/compute/docs/disks/persistent-disks){.external}, [Azure Managed Disks](https://azure.microsoft.com/en-au/products/storage/disks){.external}) to each pod depending on your cloud provider.
8989

9090
!!!example ""
9191
An example of this strategy can be found [the local storage example](../examples/storage/aws/LOCAL_STORAGE.md).

docs/docs/userguide/monitoring/PROMETHEUS.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,10 @@ We provide a set of Grafana specific dashboards for each DC product. These can b
168168
monitoring:
169169
jmxExporterPortType: LoadBalancer
170170
```
171-
Make sure you allow access only to Prometheus CIDR in the LB SecurityGroup (if you deploy to AWS) because
172-
JMX endpoints are not password protected. See: [jmx_exporter does not support authentication to the HTTP endpoint](https://github.com/prometheus/jmx_exporter/issues/687)
171+
Make sure you restrict access to the Prometheus endpoint to only authorized CIDR ranges because JMX endpoints are not password protected. Configure your load balancer's network security rules to limit inbound access.
172+
173+
See: [jmx_exporter does not support authentication to the HTTP
174+
endpoint](https://github.com/prometheus/jmx_exporter/issues/687)
173175

174176
If you use a standalone Prometheus in Kubernetes, you need to manually create scrape configuration. See: [Monitor Jira with Prometheus and Grafana](https://confluence.atlassian.com/adminjiraserver/monitor-jira-with-prometheus-and-grafana-1155466715.html).
175177

0 commit comments

Comments
 (0)