Expose services
StreamNative Platform provides the ingress
component to expose following services.
- Pulsar Proxy
- StreamNative Console
- Grafana
Access types
You can configure Pulsar service with different types according to the scenarios, such as ClusterIP
, NodePort
and LoadBalancer
, and use different access methods for different types.
-
ClusterIP
exposes services through the internal IP of the cluster. When selecting this type of service, you can only access it within the cluster by the following methods:- ClusterIP + ServicePort
- Service domain name (
${serviceName}.${namespace}
) + ServicePort
-
LoadBalancer
: clients connect to Pulsar proxies, Grafana, StreamNative Console using the Kubernetes provider’s load balancer. -
NodePort
: If there is no LoadBalancer, you can choose to expose the service through NodePort. NodePort exposes services through the node’s IP address and static port. You can access aNodePort
service from outside of the cluster by requesting NodeIP + NodePort
Here is an example about obtaining the Pulsar services information by running the following command.
Example
The above example describes the information of the Pulsar broker service in the snpe
namespace. The type is ClusterIP
. The ServicePort is 8080
and 6650
. The NodePort
is 31062
and 32198
.
Access Pulsar cluster using load balancer
To allow external access to the Pulsar cluster using load balancers, follow these steps.
-
Set the following in the Pulsar configuration YAML file.
-
Apply the new configuration.
-
Get the external IP address or the URL.
Then you can access the Pulsar cluster through the
proxy-ingress
HOST/IP address. The relative port should be8080/6650
for non-TLS access and443/6651
for TLS access.
Access StreamNative Console and Grafana using load balancer
StreamNative Platform provides the same interface for the client accessing StreamNative Console and Grafana services.
To allow external access to the StreamNative Console and Grafana using load balancers, follow these steps.
-
Set the following in the Pulsar configuration YAML file.
-
Apply the new configuration.
-
Get the external IP address or the URL.
You can access StreamNative Console and Grafana through
nginx-ingress-controller
HOST/IP address. The relative port is80
.- StreamNative Console URL:
http://[nginx-ingress-HOST]/
- Grafana URL:
http://[nginx-ingress-HOST]/grafana
- StreamNative Console URL: