Verdict-as-a-Service Produktivbetrieb im eigenen Kubernetes Cluster.
Die Installation entspricht weitestgehend der Beschreibung in unserer Testanleitung, jedoch mit folgenden Abweichungen:
-
anstelle des Minikube verwenden Sie Ihren Kubernets Cluster.
-
es sind gewöhnlich mehr Anpassungen notwendig.
Im Folgenden werden zusätzliche Informationen dargelegt, die für den Einsatz von Verdict-as-a-Service im Produktivbetrieb von Relevanz sind.
Produktionsumgebung
Für den produktiven Einsatz müssen ein einige Werte konfiguriert werden.
Ingress
Der voreingestellte Hostname ist "vaas". Um ihn zu ändern und eine tls-Konfiguration bereitzustellen, fügen Sie die folgenden Zeilen in Ihre values.yaml ein:
mini-identity-provider:
issuer: "http://vaas/auth"
ingress:
className: ""
hosts:
- host: vaas
paths:
- path: /auth(/|$)(.*)
pathType: ImplementationSpecific
service:
name: provider
port: 8080
tls: []
gateway:
ingress:
className: ""
hosts:
- host: vaas
paths:
- path: /ws
pathType: ImplementationSpecific
service:
name: gateway
port: 9090
- host: vaas
paths:
- path: /
pathType: ImplementationSpecific
service:
name: gateway
port: 8080
tls: []
uploadUrl: "http://vaas/upload"
Ersetzen Sie "vaas" durch Ihren Hostnamen in den folgenden Werten:
-
mini-identity-provider.issuer
-
mini-identity-provider.ingress.hosts.0.host
-
gateway.ingress.0.host
-
gateway.ingress.1.host
-
gateway.uploadUrl
Benötigen Sie einen zu "default" abweichenden ingressClassName, setzen Sie:
-
gateway.ingress.className
-
mini-identity-provider.ingress.className
Zero-trust Netzwerk-Konfigurationen
Wenn Sie eine Zero-Trust-Netzwerkkonfiguration verwenden, müssen die Netzwerkrichtlinien aktiviert sein (Standard). Der Update-CronJob erfordert Zugriff auf die Kubernetes-API. Schlägt das Update mit Logeinträgen wie diesen fehl
E0603 09:35:50.444603 1 memcache.go:265] couldn't get current server API group list: Get "https://10.96.0.1:443/api?timeout=32s": dial tcp 10.96.0.1:443: i/o timeout
konfigurieren Sie den k8sApiPort:
gdscan:
autoUpdate:
networkPolicy:
k8sApiPort: 6443
Verwaltung der Secrets in der Datei values.yaml
In der Standardkonfiguration werden alle Secrets durch helm chart erzeugt. Wenn Sie diese selbst verwalten möchten oder ArgoCD verwenden, können Sie die Secrets in der values.yaml angeben.
Parameter | Description | Value |
---|---|---|
mini-identity-provider.auth.existingSecret |
Verwenden Sie ein bestehendes Secret für die Anmeldedetails (auth.secret wird ignoriert und von diesem Secret übernommen). Das Secret muss die keys id und das Secret enthalten. |
"" |
mini-identity-provider.auth.secret |
Das client secret |
"" |
mini-identity-provider.auth.id |
Die Client id |
"vaas" |
mini-identity-provider.signing.existingSecret |
Verwenden Sie ein bestehendes Secret für "signing details" (signing.cert und signing.key werden ignoriert und von diesem Secret übernommen). Das Secret muss das keys tls.cert und den tls.key |
"" |
gateway.uploadToken.existingSecret |
Use existing secret for signing the upload token |
"" |
gateway.uploadToken.key |
The upload token signing key |
"" |
mini-identity-provider.signing.crt |
Das signing/encryption Zertifikat im PEM-Format |
"" |
mini-identity-provider.signing.key |
Der signing/encryption private key im PEM-Format |
"" |
Stellen Sie Ihr eigenes Secret zur Verfügung:
-
mini-identity-provider.auth.existingSecret
-
mini-identity-provider.signing.existingSecret
-
gateway.uploadToken.existingSecret
Verwenden Sie das Secret in der value.yaml:
-
mini-identity-provider.auth.secret
-
mini-identity-provider.auth.id
-
mini-identity-provider.signing.crt
-
mini-identity-provider.signing.key
-
gateway.uploadToken.key
Mit folgendem Befehl können Sie das Zertifikat und den privaten Schlüssel erzeugen
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -x509 -key private_key.pem -out certificate.pem -days 3650 -subj "/CN=Mini Identity Provider Server Signing Certificate"
Sie können den "upload token signing key" mit folgendem Befehl generieren:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 256 | head -n 1
Sollten Sie Unterstützung benötigen, stehen Ihnen unsere Experten bei der Verdict-as-a-Service Produktiv Einführung selbstverständlich gerne zur Verfügung.