As far as I can tell the only way to deploy the whole application from Kubernetes is within Windows. I am running a Linux Master with Windows nodes, and I'm confused with which components are required to deploy the eShop on my setup. Thanks in advance!
Hi @AdisPinjic
Sorry, could you elaborate a bit more your question? I am not sure to understand what do you need!
Hey, sorry if I made my issue unclear. I am following this guide from the eShop wiki
When trying to deploy the eShop on my setup (on a Windows node with Helm) it became clear that some of the components require a Linux based host, since some of the .yml files tried to pull Alpine images. I'm wondering how I am supposed to integrate these components on the same Windows-based node. A bigger issue is that I'm getting "ErrImagePull" and "ImagePullBackOff" on every pod, even the Windows based ones so I'm kinda at a loss. My Windows nodes are running the newest version of Windows Server 2019 if it matters.
Thanks for trying to resolve my issue :)
Hi!
Deployment on k8s using Helm was never intended to support Windows Containers (and windows nodes). Now that Kubernetes 1.14 is out with official support for Windows Containers adding this support is something we can consider (@nishanil has the latest word on it). Regardless the support of windows containers in Kubernetes 1.14, AKS still don't support windows nodes (it is in private preview).
Deploying the eShop on Windows Containers is supported through docker compose (and SF).
Anyway, if you have experience with k8s and windows containers could try:
docker-compose.windows.yml you can find the name of the external images for Windows Containers.Values.image.repository and .Values.image.tag for setting the image name and the image tag.Hope this helps :)
Thanks a lot! I will look into this and hopefully provide this thread with my solutions.
Edit: Probably won't have time to look into this becuase of my bachelor's thesis, was hoping to use this as an example application with autoscaling etc. implemented
Hi @AdisPinjic
Eager to view your comments!
By the way i made some important updates to make easier the multiarch support. Let me summarize those changes here:
docker-compose.yml uses a env var named PLATFORM. This allows build images tagged by platform. If not set, platform assumed is "Linux". When building under Windows, using docker compsoe, the value of PLATFORM should be set to win. This will generate tags like win-latest or linux-latest../build/multiarch-manifests/ folder to create and push the multiarch manifests to a docker registry. As we are using docker manifest CLI that means that this script has all limitations that docker manifest has. I have refreshed all images to ensure that latest versions of all images are built for both windows & linux containers.On our Dockerhub these are the following floating tags that are mantained:
Hope this helps, and don't hesitate to comment anything!
Most helpful comment
Hi @AdisPinjic
Eager to view your comments!
By the way i made some important updates to make easier the multiarch support. Let me summarize those changes here:
docker-compose.ymluses a env var namedPLATFORM. This allows build images tagged by platform. If not set, platform assumed is "Linux". When building under Windows, using docker compsoe, the value ofPLATFORMshould be set towin. This will generate tags likewin-latestorlinux-latest../build/multiarch-manifests/folder to create and push the multiarch manifests to a docker registry. As we are usingdocker manifestCLI that means that this script has all limitations thatdocker manifesthas. I have refreshed all images to ensure that latest versions of all images are built for both windows & linux containers.On our Dockerhub these are the following floating tags that are mantained:
Hope this helps, and don't hesitate to comment anything!