Eine nette Rückkopplungsschleife für die lokale Entwicklung ist ein Thema der schnellen Entwicklung im Kubernetes-Ökosystem.
Um diese Frage aufzuschlüsseln, gibt es einige Tools, von denen ich glaube, dass sie dieses Ziel gut unterstützen.
Docker für Mac Kubernetes
Docker für Mac Kubernetes ( Docker Desktop ist der generische plattformübergreifende Name) bietet eine hervorragende Option für die lokale Entwicklung. Für die Virtualisierung wird HyperKit verwendet , das auf dem nativen Hypervisor-Framework in macOS anstelle von VirtualBox basiert .
Die Kubernetes-Funktion wurde erstmals im Januar 2018 als Beta auf dem Edge-Kanal veröffentlicht und hat seitdem einen langen Weg zurückgelegt. Sie wurde im April 2018 zu einer zertifizierten Kubernetes-Funktion und wurde im Juli 2018 zum stabilen Kanal .
Nach meiner Erfahrung ist die Arbeit mit Minikube viel einfacher als mit Minikube, insbesondere unter macOS und insbesondere bei Problemen wie RBAC, Helm, Hypervisor, privater Registrierung usw.
Helm
Für die Verteilung Ihres Codes und das lokale Abrufen von Updates ist Helm eine der beliebtesten Optionen. Sie können Ihre Anwendungen über CI / CD als Helm-Diagramme veröffentlichen (und auch die zugrunde liegenden Docker-Bilder, auf die sie verweisen). Anschließend können Sie diese Diagramme lokal aus Ihrer Helm-Diagrammregistrierung abrufen und in Ihrem lokalen Cluster aktualisieren.
Azure-Entwurf
Sie können auch ein Tool wie Azure Draft verwenden , um einfache lokale Bereitstellungen durchzuführen und grundlegende Helmdiagramme aus gängigen Sprachvorlagen zu erstellen, ähnlich wie Buildpacks, um dieses Puzzleteil zu automatisieren.
Gerüst
Skaffold ähnelt Azure Draft, ist jedoch ausgereifter, hat einen viel breiteren Anwendungsbereich und wurde von Google erstellt. Es hat eine sehr steckbare Architektur. Ich denke, in Zukunft werden mehr Leute es für die lokale App-Entwicklung für Kubernetes verwenden.
Wenn Sie React verwendet haben, stelle ich mir Skaffold als " Create React App for Kubernetes" vor.
Kompose oder Compose auf Kubernetes
Docker Compose ist zwar nicht mit Kubernetes verwandt, stellt jedoch eine Alternative dar, mit der einige Unternehmen eine einfache, einfache und tragbare lokale Entwicklungsumgebung bereitstellen, die der Kubernetes-Umgebung entspricht, die sie in der Produktion ausführen. Wenn Sie diesen Weg gehen, müssen Sie jedoch Ihre Produktions- und lokalen Entwicklungskonfigurationen voneinander trennen.
Kompose ist ein Konverter von Docker Compose zu Kubernetes. Dies könnte ein nützlicher Pfad für jemanden sein, der seine Anwendungen bereits lokal als Containersammlungen ausführt.
Compose on Kubernetes ist ein Open-Source- Angebot (Dezember 2018) von Docker, mit dem Docker Compose-Dateien über einen benutzerdefinierten Controller direkt in einem Kubernetes-Cluster bereitgestellt werden können.