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.

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)

HTTPS with Let's Encrypt

It's always better to use HTTPS so your internet provide won't spy on you. Kuber can generate free HTTPS certificate automatically for domains as myapp.kuber.host and custom domains (via Let's Encrypt). To enable it - add annotaion certmanager.k8s.io/cluster-issuer: letsencrypt and section tls in your ingress (see example bellow).

Few minutes after you create create or update ingress - it will be ready to use

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

Generated HTTPS certificate will be stored in kubernetes secret, secret's name is set via tls.secretName, in example it's your-domain-com-tls



Read more about Kuberntes Ingress: https://kubernetes.io/docs/concepts/services-networking/ingress/

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)