Selaa lähdekoodia

Merge pull request #944 from elek/HDDS-1668

HDDS-1668. Add liveness probe to the example k8s resources files

(cherry picked from commit 141151325b3b14b84d66efba53c83e480a875333)
Anu Engineer 5 vuotta sitten
vanhempi
commit
336b18f266
22 muutettua tiedostoa jossa 235 lisäystä ja 129 poistoa
  1. 6 7
      hadoop-ozone/dist/src/main/k8s/definitions/ozone/om-ss.yaml
  2. 5 0
      hadoop-ozone/dist/src/main/k8s/definitions/ozone/s3g-ss.yaml
  3. 4 0
      hadoop-ozone/dist/src/main/k8s/definitions/ozone/scm-ss.yaml
  4. 3 3
      hadoop-ozone/dist/src/main/k8s/examples/minikube/datanode-statefulset.yaml
  5. 8 18
      hadoop-ozone/dist/src/main/k8s/examples/minikube/om-statefulset.yaml
  6. 8 3
      hadoop-ozone/dist/src/main/k8s/examples/minikube/s3g-statefulset.yaml
  7. 10 6
      hadoop-ozone/dist/src/main/k8s/examples/minikube/scm-statefulset.yaml
  8. 1 0
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/Flekszible
  9. 7 3
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-daemonset.yaml
  10. 28 0
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-service.yaml
  11. 66 0
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/datanode-statefulset.yaml
  12. 10 18
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/om-statefulset.yaml
  13. 8 4
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/s3g-statefulset.yaml
  14. 12 6
      hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/scm-statefulset.yaml
  15. 3 3
      hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/datanode-statefulset.yaml
  16. 9 19
      hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/om-statefulset.yaml
  17. 8 3
      hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/s3g-statefulset.yaml
  18. 10 6
      hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/scm-statefulset.yaml
  19. 3 3
      hadoop-ozone/dist/src/main/k8s/examples/ozone/datanode-statefulset.yaml
  20. 8 18
      hadoop-ozone/dist/src/main/k8s/examples/ozone/om-statefulset.yaml
  21. 8 3
      hadoop-ozone/dist/src/main/k8s/examples/ozone/s3g-statefulset.yaml
  22. 10 6
      hadoop-ozone/dist/src/main/k8s/examples/ozone/scm-statefulset.yaml

+ 6 - 7
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: []

+ 5 - 0
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

+ 4 - 0
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

+ 3 - 3
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: {}

+ 8 - 18
hadoop-ozone/dist/src/main/k8s/examples/minikube/om-statefulset.yaml

@@ -39,37 +39,27 @@ spec:
     spec:
       securityContext:
         fsGroup: 1000
-      initContainers:
-      - name: init
+      containers:
+      - name: om
         image: '@docker.image@'
         args:
         - ozone
         - om
-        - --init
         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
-      containers:
-      - name: om
-        image: '@docker.image@'
-        args:
-        - ozone
-        - om
-        env:
-        - name: WAITFOR
-          value: scm-0.scm:9876
         envFrom:
         - configMapRef:
             name: config
-        volumeMounts:
-        - name: data
-          mountPath: /data
       volumes:
       - name: data
         emptyDir: {}

+ 8 - 3
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: {}

+ 10 - 6
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: {}

+ 1 - 0
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

+ 7 - 3
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

+ 28 - 0
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

+ 66 - 0
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: {}

+ 10 - 18
hadoop-ozone/dist/src/main/k8s/examples/ozone-csi/om-statefulset.yaml

@@ -37,37 +37,29 @@ spec:
         prometheus.io/port: "9874"
         prometheus.io/path: /prom
     spec:
-      initContainers:
-      - name: init
+      securityContext:
+        fsGroup: 1000
+      containers:
+      - name: om
         image: '@docker.image@'
         args:
         - ozone
         - om
-        - --init
         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
-      containers:
-      - name: om
-        image: '@docker.image@'
-        args:
-        - ozone
-        - om
-        env:
-        - name: WAITFOR
-          value: scm-0.scm:9876
         envFrom:
         - configMapRef:
             name: config
-        volumeMounts:
-        - name: data
-          mountPath: /data
       volumes:
       - name: data
         emptyDir: {}

+ 8 - 4
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: {}

+ 12 - 6
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: {}

+ 3 - 3
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: {}

+ 9 - 19
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: {}

+ 8 - 3
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: {}

+ 10 - 6
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: {}

+ 3 - 3
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

+ 8 - 18
hadoop-ozone/dist/src/main/k8s/examples/ozone/om-statefulset.yaml

@@ -39,37 +39,27 @@ spec:
     spec:
       securityContext:
         fsGroup: 1000
-      initContainers:
-      - name: init
+      containers:
+      - name: om
         image: '@docker.image@'
         args:
         - ozone
         - om
-        - --init
         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
-      containers:
-      - name: om
-        image: '@docker.image@'
-        args:
-        - ozone
-        - om
-        env:
-        - name: WAITFOR
-          value: scm-0.scm:9876
         envFrom:
         - configMapRef:
             name: config
-        volumeMounts:
-        - name: data
-          mountPath: /data
       volumes: []
   volumeClaimTemplates:
   - metadata:

+ 8 - 3
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

+ 10 - 6
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