Database problems (Mongodb/DocumentDB)
The most common problem with databases is the connection between the application and the database. In such a case, there are several things to check:
-
Check the connection string in the application settings. If you are connecting to your mongo db or documentdb use the mongodb protocol and if your mongo instance is in mongo atlas you can use mongo+svr to connect to the cluster in atlas
-
Check network policy. The most common problem we see is a lack of node-appropriate network policy. Check the network policies on both the mongo server side and the cluster you have applications on.
-
Check the permissions of the user the application is using. Servers that connect to the mongo server for the first time create their own database and collections (if they do not exist). If your user from which the application connects has too low permissions the service will not be able to create the database/collection which will cause problems. If your organisation's policies do not allow such permissions you will need to manually create databases and collections on your mongo server. In the case of documentdb which has a restriction on multi transactions you will still need to create this manually
Problems with Rabbitmq
Each application from the IMS product uses the rabbitmq message broker. Below are the most common problems along with a description of the solutions.
-
Network connection problem. If your rabbitmq cluster is in a different namespace, on a different cluster or on a different machine check the network policy and if there are problems open the appropriate traffic between the application cluster and the rabbitmq cluster.
-
Permissions issue. Ensure that a user is created on the rabbitmq cluster with the correct read and write permissions and that this is used in the application configuration.
Problems with image registry (ImagePullBackOff)
If you are encountering an ImagePullBackOff problem check if there is a secret type object in your namespace that contains credentials for your image registry. You can plug such a secret directly into the pod by adding the name of the secret under the imagePullSecrets key in the deployment definition. You can also connect such a secret to the ServiceAccount object used by the pods.
*Kubernetes Docs pull image from private registry (opens in a new tab)