我是 Kubernetes 新手。我们在 Kubernetes 中部署了一个 presto (starburst) 集群,我们正在尝试为 presto 集群实施 SSL 证书。
基于以下 URL,我创建了一个密钥库(在我的本地计算机中)并且必须将此密钥库路径填充到“http-server.https.keystore.path”
https://docs.starburstdata.com/latest/security/internal-communication.html
但是,该文件必须分布在整个集群中。如果我输入本地路径,那么 Kubernetes 会抛出“找不到文件”错误。您能否让我知道如何在 kubernetes 的 presto 集群中分发它。
我已尝试将密钥库创建为秘密并将其安装到卷上。
kubectl create secret generic presto-keystore --from-file=./keystore.jks
kind: Presto
metadata:
name: stg-presto
spec:
clusterDomain: cluster.local
nameOverride: stg-presto
additionalVolumes:
- path: /jks
volume:
secret:
secretName: presto-keystore
additionalJvmConfigProperties: |
image:
name: xxxxx/presto
pullPolicy: IfNotPresent
tag: 323-e.8-k8s-0.20
prometheus:
enabled: true
additionalRules:
- pattern: 'presto.execution<name=TaskManager><>FailedTasks.TotalCount'
name: 'failed_tasks'
type: COUNTER
service:
type: NodePort
name: stg-presto
memory:
nodeMemoryHeadroom: 30Gi
xmxToTotalMemoryRatio: 0.9
heapHeadroomPerNodeRatio: 0.3
queryMaxMemory: 1Pi
queryMaxTotalMemoryPerNodePoolFraction: 0.333
coordinator:
cpuLimit: "5"
cpuRequest: "5"
memoryAllocation: "30Gi"
image:
pullPolicy: IfNotPresent
additionalProperties: |
http-server.http.enabled=false
node.internal-address-source=FQDN
http-server.https.enabled=true
http-server.https.port=8080
http-server.https.keystore.path=/jks/keystore.jks
http-server.https.keystore.key=xxxxxxx
internal-communication.https.required=true
internal-communication.https.keystore.path=/jks/keystore.jks
internal-communication.https.keystore.key=xxxxxxx
还尝试创建配置并将其安装为卷。但仍然得到'引起:java.io.FileNotFoundException:/jks/keystore.jks(没有这样的文件或目录)'。
如果遗漏任何东西,请告诉我。
谢谢