Collectd operator utilties
[demo.git] / vnfs / DAaaS / deploy / training-core / charts / kubernetes-HDFS / charts / hdfs-k8s / values.yaml
1 ## ------------------------------------------------------------------------------
2 ## zookeeper:
3 ## ------------------------------------------------------------------------------
4 zookeeper:
5   ## Configure Zookeeper resource requests and limits
6   ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
7   resources: ~
8
9   ## The JVM heap size to allocate to Zookeeper
10   env:
11     ZK_HEAP_SIZE: 1G
12
13   ## The number of zookeeper server to have in the quorum.
14   replicaCount: 3
15
16 ## ------------------------------------------------------------------------------
17 ## hdfs-config-k8s:
18 ## ------------------------------------------------------------------------------
19 hdfs-config-k8s:
20   ## Custom hadoop config keys passed to the hdfs configmap as extra keys.
21   customHadoopConfig:
22      coreSite: {}
23       ## Set config key and value pairs, e.g.
24       # hadoop.http.authentication.type: kerberos
25
26      hdfsSite: {}
27       ## Set config key and value pairs, e.g.
28       # dfs.datanode.use.datanode.hostname: "false"
29
30 ## ------------------------------------------------------------------------------
31 ## hdfs-journalnode-k8s:
32 ## ------------------------------------------------------------------------------
33 hdfs-journalnode-k8s:
34   persistence:
35     ## Persistent Volume Storage Class
36     ## If defined, storageClassName: <storageClass>
37     ## If set to "-", storageClassName: "", which disables dynamic provisioning
38     ## If undefined (the default) or set to null, no storageClassName spec is
39     ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
40     ##   GKE, AWS & OpenStack)
41     ##
42     # storageClass: "-"
43     ## To choose a suitable persistent volume from available static volumes, selectors
44     ## are used.
45     # selector:
46     #   matchLabels:
47     #     volume-type: hdfs-ssd
48     accessMode: ReadWriteOnce
49     size: 20Gi
50
51   ## Node labels and tolerations for pod assignment
52   nodeSelector: {}
53   tolerations: []
54   affinity: {}
55
56 ## ------------------------------------------------------------------------------
57 ## hdfs-namenode-k8s:
58 ## ------------------------------------------------------------------------------
59 hdfs-namenode-k8s:
60   ## Name of the namenode start script in the config map.
61   namenodeStartScript: format-and-run.sh
62
63   ## A namenode start script that can have user specified content.
64   ## Can be used to conduct ad-hoc operation as specified by a user.
65   ## To use this, also set the namenodeStartScript variable above
66   ## to custom-run.sh.
67   customRunScript: |
68     #!/bin/bash -x
69     echo Write your own script content!
70     echo This message will disappear in 10 seconds.
71     sleep 10
72
73   persistence:
74     ## Persistent Volume Storage Class
75     ## If defined, storageClassName: <storageClass>
76     ## If set to "-", storageClassName: "", which disables dynamic provisioning
77     ## If undefined (the default) or set to null, no storageClassName spec is
78     ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
79     ##   GKE, AWS & OpenStack)
80     ##
81     # storageClass: "-"
82
83     ## To choose a suitable persistent volume from available static volumes, selectors
84     ## are used.
85     # selector:
86     #   matchLabels:
87     #     volume-type: hdfs-ssd
88
89     accessMode: ReadWriteOnce
90
91     size: 100Gi
92
93   ## Whether or not to use hostNetwork in namenode pods. Disabling this will break
94   ## data locality as namenode will see pod virtual IPs and fails to equate them with
95   ## cluster node physical IPs associated with data nodes.
96   ## We currently disable this only for CI on minikube.
97   hostNetworkEnabled: true
98
99   ## Node labels and tolerations for pod assignment
100   nodeSelector: {}
101   tolerations: []
102   affinity: {}
103
104 ## ------------------------------------------------------------------------------
105 ## hdfs-simple-namenode-k8s:
106 ## ------------------------------------------------------------------------------
107 hdfs-simple-namenode-k8s:
108   ## Path of the local disk directory on a cluster node that will contain the namenode
109   ## fsimage and edit logs. This will be mounted to the namenode as a k8s HostPath
110   ## volume.
111   nameNodeHostPath: /hdfs-name
112
113   ## Node labels and tolerations for pod assignment
114   nodeSelector: {}
115   tolerations: []
116   affinity: {}
117
118 ## ------------------------------------------------------------------------------
119 ## hdfs-datanode-k8s:
120 ## ------------------------------------------------------------------------------
121 hdfs-datanode-k8s:
122   ## Node labels and tolerations for pod assignment
123   nodeSelector: {}
124   tolerations: []
125   affinity: {}
126
127 ## ------------------------------------------------------------------------------
128 ## hdfs-krb5-k8s:
129 ## ------------------------------------------------------------------------------
130 hdfs-krb5-k8s:
131   persistence:
132     ## Persistent Volume Storage Class
133     ## If defined, storageClassName: <storageClass>
134     ## If set to "-", storageClassName: "", which disables dynamic provisioning
135     ## If undefined (the default) or set to null, no storageClassName spec is
136     ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
137     ##   GKE, AWS & OpenStack)
138     ##
139     # storageClass: "-"
140
141     ## To choose a suitable persistent volume from available static volumes, selectors
142     ## are used.
143     # selector:
144     #   matchLabels:
145     #     volume-type: hdfs-ssd
146
147     accessMode: ReadWriteOnce
148
149     size: 20Gi
150
151   ## We use a 3rd party image built from https://github.com/gcavalcante8808/docker-krb5-server.
152   ## TODO: The pod currently prints out the admin account in plain text.
153   ## Supply an admin account password using a k8s secret.
154   ## TODO: The auto-generated passwords might be weak due to low entropy.
155   ## Increase entropy by running rngd or haveged.
156   ## TODO: Using latest tag is not desirable. The current image does not have specific tags.
157   ## Find a way to fix it.
158   image:
159     repository: gcavalcante8808/krb5-server
160
161     tag: latest
162
163     pullPolicy: IfNotPresent
164
165   service:
166     type: ClusterIP
167
168     port: 88
169 ## ------------------------------------------------------------------------------
170 ## Global values affecting all sub-charts:
171 ## ------------------------------------------------------------------------------
172 global:
173   ## A list of the local disk directories on cluster nodes that will contain the datanode
174   ## blocks. These paths will be mounted to the datanode as K8s HostPath volumes.
175   ## In a command line, the list should be enclosed in '{' and '}'.
176   ## e.g. --set "dataNodeHostPath={/hdfs-data,/hdfs-data1}"
177   dataNodeHostPath:
178     - /hdfs-data
179
180   ## Parameters for determining which Unix user and group IDs to use in pods.
181   ## Persistent volume permission may need to match these.
182   podSecurityContext:
183     enabled: false
184     runAsUser: 0
185     fsGroup: 1000
186
187   ## Whether or not to expect namenodes in the HA setup.
188   namenodeHAEnabled: true
189
190   ## The number of zookeeper server to have in the quorum.
191   ## This should match zookeeper.replicaCount above. Used only when
192   ## namenodeHAEnabled is set.
193   zookeeperQuorumSize: 3
194
195   ## Override zookeeper quorum address. Zookeeper is used for determining which namenode
196   ## instance is active. Separated by the comma character. Used only when
197   ## namenodeHAEnabled is set.
198   ##
199   # zookeeperQuorumOverride: zk-0.zk-svc.default.svc.cluster.local:2181,zk-1.zk-svc.default.svc.cluster.local:2181,zk-2.zk-svc.default.svc.cluster.local:2181
200
201   ## How many journal nodes to launch as a quorum. Used only when
202   ## namenodeHAEnabled is set.
203   journalnodeQuorumSize: 3
204
205   ## Whether or not to enable default affinity setting.
206   defaultAffinityEnabled: true
207
208   ## Whether or not Kerberos support is enabled.
209   kerberosEnabled: false
210
211   ## Effective only if Kerberos is enabled. Override th name of the k8s
212   ## ConfigMap containing the kerberos config file.
213   ##
214   # kerberosConfigMapOverride: kerberos-config
215
216   ## Effective only if Kerberos is enabled. Name of the kerberos config file inside
217   ## the config map.
218   kerberosConfigFileName: krb5.conf
219
220   ## Effective only if Kerberos is enabled. Override the name of the k8s Secret
221   ## containing the kerberos keytab files of per-host HDFS principals.
222   ## The secret should have multiple data items. Each data item name
223   ## should be formatted as:
224   ##    `HOST-NAME.keytab`
225   ## where HOST-NAME should match the cluster node
226   ## host name that each per-host hdfs principal is associated with.
227   ##
228   # kerberosKeytabsSecretOverride: hdfs-kerberos-keytabs
229
230   ## Required to be non-empty if Kerberos is enabled. Specify your Kerberos realm name.
231   ## This should match the realm name in your Kerberos config file.
232   kerberosRealm: MYCOMPANY.COM
233
234   ## Effective only if Kerberos is enabled. Enable protection of datanodes using
235   ## the jsvc utility. See the reference doc at
236   ## https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Secure_DataNode
237   jsvcEnabled: true
238
239 ## Tags and conditions for triggering a group of relevant subcharts.
240 tags:
241   ## Trigger all subcharts required for high availability. Enabled by default.
242   ha: true
243
244   ## Trigger all subcharts required for using Kerberos. Disabled by default.
245   kerberos: false
246
247   ## Trigger all subcharts required for non-HA setup. Disabled by default.
248   simple: false