فهرست منبع

HUE-8744 [k8s] Adding redis and celery basic configs

Romain 6 سال پیش
والد
کامیت
0adf53d4ad

+ 37 - 0
tools/kubernetes/helm/hue/templates/deployment-celery-workers.yaml

@@ -0,0 +1,37 @@
+{{- if .Values.workers.enabled -}}
+apiVersion: apps/v1beta2
+kind: Deployment
+metadata:
+  name: celery-worker
+  labels:
+    deployment: celery-worker
+spec:
+  replicas: {{ .Values.workers.replicas }}
+  selector:
+    matchLabels:
+      pod: celery-worker
+  template:
+    metadata:
+      labels:
+        pod: celery-worker
+    spec:
+      containers:
+        - name: celery-worker
+          image: {{ .Values.registry }}/hue:{{ .Values.tag }}
+          imagePullPolicy: Always
+          command: ['./build/env/bin/celery', 'worker', '-A', 'desktop', '-l', 'info']
+          volumeMounts:
+          - name: config-volume
+            mountPath: /usr/share/hue/desktop/conf/z-hue.ini
+            subPath: hue-ini
+          - name: config-volume-extra
+            mountPath: /usr/share/hue/desktop/conf/zz-hue.ini
+            subPath: hue-ini
+      volumes:
+        - name: config-volume
+          configMap:
+            name: hue-config
+        - name: config-volume-extra
+          configMap:
+            name: hue-config-extra
+{{- end -}}

+ 3 - 1
tools/kubernetes/helm/hue/templates/deployment-nginx.yaml

@@ -1,3 +1,4 @@
+{{- if .Values.balancer.enable -}}
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -54,7 +55,7 @@ spec:
     spec:
       containers:
       - name: nginx
-        image: gethue/nginx:latest
+        image: {{ .Values.registry }}/nginx:{{ .Values.tag }}
         ports:
         - containerPort: 80
         volumeMounts:
@@ -79,3 +80,4 @@ spec:
     - protocol: TCP
       port: 80
       targetPort: 80
+{{- end -}}

+ 23 - 0
tools/kubernetes/helm/hue/templates/deployment-redis.yaml

@@ -0,0 +1,23 @@
+apiVersion: apps/v1beta2
+kind: Deployment
+metadata:
+  name: redis
+spec:
+  selector:
+    matchLabels:
+      pod: redis
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        pod: redis
+    spec:
+      containers:
+      - name: master
+        image: redis
+        resources:
+          requests:
+            cpu: 100m
+            memory: 100Mi
+        ports:
+        - containerPort: 6379

+ 22 - 0
tools/kubernetes/helm/hue/templates/ingress-hue-ssl.yaml

@@ -0,0 +1,22 @@
+{{- if .Values.ingress.create -}}
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: demo-hue-ingress
+  annotations:
+    kubernetes.io/ingress.class: nginx
+    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
+spec:
+  tls:
+  - hosts:
+    - demo2.gethue.com
+    secretName: letsencrypt-prod
+  rules:
+  - host: demo2.gethue.com
+    http:
+      paths:
+      - path: /
+        backend:
+          serviceName: hue
+          servicePort: 80
+{{- end -}}

+ 1 - 1
tools/kubernetes/helm/hue/templates/replicationcontroller-hue.yaml

@@ -11,7 +11,7 @@ spec:
     spec:
       containers:
         - name: hue
-          image: {{ .Values.registry }}:{{ .Values.tag }}
+          image: {{ .Values.registry }}/hue:{{ .Values.tag }}
           imagePullPolicy: Always
           ports:
             - containerPort: 8888

+ 11 - 0
tools/kubernetes/helm/hue/templates/service-redis.yaml

@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: redis
+spec:
+  selector:
+    pod: redis
+  ports:
+  - protocol: TCP
+    port: 6379
+    targetPort: 6379

+ 6 - 1
tools/kubernetes/helm/hue/values.yaml

@@ -1,4 +1,4 @@
-registry: "gethue/hue"
+registry: "gethue"
 tag: "latest"
 hue:
   database:
@@ -33,6 +33,11 @@ hue:
     show_notebooks=false
 
     [hadoop]
+balancer:
+  enabled: true
+workers:
+  enabled: true
+  replicas: 1
 aws:
   accessKeyId: ""
   secretAccessKey: ""