【发布时间】:2020-07-31 13:56:39
【问题描述】:
我是 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
还尝试创建配置并将其安装为卷。但仍然得到'Caused by: java.io.FileNotFoundException: /jks/keystore.jks (No such file or directory)'。
如果有遗漏,请告诉我。
谢谢
【问题讨论】:
-
当您使用 Starburst 时,正确的文档链接是 docs.starburstdata.com/latest/security/…(我在上面也对其进行了更新,以供后代使用)。
-
嗨@PiotrFindeisen,我已经尝试了Tarun在下面提到的方法1.创建了configMap kubectl create configmap presto-keystore --from-file=/cert/keystore.jks 2.在下面使用Presto yaml 文件 AdditionalBootstrapScriptVolume: configMap: name: presto-keystore 3. 此外,在同一个 Presto yaml 文件中使用了协调器和工作人员的属性。附加属性:| internal-communication.https.keystore.path=presto-keystore 但仍然遇到“找不到文件”的问题。如果遗漏任何东西,请您告知。谢谢
标签: kubernetes presto kubernetes-pod starburst