Hi Everyone,
I am new to Zeebe. I tried to install Zeebe full helm chart on AKS with private endpoint for ingress.
Steps:
Login to azure using Az login
az aks get-credentials -g $ResourceGroupName -n $ClusterName --overwrite-existing
# install Zeebe
kubectl create namespace zeebe
helm repo add zeebe https://helm.camunda.io
helm repo update
helm upgrade --namespace zeebe --install --wait --timeout 10m0s zb zeebe/zeebe-full-helm -f values.yaml
Below is my Values.yaml:
global:
zeebe: "{{ .Release.Name }}-zeebe"
cloudevents:
enabled: false
tasklist:
enabled: true
zeeqs:
enabled: false
ingress-nginx:
controller:
service:
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
My expectation was that I can browse both Operate and Tasklist UI together but its not working. Only one of them is accessable via the ingress External IP.
Has anyone able to acess both Tasklist and operate Ui together in AKS or its not possible at this time?
Thanks and Regrads,
Naresh
Hey Naresh!
You need to change the Tasklist port in order to access it. You can do so within your values.yaml. See here: camunda-cloud-helm/values.yaml at main · camunda-community-hub/camunda-cloud-helm · GitHub
Of course the new port need to be different than the one for Operate.
Hopefully this resolves your problem.
Best,
Thomas
Hi Thomas,
Thanks for replying. I did give a try but it does not work. I am using ingress here and changing the port in kubernetes service will not work as the ingress.yaml is hardcoded as 80.
Best Regards,
Naresh
Hey Naresh! - Sorry for the late reply. I have been on vacation for a week.
Have you checked out this values yaml?
If you use it I would try to set the configuration for tasklist like this.
# Tasklist configuration for the tasklist sub chart.
tasklist:
# Enabled if true, the tasklist deployment and its related resources are deployed via a helm release
enabled: true
# Service configuration to configure the tasklist service.
service:
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
type: ClusterIP
# Service.port defines the port of the service, where the tasklist web application will be available
port: 90
Let me know if this works. Otherwise @Zelldon might have a better idea.
-Thomas
Hi Thomas,
Thanks again for replying and I am very sorry for my late reply. I was sick for almost 10 days.
Your suggestion did not work. Because the ingress port is hardcoded to 80 as I have mentioned in my last comment.
I am using ingress controller here and one external ip to access the zeebe UIs . The default ingress configuration in the full helm chart doesnot work to access both Operate and Tasklist UI.
Naresh:~$ kubectl get services -n zeebe
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch-master ClusterIP 10.2.7.186 <none> 9200/TCP,9300/TCP 18m
elasticsearch-master-headless ClusterIP None <none> 9200/TCP,9300/TCP 18m
zb-ingress-nginx-controller LoadBalancer 10.2.7.241 10.2.5.129 80:30022/TCP,443:30766/TCP 18m
zb-ingress-nginx-controller-admission ClusterIP 10.2.7.215 <none> 443/TCP 18m
zb-zeebe ClusterIP None <none> 9600/TCP,26502/TCP,26501/TCP 18m
zb-zeebe-gateway ClusterIP 10.2.7.114 <none> 9600/TCP,26500/TCP 18m
zb-zeebe-operate-helm ClusterIP 10.2.7.176 <none> 80/TCP 18m
zb-zeebe-tasklist-helm ClusterIP 10.2.7.225 <none> 80/TCP 18m
Naresh:~$ kubectl get ingress -n zeebe
NAME CLASS HOSTS ADDRESS PORTS AGE
zb-zeebe-operate-helm nginx * 10.2.5.129 80 18m
zb-zeebe-tasklist-helm nginx * 10.2.5.129 80 18m
I can share my values.yaml that I used:
global:
zeebe: "{{ .Release.Name }}-zeebe"
cloudevents:
enabled: false
tasklist:
enabled: true
zeeqs:
enabled: false
ingress-nginx:
controller:
service:
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
zeebe-tasklist-helm:
service:
type: ClusterIP
port: 80
ingress:
enabled: true
annotations:
ingress.kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: "/$2"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
path: /tasklist
host:
tls:
enabled: false
secretName:
zeebe-operate-helm:
service:
type: ClusterIP
port: 80
ingress:
enabled: true
annotations:
ingress.kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: "/"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
path: /
host:
tls:
enabled: false
secretName:
Let me know if you able to replicate this issue.
Hi Everyone,
I found the solution. I was trying to use only path parameter to differentiate the ingress flow between operate and task UI. But it seems that this does not work here. That is my bad. When I used different host name for tasklist and operate then it starts working.
@Hafflgav Thank you very much for your help.
My solution is as follows, I adjusted the values.yaml for Zeebe-full-helm-chart:
global:
zeebe: "{{ .Release.Name }}-zeebe"
cloudevents:
enabled: false
tasklist:
enabled: true
zeeqs:
enabled: false
ingress-nginx:
controller:
service:
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
zeebe-tasklist-helm:
ingress:
enabled: true
annotations:
ingress.kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: "/"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
path: /
host: tasklist.zeebe.weud
tls:
enabled: false
secretName:
zeebe-operate-helm:
ingress:
enabled: true
annotations:
ingress.kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: "/"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
path: /
host: operate.zeebe.weud
tls:
enabled: false
secretName:
1 Like
I have written a blog on deploying Camunda 8 using helm charts. Hope this helps