{"id":19062749,"url":"https://github.com/devinmatte/kube-demo","last_synced_at":"2026-02-08T08:32:00.424Z","repository":{"id":87301613,"uuid":"356942493","full_name":"devinmatte/kube-demo","owner":"devinmatte","description":null,"archived":false,"fork":false,"pushed_at":"2021-04-11T18:52:30.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-17T01:14:32.039Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/devinmatte.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":"2021-04-11T18:06:17.000Z","updated_at":"2021-04-11T18:52:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa36f48c-f2bd-4002-b1d1-f654fcc87b2b","html_url":"https://github.com/devinmatte/kube-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devinmatte/kube-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devinmatte%2Fkube-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devinmatte%2Fkube-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devinmatte%2Fkube-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devinmatte%2Fkube-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devinmatte","download_url":"https://codeload.github.com/devinmatte/kube-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devinmatte%2Fkube-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29225477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T06:05:31.539Z","status":"ssl_error","status_checked_at":"2026-02-08T05:58:33.853Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-09T00:27:28.467Z","updated_at":"2026-02-08T08:32:00.408Z","avatar_url":"https://github.com/devinmatte.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# kube-demo\n\n## Install MiniKube\n\nFollow the setup instructions on [MiniKube's Docs for your operating system](https://minikube.sigs.k8s.io/docs/start/)\n\n## Start a cluster\n\nRun\n\n```\nminikube start\n```\n\nTo start your cluster. This mini cluster will allow you to operate as if you're using a full cluster.\n\n## Interacting with Kube\n\nIf you already have kubectl on your system, it's recommended to run all commands as `minikube kubectl --` as to not conflict with your existing contexts.\n\nTo see the status of pods starting in your cluster\n```\nminikube kubectl -- get pods -A\n```\n\nYou should see an output simular to this. This is showing all the systems that Kubernetes needs to run.\nWhat's cool is that, all things that kube needs to operate pods, operates as pods inside kube. Yeah. Kinda cool right?\n\n```\nNAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE\nkube-system   coredns-74ff55c5b-sqbtr            1/1     Running   0          86s\nkube-system   etcd-minikube                      1/1     Running   0          93s\nkube-system   kube-apiserver-minikube            1/1     Running   0          93s\nkube-system   kube-controller-manager-minikube   1/1     Running   0          93s\nkube-system   kube-proxy-4dt6g                   1/1     Running   0          86s\nkube-system   kube-scheduler-minikube            1/1     Running   0          93s\nkube-system   storage-provisioner                1/1     Running   0          97s\n```\n\n## Creating Pods\n\nA pod is a collection of containers that run in the system. In the case of Minikube, there's only a single node in the cluster, but in a typical Kubernetes setup there would be many nodes that the pod could live on, and move between.\n\nSo we're going to create a pod to see kube in action\n\n```\nminikube kubectl -- create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4\nminikube kubectl -- expose deployment hello-minikube --type=NodePort --port=8080\nminikube kubectl -- get services hello-minikube\n```\n\nYou should have a service available. Run `minikube service hello-minikube` to launch the server in a browser.\n\nYou'll see an output like\n```\nCLIENT VALUES:\nclient_address=172.17.0.1\ncommand=GET\nreal path=/\nquery=nil\nrequest_version=1.1\nrequest_uri=http://127.0.0.1:8080/\n\nSERVER VALUES:\nserver_version=nginx: 1.10.0 - lua: 10001\n\nHEADERS RECEIVED:\naccept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\naccept-encoding=gzip, deflate, br\naccept-language=en-US,en;q=0.9\nconnection=keep-alive\ndnt=1\nhost=127.0.0.1:52302\nsec-ch-ua=\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"90\", \"Google Chrome\";v=\"90\"\nsec-ch-ua-mobile=?0\nsec-fetch-dest=document\nsec-fetch-mode=navigate\nsec-fetch-site=none\nsec-fetch-user=?1\nupgrade-insecure-requests=1\nuser-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.61 Safari/537.36\nBODY:\n-no body in request-\n```\n\nThis means the application is working.\n\n\n## Managing Deployments\n\nIf we run `minikube kubectl -- get pods` we'll notice that we have 1 pod for `hello-minikube`\n\nWe're going to modify the deployment to ensure that the app has redundency.\n\n```\nminikube kubectl -- edit deployment hello-minikube\n```\n\nThe deployment should open a yaml file in an editor, likely vim, vi or nano. You should scroll down to `spec`.\n\n```yaml\nspec:\n    progressDeadlineSeconds: 600\n    replicas: 1\n```\n\nChange `replicas` from `1` to `2` or even `3`.\n\nNow run `minikube kubectl -- get pods` again. You'll see 2+ pods now.\n\n```\nNAME                              READY   STATUS    RESTARTS   AGE\nhello-minikube-6ddfcc9757-2g5j5   1/1     Running   0          3s\nhello-minikube-6ddfcc9757-znksf   1/1     Running   0          6m\n```\n\nNow let's see what happens if we delete a pod. Open a second terminal window and run `minikube service hello-minikube`.\n\nOpen the page in a browser. Then while looking at the webpage, run `minikube kubectl -- delete pod hello-minikube-pod-name-here`. Replace the pod name with one of your pod names.\n\nAs quickly as you can refresh the page in the browser and you'll notice that it's still running. By having two pods we've created reduncency. One pod can die and the app will continue to operate. It also self heals. You told it it needs to always have 2 replicas, so it will ensure that is true by making a new pod.\n\n## Cleanup\n\nIf you don't want the cluster to stick around after today, you can either just stop it, or delete it entirely.\n\n```\nminikube stop\n```\n\n```\nminikube delete --all\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevinmatte%2Fkube-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevinmatte%2Fkube-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevinmatte%2Fkube-demo/lists"}