Skip to content

Commit ad397a4

Browse files
(DOCSP-8413): adding podTemplates to MDB resource specs (#177)
* (DOCSP-8413): adding podTemplates to MDB resource specs * (DOCSP-8413): adding back setting I accidentally removed * (DOCSP-8413): copy review feedback * (DOCSP-8413): copy review pt 2 * (DOCSP-8413): tech review feedback and some formatting fixes
1 parent caad154 commit ad397a4

7 files changed

+275
-1
lines changed

source/includes/options-k8s-shared.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,5 +581,57 @@ description: |
581581
582582
Determines whether the MongoDB deployment is exposed outside of the
583583
Kubernetes cluster. This results in |k8s| creating a `NodePort service <https://kubernetes.io/docs/concepts/services-networking/service/#nodeport>`__.
584+
---
585+
program: _shared
586+
name: spec.podSpec.podTemplate
587+
type: collection
588+
directive: setting
589+
optional: true
590+
description: |
591+
592+
:k8sdocs:`Template </concepts/workloads/pods/pod-overview/#pod-templates>`
593+
for the |k8s| pods that the |k8s-op| creates for the {{component}}.
594+
595+
Template values take precedence over values specified in {{podSpec}}.
596+
597+
.. note::
598+
599+
The |k8s-op-short| doesn't validate the fields you provide
600+
in {{podTemplate}}.
601+
602+
---
603+
program: _shared
604+
name: spec.podSpec.podTemplate.metadata
605+
type: collection
606+
directive: setting
607+
optional: true
608+
description: |
609+
610+
Metadata for the |k8s| pods that the |k8s-op| creates for the
611+
{{component}}.
612+
613+
To review which fields you can add to {{podTemplate_metadata}}, see
614+
the :k8sdocs:`Kubernetes documentation
615+
</reference/generated/kubernetes-api/v1.11/#objectmeta-v1-meta>`.
616+
617+
---
618+
program: _shared
619+
name: spec.podSpec.podTemplate.spec
620+
type: collection
621+
directive: setting
622+
optional: true
623+
description: |
624+
625+
Specifications of the |k8s| pods that the |k8s-op| creates for
626+
the {{component}}.
627+
628+
To review which fields you can add to {{podTemplate_spec}}, see the :k8sdocs:`Kubernetes documentation
629+
</reference/generated/kubernetes-api/v1.11/#podspec-v1-core>`.
630+
631+
.. note::
632+
633+
When you add containers to {{podTemplate_spec_containers}},
634+
the |k8s-op-short| adds them to the |k8s| pod. These containers are
635+
appended to the {{component}} containers in the pod.
584636
585637
...

source/includes/options-k8s-shared_cluster.yaml

Lines changed: 126 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,47 @@ replacement:
344344

345345
---
346346
program: k8sScConf
347+
name: spec.configSrvPodSpec.podTemplate
348+
type: collection
349+
directive: setting
350+
optional: true
351+
inherit:
352+
name: spec.podSpec.podTemplate
353+
program: _shared
354+
file: options-k8s-shared.yaml
355+
replacement:
356+
component: config servers
357+
podSpec: '``spec.configSrvPodSpec``'
358+
podTemplate: '``spec.configSrvPodSpec.podTemplate``'
359+
---
360+
program: k8sScConf
361+
name: spec.configSrvPodSpec.podTemplate.metadata
362+
type: collection
363+
directive: setting
364+
optional: true
365+
inherit:
366+
name: spec.podSpec.podTemplate.metadata
367+
program: _shared
368+
file: options-k8s-shared.yaml
369+
replacement:
370+
component: config servers
371+
podTemplate_metadata: '``spec.configSrvPodSpec.podTemplate.metadata``'
372+
---
373+
program: k8sScConf
374+
name: spec.configSrvPodSpec.podTemplate.spec
375+
type: collection
376+
directive: setting
377+
optional: true
378+
inherit:
379+
name: spec.podSpec.podTemplate.spec
380+
program: _shared
381+
file: options-k8s-shared.yaml
382+
replacement:
383+
component: config servers
384+
podTemplate_spec: '``spec.configSrvPodSpec.podTemplate.spec``'
385+
podTemplate_spec_containers: '``spec.configSrvPodSpec.podTemplate.spec.containers``'
386+
---
387+
program: k8sScConf
347388
name: spec.mongosPodSpec.cpu
348389
type: number
349390
directive: setting
@@ -439,6 +480,50 @@ description: |
439480
*Optional.* |k8s| |k8s-rule| to determine if multiple
440481
|k8s-mdbrsc| |k8s-nodes| must be co-located with other |k8s-nodes|.
441482
483+
---
484+
program: k8sScConf
485+
name: spec.mongosPodSpec.podTemplate
486+
type: collection
487+
directive: setting
488+
optional: true
489+
inherit:
490+
name: spec.podSpec.podTemplate
491+
program: _shared
492+
file: options-k8s-shared.yaml
493+
replacement:
494+
component: '``mongos`` instances'
495+
podSpec: '``spec.mongosPodSpec``'
496+
podTemplate: '``spec.mongosPodSpec.podTemplate``'
497+
498+
---
499+
program: k8sScConf
500+
name: spec.mongosPodSpec.podTemplate.metadata
501+
type: collection
502+
directive: setting
503+
optional: true
504+
inherit:
505+
name: spec.podSpec.podTemplate.metadata
506+
program: _shared
507+
file: options-k8s-shared.yaml
508+
replacement:
509+
component: '``mongos`` instances'
510+
podTemplate_metadata: '``spec.mongosPodSpec.podTemplate.metadata``'
511+
512+
---
513+
program: k8sScConf
514+
name: spec.mongosPodSpec.podTemplate.spec
515+
type: collection
516+
directive: setting
517+
optional: true
518+
inherit:
519+
name: spec.podSpec.podTemplate.spec
520+
program: _shared
521+
file: options-k8s-shared.yaml
522+
replacement:
523+
component: '``mongos`` instances'
524+
podTemplate_spec: '``spec.mongosPodSpec.podTemplate.spec``'
525+
podTemplate_spec_containers: '``spec.mongosPodSpec.podTemplate.spec.containers``'
526+
442527
---
443528
program: k8sScConf
444529
name: spec.shardPodSpec.cpu
@@ -637,5 +722,45 @@ inherit:
637722
name: spec.logLevel
638723
program: _shared
639724
file: options-k8s-shared.yaml
640-
725+
---
726+
program: k8sScConf
727+
name: spec.shardPodSpec.podTemplate
728+
type: collection
729+
directive: setting
730+
optional: true
731+
inherit:
732+
name: spec.podSpec.podTemplate
733+
program: _shared
734+
file: options-k8s-shared.yaml
735+
replacement:
736+
component: MongoDB database resources
737+
podSpec: '``spec.shardPodSpec``'
738+
podTemplate: '``spec.shardPodSpec.podTemplate``'
739+
---
740+
program: k8sScConf
741+
name: spec.shardPodSpec.podTemplate.metadata
742+
type: collection
743+
directive: setting
744+
optional: true
745+
inherit:
746+
name: spec.podSpec.podTemplate.metadata
747+
program: _shared
748+
file: options-k8s-shared.yaml
749+
replacement:
750+
component: MongoDB database resources
751+
podTemplate_metadata: '``spec.shardPodSpec.podTemplate.metadata``'
752+
---
753+
program: k8sScConf
754+
name: spec.shardPodSpec.podTemplate.spec
755+
type: collection
756+
directive: setting
757+
optional: true
758+
inherit:
759+
name: spec.podSpec.podTemplate.spec
760+
program: _shared
761+
file: options-k8s-shared.yaml
762+
replacement:
763+
component: MongoDB database resources
764+
podTemplate_spec: '``spec.shardPodSpec.podTemplate.spec``'
765+
podTemplate_spec_containers: '``spec.shardPodSpec.podTemplate.spec.containers``'
641766
...

source/includes/options-k8s-standalone.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,4 +357,45 @@ inherit:
357357
program: _shared
358358
file: options-k8s-shared.yaml
359359

360+
---
361+
program: k8sSaConf
362+
name: spec.podSpec.podTemplate
363+
type: collection
364+
directive: setting
365+
optional: true
366+
inherit:
367+
name: spec.podSpec.podTemplate
368+
program: _shared
369+
file: options-k8s-shared.yaml
370+
replacement:
371+
component: MongoDB database resources
372+
podSpec: '``spec.podSpec``'
373+
podTemplate: '``spec.podSpec.podTemplate``'
374+
---
375+
program: k8sSaConf
376+
name: spec.podSpec.podTemplate.metadata
377+
type: collection
378+
directive: setting
379+
optional: true
380+
inherit:
381+
name: spec.podSpec.podTemplate.metadata
382+
program: _shared
383+
file: options-k8s-shared.yaml
384+
replacement:
385+
component: MongoDB database resources
386+
podTemplate_metadata: '``spec.podSpec.podTemplate.metadata``'
387+
---
388+
program: k8sSaConf
389+
name: spec.podSpec.podTemplate.spec
390+
type: collection
391+
directive: setting
392+
optional: true
393+
inherit:
394+
name: spec.podSpec.podTemplate.spec
395+
program: _shared
396+
file: options-k8s-shared.yaml
397+
replacement:
398+
component: MongoDB database resources
399+
podTemplate_spec: '``spec.podSpec.podTemplate.spec``'
400+
podTemplate_spec_containers: '``spec.podSpec.podTemplate.spec.containers``'
360401
...

source/reference/k8s-operator-specification.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ Standalone Settings
118118
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.persistence.multiple.journal.rst
119119
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.persistence.multiple.logs.rst
120120
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.podAffinity.rst
121+
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.podTemplate.rst
122+
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.podTemplate.metadata.rst
123+
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.podTemplate.spec.rst
121124

122125
.. _replica-set-settings:
123126

@@ -154,6 +157,9 @@ The following settings only apply to sharded cluster resource types:
154157
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.nodeAffinity.rst
155158
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.podAffinity.rst
156159
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.podAntiAffinityTopologyKey.rst
160+
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.podTemplate.rst
161+
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.podTemplate.metadata.rst
162+
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.podTemplate.spec.rst
157163
.. include:: /includes/option/setting-k8sScConf-spec.mongodsPerShardCount.rst
158164
.. include:: /includes/option/setting-k8sScConf-spec.mongosCount.rst
159165
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.cpu.rst
@@ -163,6 +169,9 @@ The following settings only apply to sharded cluster resource types:
163169
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.nodeAffinity.rst
164170
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podAffinity.rst
165171
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podAntiAffinityTopologyKey.rst
172+
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podTemplate.rst
173+
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podTemplate.metadata.rst
174+
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podTemplate.spec.rst
166175
.. include:: /includes/option/setting-k8sScConf-spec.shardCount.rst
167176
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.cpu.rst
168177
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.cpuRequests.rst
@@ -175,6 +184,9 @@ The following settings only apply to sharded cluster resource types:
175184
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.persistence.multiple.logs.rst
176185
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.podAffinity.rst
177186
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.podAntiAffinityTopologyKey.rst
187+
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.podTemplate.rst
188+
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.podTemplate.metadata.rst
189+
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.podTemplate.spec.rst
178190

179191
.. _tls-settings:
180192
.. _security-settings:

source/reference/k8s/replicasetpodspec.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@ spec:
4747
values:
4848
- e2e-az1
4949
- e2e-az2
50+
podTemplate:
51+
metadata:
52+
labels:
53+
label1: mycustomlabel
54+
spec:
55+
affinity:
56+
podAntiAffinity:
57+
preferredDuringSchedulingIgnoredDuringExecution:
58+
- podAffinityTerm:
59+
topologyKey: "mykey"
60+
weight: 50
5061
security:
5162
tls:
5263
enabled: true

source/reference/k8s/shardedclusterpodspec.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,17 @@ spec:
4040
values:
4141
- S1
4242
topologyKey: failure-domain.beta.kubernetes.io/zone
43+
podTemplate:
44+
metadata:
45+
labels:
46+
label1: mycustomlabel
47+
spec:
48+
affinity:
49+
podAntiAffinity:
50+
preferredDuringSchedulingIgnoredDuringExecution:
51+
- podAffinityTerm:
52+
topologyKey: "mykey"
53+
weight: 50
4354
mongosPodSpec:
4455
cpu: '0.8'
4556
memory: 1G
@@ -53,6 +64,17 @@ spec:
5364
operator: In
5465
values:
5566
- another-node-label-value
67+
podTemplate:
68+
metadata:
69+
labels:
70+
label1: mycustomlabel
71+
spec:
72+
affinity:
73+
podAntiAffinity:
74+
preferredDuringSchedulingIgnoredDuringExecution:
75+
- podAffinityTerm:
76+
topologyKey: "mykey"
77+
weight: 50
5678
shardPodSpec:
5779
cpu: '0.6'
5880
memory: 3G

source/reference/k8s/standalonepodspec.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,15 @@ spec:
3939
values:
4040
- e2e-az1
4141
- e2e-az2
42+
podTemplate:
43+
metadata:
44+
labels:
45+
label1: mycustomlabel
46+
spec:
47+
affinity:
48+
podAntiAffinity:
49+
preferredDuringSchedulingIgnoredDuringExecution:
50+
- podAffinityTerm:
51+
topologyKey: "mykey"
52+
weight: 50
4253
...

0 commit comments

Comments
 (0)