k6-operator icon indicating copy to clipboard operation
k6-operator copied to clipboard

Check and confirm the installation and execution on Windows

Open yorugac opened this issue 3 years ago • 9 comments

Currently k6-operator has only a tutorial in blog post and a README for options. It has been suggested that a quick, step-by-step guide could be of use too.

Also to consider: move README content to a separate docs folder / .md files, to simplify options lookup, etc.


July 2023 update

There's now a new step-by-step guide in k6-docs here :tada: This guide is OS-agnostic so some details could still be added. Most "in-demand" are likely specifics of Windows setup. It'd be good to confirm the installation is executing correctly on Windows and what the differences between Windows and Linux / MacOS are.

yorugac avatar Jan 25 '22 12:01 yorugac

Additionally, consider different setups people can start with:

  • minikube
  • kind
  • EKS
  • etc.

There can be different 'tricks' involved with each one. Arguably, this can be seen as "duplicating Kubernetes resources" so IMHO, it's a thin line for what makes sense to include.

yorugac avatar Jan 26 '23 18:01 yorugac

@yorugac Given that most (if not all) the operation is done using standard Kubernetes commands with kubectl and as far as I know there is neither services to expose nor persistent storage to provision, I'm wondering what parts of the documentation you would expect to change from one Kubernetes environment to another?

pablochacin avatar Jan 26 '23 18:01 pablochacin

I would like to mention that I've recorded multiple demonstrations (k6 Office Hours and CNCF Live Webinar) and have a step-by-step demo available in https://github.com/javaducky/demo-k6-operator.

javaducky avatar Jan 27 '23 12:01 javaducky

@pablochacin I've also thought so before! :joy: But sometimes new folk encounter issues that are really caused by their setup but it is perceived as a problem of the operator. E.g. most noticeable (by my memory) are networking issues, DNS. Or Windows-related issues. AFAIK, even experienced Docker users and developers may encounter issues of such sort when setting up a local env.

I don't think this can be solved in full as it is a matter of studying Kubernetes and its deployment, and there are other resources to learn that. But if we could add a command-by-command guide for common local environments of Kubernetes, that might help a bit, IMHO. At least, it would be some specific points that can be referenced by new users. k3d in Paul's example seems to be done like that: with specific commands that can be just copy-pasted.

yorugac avatar Jan 30 '23 11:01 yorugac

Based on https://community.k6.io/t/make-deploy-issue-from-controller-gen/5871/16, we should review the instructions on https://k6.io/blog/running-distributed-tests-on-k8s/ for Windows OS. I have not tested beyond the point where make deploy fails yet, but we might find other issues needing Windows guidance.

process_begin: CreateProcess(NULL, which controller-gen, …) failed.
Makefile:114: pipe: Bad file descriptor
process_begin: CreateProcess(NULL, which kustomize, …) failed.
Makefile:129: pipe: Bad file descriptor
process_begin: CreateProcess(NULL, { set -e ;CONTROLLER_GEN_TMP_DIR=$(mktemp -d) ;cd $CONTROLLER_GEN_TMP_DIR ;go mod init tmp ;go install [sigs.k8s.io/controller-tools/cmd/[email protected] 2](http://sigs.k8s.io/controller-tools/cmd/[email protected]) ;rm -rf $CONTROLLER_GEN_TMP_DIR ;}, …) failed.
make (e=2): The system cannot find the file specified.
make: *** [Makefile:115: controller-gen] Error 2

I'll get back here when/if I have time to test further 🙇‍♀️

immavalls avatar May 16 '23 08:05 immavalls

I manually installed controller-gen and kustomize with go command, and removed the code that install those in Makefile. Any update for Windows?

bldev2473 avatar Jun 21 '23 17:06 bldev2473

Thanks for getting back, I still needed to look into it. Did that work for you, @bldev2473 ? Does the rest of the tutorial work well if you do that part manually?

immavalls avatar Jun 21 '23 17:06 immavalls

This should be considered resolved given https://github.com/grafana/k6-docs/pull/1251 .

javaducky avatar Jul 13 '23 18:07 javaducky

@javaducky I have to disagree with closing this issue :sweat_smile: While initial goal is indeed reached, this issue is also tracking other cases. I think a Windows-specific guide (or at least a list of key differences) would also be beneficial, given the frequency of questions coming up about it. Going by the comments above, there's also a non-zero probability of bugs in Makefile that are showing up only on Windows.

I'll edit the name and description of the issue to reflect the new situation though :+1:

yorugac avatar Jul 14 '23 13:07 yorugac