You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
@@ -192,7 +192,7 @@ uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified
192
192
.PHONY: deploy
193
193
deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config.
194
194
cd config/manager &&$(KUSTOMIZE) edit set image controller=${IMG}
undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
Once MarkLogic Operator is installed, go to config/samples folder and pick one sample file to deploy. For example, to deploy marklogic single group, use the following script:
70
70
```sh
71
71
kubectl apply -f marklogicgroup.yaml
72
-
```
72
+
```
73
+
74
+
### Configure HAProxy Load Balancer
75
+
HAProxy is provided as a load balancer configured to support cookie-based session affinity and multi-statement transactions. These configurations are needed by some MarkLogic client applications, like mlcp. HAProxy is recommended for production workloads.
76
+
77
+
#### Enable the HAProxy Load Balancer
78
+
The HAProxy Load Balancer is disabled by default. To enable it, provide the following configuration in the crd yaml file to be used for cluster creation:
79
+
```
80
+
haproxy:
81
+
enabled: true
82
+
```
83
+
#### Configuration
84
+
HAProxy can be configured for cluster. To setup the access for default App Servers for 8000, 8001 and 8002, uncomment the appServer seciton in marklogicgroup.yaml.
85
+
```
86
+
appServers:
87
+
- name: "app-service"
88
+
port: 8000
89
+
path: "/console"
90
+
- name: "admin"
91
+
port: 8001
92
+
path: "/adminUI"
93
+
- name: "manage"
94
+
port: 8002
95
+
path: "/manage"
96
+
```
97
+
Ports can be configured for additional app servers. For example, to add port 8010 for HTTP load balancing, add this configuration to the marklogicgroup.yaml file appServer section:
98
+
```
99
+
- name: my-app-1
100
+
port: 8010
101
+
targetPort: 8010
102
+
```
103
+
#### Access HA Proxy
104
+
The HAProxy can be accessed from a service with the name of marklogic-haproxy.
105
+
106
+
#### External access
107
+
By default, HAProxy is configured to provide access within the Kubernetes cluster. However, HAProxy can provide external access by setting the service type in the marklogicgroup.yaml file:
108
+
```
109
+
haproxy:
110
+
service:
111
+
type: LoadBalancer
112
+
```
113
+
114
+
> [!WARNING]
115
+
> Please note, by setting the haproxy service type to LoadBalancer, the MarkLogic endpoint is exposed to the public internet. Because of this, networkPolicy should be set to limit the sources that can visit MarkLogic.
116
+
117
+
## Known Issues and Limitations
118
+
119
+
1. The latest released version of fluent/fluent-bit:3.1.1 has known high and critical security vulnerabilities. If you decide to enable the log collection feature, choose and deploy the fluent-bit or an alternate image with no vulnerabilities as per your requirements.
120
+
2. Known Issues and Limitations for the MarkLogic Server Docker image can be viewed using the link: https://github.com/marklogic/marklogic-docker?tab=readme-ov-file#Known-Issues-and-Limitations.
0 commit comments