-
Notifications
You must be signed in to change notification settings - Fork 7
InstallKubernetesComponents
The execution components run in Kubernetes as pods. The following are necessary for execution:
- Puller always running
- Executor dynamically allocated by Puller
- Handlers dynamically allocated by Executor
- Docker repository accessible by Kubernetes & installed locally
- Kubernetes
- Maven 3.3.9
- Local clone of this repo!
All below...
You will need the clone of the repo to build all the necessary modules and create the images.
From the root of the repo run:
mvn clean install
Run this command and confirm the puller, executor, and sample images are listed:
docker images
cppull 1.0.0 1a847b2e3c3a About a minute ago 176MB
fhexec 1.0.3 39e12ebdc816 About a minute ago 180MB
pop-sample 1.0.2 5fa24507d7a6 2 minutes ago 147MB
docker tag cppull:1.0.0 <your docker repo>/<your docker namespace>/cppull:1.0.0
docker tag fhexec:1.0.0 <your docker repo>/<your docker namespace>/fhexec:1.0.3
docker tag pop-sample:1.0.0 <your docker repo>/<your docker namespace>/pop-sample:1.0.2
docker push <your docker repo>/<your docker namespace>/cppull:1.0.0
docker push <your docker repo>/<your docker namespace>/fhexec:1.0.3
docker push <your docker repo>/<your docker namespace>/pop-sample:1.0.2
Please setup the namespace and the service account (and local credentials if needed): Kubernetes Setup
Location: ./deploy/resourcepool/kubernetes/configmap
- Change
agendaProviderUrlurl - Change executor image repo
- Tweak
pullAlwaysandimagePullPolicyas desired - Tweak
reapCompletedPodsas desired
Apply with kubectl apply -f ConfigMap.yaml
- Change the
imageto your docker repo - Tweak the
imagePullPolicyas desired
(do not apply yet!)
- No specific changes recommended.
(do not apply yet!)
- Change
agenda.progress.urlurl - Setup any new entries in the
registry-jsonsection (if you plan to use sample you'll need theimageNameupdated to point to your docker repo) - tweak
pullAlwaysas desired - tweak
reapCompletedPodsas desired
Apply with kubectl apply -f ConfigMap.yaml
- Change
agenda.progress.urlurl - Change
pop.kubernetes.podconfig.docker.imageNameto point to an image available in your docker repo. - tweak
pullAlwaysas desired - tweak
reapCompletedPodsas desired
Apply with kubectl apply -f ConfigMap.yaml
- Navigate to
./deploy/resourcepool/kubernetes/configmap/puller - Start the puller deployment with:
kubectl apply -f Deployment.yaml - Start the puller service with:
kubectl apply -f Service.yaml - Watch the logs for successful calls to getAgenda
- Submission
- Scheduling
-
Execution
the ResourcePool
Agenda
the workflow
Agenda Template
the workflow definition
Customer
Insight
the scheduling queue definition
Operation Progress
the state of the running Agenda operations
Progress
the state of the running Agendas
ResourcePool
the processing resources
Agenda Service
the workflow submission
Progress Service
rolled up agenda progress summary
ResourcePool Service
getting work and updating progress
AgendaReclaimer
restarting stuck Agendas
AgendaRetry
retrying failed Agendas
DataObjectReaper
reaping expired data objects
PodReaper
reaping stuck Kubernetes pods
DevKubernetesSetup
RunLocalExecution
- RunWithMiniKube