dummy

apiVersion: v1
kind: Service
metadata:
  name: dummy
  namespace: skills
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-name: dummy
    service.beta.kubernetes.io/aws-load-balancer-type: external
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-protocol: HTTP
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "8080"
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-path: /health
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-success-codes: "200"
    service.beta.kubernetes.io/aws-load-balancer-subnets: public_a,public_b,public_c
spec:
  type: LoadBalancer
  selector:
    app: dummy
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

sed -i "s|public_a|$public_a|g" service.yaml
sed -i "s|public_b|$public_b|g" service.yaml
sed -i "s|public_c|$public_c|g" service.yaml
kubectl apply -f service.yaml

api

apiVersion: v1
kind: Service
metadata:
  name: api
  namespace: skills
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-name: api
    service.beta.kubernetes.io/aws-load-balancer-type: external
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-protocol: HTTP
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "8080"
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-path: /health
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-success-codes: "200"
    service.beta.kubernetes.io/aws-load-balancer-subnets: public_a,public_b,public_c
spec:
  type: LoadBalancer
  selector:
    app: api
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

sed -i "s|public_a|$public_a|g" service.yaml
sed -i "s|public_b|$public_b|g" service.yaml
sed -i "s|public_c|$public_c|g" service.yaml
kubectl apply -f service.yaml