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

Check and confirm the installation and execution on Windows #94

Open
yorugac opened this issue Jan 25, 2022 · 9 comments
Open

Check and confirm the installation and execution on Windows #94

yorugac opened this issue Jan 25, 2022 · 9 comments
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers hacktoberfest

Comments

@yorugac
Copy link
Collaborator

yorugac commented Jan 25, 2022

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 🎉
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
Copy link
Collaborator Author

yorugac commented Jan 26, 2023

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.

@pablochacin
Copy link
Collaborator

@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?

@javaducky
Copy link
Contributor

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.

@yorugac
Copy link
Collaborator Author

yorugac commented Jan 30, 2023

@pablochacin I've also thought so before! 😂 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.

@immavalls
Copy link

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/controller-gen@v0.3.0 2](http://sigs.k8s.io/controller-tools/cmd/controller-gen@v0.3.0) ;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 🙇‍♀️

@bldev2473
Copy link

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

@immavalls
Copy link

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?

@javaducky
Copy link
Contributor

This should be considered resolved given grafana/k6-docs#1251 .

@yorugac
Copy link
Collaborator Author

yorugac commented Jul 14, 2023

@javaducky I have to disagree with closing this issue 😅 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 👍

@yorugac yorugac reopened this Jul 14, 2023
@yorugac yorugac changed the title Create a step-by-step guide for beginners Check and confirm the installation and execution on Windows Jul 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers hacktoberfest
Projects
None yet
Development

No branches or pull requests

5 participants