NATS群集和认证管理
First we need to install the cert-manager component from jetstack:
kubectl create namespace cert-manager
kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.0/cert-manager.yamlIf you are running Kubernetes < 1.15, use cert-manager-legacy.yaml instead.
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: selfsigning
spec:
selfSigned: {}clusterissuer.certmanager.k8s.io/selfsigning unchangedNext, let's create the CA for the certs:
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: nats-ca
spec:
secretName: nats-ca
duration: 8736h # 1 year
renewBefore: 240h # 10 days
issuerRef:
name: selfsigning
kind: ClusterIssuer
commonName: nats-ca
usages:
- cert sign
organization:
- Your organization
isCA: true
---
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
name: nats-ca
spec:
ca:
secretName: nats-caNow create the certs that will match the DNS name used by the clients to connect, in this case traffic is within Kubernetes so we are using the name nats which is backed up by a headless service (here is an example of sample deployment)
In case of using the NATS operator, the Routes use a service named $YOUR_CLUSTER-mgmt (this may change in the future)
Now let's create an example NATS cluster with the operator:
Confirm that the pods were deployed:
Follow the logs:
最后更新于