diff --git a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/om-ss.yaml b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/om-ss.yaml index 5c2f7cc6694..befc21ecf16 100644 --- a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/om-ss.yaml +++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/om-ss.yaml @@ -38,13 +38,6 @@ spec: spec: securityContext: fsGroup: 1000 - initContainers: - - name: init - image: "@docker.image@" - args: ["ozone","om","--init"] - env: - - name: WAITFOR - value: scm-0.scm:9876 containers: - name: om image: "@docker.image@" @@ -52,4 +45,10 @@ spec: env: - name: WAITFOR value: scm-0.scm:9876 + - name: ENSURE_OM_INITIALIZED + value: /data/metadata/om/current/VERSION + livenessProbe: + tcpSocket: + port: 9862 + initialDelaySeconds: 30 volumes: [] diff --git a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/s3g-ss.yaml b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/s3g-ss.yaml index 43044c90c35..fc8ff9a8e9f 100644 --- a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/s3g-ss.yaml +++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/s3g-ss.yaml @@ -36,3 +36,8 @@ spec: - name: s3g image: "@docker.image@" args: ["ozone","s3g"] + livenessProbe: + httpGet: + path: / + port: 9878 + initialDelaySeconds: 30 diff --git a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/scm-ss.yaml b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/scm-ss.yaml index b3c36b7d0de..d386afc7643 100644 --- a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/scm-ss.yaml +++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/scm-ss.yaml @@ -46,3 +46,7 @@ spec: - name: scm image: "@docker.image@" args: ["ozone","scm"] + livenessProbe: + tcpSocket: + port: 9861 + initialDelaySeconds: 30 diff --git a/hadoop-ozone/dist/src/main/k8s/examples/minikube/datanode-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/minikube/datanode-statefulset.yaml index 6c8d1bfdb1a..452e258e035 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/minikube/datanode-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/datanode-statefulset.yaml @@ -55,12 +55,12 @@ spec: args: - ozone - datanode - envFrom: - - configMapRef: - name: config volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/minikube/om-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/minikube/om-statefulset.yaml index c8ff81b0b93..172df34744f 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/minikube/om-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/om-statefulset.yaml @@ -39,22 +39,6 @@ spec: spec: securityContext: fsGroup: 1000 - initContainers: - - name: init - image: '@docker.image@' - args: - - ozone - - om - - --init - env: - - name: WAITFOR - value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config - volumeMounts: - - name: data - mountPath: /data containers: - name: om image: '@docker.image@' @@ -64,12 +48,18 @@ spec: env: - name: WAITFOR value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config + - name: ENSURE_OM_INITIALIZED + value: /data/metadata/om/current/VERSION + livenessProbe: + tcpSocket: + port: 9862 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/minikube/s3g-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/minikube/s3g-statefulset.yaml index c7e13e55cf5..1718fed2184 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/minikube/s3g-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/s3g-statefulset.yaml @@ -39,12 +39,17 @@ spec: args: - ozone - s3g - envFrom: - - configMapRef: - name: config + livenessProbe: + httpGet: + path: / + port: 9878 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/minikube/scm-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/minikube/scm-statefulset.yaml index e1deed8ab84..7f1606d4754 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/minikube/scm-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/scm-statefulset.yaml @@ -46,24 +46,28 @@ spec: - ozone - scm - --init - envFrom: - - configMapRef: - name: config volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config containers: - name: scm image: '@docker.image@' args: - ozone - scm - envFrom: - - configMapRef: - name: config + livenessProbe: + tcpSocket: + port: 9861 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/Flekszible b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/Flekszible index 7e4f3f19275..5a3b89a5492 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/Flekszible +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/Flekszible @@ -21,5 +21,6 @@ import: - path: ozone transformations: - type: ozone/csi + - type: ozone/emptydir - path: pv-test destination: pv-test diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-daemonset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-daemonset.yaml index 6e3b3b96cf0..67c8fc2ef66 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-daemonset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-daemonset.yaml @@ -44,12 +44,16 @@ spec: ports: - containerPort: 9870 name: rpc - envFrom: - - configMapRef: - name: config + livenessProbe: + tcpSocket: + port: 9858 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config initContainers: [] volumes: - name: data diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-service.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-service.yaml new file mode 100644 index 00000000000..929e7a25950 --- /dev/null +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-service.yaml @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: v1 +kind: Service +metadata: + name: datanode +spec: + ports: + - port: 9870 + name: rpc + clusterIP: None + selector: + app: ozone + component: datanode diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-statefulset.yaml new file mode 100644 index 00000000000..452e258e035 --- /dev/null +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-statefulset.yaml @@ -0,0 +1,66 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: datanode + labels: + app.kubernetes.io/component: ozone +spec: + selector: + matchLabels: + app: ozone + component: datanode + serviceName: datanode + replicas: 3 + template: + metadata: + labels: + app: ozone + component: datanode + annotations: + prdatanodeetheus.io/scrape: "true" + prdatanodeetheus.io/port: "9882" + prdatanodeetheus.io/path: /prom + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: component + operator: In + values: + - datanode + topologyKey: kubernetes.io/hostname + securityContext: + fsGroup: 1000 + containers: + - name: datanode + image: '@docker.image@' + args: + - ozone + - datanode + volumeMounts: + - name: data + mountPath: /data + envFrom: + - configMapRef: + name: config + volumes: + - name: data + emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/om-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/om-statefulset.yaml index 884dd462417..172df34744f 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/om-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/om-statefulset.yaml @@ -37,22 +37,8 @@ spec: prometheus.io/port: "9874" prometheus.io/path: /prom spec: - initContainers: - - name: init - image: '@docker.image@' - args: - - ozone - - om - - --init - env: - - name: WAITFOR - value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config - volumeMounts: - - name: data - mountPath: /data + securityContext: + fsGroup: 1000 containers: - name: om image: '@docker.image@' @@ -62,12 +48,18 @@ spec: env: - name: WAITFOR value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config + - name: ENSURE_OM_INITIALIZED + value: /data/metadata/om/current/VERSION + livenessProbe: + tcpSocket: + port: 9862 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/s3g-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/s3g-statefulset.yaml index b608cde832e..1718fed2184 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/s3g-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/s3g-statefulset.yaml @@ -39,13 +39,17 @@ spec: args: - ozone - s3g - envFrom: - - configMapRef: - name: config + livenessProbe: + httpGet: + path: / + port: 9878 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data - initContainers: [] + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/scm-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/scm-statefulset.yaml index 55b56722d10..7f1606d4754 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/scm-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/scm-statefulset.yaml @@ -37,6 +37,8 @@ spec: prometheus.io/port: "9876" prometheus.io/path: /prom spec: + securityContext: + fsGroup: 1000 initContainers: - name: init image: '@docker.image@' @@ -44,24 +46,28 @@ spec: - ozone - scm - --init - envFrom: - - configMapRef: - name: config volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config containers: - name: scm image: '@docker.image@' args: - ozone - scm - envFrom: - - configMapRef: - name: config + livenessProbe: + tcpSocket: + port: 9861 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/datanode-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/datanode-statefulset.yaml index 843aa948e10..b8e43e4bbc5 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/datanode-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/datanode-statefulset.yaml @@ -55,9 +55,6 @@ spec: args: - ozone - datanode - envFrom: - - configMapRef: - name: config env: - name: JAEGER_SAMPLER_TYPE value: probabilistic @@ -68,6 +65,9 @@ spec: volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/om-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/om-statefulset.yaml index 8d7e9f1e999..8f57a38baaa 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/om-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/om-statefulset.yaml @@ -39,22 +39,6 @@ spec: spec: securityContext: fsGroup: 1000 - initContainers: - - name: init - image: '@docker.image@' - args: - - ozone - - om - - --init - env: - - name: WAITFOR - value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config - volumeMounts: - - name: data - mountPath: /data containers: - name: om image: '@docker.image@' @@ -64,18 +48,24 @@ spec: env: - name: WAITFOR value: scm-0.scm:9876 + - name: ENSURE_OM_INITIALIZED + value: /data/metadata/om/current/VERSION - name: JAEGER_SAMPLER_TYPE value: probabilistic - name: JAEGER_SAMPLER_PARAM value: "0.01" - name: JAEGER_AGENT_HOST value: jaeger-0.jaeger - envFrom: - - configMapRef: - name: config + livenessProbe: + tcpSocket: + port: 9862 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/s3g-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/s3g-statefulset.yaml index 72d55504226..d6288cd7ea2 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/s3g-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/s3g-statefulset.yaml @@ -39,9 +39,11 @@ spec: args: - ozone - s3g - envFrom: - - configMapRef: - name: config + livenessProbe: + httpGet: + path: / + port: 9878 + initialDelaySeconds: 30 env: - name: JAEGER_SAMPLER_TYPE value: probabilistic @@ -52,6 +54,9 @@ spec: volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/scm-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/scm-statefulset.yaml index 8717ff741cf..e9b5addab52 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/scm-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/scm-statefulset.yaml @@ -46,21 +46,22 @@ spec: - ozone - scm - --init - envFrom: - - configMapRef: - name: config volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config containers: - name: scm image: '@docker.image@' args: - ozone - scm - envFrom: - - configMapRef: - name: config + livenessProbe: + tcpSocket: + port: 9861 + initialDelaySeconds: 30 env: - name: JAEGER_SAMPLER_TYPE value: probabilistic @@ -71,6 +72,9 @@ spec: volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: - name: data emptyDir: {} diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/datanode-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone/datanode-statefulset.yaml index b74d58e8569..d3e957248c7 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/datanode-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/datanode-statefulset.yaml @@ -55,12 +55,12 @@ spec: args: - ozone - datanode - envFrom: - - configMapRef: - name: config volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumeClaimTemplates: - metadata: name: data diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/om-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone/om-statefulset.yaml index 6cb53e75016..d35c4dd147d 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/om-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/om-statefulset.yaml @@ -39,22 +39,6 @@ spec: spec: securityContext: fsGroup: 1000 - initContainers: - - name: init - image: '@docker.image@' - args: - - ozone - - om - - --init - env: - - name: WAITFOR - value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config - volumeMounts: - - name: data - mountPath: /data containers: - name: om image: '@docker.image@' @@ -64,12 +48,18 @@ spec: env: - name: WAITFOR value: scm-0.scm:9876 - envFrom: - - configMapRef: - name: config + - name: ENSURE_OM_INITIALIZED + value: /data/metadata/om/current/VERSION + livenessProbe: + tcpSocket: + port: 9862 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumes: [] volumeClaimTemplates: - metadata: diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/s3g-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone/s3g-statefulset.yaml index 2ad951f922d..adc277a598a 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/s3g-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/s3g-statefulset.yaml @@ -39,12 +39,17 @@ spec: args: - ozone - s3g - envFrom: - - configMapRef: - name: config + livenessProbe: + httpGet: + path: / + port: 9878 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumeClaimTemplates: - metadata: name: data diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/scm-statefulset.yaml b/hadoop-ozone/dist/src/main/k8s/examples/ozone/scm-statefulset.yaml index a63c3fc52e9..780fdd7690c 100644 --- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/scm-statefulset.yaml +++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/scm-statefulset.yaml @@ -46,24 +46,28 @@ spec: - ozone - scm - --init - envFrom: - - configMapRef: - name: config volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config containers: - name: scm image: '@docker.image@' args: - ozone - scm - envFrom: - - configMapRef: - name: config + livenessProbe: + tcpSocket: + port: 9861 + initialDelaySeconds: 30 volumeMounts: - name: data mountPath: /data + envFrom: + - configMapRef: + name: config volumeClaimTemplates: - metadata: name: data