-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
Umbrella issue for Katacoda removal #33936
Comments
/triage accepted |
https://github.com/kubernetes-sigs/contributor-katacoda |
Hey @reylejano Do we have to remove all these pages you've mentioned in the Pages to Update |
@Debanitrkl mentioned on Slack that SIG ContribEx is looking at killercoda @shannonxtreme mentioned turning the katacoda tutorials to use minikube Do we as SIG Docs want to continue to maintain these tutorials if they use killercoda or minikube? |
Imo we can direct users to playgrounds or minikube or whatever (maybe a standard before you begin that says set up a Kubernetes cluster using an option such as X, Y, or Z) and keep our responsibilities scoped to platform agnostic instructions. I just enjoyed the interactive tutorials, but maintaining their compatibility and maintenance with platform X shouldn't be on SIG Docs |
As far as I know, the katacoda examples are using minikube at the moment ? $ start.sh
Starting Kubernetes...minikube version: v1.18.0
commit: ec61815d60f66a6e4f6353030a40b12362557caa-dirty
* minikube v1.18.0 on Ubuntu 18.04 (amd64)
* Using the none driver based on existing profile
An older version (1.18 vs 1.25), and run from a control plane terminal, but anyway. Note: the "none" driver of minikube is basically just a wrapper around It also deploys the kubernetes dashboard, which is otherwise equally painful to set up. |
Yeah they are using minikube so we'd basically be directing the user to use minikube wherever they want, instead of using the katacoda playground. It'll be less directly interactive sadly |
I added some notes and links, on how to improve the minikube "none" driver for this scenario. EDIT: also added an example on how to use the "docker" driver for setting up two fakenodes Providing the virtual machine and the web console for it would be up to the "learning platform". |
This comment was marked as off-topic.
This comment was marked as off-topic.
I suggest that we change the page templates so that any page using a Katacoda shortcode gets a removal warning, to explain that Katacoda is shutting down. https://gohugo.io/templates/shortcode-templates/#checking-for-existence explains how to write a conditional based on the presence of a shortcode. |
FYI: We use Katacoda heavily for the Thanos project, and we discussed some alternatives to consider - but definitely not in so short timespan: thanos-io/thanos#5385 TL;DR https://killercoda.com/ (mentioned already) or https://instruqt.com/ |
Hi team. I run the product team at O'Reilly, and we've set up a separate server for Kubernetes.io. The Katacoda scenarios on those pages will not be affected by the shutdown of the public site. My apologies for the miscommunication. @reylejano I've sent you an email with more context. |
Does that mean even this is supported, because it also comes under Kubernetes upstream but not directly linked to kubernetes.io |
https://katacoda.com/k8scontributors will not survive the shutdown of https://katacoda.com/ and does need to be migrated. I recommend @Debanitrkl that you file a separate issue elsewhere, for SIG ContribEx to track. |
/remove-priority important-soon We need to decide what priority to set for this. |
I made a patched version of ubuntu $ minikube version
minikube version: v1.28.0
commit: b45c13b3eb399ba7c63db31609f4a013b1f8d638
ubuntu $ minikube start --driver=none --force
😄 minikube v1.28.0 on Ubuntu 20.04 (amd64)
❗ minikube skips various validations when --force is supplied; this may lead to unexpected behavior
✨ Using the none driver based on existing profile
⛔ Requested cpu count 2 is greater than the available cpus of 1
⛔ None has less than 2 CPUs available, but Kubernetes requires at least 2 to be available
⛔ Requested cpu count 2 is greater than the available cpus of 1
⛔ None has less than 2 CPUs available, but Kubernetes requires at least 2 to be available
🧯 The requested memory allocation of 1983MiB does not leave room for system overhead (total system memory: 1983MiB). You may face stability issues.
💡 Suggestion: Start minikube with less memory allocated: 'minikube start --memory=1983mb'
👍 Starting control plane node minikube in cluster minikube
🔄 Restarting existing none bare metal machine for "minikube" ...
ℹ️ OS release is Ubuntu 20.04.5 LTS
🐳 Preparing Kubernetes v1.25.3 on Docker 20.10.12 ...
▪ kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🤹 Configuring local host environment ...
❗ The 'none' driver is designed for experts who need to integrate with an existing VM
💡 Most users should use the newer 'docker' driver instead, which does not require root!
📘 For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
❗ kubectl and minikube configuration will be stored in /root
❗ To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
▪ sudo mv /root/.kube /root/.minikube $HOME
▪ sudo chown -R $USER $HOME/.kube $HOME/.minikube
💡 This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: default-storageclass, storage-provisioner
💡 kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
ubuntu $ minikube kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.3", GitCommit:"434bfd82814af038ad94d62ebe59b133fcb50506", GitTreeState:"clean", BuildDate:"2022-10-12T10:57:26Z", GoVersion:"go1.19.2", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.3", GitCommit:"434bfd82814af038ad94d62ebe59b133fcb50506", GitTreeState:"clean", BuildDate:"2022-10-12T10:49:09Z", GoVersion:"go1.19.2", Compiler:"gc", Platform:"linux/amd64"}
ubuntu $ minikube kubectl -- get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ubuntu NotReady control-plane 50s v1.25.3 172.30.1.2 <none> Ubuntu 20.04.5 LTS 5.4.0-131-generic docker://20.10.12 There is of course a large number of warnings, and you do have to install some extra dependencies: sudo apt update
sudo apt install -y conntrack socat
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
curl -LO https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.0/cri-dockerd_0.3.0.3-0.ubuntu-focal_amd64.deb
sudo dpkg -i cri-dockerd_0.3.0.3-0.ubuntu-focal_amd64.deb But cri-tools and cni-plugins have already been installed, from the deprecated kubic repositories.
Docker was installed, using the system packages (not from the vendor packages, on docker.com). https://packages.ubuntu.com/focal-updates/docker.io |
@reylejano I updated the issue description to highlight the new GitHub discussion. |
I would suggest to remove minikube, also from the first scenario (all other scenarios start with it running). https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/ - call it "Connect to Cluster" or such ? This will allow migrating to killercoda, and leaving "Hello, Minikube" as the only page needing Then, if someone wants to contribute scenarios on how to install and run minikube or kind "from scratch"... But those can probably refer to the project documentation, and link straight over to minikube and kind sites ? The killercoda environment comes with a pre-installed and running kubeadm environment, without For the user, this means they can start directly with |
That's a good approach! However, I'm likely unsure if sig-docs is maintaining the minikube documentation. How would it sound to redirect an important topic link of Kubernetes documentation to the documentation outside the Kubernetes docs :( ? |
We are talking about the "Hello, Minikube" page for Katacoda here, not the minikube documentation... So it would then look more like the information on this page: https://kubernetes.io/docs/tasks/tools/ It's fine to keep the separate page of course, but then it needs to be kept in sync with the project. And the k8s.io front page today, skips right over it - and goes straight to "Learn Kubernetes Basics" |
Please use #38878 to discuss what should replace Katacoda - we haven't yet decided. |
I'm proposing that we work towards removing Katacoda by the end of March 2023. How does that sound, Kubernetes folks? |
Banner to announce that: #39257 |
Let's get this done asap. We keep receiving complaints about Katacoda not working as documented. There are simply many issues reported none gets addressed in time. |
I've contacted O'Reilly with our proposed shutdown date (end of March 2023). |
I purpose to continue using minikube in the future implementation, (for example https://killercoda.com/examples/scenario/kubernetes-1node) since minikube provides special features for local development (such as fast "image build" and "dashboard" and mount, ...) , that would be more realistic way of helping user in their journey so they could continue it on their local machine as well. most users are not interested to bootstrap using kubeadm but they are more interested in building/accessing their apps. |
The best place to propose how we replace Katacoda is in the discussion that we're using. |
Hello regarding the katakoda shutdown I would like to request to convert the katakoda tutorials to a plain-text format to keep on kuberentes websites, these scenarios are very important for new users who just wanna try Kubernetes and at least we could save these tutorials that users have loved for years in a text format |
@medyagh, the best place to propose that work is as a new feature request. Visit https://github.com/kubernetes/website/issues/new/choose to file one, and reference #33936 (comment) when you do. If you want to be part of the discussion about different options, see #38878. |
@marcosnils you asked in #38878 (comment) about progress. This umbrella issue (and the child issues it covers) is where we track progress. |
Let's close this, and open new issues for any snagging we encounter. /close |
@sftim: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Also see #42505 |
Problem
(The public part of) Katacoda shut down on June 15, 2022
https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html
The remaining part of Katacoda, that Kubernetes uses, is due to shut down
late 2022early 2023.Related to #33918 and #38785
Discussion
Use the GitHub Discussion to discuss what we should replace Katacoda with.
Specific steps
SIG Docs members propose to edit pages that use Katacoda to mark that the sandbox is unavailable. When an alternative is available then update the affected pages to use the alternative.
Pages to Update:
https://kubernetes.io/docs/tutorials/hello-minikube/
https://kubernetes.io/docs/tutorials/kubernetes-basics/
https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/
https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/
https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/
https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/
https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/
https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/
https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/
https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-interactive/
https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/
https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-interactive/
https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/
https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/scale-intro/
https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/scale-interactive/
https://kubernetes.io/docs/tutorials/kubernetes-basics/update/
https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/
https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-interactive/
https://kubernetes.io/docs/tutorials/configuration/
https://kubernetes.io/docs/tutorials/configuration/configure-java-microservice/
https://kubernetes.io/docs/tutorials/configuration/configure-java-microservice/configure-java-microservice/
https://kubernetes.io/docs/tutorials/configuration/configure-java-microservice/configure-java-microservice-interactive/
https://kubernetes.io/docs/tutorials/configuration/configure-redis-using-configmap/
https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#version-removal
Additional Information
/remove-kind bug
/priority important-soon
The text was updated successfully, but these errors were encountered: