Guidance for OPAL deployment in kubernetes - 1 server + 1 client in same pod, separate server deployment, etc? #390
Replies: 2 comments 1 reply
-
Hi @phil-lee-kb Yes running multiple servers for multiple clients is fine - and not much different from running one server with multiple workers (they too need to connect via the backbone pubsub)
You can serve different clients with different needs from one Server (or cluster of servers) using different topics for policy and/or data ; or using different OPAL scopes.
That would work. Though you don't need to scale the servers linearly with the clients.
It's not common practice, but it's okay. |
Beta Was this translation helpful? Give feedback.
-
Yes, very much okay - just make sure the load-balancer is websocket (long lived connection) friendly.
Yes. every time a client loses connection and reconnects - it assumes it needs to fetch data from scratch. and does so according to to the servers OPAL_DATA_SOURCES_CONFIG |
Beta Was this translation helpful? Give feedback.
-
Hi there,
I figured I'd start a separate thread as this one is a topic in its own right....
We're looking at deploying OPAL into k8s, and I'm interested in recommendations for how to configure it in terms of server vs client instances. Essentially, I'm thinking of having a standalone OPAL deployment (where deployment means a group of OPAL pods running the same configuration, in their own namespace), where each pod has an OPAL server container + the OPAL client container. This is slightly different from the helm example provided, which has the OPAL server deployed separately to the client, and which in theory would mean one server could have multiple clients, and potentially have clients in different namespaces. Hence my question as to whether this is a standard deployment model for OPAL? It would result in more chat between the server instances via the backbone as the number of pods increases, but that doesn't seem like a major issue to me.
We may also have a use case where we want to deploy OPAL sidecars as part of application pods. I.e. 1 pod = application container + OPAL server container + OPAL client container.
I guess I'm interested in whether having the OPAL server sit alongside the OPAL client in the same pod is common practice? This also has implications for releases such as rolling deployments, so I'm keen for any guidance or examples from the wild.
Thanks,
Phil
Beta Was this translation helpful? Give feedback.
All reactions