I want to deploy Dataiku’s container to EKS. First up is ensuring my local Kubernetes configuration is update to date with aws eks --region us-east-1 update-kubeconfig --name eks-cluster-name. Once run, the context should show up when kubectl config get-contexts is run! Worked like a charm.

Next up is figuring out how to deploy the Pod since they Dataiku does not provide any examples. This was easily accomplished via:

apiVersion: v1
kind: Pod
metadata:
  name: dataiku-orechestration
  labels:
    app: dataiku
spec:
  containers:
  - name: private-reg-container
    image: dataiku/dss

Adding in a load balancer on EKS was fairly simple:

apiVersion: v1
kind: Service
metadata:
  name: dataiku-service
  labels:
    app: dataiku 
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
spec:
  ports:
  - name: http
    port: 80 
    protocol: TCP
    targetPort: 10000 
  selector:
    app: dataiku 
  type: LoadBalancer

This gets a Dataiku instance to boot and be exposed via the load balancer. To make life easier to the the data science-y folks I will through a DNS cname somewhere. You can get the actual load balancer name with kubectl describe services dataiku-service, using the value of the LoadBalancer Ingress line.

I validated the instance looks healthy with our DS group.