我正在尝试使用Kubernetes创建一个Web服务器来托管jar文件。我想从我的使用Spark运算符作为CRD部署的spark应用程序访问此jar文件。因此,我想以这种方式提供此文件的链接,其中 httpd_server 应该是IP地址:
mainApplicationFile: httpd-server:80/spark_k8s.jar
为此,我使用httpd映像和LoadBalancer服务定义了部署。为了显示数据,我将本地目录安装到minikube中,并将其用作httpd部署中的主机路径。但是,由于某种原因,当我执行部署的Pod以及minikube节点本身时(使用ssh minikube时),此jar文件不可见。
此问题的原因可能是什么? Minikube版本是v0.32.0,kubernetes集群版本是v1.13.0
这是我挂载目录的方式:
minikube mount /home/user/full/path/to/the/directory:/import_data
Mounting /home/user/full/path/to/the/directory into /import_data on the minikube VM
This daemon process needs to stay alive for the mount to still be accessible...
ufs starting
我之前通过ssh在minikube上创建了import_data目录。 这就是我要在httpd部署中使用它的方式:
apiVersion: apps/v1
kind: Deployment
metadata:
name: httpd-deployment
spec:
selector:
matchLabels:
app: httpd
replicas: 1
template:
metadata:
labels:
app: httpd
spec:
containers:
- name: httpd
image: httpd:2.4
ports:
- name: httpd-server
containerPort: 80
volumeMounts:
- name: jar-pv-storage
mountPath: /usr/local/apache2/htdocs
volumes:
- name: jar-pv-storage
hostPath:
path: /import_data
type: Directory