GitHub user jesumyip added a comment to the discussion: struggling with pulsar
functions in kubernetes
@michaeljmarshall Yes, using helm. Our ops team created a helm subchart that
combined pulsar,redis, and istio.
Here are the values we use:
```
pulsar:
enabled: true
namespace: datastream
initialize: true
persistence: true
volumes:
persistence: true
local_storage: false
components:
# zookeeper
zookeeper: true
# bookkeeper
bookkeeper: true
# bookkeeper - autorecovery
autorecovery: true
# broker
broker: true
# functions
functions: true
# proxy
proxy: true
# toolset
toolset: true
# pulsar manager
pulsar_manager: false
monitoring:
# monitoring - prometheus
prometheus: true
# monitoring - grafana
grafana: true
# monitoring - node_exporter
node_exporter: true
# alerting - alert-manager
alert_manager: true
certs:
internal_issuer:
# use cert-manager to provision TLS certificates
enabled: true
tls:
enabled: true
common:
organization:
- "Test Demo"
proxy:
enabled: true
broker:
enabled: true
bookie:
enabled: true
zookeeper:
enabled: true
autorecovery:
enabled: true
toolset:
enabled: true
auth:
authentication:
enabled: true
jwt:
# set to true if generated keys are symmetric; otherwise, false
usingSecretKey: false
authorization:
enabled: true
superUsers:
# broker to broker communication
broker: "broker-admin"
# proxy to broker communication
proxy: "proxy-admin"
# pulsar-admin client to broker/proxy communication
client: "admin"
# component settings
zookeeper:
nodeSelector:
workload: stream
volumes:
persistence: true
data:
name: data
size: 20Gi
local_storage: false
storageClassName: regional-storage-pd-balanced
bookkeeper:
nodeSelector:
workload: stream
affinity:
type: preferredDuringSchedulingIgnoredDuringExecution
volumes:
persistence: true
useSingleCommonVolume:
journal:
name: journal
size: 10Gi
local_storage: false
storageClassName: regional-storage-pd-balanced
ledgers:
name: ledgers
size: 50Gi
local_storage: false
storageClassName: regional-storage-pd-balanced
autorecovery:
nodeSelector:
workload: stream
affinity:
type: preferredDuringSchedulingIgnoredDuringExecution
broker:
nodeSelector:
workload: stream
proxy:
nodeSelector:
workload: stream
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 6
affinity:
anti_affinity: true
type: preferredDuringSchedulingIgnoredDuringExecution
service:
annotations:
networking.gke.io/load-balancer-type: "Internal"
type: LoadBalancer
ingress:
enabled: false
dashboard:
nodeSelector:
workload: stream
toolset:
nodeSelector:
workload: stream
prometheus:
nodeSelector:
workload: stream
volumes:
persistence: true
data:
name: data
size: 10Gi
local_storage: false
storageClassName: regional-storage-pd-balanced
grafana:
nodeSelector:
workload: stream
service:
type: ClusterIP
ingress:
enabled: false
pulsar_manager:
nodeSelector:
workload: stream
redis-ha:
enabled: true
nodeSelector:
workload: cache
local-storage-provisioner:
enabled: false
gateway:
service:
# Type of service. Set to "None" to disable the service entirely
type: None
ports:
- name: status-port
port: 15021
protocol: TCP
targetPort: 15021
- name: http2
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
- name: pulsar
port: 6650
protocol: TCP
targetPort: 6650
- name: pulsar-ssl
port: 6651
protocol: TCP
targetPort: 6651
annotations:
networking.gke.io/load-balancer-type: "Internal"
loadBalancerIP: "<redacted>"
loadBalancerSourceRanges: [<redacted>]
externalTrafficPolicy: ""
externalIPs: []
```
GitHub link:
https://github.com/apache/pulsar/discussions/18332#discussioncomment-4063359
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]