{"id":18904947,"url":"https://github.com/concon121/intro-to-kubernetes","last_synced_at":"2026-03-04T17:30:18.375Z","repository":{"id":94143498,"uuid":"122837989","full_name":"concon121/intro-to-kubernetes","owner":"concon121","description":null,"archived":false,"fork":false,"pushed_at":"2018-02-25T13:30:19.000Z","size":418,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-31T10:33:20.943Z","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/concon121.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-25T13:20:48.000Z","updated_at":"2018-02-25T13:25:53.000Z","dependencies_parsed_at":"2023-03-09T05:30:10.255Z","dependency_job_id":null,"html_url":"https://github.com/concon121/intro-to-kubernetes","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/concon121%2Fintro-to-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concon121%2Fintro-to-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concon121%2Fintro-to-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concon121%2Fintro-to-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/concon121","download_url":"https://codeload.github.com/concon121/intro-to-kubernetes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239889026,"owners_count":19713702,"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-08T09:09:56.854Z","updated_at":"2026-03-04T17:30:18.262Z","avatar_url":"https://github.com/concon121.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Extra Quick Start\n\nOriginal docs are here: https://coreos.com/tectonic/sandbox/\n\n## Pre Requisites\n\nPlease install:\n- VirtualBox (Latest)\n- Vagrant (Latest)\n- kubectl\n\n## Starting Up\n\n### Setting up Kubernetes and Tectonic\nFrom the project root, run:\n```\nvagrant up\n```\nDepending on your download speed, this might take a while.  It downloads ~1GB.\n\n### Navigating Tectonic\n\nGo to https://console.tectonicsandbox.com/\n* Username: admin@example.com\n* Password: sandbox\n\n### Kube Config\n\n- Go to admin \u003e My Account and click Download Configuration \u003e Verify Identity.  \n- A log in screen will open in a new tab.  \n- Input the username and password again and copy the code that is presented to you.  \n- Go back to the Profile screen and paste in the code and download the kube config file.\n- Copy the config file from your downloads to ~/.kube/config\n```\nmkdir -p ~/.kube\ncp ~/Downloads/kube-config ~/.kube/config\n```\n\n### Test kubectl\nThe following command should list some stuff\n```\n$ kubectl get all\nNAME                       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\ndeploy/simple-deployment   3         3         3            3           1h\n\nNAME                              DESIRED   CURRENT   READY     AGE\nrs/simple-deployment-4098151155   3         3         3         1h\n\nNAME                       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\ndeploy/simple-deployment   3         3         3            3           1h\n\nNAME                            DESIRED   CURRENT   AGE\nstatefulsets/prometheus-hello   1         1         1h\n\nNAME                                    READY     STATUS    RESTARTS   AGE\npo/prometheus-hello-0                   2/2       Running   0          37m\npo/simple-deployment-4098151155-923n2   1/1       Running   0          1h\npo/simple-deployment-4098151155-kmr24   1/1       Running   0          36m\npo/simple-deployment-4098151155-rpzf3   1/1       Running   0          1h\n```\n\n### Your first deployment\nPre Copied and pasted from https://coreos.com/tectonic/sandbox/ for ease.\n\nNavigate to the simple-deployment folder and run kubectl create.\n\n```\ncd simple-deployment\nkubectl create -f .\n```\n\nCheckout the status of the created pods in https://console.tectonicsandbox.com/ns/default/deployments/simple-deployment/pods\n\n![simple-deployment](https://user-images.githubusercontent.com/12021575/36641871-de240a7a-1a2e-11e8-8ea5-e74a7bbb8a1c.png)\n\nSee the deployed app in action: https://console.tectonicsandbox.com/simple-deployment\n\n#### Whats what in a nut shell?\n\n* simple-deployment.yaml - dictates which machine image to use and how many instances there should be at any one time. See https://kubernetes.io/docs/concepts/workloads/controllers/deployment/\n* simple-service.yaml - defines the method to access the deployment (port 80).  See https://kubernetes.io/docs/concepts/services-networking/service/\n* simple-ingress.yaml - manages external access to the app.  By default everything in a cluster is ony accessible inside the cluster.  See https://kubernetes.io/docs/concepts/services-networking/ingress/\n\n### Autoscaling?\n\nThe simple deployment is set up to maintain 3 pods, try killing one and watch a new one be created.\n\n```\n$ kubectl get pods | grep -Eo \"simple-deployment([[:alnum:]]|-)+\"\nsimple-deployment-4098151155-923n2\nsimple-deployment-4098151155-kmr24\nsimple-deployment-4098151155-rpzf3\n\n$ kubectl get pods | grep -Eo \"simple-deployment([[:alnum:]]|-)+\" | head -1\nsimple-deployment-4098151155-923n2\n\n$ kubectl delete pods `kubectl get pods | grep -Eo \"simple-deployment([[:alnum:]]|-)+\" | head -1`\npod \"simple-deployment-4098151155-923n2\" deleted\n\n$ kubectl get pods | grep -Eo \"simple-deployment([[:alnum:]]|-)+\"\nsimple-deployment-4098151155-kmr24\nsimple-deployment-4098151155-rpzf3\nsimple-deployment-4098151155-z782g\n\n```\n\n## Monitoring?\nInfrastructure monitoring can be done via Promethius.\n\n```\ncd prometheus\nkubectl create -f .\n```\n\nDashboard: http://prometheus.ingress.tectonicsandbox.com/alerts\n\nThere should be one rule set up.  If its missing something bad happened and you should check the logs for the pod via kubectl or the tectonic console.\n\nThe rule is set to trigger if the replicas are set to less than 3, so to see the run in action run:\n\n```\nkubectl scale deployment/simple-deployment --replicas 2\n```\n\nPrometheus updates every 30 seconds, so keep refreshing.\n\n![failing_rule](https://user-images.githubusercontent.com/12021575/36641864-cffee456-1a2e-11e8-88e0-45ff97fbb237.png)\n\nBump it back up to 3 for the rule to go green again.\n\n```\nkubectl scale deployment/simple-deployment --replicas 3\n```\n\n![passing_rule](https://user-images.githubusercontent.com/12021575/36641870-dc4d783a-1a2e-11e8-9be7-f0fcffd5ff71.png)\n\n## Monitoring Tectonic?\n\nThey got that covered: https://console.tectonicsandbox.com/prometheus/alerts\n\n![monitoring_tectonic](https://user-images.githubusercontent.com/12021575/36641895-47d7757e-1a2f-11e8-811b-6e8f2274a06f.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconcon121%2Fintro-to-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconcon121%2Fintro-to-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconcon121%2Fintro-to-kubernetes/lists"}