HostPath mit Minikube - Kubernetes
UPDATE: Ich habe eine Verbindung zum minikubevm hergestellt und sehe, dass mein Host-Verzeichnis angehängt ist, aber es gibt dort keine Dateien. Auch wenn ich dort eine Datei erstelle, wird sie nicht auf meinem Hostrechner gespeichert. Beliebige Verknüpfungen sind zwischen ihnen
Ich versuche, ein Host-Verzeichnis für die Entwicklung meiner App mit kubernetes bereitzustellen.
Wie vom Dokument empfohlen, verwende ich minikube zum Ausführen meines Kubernetes-Clusters auf meinem PC. Ziel ist es, eine Entwicklungsumgebung mit Docker und Kubernetes für die Entwicklung meiner App zu erstellen. Ich möchte ein lokales Verzeichnis bereitstellen, damit mein Docker die Code-App von dort liest. Aber es geht nicht. Jede Hilfe wäre sehr dankbar.
Meine Test-App (server.js):
var http = require('http');
var handleRequest = function(request, response) {
response.writeHead(200);
response.end("Hello World!");
}
var www = http.createServer(handleRequest);
www.listen(8080);
my Dockerfile:
FROM node:latest
WORKDIR /code
ADD code/ /code
EXPOSE 8080
CMD server.js
my pod kubernetes configuration: (pod-configuration.yaml)
apiVersion: v1
kind: Pod
metadata:
name: apiserver
spec:
containers:
- name: node
image: myusername/nodetest:v1
ports:
- containerPort: 8080
volumeMounts:
- name: api-server-code-files
mountPath: /code
volumes:
- name: api-server-code-files
hostPath:
path: /home/<myuser>/Projects/nodetest/api-server/code
ein Ordner ist:
/home/<myuser>/Projects/nodetest/
- pod-configuration.yaml
- api-server/
- Dockerfile
- code/
- server.js
Wenn ich mein Docker-Image ohne das HostPath-Volume ausführe, funktioniert es natürlich, aber das Problem ist, dass ich bei jeder Änderung ein Image neu erstellen muss, das für die Entwicklung nicht sehr leistungsfähig ist. Deshalb benötige ich das Volume HostPath.
Irgendeine Idee ? Warum kann ich mein lokales Verzeichnis nicht mounten?
Danke für die Hilfe