apiVersion: apps/v1 kind: StatefulSet metadata: name: ariane namespace: nearle labels: app: ariane spec: serviceName: "ariane" replicas: 3 selector: matchLabels: app: ariane template: metadata: labels: app: ariane spec: tolerations: - key: dedicated operator: Equal value: apps effect: NoSchedule affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node-role.workolik/app operator: In values: - "true" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchLabels: app: ariane topologyKey: kubernetes.io/hostname topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app: ariane containers: - name: backend image: nearlecommerce/ariane:v1.0.22 imagePullPolicy: Always ports: - containerPort: 1000 env: - name: PORT value: "1000" envFrom: - configMapRef: name: nearle-config - secretRef: name: app-secrets --- apiVersion: v1 kind: Service metadata: name: ariane namespace: nearle labels: app: ariane spec: type: ClusterIP ports: - port: 80 targetPort: 1000 protocol: TCP selector: app: ariane --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: ariane-route namespace: nearle labels: app: ariane spec: parentRefs: - name: gateway namespace: alaska hostnames: - "ariane.nearle.app" rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: ariane port: 80