Optionen für die Cluster-Ingress-CA
Codesphere unterstützt jetzt mehrere Optionen zum Ausstellen und Verwalten der Cluster-Ingress-CA, die zum Signieren von Zertifikaten für den gesamten Ingress-Traffic innerhalb des Clusters verwendet wird. Diese Flexibilität ermöglicht die Auswahl des besten Ansatzes für die Sicherheits- und Betriebsanforderungen der jeweiligen Organisation.
Verfügbare Issuer-Optionen
| Option | Beschreibung | Beispielhaftes Einsatzszenario |
|---|---|---|
| Self-Signed (Standard) | Erzeugt lokal eine neue selbstsignierte CA. | Schneller Einstieg, Test oder wenn keine Organisations-CA verfügbar ist. |
| Organisations-CA | Verwendet die vorhandene CA oder Zwischen-CA der Organisation zum Signieren von Ingress-Zertifikaten. | Enterprise-Umgebungen mit zentraler CA-Verwaltung. |
| Externer Issuer | Integration mit einer externen Zertifizierungsstelle (z. B. HashiCorp Vault, AWS PCA, Let's Encrypt). | Automatisierte Zertifikatsverwaltung, Cloud-native Umgebungen. |
Konfiguration
In der config.yaml kann der Zertifikats-Issuer über die Option codesphere.certIssuer ausgewählt werden. Der Legacy-Block cluster.certificates.ca wird für Self-Signed und Organisations-CA verwendet, während externe Issuer über codesphere.certIssuer konfiguriert werden.
Self-Signed oder Organisations-CA:
codesphere:
certIssuer:
type: self-signed
cluster:
certificates:
ca:
algorithm: RSA # oder ECDSA
keySizeBits: 2048 # oder 4096 usw.
certPem: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
certIssuer-Optionen:
Das Feld codesphere.certIssuer unterstützt die folgenden Typen:
self-signed: Verwendet eine selbstsignierte CA (Standard, keine ACME-Integration)acme: Verwendet das ACME-Protokoll (z. B. Let's Encrypt) für automatisierte Zertifikatsverwaltung
Für ACME müssen die ACME-Server-URL, die eigene E-Mail-Adresse und optional eine EAB-Key-ID (External Account Binding) angegeben werden. Der ACME-Private-Key und der EAB-Key sind Secrets und müssen der SOPS-Vault-Konfiguration hinzugefügt werden.
Beispiel: Self-Signed
codesphere:
certIssuer:
type: self-signed
cluster:
certificates:
ca:
algorithm: RSA # oder ECDSA
keySizeBits: 2048 # oder 4096 usw.
certPem: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Anforderungen an SOPS-Vault-Secrets für Self-Signed CA:
- Der Private Key für die selbstsignierte CA muss im SOPS-Vault (prod.vault.yaml) unter dem Schlüssel
selfSignedCaKeyPemgespeichert werden.
Beispiel SOPS-Vault-Eintrag:
secrets:
- name: selfSignedCaKeyPem
file:
name: ca.key
content: |
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
Beispiel: ACME (Let's Encrypt, mit Cloudflare-DNS-Solver)
codesphere:
certIssuer:
type: acme
acme:
server: https://acme-v02.api.letsencrypt.org/directory
eabKeyId: <optionale-eab-key-id>
cluster:
certificates:
override:
issuers:
acme:
# Konfiguration des DNS-Solvers (Override in der Deployment-Konfiguration):
dnsSolver:
cloudflare:
apiTokenSecretRef:
name: acme-solver
key: api-token
solverSecret:
name: acme-solver
data:
api-token: <api-token>
Anforderungen an SOPS-Vault-Secrets für ACME:
- Der EAB-MAC-Key (falls verwendet) muss unter dem Schlüssel
acmeEabMacKeygespeichert werden.
Beispiel SOPS-Vault-Eintrag:
secrets:
- name: acmeEabMacKey
fields:
key: <eigener-eab-mac-key>
Hinweis:
- Die DNS-Solver-Konfiguration muss als Override in der Deployment-Konfiguration hinzugefügt werden, passend zum jeweiligen DNS-Provider (z. B. Cloudflare, Route53 usw.).
- Für Cloudflare werden
apiTokenSecretRefundsolverSecretwie oben gezeigt verwendet.
Hinweis:
- Für Self-Signed und Organisations-CA müssen sowohl der Private Key als auch die Zertifikats-PEM-Blöcke angegeben werden.
- Bei externen Issuern hängen die Integrationsfelder vom jeweiligen externen CA-Provider ab. Die erforderlichen Felder sind der Dokumentation des jeweiligen Providers zu entnehmen.
Die richtige Option wählen
- Self-Signed: Am einfachsten einzurichten, allerdings muss das Vertrauen an alle Benutzer/Geräte verteilt werden.
- Organisations-CA: Empfohlen für Produktion und Enterprise-Einsatz, nutzt die vorhandene Vertrauensinfrastruktur.
- Externer Issuer: Am besten geeignet für automatisierte Zertifikatsverwaltung und Cloud-native Workflows.