kubernetes 如何解决:'禁止使用豆荚:用户“system:anonymous”无法监视名称空间“default”中API组“”中的资源“pod”

h9vpoimq  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(317)

我想使用Kubernetes作为Spark的资源管理器。
所以我想用spark-submit提交一个jar到spark cluster:

./bin/spark-submit  \
    --master k8s://https://vm13:6443 \
    --class com.example.WordCounter  \
    --conf spark.kubernetes.authenticate.driver.serviceAccountName=default  \
    --conf spark.kubernetes.container.image=private-docker-registery/spark/spark:3.2.1-3 \
    --conf spark.kubernetes.namespace=default \
    --conf spark.kubernetes.authenticate.submission.oauthToken=$TOKEN  \
    --conf spark.kubernetes.authenticate.caCertFile=api.cert \
    java-word-count-1.0-SNAPSHOT.jar

对于服务帐户
第一个
对于caCertFile,我使用了/etc/kubernetes/pki/apiserver.crt内容。
提交。oauthToken
kubectl get secret spark-token-86tns -o yaml | grep token
并使用令牌部分。
但仍然不工作,并且出现pods is forbidden: User "system:anonymous" cannot watch resource "pods" in API group "" in the namespace "default"错误

sr4lhrrt

sr4lhrrt1#

spark.kubernetes.authenticate.caCertFile必须是service account证书
spark.kubernetes.authenticate.submission.oauthToken也必须是service account令牌。
证书和令牌都可以在服务帐户秘密中找到。

  • 请小心解码service account证书和令牌(base64 -d)。

相关问题