来自服务器的错误(错误请求):容器"test-run-spark"中的容器"spark-kubernetes-driver"正在等待启动:尝试拉取映像但失败


macos中的minikube无法从docker存储库中提取docker映像。

尝试在k8s 上运行spark

spark-submit --master k8s://https://ip:port --deploy-mode cluster --name test-run-spark --conf spark.kubernetes.container.image=Docker-image --conf spark.kubernetes.driver.container.image=docker4tg/Docker-image --conf spark.kubernetes.executor.container.image=docker4tg/Docker-image --conf spark.kubernetes.driver.pod.name=test-run-spark --class [class] --num-executors 1 --executor-memory 512m --driver-memory 512m --driver-cores 2 --executor-cores 2 --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark local:///[jar].jar

使用相同的docker镜像,我可以将docker镜像拉到本地。但是k8s pod不能,但这里有缓存。同一个图像只有几个标签,我向上或向下移动mkdir命令来更改哈希,成功了。我没有进行逻辑更改,但它对3到4个标签都很有效,复制成功运行。我无法理解

请帮我解决这个问题。

Dockerfile


FROM ubuntu:18.04
ARG SPARKVERSION=tmpsVersion
ARG HADOOPVERSION=tmpHVersion
ENV SPARK_VERSION=$SPARKVERSION
ENV HADOOP_VERSION=$HADOOPVERSION
RUN sed -i s/http/ftp/ /etc/apt/sources.list && apt-get update -y
RUN apt-get install wget -y
RUN apt-get install openjdk-8-jdk -y
RUN sed -i s/http/ftp/ /etc/apt/sources.list && apt-get update -y
RUN mkdir -p /opt/spark/work-dir
WORKDIR /opt/spark/work-dir
RUN wget -O spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz  https://archive.apache.org/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz
RUN tar -xzvf spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz -C /opt/spark/
RUN rm -rf spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz
RUN mv -f /opt/spark/spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}/* /opt/spark/
RUN rm -rf /opt/spark/spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}
ENV SPARK_HOME=/opt/spark
ENV PATH="${SPARK_HOME}/bin:${PATH}"
RUN mkdir -p /opt/spark/data-jars/
COPY [jar.jar] /opt/spark/data-jars/
ENTRYPOINT [ "/opt/spark/kubernetes/dockerfiles/spark/entrypoint.sh" ]

错误:

kubectl get pods; kubectl logs test-run-spark
NAME             READY   STATUS             RESTARTS   AGE
test-run-spark   0/1     ImagePullBackOff   0          2m36s
Error from server (BadRequest): container "spark-kubernetes-driver" in pod "test-run-spark" is waiting to start: trying and failing to pull image

请帮我处理这些家伙

您的minikube环境与主机隔离,因此,如果您的主机上已经有映像,或者您可以提取映像,这并不意味着您可以在minikube中执行相同的操作。

如果您想在minikube上下文中构建图像:

# export minikube docker config
eval $(minikube docker-env)
# build your image directly in minikube
docker build 

如果您在本地有图像,您可以通过以下方式将其加载到minikube

minikube image load IMAGE_NAME

如果您想让minikube从专用远程注册表(例如:dockerhub(中提取映像,您可以按照以下说明将注册表凭据添加到minikube中。

相关内容

最新更新