1. Angel Borroy | Docker Zaragoza
https://www.meetup.com/Meetup-Group-docker-Zaragoza
Deploying Activiti Cloud with Kubernetes,
Helm and Docker
2. During this session you can….
• Discover Docker Zaragoza Meetup
• Enjoy a short intro presentation
• Understand how Activiti 7 is being prepared for
Native Cloud deployment
○ Helm
○ k8s
○ Docker
5. Helm
Package Manager for Kubernetes
• Helm chart
○ Docker images
○ Services configuration
○ Infrastructure configuration
• Helm is the CLI & Tiller is the service
• Charts are published on a repository
• Dependencies, multiple configurations,
templates, releases...
https://hub.helm.sh
6. • Spring Cloud based
• Keycloak for IDM & SSO
• Activiti Modeler BPMN 2.0
• API Gateway
• Service Registry
• Config Server
• Zipkin (traces)
• Activiti Applications
Activiti 7
Process Automation aka BPM
7. • Runtime Bundle
○ Process definitions & instances
• Query Service
○ Aggregate data from other services
• Audit Service
• Notification Service
• Cloud Connectors
○ Service Tasks
Activiti 7
Process Automation aka BPM
8. Activiti 7
Deploying and Running a Process
https://github.com/Activiti/
activiti-cloud-charts/tree/
master/activiti-cloud-full-e
xample
10. Activiti 7
$ helm repo add activiti-cloud-charts
https://activiti.github.io/activiti-cloud-charts/
"activiti-cloud-charts" has been added to your repositories
$ helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
alfresco-incubator https://kubernetes-charts.alfresco.com/incubator
activiti-cloud-charts https://activiti.github.io/activiti-cloud-charts/
11. Activiti 7
$ kubectl create namespace activiti7
namespace "activiti7" created
$ kubectl get namespaces
NAME STATUS AGE
activiti7 Active 2s
default Active 3d
kube-public Active 3d
kube-system Active 3d
$ helm repo update
$ helm install stable/nginx-ingress --namespace=activiti7
$ kubectl get services -n activiti7
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
hardy-moth-nginx-ingress-controller LoadBalancer 10.104.75.117 localhost 80:31357/TCP,443:30350/TCP
hardy-moth-nginx-ingress-default-backend ClusterIP 10.98.155.68 <none> 80/TCP
14. $ helm ls --namespace=activiti7
NAME REVISION UPDATED STATUS CHART APP VERSION
hardy-moth 1 Thu Dec 13 13:17:41 2018 DEPLOYED nginx-ingress-1.0.2 0.21.0
inky-moth 1 Thu Dec 13 13:27:27 2018 DEPLOYED activiti-cloud-full-example-0.5.0 1.0
$ helm search activiti-cloud-full
NAME CHART VERSION APP VERSION DESCRIPTION
activiti-cloud-charts/activiti-cloud-full-example0.5.0 1.0 An Activiti Helm chart
Activiti 7
18. $ kubectl -n activiti7 delete svc --all
$ kubectl -n activiti7 delete po --all
$ kubectl delete namespace activiti7
Error from server (Conflict): Operation cannot be fulfilled on namespaces "activiti7": The system
is ensuring all content is removed from this namespace. Upon completion, this namespace will
automatically be purged by the system.
Activiti 7
Drive out the rubbish