Configure all components to use TLS when networking with each other.
Modifications
Update several config maps to enable hostname verification.
Update the Pulsar cluster initialization script so that the function worker discovers the correct zookeeper host and port for TLS
Add a zero-trust example values file as an example of how to configure Pulsar for a complete TLS deployment
Notes
One important warning is that that the TLS deployment will only correctly work when deploying the brokers as a Stateful Set. I'm not sure that this requirement was explicitly stated before. However, it is essential in order to ensure that brokers are addressable by a unique DNS name because their advertisedAddress is used in the Pulsar protocol, and clients will fail connections due to hostname verification failure if the broker's advertised address is not a DNS entry pointing to that broker.
Motivation
Configure all components to use TLS when networking with each other.
Modifications
Notes
One important warning is that that the TLS deployment will only correctly work when deploying the brokers as a Stateful Set. I'm not sure that this requirement was explicitly stated before. However, it is essential in order to ensure that brokers are addressable by a unique DNS name because their
advertisedAddress
is used in the Pulsar protocol, and clients will fail connections due to hostname verification failure if the broker's advertised address is not a DNS entry pointing to that broker.