Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running Argo on hybrid Kubernetes cluster #1383

Closed
mkfp opened this issue May 30, 2019 · 7 comments · Fixed by #2747
Closed

Running Argo on hybrid Kubernetes cluster #1383

mkfp opened this issue May 30, 2019 · 7 comments · Fixed by #2747
Labels
area/windows Windows Container support

Comments

@mkfp
Copy link

mkfp commented May 30, 2019

Is this a BUG REPORT or FEATURE REQUEST?:
FEATURE REQUEST?
I couldn't find a way to solve.

What happened:
I want to run argo on a hybrid Kubernetes Linux/Windows cluster.
When I run it on windows node, I got an error on mounting /var/run/docker.sock,
or running an image argoproj/argoexec:v2.3.0.
Does argo support Windows?
If not, are there any plans for future support?

Environment:

  • Argo version:
argo: v2.3.0
  BuildDate: 2019-05-20T22:11:09Z
  GitCommit: 88fcc70dcf6e60697e6716edc7464a403c49b27e
  GitTreeState: clean
  GitTag: v2.3.0
  GoVersion: go1.11.5
  Compiler: gc
  Platform: linux/amd64
  • Kubernetes version :
    (on Windows worker node)
clientVersion:
  buildDate: "2019-04-08T17:11:31Z"
  compiler: gc
  gitCommit: b7394102d6ef778017f2ca4046abbaa23b88c290
  gitTreeState: clean
  gitVersion: v1.14.1
  goVersion: go1.12.1
  major: "1"
  minor: "14"
  platform: windows/amd64
serverVersion:
  buildDate: "2019-04-08T17:02:58Z"
  compiler: gc
  gitCommit: b7394102d6ef778017f2ca4046abbaa23b88c290
  gitTreeState: clean
  gitVersion: v1.14.1
  goVersion: go1.12.1
  major: "1"
  minor: "14"
  platform: linux/amd64
@sarabala1979
Copy link
Member

This issue will resolve in #1419. You can configure the docker.sock path

@mkfp
Copy link
Author

mkfp commented Jul 17, 2019

Do I need to run argo-workflow-controller on Linux and Windows nodes respectively?
Or is there any way to switch settings depending on the operating system of the node where the pod is running?

@gatepoet
Copy link

gatepoet commented Jul 26, 2019

You can build a custom argoexec multi platform image and use that.

#1507

@lippertmarkus
Copy link
Member

lippertmarkus commented Apr 19, 2020

I added support for hybrid clusters in #2747 if you want to have a look.
@sarabala1979 Although argoexec works on Windows with my changes, it doesn't work with Docker sockets as Windows named pipe requires hostPath type to be null instead of type Socket (see kubernetes/kubernetes#69484). Also we would need an option to configure different dockerSockPath depending e.g. on the host OS to get real hybrid support with the Docker workflow executor. This currently only works with kubelet or k8sapi.

@sarabala1979
Copy link
Member

you can able to configure the customer socket path in config map #1419

@lippertmarkus
Copy link
Member

lippertmarkus commented Apr 19, 2020

yeah but for Windows I need to set the hostPath type to null. It's currently not configurable and hard-coded here: https://github.com/argoproj/argo/blob/master/workflow/controller/workflowpod.go#L80

@sarabala1979
Copy link
Member

Feel free to contribute. suggestions are

  1. Code can automatically set null as default for windows container if there is no configuration DockerSockPath in Configmap.
  2. Have config flag in config map disableDockerPath

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/windows Windows Container support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants