k6-operator
k6-operator copied to clipboard
Check and confirm the installation and execution on Windows
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.
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 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?
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.
@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.
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 🙇♀️
I manually installed controller-gen and kustomize with go command, and removed the code that install those in Makefile. Any update for Windows?
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?
This should be considered resolved given https://github.com/grafana/k6-docs/pull/1251 .
@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: