{"id":19902838,"url":"https://github.com/eficode-academy/kubernetes-katas","last_synced_at":"2025-05-15T12:05:20.703Z","repository":{"id":37445667,"uuid":"120297737","full_name":"eficode-academy/kubernetes-katas","owner":"eficode-academy","description":"Deliberate exercises for Kubernetes","archived":false,"fork":false,"pushed_at":"2025-02-13T14:17:15.000Z","size":771,"stargazers_count":278,"open_issues_count":12,"forks_count":289,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T22:18:45.944Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eficode-academy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-05T11:46:49.000Z","updated_at":"2025-03-25T19:51:01.000Z","dependencies_parsed_at":"2024-01-17T16:25:43.427Z","dependency_job_id":"3cfc2418-16df-4679-9154-687655d9e3ad","html_url":"https://github.com/eficode-academy/kubernetes-katas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eficode-academy%2Fkubernetes-katas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eficode-academy%2Fkubernetes-katas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eficode-academy%2Fkubernetes-katas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eficode-academy%2Fkubernetes-katas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eficode-academy","download_url":"https://codeload.github.com/eficode-academy/kubernetes-katas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337613,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T20:19:48.323Z","updated_at":"2025-05-15T12:05:15.689Z","avatar_url":"https://github.com/eficode-academy.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kubernetes-katas\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)][gitpod]\n\nA selection of [katas][kata-def] for Kubernetes (k8s).\n\nThe exercises are ordered in the way we think it makes sense to introduce Kubernetes concepts.\n\nYou can find a summary of many of the commands used in the exercises in the\n[cheatsheet.md](cheatsheet.md).\n\n\u003e :exclamation: The katas expect that you have access to a kubernetes cluster.\n\u003e Please have a look at the [Setup](#setup) section if that is not the case.\n\u003e There are plenty of free and easy options.\n\n## Katas in suggested order\n\n- [intro](intro.md)\n- [desired-state](desired-state.md)\n- [manifests](manifests.md)\n- [accessing-your-application](accessing-your-application.md)\n- [services](services.md)\n- [deployments-ingress](deployments-ingress.md)\n- [rolling-updates](rolling-updates.md)\n- [configmaps-secrets](configmaps-secrets.md)\n- [persistent-storage](persistent-storage.md)\n\n## Setup\n\nThere are several ways to get a free Kubernetes cluster for running the exercises.\n\n[Amazon][eks], [Google][gke], [Microsoft][aks] and [Oracle][oke] provide various degrees of free\nmanaged clusters.\n\nAlternatively, you can set up a local cluster with [Docker\nDesktop][docker-desktop] or [Kind][kind].\n\nOnce you have access to a cluster, the following exercises will help you get setup for running the katas.\n\n- [setup-kubectl-linux](old/exercise_setup/00-setup-kubectl-linux.md) - Skip if\n  you've already installed `kubectl` and have access to a cluster.\n- [setup-namespace](old/exercise_setup/00-setup-namespace.md) - Skip if you've\n  already created a personal namespace and set it as your default.\n\n### kubectl autocompletion\n\nOn Linux, using bash, run the following commands:\n\n```shell\necho \"source \u003c(kubectl completion bash)\" \u003e\u003e ~/.bashrc\n. ~/.bashrc\n```\n\nThe commands above will enable kubectl autocompletion when you start a new bash session and source\n(reload) bashrc i.e. enable kubectl autocompletion in your current session.\n\nSee: [Kubernetes.io - Enabling shell autocompletion][autocompletion] for more info.\n\n## Cheatsheet\n\nA collection of useful commands to use throughout the exercises:\n\n```shell\nkubectl api-resources         # List resource types\n\n\nkubectl explain \u003cresource\u003e    # Show information about a resource\nkubectl explain deployment\n\n\n# List resources in cluster\nkubectl get \u003cresource\u003e                    # In current namespace\nkubectl get \u003cresource\u003e -n \u003cnamespace\u003e     # In specific namespace\nkubectl get \u003cresource\u003e --all-namespaces   # In all namespaces\nkubectl get \u003cresource\u003e -o wide            # Add extended information\nkubectl get \u003cresource\u003e -o yaml            # output in YAML format\nkubectl get \u003cresource\u003e -o json            # output in JSON format\n\n# Example\nkubectl get pods [-n abc|--all-namespaces] [-o wide|yaml|json]\n\n```\n\nSee:\n[kubectl - Cheat Sheet](https://kubernetes.io/docs/reference/kubectl/cheatsheet/)\nfor a more extended overview of the `kubectl` command.\n\n[gitpod]: https://gitpod.io/#https://github.com/eficode-academy/kubernetes-katas\n[kata-def]: https://en.wikipedia.org/wiki/Kata\n[eks]: https://aws.amazon.com/ecs/pricing/\n[gke]: https://cloud.google.com/kubernetes-engine/pricing#cluster_management_fee_and_free_tier\n[aks]: https://azure.microsoft.com/en-us/pricing/free-services/\n[oke]: https://www.oracle.com/cloud/free/#free-cloud-trial\n[docker-desktop]: https://docs.docker.com/desktop/\n[kind]: https://kind.sigs.k8s.io/\n[autocompletion]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feficode-academy%2Fkubernetes-katas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feficode-academy%2Fkubernetes-katas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feficode-academy%2Fkubernetes-katas/lists"}