1 ## ------------------------------------------------------------------------------
3 ## ------------------------------------------------------------------------------
5 ## Configure Zookeeper resource requests and limits
6 ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
9 ## The JVM heap size to allocate to Zookeeper
13 ## The number of zookeeper server to have in the quorum.
16 ## ------------------------------------------------------------------------------
18 ## ------------------------------------------------------------------------------
20 ## Custom hadoop config keys passed to the hdfs configmap as extra keys.
23 ## Set config key and value pairs, e.g.
24 # hadoop.http.authentication.type: kerberos
27 ## Set config key and value pairs, e.g.
28 # dfs.datanode.use.datanode.hostname: "false"
30 ## ------------------------------------------------------------------------------
31 ## hdfs-journalnode-k8s:
32 ## ------------------------------------------------------------------------------
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)
43 ## To choose a suitable persistent volume from available static volumes, selectors
47 # volume-type: hdfs-ssd
48 accessMode: ReadWriteOnce
51 ## Node labels and tolerations for pod assignment
56 ## ------------------------------------------------------------------------------
58 ## ------------------------------------------------------------------------------
60 ## Name of the namenode start script in the config map.
61 namenodeStartScript: format-and-run.sh
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
69 echo Write your own script content!
70 echo This message will disappear in 10 seconds.
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)
83 ## To choose a suitable persistent volume from available static volumes, selectors
87 # volume-type: hdfs-ssd
89 accessMode: ReadWriteOnce
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
99 ## Node labels and tolerations for pod assignment
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
111 nameNodeHostPath: /hdfs-name
113 ## Node labels and tolerations for pod assignment
118 ## ------------------------------------------------------------------------------
119 ## hdfs-datanode-k8s:
120 ## ------------------------------------------------------------------------------
122 ## Node labels and tolerations for pod assignment
127 ## ------------------------------------------------------------------------------
129 ## ------------------------------------------------------------------------------
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)
141 ## To choose a suitable persistent volume from available static volumes, selectors
145 # volume-type: hdfs-ssd
147 accessMode: ReadWriteOnce
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.
159 repository: gcavalcante8808/krb5-server
163 pullPolicy: IfNotPresent
169 ## ------------------------------------------------------------------------------
170 ## Global values affecting all sub-charts:
171 ## ------------------------------------------------------------------------------
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}"
180 ## Parameters for determining which Unix user and group IDs to use in pods.
181 ## Persistent volume permission may need to match these.
187 ## Whether or not to expect namenodes in the HA setup.
188 namenodeHAEnabled: true
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
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.
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
201 ## How many journal nodes to launch as a quorum. Used only when
202 ## namenodeHAEnabled is set.
203 journalnodeQuorumSize: 3
205 ## Whether or not to enable default affinity setting.
206 defaultAffinityEnabled: true
208 ## Whether or not Kerberos support is enabled.
209 kerberosEnabled: false
211 ## Effective only if Kerberos is enabled. Override th name of the k8s
212 ## ConfigMap containing the kerberos config file.
214 # kerberosConfigMapOverride: kerberos-config
216 ## Effective only if Kerberos is enabled. Name of the kerberos config file inside
218 kerberosConfigFileName: krb5.conf
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.
228 # kerberosKeytabsSecretOverride: hdfs-kerberos-keytabs
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
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
239 ## Tags and conditions for triggering a group of relevant subcharts.
241 ## Trigger all subcharts required for high availability. Enabled by default.
244 ## Trigger all subcharts required for using Kerberos. Disabled by default.
247 ## Trigger all subcharts required for non-HA setup. Disabled by default.