apiVersion: apps/v1 kind: Deployment metadata: name: tenant-registration spec: replicas: 1 selector: matchLabels: app: tenant-registration template: metadata: labels: app: tenant-registration spec: containers: - name: tenant-registration image: TENANT_REG_ECR:latest ports: - containerPort: 8000 name: "http" --- apiVersion: v1 kind: Service metadata: name: tenant-registration-service spec: selector: app: tenant-registration ports: - name: http protocol: TCP port: 80 targetPort: 8000 type: NodePort --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: tenant-registration-service-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: api.DOMAIN_NAME http: paths: - backend: service: name: tenant-registration-service port: number: 80 path: / pathType: Prefix - host: api.DOMAIN_NAME http: paths: - backend: service: name: tenant-management-service port: number: 80 path: /auth-info pathType: Prefix - host: api.DOMAIN_NAME http: paths: - backend: service: name: tenant-management-service port: number: 80 path: /tenants pathType: Prefix - host: api.DOMAIN_NAME http: paths: - backend: service: name: user-management-service port: number: 80 path: /users pathType: Prefix --- apiVersion: apps/v1 kind: Deployment metadata: name: tenant-management spec: replicas: 1 selector: matchLabels: app: tenant-management template: metadata: labels: app: tenant-management spec: containers: - name: tenant-management image: TENANT_MGMT_ECR:latest ports: - containerPort: 8002 name: "http" --- apiVersion: v1 kind: Service metadata: name: tenant-management-service spec: selector: app: tenant-management ports: - name: http protocol: TCP port: 80 targetPort: 8002 type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: user-management spec: replicas: 1 selector: matchLabels: app: user-management template: metadata: labels: app: user-management spec: containers: - name: user-management image: USER_MGMT_ECR:latest ports: - containerPort: 8001 name: "http" --- apiVersion: v1 kind: Service metadata: name: user-management-service spec: selector: app: user-management ports: - name: http protocol: TCP port: 80 targetPort: 8001 type: NodePort