Skip to content

Commit c2a4547

Browse files
Anthony Sansonejwilliams-mongo
authored andcommitted
(DOCSP-9633): Add Java Heap values
1 parent 6cb44d6 commit c2a4547

File tree

2 files changed

+86
-21
lines changed

2 files changed

+86
-21
lines changed

conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@
123123
'.. |jira| replace:: `Jira <https://jira.mongodb.org>`__"',
124124
'.. |json| replace:: :abbr:`JSON (Javascript Object Notation)`',
125125
'.. |jedec| replace:: :abbr:`JEDEC (Joint Electron Device Engineering Council Solid State Technology Association)`',
126+
'.. |jvm| replace:: :abbr:`JVM (Java Virtual Machine)`',
126127
'.. |k8s-configmaps| replace:: `ConfigMaps <https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/>`__',
127128
'.. |k8s-configmap| replace:: `ConfigMap <https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/>`__',
128129
'.. |k8s-custom-resource| replace:: `Custom Resource <https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/>`__',

source/reference/k8s-operator-om-specification.txt

Lines changed: 85 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
Ops Manager Resource Specification
55
==================================
66

7+
.. include:: /includes/styles/corrections.rst
8+
79
.. default-domain:: mongodb
810

911
.. contents:: On this page
@@ -18,15 +20,14 @@ The :gh:`MongoDB Enterprise Kubernetes Operator </mongodb/mongodb-enterprise-kub
1820
creates a containerized |onprem| deployment from specification files
1921
that you write.
2022

21-
After you create or update an |onprem| resource
22-
specification, you direct |k8s-op-full| to apply this specification to
23-
your |k8s| environment. |k8s-op-short| creates the services and custom
24-
|k8s| resources that |onprem| requires, then deploys |onprem| and its
25-
backing application database in containers in your |k8s| environment.
23+
After you create or update an |onprem| resource specification, you
24+
direct |k8s-op-full| to apply this specification to your |k8s|
25+
environment. |k8s-op-short| creates the services and custom |k8s|
26+
resources that |onprem| requires, then deploys |onprem| and its backing
27+
application database in containers in your |k8s| environment.
2628

27-
Each |onprem| resource uses an |k8s-obj| specification in
28-
:abbr:`YAML (Yet Another Markup Language)` to define the characteristics
29-
and settings of the deployment.
29+
Each |onprem| resource uses an |k8s-obj| specification in |yaml| to
30+
define the characteristics and settings of the deployment.
3031

3132
Example
3233
-------
@@ -229,6 +230,28 @@ Optional |onprem| Resource Settings
229230

230231
.. include:: /includes/admonitions/fact-reclaimpolicy-to-retain.rst
231232

233+
.. opsmgrkube:: spec.backup.jvmParameters
234+
235+
*Type*: array of strings
236+
237+
*Optional*. |jvm| parameters passed to the |onprem| backup service
238+
in the container.
239+
240+
This |k8s-op-short| parameter defaults to an empty list.
241+
242+
.. code-block:: yaml
243+
244+
spec:
245+
backup:
246+
jvmParameters: ["-XX:+UseStringCache"]
247+
248+
.. admonition:: Change the JVM Memory Heap values at your own risk
249+
:class: warning
250+
251+
|k8s-op-short| calculates the |jvm| memory heap values of the
252+
backup service based on the container's memory. Changing the
253+
``-Xms`` and ``-Xmx`` values can cause issues with |onprem|.
254+
232255
.. opsmgrkube:: spec.backup.opLogStores
233256

234257
*Type*: collection
@@ -313,15 +336,24 @@ Optional |onprem| Resource Settings
313336

314337
*Type*: string
315338

316-
Maximum memory capacity that must be available on a
317-
|k8s| |k8s-node| to host the :ref:`backup-daemon` on |k8s|. This
318-
value is expressed as an integer followed by a unit of memory in
319-
|jedec| notation.
339+
Maximum memory capacity that must be available on a |k8s| |k8s-node|
340+
to host the :ref:`backup-daemon` on |k8s|. This value is expressed as
341+
an integer followed by a unit of memory in |jedec| notation.
320342

321343
This value maps to the
322344
:k8sdocs:`limits field </reference/generated/kubernetes-api/v1.10/#resourcerequirements-v1-core>`
323345
for memory for the created pod.
324346

347+
The |k8s-op-short| calculates and sets parameters for Java heap size
348+
based on the container's memory.
349+
350+
.. admonition:: Limit this value to less than 32 GB
351+
:class: warning
352+
353+
Setting this value to a value greater than 32 GB (``32G``) can
354+
cause issues with the backup service. Excessive heaps can cause
355+
unpredictable results in |onprem|.
356+
325357
.. opsmgrkube:: spec.backup.podSpec.memoryRequests
326358

327359
*Type*: string
@@ -559,8 +591,8 @@ Optional |onprem| Resource Settings
559591

560592
If not provided, the |k8s-op-short| does not create a |k8s| service.
561593
You must create one manually or use a third-party solution that
562-
enables you to route external traffic to the |onprem| application in
563-
your |k8s| cluster.
594+
enables you to route external traffic to the |application| in your
595+
|k8s| cluster.
564596

565597
.. opsmgrkube:: spec.externalConnectivity.type
566598

@@ -583,7 +615,7 @@ Optional |onprem| Resource Settings
583615

584616
If :opsmgrkube:`spec.externalConnectivity.type` is ``NodePort``, the
585617
port on the |k8s| service from which external traffic is routed to
586-
the |onprem| application.
618+
the |application|.
587619

588620
.. note::
589621

@@ -598,7 +630,7 @@ Optional |onprem| Resource Settings
598630

599631
In both cases, if this value is not provided, the |k8s| service
600632
routes traffic from an available port within the following default
601-
range to the |onprem| application: ``30000``-``32767``.
633+
range to the |application|: ``30000``-``32767``.
602634

603635
.. opsmgrkube:: spec.externalConnectivity.loadBalancerIP
604636

@@ -638,11 +670,33 @@ Optional |onprem| Resource Settings
638670
Key-value pairs that allow you to provide cloud provider-specific
639671
configuration settings.
640672

641-
To learn more about :k8sdocs:`Annotations
642-
</concepts/overview/working-with-objects/annotations/>` and
643-
:k8sdocs:`TLS support on AWS
644-
</concepts/services-networking/service/#ssl-support-on-aws>`, see the
645-
|k8s| documentation.
673+
To learn more about
674+
:k8sdocs:`Annotations </concepts/overview/working-with-objects/annotations/>`
675+
and
676+
:k8sdocs:`TLS support on AWS </concepts/services-networking/service/#ssl-support-on-aws>`,
677+
see the |k8s| documentation.
678+
679+
.. opsmgrkube:: spec.jvmParameters
680+
681+
*Type*: array of strings
682+
683+
*Optional*. |jvm| parameters passed to the |application| in the
684+
container. Any parameters given replace the default |jvm| parameters
685+
for the |application|.
686+
687+
This |k8s-op-short| parameter defaults to an empty list.
688+
689+
.. code-block:: yaml
690+
691+
spec:
692+
jvmParameters: ["-XX:+HeapDumpOnOutOfMemoryError","-XX:HeapDumpPath=/tmp"]
693+
694+
.. admonition:: Change the JVM Memory Heap values at your own risk
695+
:class: warning
696+
697+
|k8s-op-short| calculates its |jvm| memory heap values of the
698+
|application| based on the container's memory. Changing the
699+
``-Xms`` and ``-Xmx`` values can cause issues with |onprem|.
646700

647701
.. opsmgrkube:: spec.podSpec.cpu
648702

@@ -688,6 +742,16 @@ Optional |onprem| Resource Settings
688742
:k8sdocs:`limits field </reference/generated/kubernetes-api/v1.10/#resourcerequirements-v1-core>`
689743
for memory for the created pod.
690744

745+
The |k8s-op-short| calculates and sets parameters for Java heap size
746+
based on the container's memory.
747+
748+
.. admonition:: Limit this value to less than 32 GB
749+
:class: warning
750+
751+
Setting this value to a value greater than 32 GB (``32G``) can
752+
cause issues with the |application|. Excessive heaps can cause
753+
unpredictable results in |onprem|.
754+
691755
.. opsmgrkube:: spec.podSpec.memoryRequests
692756

693757
*Type*: string

0 commit comments

Comments
 (0)