Often, production deploys of Pachyderm involve deploying Pachyderm to a non-default namespace. This helps administrators of the cluster more easily manage Pachyderm components alongside other things that might be running inside of Kubernetes (DataDog, TensorFlow Serving, etc.).
To deploy Pachyderm to a non-default namespace, you just need to create that namespace with kubectl
and then add the --namespace
flag to your deploy command:
$ kubectl create namespace pachyderm
$ pachctl deploy <args> --namespace pachyderm
After the Pachyderm pods are up and running, you should see something similar to:
$ kubectl get pods --namespace pachyderm
NAME READY STATUS RESTARTS AGE
dash-68578d4bb4-mmtbj 2/2 Running 0 3m
etcd-69fcfb5fcf-dgc8j 1/1 Running 0 3m
pachd-784bdf7cd7-7dzxr 1/1 Running 0 3m
Note - When using a non-default namespace for Pachyderm, you will have to use the --namespace
flag for various other pachctl
command for them to work as expected. These include port-forwarding and undeploy:
# forward Pachyderm ports when it was deployed to a non-default namespace
$ pachctl port-forward --namespace pachyderm &
# undeploying Pachyderm when it was deployed to a non-default namespace
$ pachctl undeploy --namespace pachyderm
Alternatively or additionally, you might want to set a context similar to the following at the Kubernetes level, such that you can get Pachyderm logs, pod statuses, etc. easily via kubectl logs ...
, kubectl get pods
, etc.:
$ kubectl config set-context pach --namespace=<pachyderm namespace> \
--cluster=<cluster> \
--user=<user>