-
Notifications
You must be signed in to change notification settings - Fork 1
Harvester
We highly recommend you use helm to deploy.
git clone https://github.com/PanDAWMS/helm-k8s.git
cd helm-k8s/harvester/harvester-helm
vim panda-queueconfig.json
set up your panda queue config or you may just overwrite it by cp you config json.
put submitter config file you need into directory submitter-config
put proxy file you need into directory secret
vim values.yaml
set up all parameter in values.yaml
helm install . --name <release name>
Helm will create harvester container, configmaps and secrets by a prefix name as your "release name"
You can edit queue configuration and proxy/submitter-config by kubectl
kubectl create configmap <release name>-panda-queue --from-file <queue config file> -o yaml --dry-run=client | kubectl replace -f -
kubectl create configmap <release name>-submitter-config --from-file <submitter config file> -o yaml --dry-run=client | kubectl replace -f -
kubectl create secret generic <release name>-submitter-proxy --from-file=<proxy file> -o yaml --dry-run=client | kubectl replace -f -
The Queue configuration and proxy file will be under directory /usr/etc/panda/
If you are very familiar with Kubernetes you may modify some yaml files you need.
git clone https://github.com/PanDAWMS/helm-k8s.git
cd helm-k8s/harvester/kubernetes
set up clusterIP
and MYSQL_PASSWORD
in mariadb.yaml #note clusterIP
should be under subnet.
set up FIXME
part in panda-harvester.yaml
set up Queue configuration in panda-queue.yaml
set up replicas
and nameservers
in deployment-harvester.yaml
kubectl apply -f .
input proxy secret by kubectl
kubectl create secret generic proxy-file --from-file=<proxy file> -o yaml --dry-run | kubectl replace -f -
use following command to input submitter configuration
kubectl create configmap submitter-config --from-file <submitter configure> -o yaml --dry-run | kubectl replace -f -
submitter configuration could be file or directory.
The file will be under directory /usr/etc/panda/
use following command to list all pods
kubectl get pods
The pods named "release name"-harvester-<0,1,2,3...> are harvester pods.
Ex: if your release name of helm is atlas, the pod names will be atlas-harvester-0, atlas-harvester-1, atlas-harvester-2...
use following command to access the pod/container.
kubectl exec -it <pod name> -- /bin/sh
use following command to list all configmaps
kubectl get configmaps
panda-common
is panda_common.cfg
panda-harvester
is panda_harvester.cfg
panda-queue
is panda_queueconfig.json
You can use
kubectl edit configmaps <configmaps name>
to edit the config. Or you can use
kubectl create configmap <configmaps name> --from-file <config file> -o yaml --dry-run | kubectl replace -f -
to replace old config. And reload config by command
kubectl exec -it <pod name> -- /usr/etc/rc.d/init.d/panda_harvester-uwsgi reload