Ingress and Domains

Every user on kuber have free subdomain as myapp.kuber.host, subdomain name is same as kubernetes namespace for your account.

Custom Domains

You may also add custom domains for free, as much as you need. As a best practice, it's better to use HTTPS. Kuber will generate free HTTPS certificate automatically, if you set it in ingress.

To add custom domain, register it in domains page (for security reasons), and make DNS settings:

  • Make ALIAS DNS record to your namespace domain e.g. myapp.kuber.host (recommended) or
  • Make A DNS record to 159.69.46.22 or
  • Make CNAME DNS record to to your namespace domain e.g. myapp.kuber.host (only for subdomains)

Ingress

Ingress is kubernetes object to manage external access for running services. In provides load balancing, SSL, custom headers, http authentication, access control, etc. You may have multiple ingress object to expose different services or to utilize multiple domains.

Ingress example:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-app-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    certmanager.k8s.io/cluster-issuer: letsencrypt
spec:
  tls:
    - hosts: [your-domain.com]
      secretName: your-domain-com-tls
  rules:
  - host: your-domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: my-app-service
          servicePort: 3000

Shortly after you create Ingress object, SSL certificate will be generated and your application should be accessible via https://your-domain.com

Full list of ingress features and customizations can be found here https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations (Note that nginx.ingress.kubernetes.io/server-snippet is not allowed and will be rejected by Kuber)