Custom domains

You can expose your running containers under your own hostname, such as rather than under the generated hostname. Add as many domains as you'd like by verifying your domain in the dashboard.

Exposing via the UI

Once your domain is verified, you'll find the domain you just added as an option when you click the Expose to Internet (HTTPS) button within the Ports tab of your deployment. You may expose any subdomain of the domain you verified, so in the example below, we will expose even though we've only needed to verify the root domain, Then you will need to point your domain to your namespace using a CNAME or ALIAS record if you haven't done so already.

Exposing via kubectl

KubeSail allows you to create standard Kubernetes Services to route traffic based on hostname. Modify the yaml to suit your deployment and hostname, and then apply your updates using kubectl.

apiVersion: v1
kind: Service
  name: my-app
  - name: tcp
    port: 8080
    protocol: TCP
    targetPort: 8080
    app: nginx
  type: ClusterIP

HTTPS for certificates

KubeSail Managed-Cluster users automatically get free HTTPS when exposing an application to the internet. Otherwise, for BYOC, you'll need to make sure you've installed cert-manager. For custom domains, you'll need to define the HTTPS certificate is valid for which hosts.

kind: Ingress
  name: domain-ingress
  - host:
      - backend:
          serviceName: my-app
          servicePort: 8080
  - hosts:
    secretName: testsecret-tls