Skip to main content

NATS


설치

helm repo add nats https://nats-io.github.io/k8s/helm/charts

NATS

helm repo update nats \
&& helm search repo nats/nats -l | head -n 10
helm show values nats/nats \
--version 1.1.2 \
> nats-values.yaml
nats-values.yaml
fullnameOverride: ""

config:
cluster:
enabled: true
replicas: 3

jetstream:
enabled: true

fileStore:
enabled: true
dir: /data

pvc:
size: 10Gi

merge:
spec:
accessModes:
- "ReadWriteOnce"

memoryStore:
enabled: false

merge:
# <<>> 로 감싸면 "" 없이 입력 그대로 설정됩니다.
max_payload: << 1MB >> # 최댓값: 64MB, 권장 최댓값: 8MB

# authorization:
# users:
# - user: << $NATS_USER >>
# password: << $NATS_PASSWORD >>
# - nkey: <nkey-user>
accounts:
dev:
users: []
prod:
users: []
SYS:
users:
- user: << $NATS_ADMIN_USER >>
password: << $NATS_ADMIN_PASSWORD >>

system_account: SYS

container:
env:
NATS_ADMIN_USER:
valueFrom:
secretKeyRef:
name: <secretName>
key: user
NATS_ADMIN_PASSWORD:
valueFrom:
secretKeyRef:
name: <secretName>
key: password
merge:
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
memory: 1Gi

service:
ports:
monitor:
enabled: true

statefulSet:
merge:
metadata:
labels: {}

podTemplate:
merge:
metadata:
labels:
app.kubernetes.io/name: nats
app.kubernetes.io/instance: <fullname>
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: nats
app.kubernetes.io/instance: <fullname>
topologyKey: kubernetes.io/hostname
weight: 100
tolerations: []

natsBox:
enabled: false
helm template nats nats/nats \
--version 1.1.2 \
-n event \
-f nats-values.yaml \
> nats.yaml
helm upgrade nats nats/ntas \
--install \
--version 1.1.2 \
-n event \
--history-max 5 \
-f nats-values.yaml

NACK

kubectl apply -f https://github.com/nats-io/nack/releases/download/v0.12.0/crds.yml
helm repo update nats \
&& helm search repo nats/nack -l | head -n 10
helm show values nats/nack \
--version 0.23.0 \
> nack-values.yaml
nack-values.yaml
resources:
requests:
cpu: 10m
memory: 64Mi
limits:
memory: 64Mi
helm template nack nats/nack \
--version 0.23.0 \
-n event \
-f nack-values.yaml \
> nack.yaml
helm upgrade nack nats/nack \
--install \
--history-max 5 \
--version 0.23.0 \
-n event \
-f nack-values.yaml

Test

kubectl run -i --rm --tty nats-box --image=natsio/nats-box --restart=Never