Kubernetes Liveness and Readiness Probes
All Corda worker pods are configured with Kubernetes A powerful tool for managing containerized applications at scale, making it easier for teams to deploy and manage their applications with high reliability and efficiency. liveness and readiness probes. These poll the status of the worker’s internal component registry.
If any component reports that it is in an error state, the liveness probe fails and Kubernetes eventually restarts the pod. During normal operation, pods should not cause failures of the liveness probe and the Cluster Administrator should monitor for failures in the Kubernetes events stream.
The readiness probe fails if any Corda components report that they are down. During worker startup, this is expected behavior and all the components should eventually report that they are up, resulting in the pod being marked as ready. Failures in the readiness probe after a worker has started successfully are typically the result of issues with downstream services (for example, Kafka The means by which Corda workers communicate, acting as a central message bus between the worker processes. or Postgres). These situations should be recoverable, but a Cluster Administrator should monitor for Kubernetes pods that are not marked as ready as these will not be processing work. In regard to workers that expose HTTP endpoints (the gateway worker A worker designed to communicate with external Corda clusters via HTTPS. They have restricted access only to specific topics on the Kafka bus and view only the minimum information needed for their role. and P2P Link Manager worker A worker that manages the secure transmission of packets to peers. The main functional component is the Link Manager, which establishes end-to-end secure sessions for virtual nodes to communicate over. ), Kubernetes will not route HTTP requests to a worker that is not ready.
Was this page helpful?
Thanks for your feedback!
Chat with us
Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.
Propose documentation improvements directly
Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.
We're sorry this page wasn't helpful. Let us know how we can make it better!
Chat with us
Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.
Create an issue
Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.
Propose documentation improvements directly
Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.