[AAI] Update Service definitions to support Ingress case 51/133951/3
authorAndreas Geissler <andreas-geissler@telekom.de>
Thu, 30 Mar 2023 15:26:14 +0000 (17:26 +0200)
committerAndreas Geissler <andreas-geissler@telekom.de>
Fri, 31 Mar 2023 11:37:50 +0000 (11:37 +0000)
Fix the service definitions to automatically change NodePorts to
ClusterIPs in case of Ingress enabled

Issue-ID: OOM-3111

Signed-off-by: Andreas Geissler <andreas-geissler@telekom.de>
Change-Id: I27fbcc917190f1df3d39f1bfc789664bb55809a2

12 files changed:
kubernetes/aai/components/aai-babel/templates/deployment.yaml
kubernetes/aai/components/aai-babel/templates/service.yaml
kubernetes/aai/components/aai-babel/values.yaml
kubernetes/aai/components/aai-graphadmin/templates/service.yaml
kubernetes/aai/components/aai-resources/values.yaml
kubernetes/aai/components/aai-sparky-be/templates/deployment.yaml
kubernetes/aai/components/aai-sparky-be/templates/service.yaml
kubernetes/aai/components/aai-sparky-be/values.yaml
kubernetes/aai/components/aai-traversal/values.yaml
kubernetes/aai/templates/deployment.yaml
kubernetes/aai/templates/service.yaml
kubernetes/aai/values.yaml

index 7a6b6f1..397e8fd 100644 (file)
 
 apiVersion: apps/v1
 kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
 spec:
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
+  selector: {{- include "common.selectors" . | nindent 4 }}
   replicas: {{ .Values.replicaCount }}
   strategy:
     type: {{ .Values.updateStrategy.type }}
@@ -40,18 +31,13 @@ spec:
       maxSurge: {{ .Values.updateStrategy.maxSurge }}
     {{- end }}
   template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ include "common.release" . }}
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
     spec:
-      initContainers:
       containers:
         - name: {{ include "common.name" . }}
           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          ports:
-          - containerPort: {{ .Values.service.internalPort }}
+          ports: {{ include "common.containerPorts" . | nindent 12  }}
           # disable liveness probe when breakpoints set in debugger
           # so K8s doesn't restart unresponsive container
           {{ if .Values.liveness.enabled }}
index 87a29db..86141ab 100644 (file)
 # limitations under the License.
 */}}
 
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    {{- if eq .Values.service.type "NodePort" }}
-    - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.portName }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}
-    {{- else }}
-    - port: {{ .Values.service.externalPort }}
-      targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}
-    {{- end }}
-
-  selector:
-    app: {{ include "common.name" . }}
-    release: {{ include "common.release" . }}
+{{ include "common.service" . }}
index d7c5237..bbc64d2 100644 (file)
@@ -56,10 +56,11 @@ readiness:
 
 service:
   type: NodePort
-  portName: http
-  externalPort: 9516
   internalPort: 9516
-  nodePort: 79
+  ports:
+  - name: http
+    port: 9516
+    nodePort: 79
 
 ingress:
   enabled: false
index 6350f85..a6e1d32 100644 (file)
@@ -36,7 +36,7 @@ spec:
   {{if eq .Values.service.type "NodePort" -}}
   - port: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-    name: {{ .Values.service.portName }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}
+    name: {{ .Values.service.portName }}
   - port: {{ .Values.service.internalPort2 }}
     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
     name: {{ .Values.service.portName2 }}
@@ -45,7 +45,7 @@ spec:
     name: {{ .Values.service.portName3 }}
   {{- else -}}
   - port: {{ .Values.service.internalPort }}
-    name: {{ .Values.service.portName }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}
+    name: {{ .Values.service.portName }}
   - port: {{ .Values.service.internalPort2 }}
     name: {{ .Values.service.portName2 }}
   - port: {{ .Values.service.internalPort3 }}
index eb06c8f..0f09643 100644 (file)
@@ -34,8 +34,6 @@ global: # global defaults
     migration:
       enabled: false
 
-  aafEnabled: false
-
   config:
     # Specifies that the cluster connected to a dynamic
     # cluster being spinned up by kubernetes deployment
index 3b14113..cf7a309 100644 (file)
 
 apiVersion: apps/v1
 kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
 spec:
+  selector: {{- include "common.selectors" . | nindent 4 }}
   replicas: {{ .Values.replicaCount }}
   strategy:
     type: {{ .Values.updateStrategy.type }}
@@ -36,17 +30,8 @@ spec:
       maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
       maxSurge: {{ .Values.updateStrategy.maxSurge }}
     {{- end }}
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
   template:
-    metadata:
-      annotations:
-        sidecar.istio.io/rewriteAppHTTPProbers: "false"
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ include "common.release" . }}
-      name: {{ include "common.name" . }}
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
     spec:
       initContainers:
       - command:
@@ -107,21 +92,19 @@ spec:
         - mountPath:  /opt/app/sparky/config/logging/logback.xml
           name: config
           subPath: logback.xml
-        ports:
-        - containerPort: {{ .Values.service.internalPort }}
-        - containerPort: {{ .Values.service.internalPlainPort }}
+        ports: {{ include "common.containerPorts" . | nindent 10  }}
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
         {{- if eq .Values.liveness.enabled true }}
         livenessProbe:
           tcpSocket:
-            port: {{ .Values.service.internalPlainPort }}
+            port: {{ .Values.service.internalPort }}
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
         {{ end -}}
         readinessProbe:
           tcpSocket:
-            port: {{ .Values.service.internalPlainPort }}
+            port: {{ .Values.service.internalPort }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources: {{ include "common.resources" . | nindent 10 }}
index 9e3ffd6..10d9e2a 100644 (file)
 # limitations under the License.
 */}}
 
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-spec:
-  ports:
-  - name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
-    port: {{ .Values.service.externalPort }}
-    targetPort: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.internalPort .Values.service.internalPlainPort }}
-    {{- if eq .Values.service.type "NodePort" }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-    {{- end }}
-  type: {{ .Values.service.type }}
-  selector:
-    app: {{ include "common.name" . }}
+{{ include "common.service" . }}
index 0673dee..8ec4553 100644 (file)
@@ -53,11 +53,6 @@ config:
   portalOnapEnabled: true
 #
 
-# override chart name (sparky-be) to share a common namespace
-# suffix with parent chart (aai)
-nsSuffix: aai
-
-
 # default number of instances
 replicaCount: 1
 
@@ -84,11 +79,12 @@ readiness:
 
 service:
   type: NodePort
-  portName: http
-  externalPort: 8000
-  internalPort: 8000
-  internalPlainPort: 9517
-  nodePort: 20
+  internalPort: 9517
+  ports:
+  - name: http
+    port: 8000
+    internal_port: 9517
+    nodePort: 20
 
 ingress:
   enabled: false
@@ -99,6 +95,9 @@ ingress:
   config:
     ssl: "redirect"
 
+podAnnotations:
+  sidecar.istio.io/rewriteAppHTTPProbers: "false"
+
 # Configure resource requests and limits
 # ref: http://kubernetes.io/docs/user-guide/compute-resources/
 resources:
index 817a109..9cf1d89 100644 (file)
@@ -20,7 +20,6 @@
 # Declare variables to be passed into your templates.
 global: # global defaults
   nodePortPrefix: 302
-  aafEnabled: false
 
   cassandra:
     #Service Name of the cassandra cluster to connect to.
index dc0dad8..2722412 100644 (file)
@@ -93,21 +93,20 @@ spec:
           name: haproxy-cfg
         ports:
         - containerPort: {{ .Values.service.internalPort }}
-        - containerPort: {{ .Values.service.internalPlainPort }}
         - containerPort: {{ .Values.metricsService.internalPort }}
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
         {{- if eq .Values.liveness.enabled true }}
         livenessProbe:
           tcpSocket:
-            port: {{ .Values.service.internalPlainPort }}
+            port: {{ .Values.service.internalPort }}
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
         {{ end -}}
         readinessProbe:
           httpGet:
             path: /aai/util/echo
-            port: {{ .Values.service.internalPlainPort }}
+            port: {{ .Values.service.internalPort }}
             scheme: HTTP
             httpHeaders:
             - name: X-FromAppId
index a8c3c39..5bb5c8b 100644 (file)
@@ -26,16 +26,17 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   ports:
-  - name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
-    port: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.externalPort .Values.service.externalPlainPort }}
-    targetPort: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.internalPort .Values.service.internalPlainPort }}
+  - name: {{ .Values.service.portName }}
+    port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
     {{- if eq .Values.service.type "NodePort" }}
+    {{    if not (include "common.ingressEnabled" .) }}
     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+    {{    end }}
     {{- end }}
-  type: {{ .Values.service.type }}
+  type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}{{ .Values.service.type }}{{ end }}
   selector:
     app: {{ include "common.name" . }}
-  clusterIP: {{ .Values.service.aaiServiceClusterIp }}
   sessionAffinity: {{ .Values.service.sessionAffinity }}
 ---
 apiVersion: v1
@@ -51,8 +52,8 @@ metadata:
 spec:
   ports:
     - name: {{ .Values.service.portName }}
-      port: {{ .Values.service.externalPlainPort }}
-      targetPort: {{ .Values.service.internalPlainPort }}
+      port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
   type: ClusterIP
   selector:
     app: {{ include "common.name" . }}
index b023a8b..2c67da0 100644 (file)
@@ -32,7 +32,6 @@ global: # global defaults
 
   restartPolicy: Always
 
-  aafEnabled: false
   msbEnabled: false
   centralizedLoggingEnabled: false
 
@@ -359,13 +358,9 @@ readiness:
 service:
   type: NodePort
   portName: http
-  externalPort: 8443
-  internalPort: 8443
+  externalPort: 80
+  internalPort: 8080
   nodePort: 33
-  externalPlainPort: 80
-  internalPlainPort: 8080
-  nodeport: 33
-  aaiServiceClusterIp:
   sessionAffinity: None
 
 metricsService:
@@ -397,8 +392,7 @@ ingress:
   service:
     - baseaddr: "aai-api"
       name: "aai"
-      port: 8443
-      plain_port: 80
+      port: 80
       config:
        ssl: "redirect"