NATS 集群和证书管理
First we need to install the cert-manager component from jetstack:
首先我们需要从 jetstack 安装 cert-manager 组件:
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.
如果你使用 < 1.15 版本的 Kubernetes,请使用 cert-manager-legacy.yaml
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:
接下来,创建 CA:
---
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-ca现在创建客户端用于连接的DNS名称匹配的证书,在这个场景下,流量将在 Kuberntes 内部,所以我们使用实际上是 headless service nats 的DNS名称(这个一个headless service 的示例)
In case of using the NATS operator, the Routes use a service named $YOUR_CLUSTER-mgmt (this may change in the future)
如果使用 NATS operator, 路由使用一个名叫 $YOUR_CLUSTER-mgm (未来可能会修改)的service
Now let's create an example NATS cluster with the operator:
现在用 operator 创建一个NATS 集群的示例:
确认所有的 pods 都已部署完成:
查看日志:
最后更新于
这有帮助吗?