You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装spark-on-k8s-operator时配置DNS以启用Webhook求助

关于spark-on-k8s-operator配置自定义dnsConfig和dnsPolicy的求助

我已在spark-on-k8s-operator项目仓库提交了Issue,现向有相关经验的开发者求助。

我的K8s集群存在网络限制,必须为spark-on-k8s-operator配置自定义的dnsConfig和dnsPolicy。例如需要在Helm Chart的values.yaml中添加以下配置:

dnsConfig:
  nameservers:
  - XXX.XX.X.XXX
dnsPolicy: ClusterFirstWithHostNet

这个配置是必需的——如果不为集群中的Pod设置dnsPolicy: ClusterFirstWithHostNet,Webhook初始化阶段将无法解析kubernetes.default.svc域名,导致init-webhook和clean-up-webhook均报错。

我必须启用Webhook,才能让SparkApplication中driver和executor的自定义dnsConfig、dnsPolicy生效,但目前配置未达到预期效果。

我已经尝试过以下方案,但都未能解决问题:

  • 部署后使用kubectl replace -f webhook.yaml --force命令编辑Webhook Job(Webhook Job内容如下)
  • 编辑spark-operator的Deployment

Webhook Job的配置内容:

apiVersion: batch/v1
kind: Job
metadata:
  annotations:
    helm.sh/hook: pre-install, pre-upgrade
    helm.sh/hook-weight: "50"
  creationTimestamp: "2024-03-02T14:27:44Z"
  generation: 1
  labels:
    app.kubernetes.io/instance: spark
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: spark-operator
    app.kubernetes.io/version: v1beta2-1.3.8-3.1.1
    helm.sh/chart: spark-operator-1.1.27
  name: spark-spark-operator-webhook-init
  namespace: spark-operator
  resourceVersion: "8042824"
spec:
  backoffLimit: 6
  completionMode: NonIndexed
  completions: 1
  parallelism: 1
  suspend: false
  template:
    metadata:
    spec:
      containers:
      - command:
        - /usr/bin/gencerts.sh
        - -n
        - spark-operator
        - -s
        - spark-spark-operator-webhook
        - -r
        - spark-spark-operator-webhook-certs
        - -p
        image: ghcr.io/googlecloudplatform/spark-operator:v1beta2-1.3.8-3.1.1
        imagePullPolicy: IfNotPresent
        name: main
        resources: {}
        securityContext: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirstWithHostNet
      dnsConfig:
        nameservers:
        - XXX.XXX.X.X
      restartPolicy: OnFailure
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: spark-spark-operator
      serviceAccountName: spark-spark-operator
      terminationGracePeriodSeconds: 30

内容的提问来源于stack exchange,提问作者Paulo Henrique Zen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:06:35