# App apiVersion: v1 kind: Service metadata: namespace: myapp name: app-service spec: ports: - name: app-port port: 80 selector: app: myapp --- apiVersion: v1 kind: Service metadata: namespace: myapp name: app-mariadb-service spec: type: NodePort ports: - name: myapp-mariadb-port port: 3306 selector: app: myapp-mariadb --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: myapp annotations: cert-manager.io/cluster-issuer: orc-letsencrypt-issuer name: k8s-app spec: rules: - host: app3.k8s-nsk.tk http: paths: - pathType: Prefix path: / backend: service: name: app-service port: number: 80 tls: - hosts: - app3.k8s-nsk.tk secretName: app-k8s-nsk-tls --- # Alternative with external traefik connected # apiVersion: v1 # kind: Service # metadata: # name: app-service # namespace: myapp # spec: # ports: # - name: app-port # port: 80 # selector: # app: myapp # --- # apiVersion: v1 # kind: Service # metadata: # name: app-service # namespace: myapp # spec: # selector: # app: myapp # type: NodePort # ports: # - protocol: TCP # port: 80 # targetPort: 80 # nodePort: 31080 # --- # apiVersion: v1 # kind: Service # metadata: # name: app-endpoint # namespace: myapp # annotations: # traefik.ingress.kubernetes.io/service.serversscheme: "http" # traefik.ingress.kubernetes.io/service.passhostheader: "true" # spec: # type: ClusterIP # clusterIP: None # ports: # - protocol: TCP # port: 80 # targetPort: 80 # --- # kind: Endpoints # apiVersion: v1 # metadata: # name: app-endpoint # namespace: myapp # subsets: # - addresses: # - ip: 192.168.9.201 # ports: # - port: 31080 # - addresses: # - ip: 192.168.9.202 # ports: # - port: 31080 # - addresses: # - ip: 192.168.9.203 # ports: # - port: 31080 # --- # apiVersion: networking.k8s.io/v1 # kind: Ingress # metadata: # labels: # baremetal-ingress: traefik-nsk # annotations: # kubernetes.io/ingress.class: traefik-lb # external-dns.alpha.kubernetes.io/hostname: app.k8s-nsk.tk # traefik.ingress.kubernetes.io/router.entrypoints: https # traefik.ingress.kubernetes.io/router.tls: "true" # traefik.ingress.kubernetes.io/router.tls.certresolver: letsEncrypt # name: app-ingress # namespace: myapp # spec: # rules: # - host: app.k8s-nsk.tk # http: # paths: # - pathType: Prefix # path: "/" # backend: # service: # name: app-endpoint # port: # number: 80 # ---