用cfssl保护NATS群集

Secure NATS Cluster in Kubernetes using the NATS Operator

Features

  • Clients TLS setup

  • TLS based auth certs via secret

    • Reloading supported by only updating secret

  • Routes TLS setup

  • Advertising public IP per NATS server for external access

Creating the Certificates

Generating the Root CA Certs

{
    "CN": "nats.io",
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "OU": "nats.io"
        }
    ]
}

Setup the profiles for the Root CA, we will have 3 main profiles: one for the clients connecting, one for the servers, and another one for the full mesh routing connections between the servers.

Generating the NATS server certs

First we generate the certificates for the server.

Generating the NATS server routes certs

We will also be setting up TLS for the full mesh routes.

Generating the certs for the clients (CNCF && ACME)

Kubectl Create

Create the Auth secret

Create a cluster with TLS

Create APP using certs

Adding a new pod which uses the certificates

Development

Pod spec

最后更新于