Hot loading not working when using --mount-inotify with containerd runtime and Kubernetes enabled #910
Closed
1 of 5 tasks
Labels
bug
Something isn't working
Description
Based on the communication at the bottom of this thread, hot loading of Node JS apps should work when the Node JS workload(s) are deployed in the
default
Kubernetes namespace, and when containerd runtime is being used. This doesn't appear to be working for me.I installed colima with
brew install --HEAD colima
about 2-3 weeks ago.We are running 3 different JS apps, each with hot loading enabled and all working when running outside of colima. Here are the startup commands used for each app:
nodemon app.js
ENV=development webpack serve --color --progress --config webpack.development.js
nest start --watch
There are other apps running as well(i.e. MongoDB, redis and other services), but I have removed from here for brevity. All apps come up and run fine. All volume mounts are working fine as well ... I can
kubectl exec
into a pod and create a file, and can see it appear on the MacOS host.Here is a set of the Kubernetes manifests being used to deploy each Node JS app. The same manifests are being used for each of the 3 apps, just different names/labels etc. are used.
Persistent Volume
Persistent Volume Claim
Deployment
Version
colima version HEAD-f32b597
git commit: f32b597
runtime: containerd
arch: x86_64
client: v1.4.0
server: v1.7.2
limactl version 0.18.0
qemu-img version 8.1.2
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
Operating System
Output of
colima status
INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: x86_64
INFO[0000] runtime: containerd
INFO[0000] mountType: virtiofs
INFO[0000] address: 192.168.107.2
INFO[0000] kubernetes: enabled
Reproduction Steps
colima start
--mount $APP_ROOT_DIR/node-js-app1:/apps/node-js-app1
--mount $APP_ROOT_DIR/node-js-app2:/apps/node-js-app2
--mount $APP_ROOT_DIR/node-js-app3:/apps/node-js-app3
--runtime containerd
--kubernetes
--network-address
--mount-inotify
--dns 8.8.8.8
--dns 1.1.1.1
--vm-type vz
--mount-type virtiofs
--very-verbose
--cpu 4
--memory 8
--disk 20
kubectl config use-context colima
kubectl apply -f pv.yaml
kubectl apply -f pvc.yaml
kubectl apply -f app1.yaml
Repeat steps 3-5 for 2 other apps
Tail log for app1 using
kubectl logs --follow <APP1_POD>
Make code change to app1 code on the MacOS host
app1 log doesn't update/change as it normally would when code change is made.
Expected behaviour
Hot code loading should work when using containerd runtime and Kubernetes
Additional context
Also noting that the hot loading for containerd runtime should work in all Kubernetes namespaces, not just
default
as outlined in this thread.The text was updated successfully, but these errors were encountered: