Releases: nats-io/nats-operator
Releases · nats-io/nats-operator
Release v0.4.2
Installing
Docker Image: connecteverything/nats-operator:0.4.2-v1alpha2
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.4.2/00-prereqs.yaml
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.4.2/10-deployment.yaml
Added
- Added
extraRoutes
field to extend a cluster mesh with other NATS clusters (#130)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-dev-v2"
spec:
size: 3
version: "1.4.1"
extraRoutes:
# Explicit route endpoint
- route: "nats://example.com:6222"
# Discover implicit routes from nats-dev-v1 cluster
- cluster: "nats-dev-v1"
- Added support for annotations (#111)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-dev-v1"
spec:
pod:
# Disable istio on nats pods
annotations:
sidecar.istio.io/inject: "false"
- Added support to allow a single operator to manage clusters in the whole cluster.
Currently the operator has to be deployed on thenats-io
namespace to work cluster wide,
and it can be enabled by setting the flag--feature-gates=ClusterScoped=true
when starting the operator (#118)
apiVersion: apps/v1
kind: Deployment
metadata:
name: nats-operator
namespace: nats-io
spec:
replicas: 1
selector:
matchLabels:
name: nats-operator
template:
metadata:
labels:
name: nats-operator
spec:
serviceAccountName: nats-operator
containers:
- name: nats-operator
image: connecteverything/nats-operator:0.4.2-v1alpha2
imagePullPolicy: IfNotPresent
args:
- nats-operator
# Perform a cluster-scoped deployment.
- --feature-gates=ClusterScoped=true
ports:
- name: readyz
containerPort: 8080
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
readinessProbe:
httpGet:
path: /readyz
port: readyz
initialDelaySeconds: 15
timeoutSeconds: 3
- Lame duck mode also now supported, when using edge versions of the NATS server (#105)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "example-nats-1"
spec:
size: 3
serverImage: "synadia/nats-server"
version: "edge-2.0.0-RC5"
lameDuckDurationSeconds: 30 # seconds
- Added support to enable monitoring using https (#131)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-cluster"
spec:
size: 3
version: "1.4.1"
tls:
enableHttps: true
serverSecret: "nats-clients-tls"
- Added verify and map toggle to enable TLS certs based authorization (#132)
(Only available in edge version of the NATS server)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-cluster"
spec:
size: 3
serverImage: "synadia/nats-server"
version: "edge-2.0.0-RC5"
tls:
serverSecret: "nats-clients-tls"
auth:
tlsVerifyAndMap: true
clientsAuthSecret: "nats-clients-auth"
- Added
pod.enableClientsHostPort
parameter to make the NATS servers bind the port 4222 from the host (#123)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-dev"
spec:
size: 3
version: "1.4.0"
pod:
enableClientsHostPort: true
- Added
noAdvertise
field to disable gossiping routes to clients (#123)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "example-nats-1"
spec:
size: 3
version: "1.4.0"
noAdvertise: true
- Added support to advertise the external ip addresses by inspecting the K8S API using an initializer container
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-dev"
spec:
size: 3
version: "1.4.0"
pod:
# Must use host port to be able to connect to external ip
enableClientsHostPort: true
advertiseExternalIP: true
bootconfigImage: "connecteverything/nats-boot-config"
bootconfigImageTag: "0.5.0"
# Required to be able to lookup public ip address from a server
template:
spec:
serviceAccountName: "nats-server"
Changed
-
Default NATS Server image is changed to
v1.4.0
-
Add metrics port to mgmt service so that prometheus operator can discover it (#112)
-
NATS Server pods that have reached the terminal state (#108)
Fixed
Release v0.3.0
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.3.0/deployment.yaml
Added
- Prometheus support added to the operator (#40)
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-cluster-metrics"
spec:
size: 3
version: "1.3.0"
serverImage: "nats"
pod:
enableMetrics: true
metricsImage: "synadia/prometheus-nats-exporter"
metricsImageTag: "0.1.0"
- Image can now be customized
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
name: "nats-cluster-custom"
spec:
size: 3
version: "1.3.0"
serverImage: "my-org/nats"
v0.2.3 (v1alpha2)
# RBAC
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.2.3/deployment-rbac.yaml
# Non RBAC
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.2.3/deployment.yaml
Added
- Alpha support for Service Accounts integration using new NatsServiceRole CRD (#58)
Fixed
v0.2.2 (v1alpha2)
# RBAC
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.2.2/deployment-rbac.yaml
# Non RBAC
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.2.2/deployment.yaml
Added
- Server configuration reload when PID namespace sharing is enabled in Kubernetes +v1.10 (#48)
- Authorization support (#38)
Changed
- Names from a cluster are now stable a la StatefulSet (#45)
- ConfigMap for the cluster is replaced now with a Secret (#50)
Fixed
v0.2.0 (v1alpha2)
# RBAC
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.2.0/deployment-rbac.yaml
# Non RBAC
kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.2.0/deployment.yaml
Added
- ConfigMap based cluster formation with explicit routes (#26)
- Pods from a NATS cluster now each get an A record under management service
- TLS support is enabled by using wildcard certificates which can be mounted with secrets (#27)
- Minikube based build (#25)
Changed
- CRD now registers with
v1alpha2
version (#29) - Use of official NATS image for containers
- nats-operator deployment manifest now using
apps/v1beta2
Deployment API (supported since k8s v1.8.0) 8defe65#diff-e87d9ff03678a45cd0da2aca55f6fe9c
Fixed
- Included Dev section added to readme, codegen tooling updates (#24)
Removed
- Readiness check checking cluster formation via custom image has been removed (f54b89a)
Deprecated
Static
field fromtls
block fromv1alpha1
API has been deprecated