# Failed to create MongoDB operator and DB cluster in different namespaces

**URL:** <https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060>\
**Category:** Percona Operator for MongoDB\
**Created:** [January 24, 2022, 1:34am UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060 "2022-01-24T01:34:56Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![A\_Niu](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/a_niu/32/5518_2.png) [@A\_Niu](https://forums.percona.com/u/A_Niu)\
**Post date:** [January 24, 2022, 1:34am UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/1 "2022-01-24T01:34:56Z")

</div>

Hello there,

Trying to create operator and cluster into different namespaces, i.e.,  
operator: percona-mongo-operator  
db: percona-mongo-db  
Kubernetes: OCI OKE  
Code is checked out from: [GitHub - percona/percona-server-mongodb-operator: Percona Operator for MongoDB](https://github.com/percona/percona-server-mongodb-operator.git)  
Instructions: [Install Percona server for MongoDB on Kubernetes](https://www.percona.com/doc/kubernetes-operator-for-psmongodb/kubernetes.html)

After apply cr.yaml with command, no pods created in namespace: percona-mongo-db

```auto
kubectl apply -f deploy/cr.yaml -n percona-mongo-db

```

Below is a snippet from cr.yaml

```auto
apiVersion: psmdb.percona.com/v1-12-0
kind: PerconaServerMongoDB
metadata:
  name: my-cluster-name
  namespace: percona-mongo-db

```

Anyone please advise anything is missed?

Best regards,

Arthur

---

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [January 24, 2022, 1:53pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/2 "2022-01-24T13:53:23Z")

</div>

You have to apply the namespace to **all** resources, so in your case for ex :

```auto
namespace: percona-mongo-db-1

```

---

<div class="post-metadata">

**Author:** ![A\_Niu](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/a_niu/32/5518_2.png) [@A\_Niu](https://forums.percona.com/u/A_Niu)\
**Post date:** [January 24, 2022, 2:23pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/3 "2022-01-24T14:23:31Z")

</div>

Thanks, Jamoser.

I had typo in my first post. Just fixed it.

```auto
kubectl apply -f deploy/cr.yaml -n percona-mongo-db

```

---

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [January 24, 2022, 2:53pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/4 "2022-01-24T14:53:47Z")

</div>

May be you should post a little bit more, how about kubectl -n percona-mongo-db get all

Besides you need to deploy more then cr.yaml → operator.yaml and secrets

---

<div class="post-metadata">

**Author:** ![A\_Niu](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/a_niu/32/5518_2.png) [@A\_Niu](https://forums.percona.com/u/A_Niu)\
**Post date:** [January 24, 2022, 3:55pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/5 "2022-01-24T15:55:22Z")

</div>

> [@jamoser](#):
>
> kubectl -n percona-mongo-db get all

I followed the instructions from [Generic Kubernetes installation - Percona Operator for MongoDB](https://www.percona.com/doc/kubernetes-operator-for-psmongodb/kubernetes.html)

crd, operator, secrets, rbac have been created.

Below is my console output with command: kubectl -n percona-mongo-db get all

```auto
percona-server-mongodb-operator $ kubectl delete -f deploy/cr.yaml -n percona-mongo-db --v=5

perconaservermongodb.psmdb.percona.com "my-cluster-name" deleted

percona-server-mongodb-operator $ kubectl apply -f deploy/cr.yaml -n percona-mongo-db --v=5

perconaservermongodb.psmdb.percona.com/my-cluster-name created

percona-server-mongodb-operator $ kubectl -n percona-mongo-db get all

No resources found in percona-mongo-db namespace.

percona-server-mongodb-operator $

```

---

<div class="post-metadata">

**Author:** ![A\_Niu](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/a_niu/32/5518_2.png) [@A\_Niu](https://forums.percona.com/u/A_Niu)\
**Post date:** [January 24, 2022, 4:51pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/6 "2022-01-24T16:51:55Z")

</div>

the operator log is attached, hope it helps to figure out what is wrong.

```auto
$ k get crd |grep mongo
perconaservermongodbbackups.psmdb.percona.com 2022-01-23T17:18:16Z
perconaservermongodbrestores.psmdb.percona.com 2022-01-23T17:18:16Z
perconaservermongodbs.psmdb.percona.com 2022-01-23T17:18:16Z

$ k get all -n percona-mongo-operator -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod/percona-server-mongodb-operator-58c459565b-gr228 1/1 Running 0 23h 10.51.0.194 172.30.137.36 <none> <none>

NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment.apps/percona-server-mongodb-operator 1/1 1 1 23h percona-server-mongodb-operator perconalab/percona-server-mongodb-operator:main name=percona-server-mongodb-operator

NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
replicaset.apps/percona-server-mongodb-operator-58c459565b 1 1 1 23h percona-server-mongodb-operator perconalab/percona-server-mongodb-operator:main name=percona-server-mongodb-operator,pod-template-hash=58c459565b
[operator.log|attachment](upload://kzDXXeV3c2OYf2k4NAFQaGjNXFv.log) (199.0 KB)

```

---

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [January 25, 2022, 8:44am UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/7 "2022-01-25T08:44:27Z")

</div>

you must put the whole cluster in a namespace - that means the operator and mongodb

---

<div class="post-metadata">

**Author:** ![A\_Niu](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/a_niu/32/5518_2.png) [@A\_Niu](https://forums.percona.com/u/A_Niu)\
**Post date:** [January 25, 2022, 12:13pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/8 "2022-01-25T12:13:51Z")

</div>

It says:

> Deploying a database with Percona Operators creates pods that are namespace scoped. This provides interesting opportunities to run workloads on different namespaces for different teams, projects, and potentially, customers too.
> 
> Example: [Percona Distribution for MongoDB Operator](https://github.com/percona/percona-server-mongodb-operator/blob/9945e45c9037be53aaf860a6b8cb69c5c6fcc31d/deploy/operator.yaml#L4) and [Percona Server for MongoDB](https://github.com/percona/percona-server-mongodb-operator/blob/9945e45c9037be53aaf860a6b8cb69c5c6fcc31d/deploy/cr.yaml#L4) can be run on two different namespaces by adding namespace metadata fields.  
> from document: [Multi-Tenant Kubernetes Cluster with Percona Operators](https://www.percona.com/blog/multi-tenant-kubernetes-cluster-with-percona-operators#:~:text=The%20scope%20of%20k8s%20objects,cluster%20scope%20or%20namespace%20scoped.&text=Deploying%20a%20database%20with%20Percona,%2C%20and%20potentially%2C%20customers%20too).

---

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [January 25, 2022, 2:32pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/9 "2022-01-25T14:32:22Z")

</div>

Well works perfectly fine for me to run the whole cluster incl operator in a single namespace. You can make things complicated.

---

<div class="post-metadata">

**Author:** ![Ege\_Gunes](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/ege_gunes/32/4595_2.png) [@Ege\_Gunes](https://forums.percona.com/u/Ege_Gunes)\
**Post date:** [January 26, 2022, 5:26am UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/10 "2022-01-26T05:26:19Z")

</div>

Hi @A_Niu,

In the blog post you quote there is a operator deployment for each namespace. MongoDB Operator doesn’t support cluster wide deployments and you need to deploy the operator and the database cluster into same namespace.

---

<div class="post-metadata">

**Author:** ![A\_Niu](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/a_niu/32/5518_2.png) [@A\_Niu](https://forums.percona.com/u/A_Niu)\
**Post date:** [January 26, 2022, 4:53pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/11 "2022-01-26T16:53:12Z")

</div>

Thanks for clarification!

---

<div class="post-metadata">

**Author:** ![Sergey\_Pronin](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/sergey_pronin/32/14887_2.png) [@Sergey\_Pronin](https://forums.percona.com/u/Sergey_Pronin)\
**Post date:** [January 27, 2022, 12:41pm UTC](https://forums.percona.com/t/failed-to-create-mongodb-operator-and-db-cluster-in-different-namespaces/14060/12 "2022-01-27T12:41:38Z")

</div>


