{"id":17862174,"url":"https://github.com/jtblin/coreos-vagrant-kubernetes","last_synced_at":"2025-04-02T21:14:09.423Z","repository":{"id":66185135,"uuid":"42001682","full_name":"jtblin/coreos-vagrant-kubernetes","owner":"jtblin","description":"Minimal single node kubernetes cluster Vagrantfile for CoreOS. Easiest way to start with kubernetes locally.","archived":false,"fork":false,"pushed_at":"2015-11-22T09:40:34.000Z","size":17,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T11:29:00.790Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtblin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-06T12:24:57.000Z","updated_at":"2017-05-19T02:13:48.000Z","dependencies_parsed_at":"2023-02-20T00:00:37.478Z","dependency_job_id":null,"html_url":"https://github.com/jtblin/coreos-vagrant-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/jtblin%2Fcoreos-vagrant-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtblin%2Fcoreos-vagrant-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtblin%2Fcoreos-vagrant-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtblin%2Fcoreos-vagrant-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtblin","download_url":"https://codeload.github.com/jtblin/coreos-vagrant-kubernetes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246892847,"owners_count":20850850,"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-10-28T08:50:48.953Z","updated_at":"2025-04-02T21:14:09.406Z","avatar_url":"https://github.com/jtblin.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CoreOS Vagrant Kubernetes\n\nThis repo provides a template Vagrantfile to create a CoreOS virtual machine with a single node Kubernetes cluster using the VirtualBox software hypervisor based off [coreos-vagrant](https://github.com/coreos/coreos-vagrant) and inspired by this [coreos blog post](https://coreos.com/blog/introducing-the-kubelet-in-coreos/) about `kubelet` being added to CoreOS.\nAfter setup is complete you will have a single CoreOS virtual machine with Kubernetes running on your local machine. It will also download and install `kubectl` if it isn't already installed.\n\n## Streamlined setup\n\n1) Install dependencies\n\n* [VirtualBox][virtualbox] 4.3.10 or greater.\n* [Vagrant][vagrant] 1.6 or greater.\n\n2) Clone this project and get it running!\n\n```\ngit clone https://github.com/jtblin/coreos-vagrant-kubernetes.git\ncd coreos-vagrant-kubernetes\n```\n\n3) Startup and SSH\n\nThere are two \"providers\" for Vagrant with slightly different instructions.\nFollow one of the following two options:\n\n**VirtualBox Provider**\n\nThe VirtualBox provider is the default Vagrant provider. Use this if you are unsure.\n\n```\n./configure\nvagrant ssh\n```\n\n**VMware Provider**\n\nThe VMware provider is a commercial addon from Hashicorp that offers better stability and speed.\nIf you use this provider follow these instructions.\n\nVMware Fusion:\n```\nPROVIDER=vmware_fusion\n./configure\nvagrant ssh\n```\n\nVMware Workstation:\n```\nPROVIDER=vmware_workstation\nvagrant ssh\n```\n\n``./configure`` triggers vagrant to download the CoreOS image (if necessary) and (re)launch the instance. It will also download `kubectl` if needed and setup the kube-ui and kube-dns services.\n\n``vagrant ssh`` connects you to the virtual machine.\nConfiguration is stored in the directory so you can always return to this machine by executing vagrant ssh from the directory where the Vagrantfile was located.\n\n4) Get started [using CoreOS][using-coreos]\n\n#### [kubernetes] cluster\n\nBy default, a cluster named `core` will be configured. You can change the name of the cluster\nby setting up the `CLUSTER_NAME` environment variable before you run `vagrant up`:\n\n```\nCLUSTER_NAME=my-cluster\n./configure\nvagrant ssh\n```\n\nYou can interact with your kubernetes cluster with the `kubectl` cli:\n\n    kubectl --cluster=core get pods\n\nThis repo will also setup `kube-ui` and `kube-dns` addons.\n\nAccess [kubernetes ui](http://172.17.8.101:8080/) or [cadvisor ui](http://172.17.8.101:4194/containers/).\n\n\n[virtualbox]: https://www.virtualbox.org/\n[vagrant]: https://www.vagrantup.com/downloads.html\n[using-coreos]: http://coreos.com/docs/using-coreos/\n[kubernetes]: http://kubernetes.io/\n\n#### Shared Folder Setup\n\nThere is optional shared folder setup.\nYou can try it out by adding a section to your Vagrantfile like this.\n\n```\nconfig.vm.network \"private_network\", ip: \"172.17.8.150\"\nconfig.vm.synced_folder \".\", \"/home/core/share\", id: \"core\", :nfs =\u003e true,  :mount_options   =\u003e ['nolock,vers=3,udp']\n```\n\nAfter a 'vagrant reload' you will be prompted for your local machine password.\n\n#### Provisioning with user-data\n\nThe Vagrantfile will provision your CoreOS VM(s) with [coreos-cloudinit][coreos-cloudinit] using the `user-data.sample.yaml` found in the project directory which setup the kubernetes cluster.\ncoreos-cloudinit simplifies the provisioning process through the use of a script or cloud-config document.\n\nCheck out the [coreos-cloudinit documentation][coreos-cloudinit] to learn about the available features.\n\n[coreos-cloudinit]: https://github.com/coreos/coreos-cloudinit\n\n#### Configuration\n\nThe Vagrantfile will parse the `config.rb` file containing a set of options used to configure your CoreOS cluster.\n\n## New Box Versions\n\nCoreOS is a rolling release distribution and versions that are out of date will automatically update.\nIf you want to start from the most up to date version you will need to make sure that you have the latest box file of CoreOS.\nSimply remove the old box file and vagrant will download the latest one the next time you `vagrant up`.\n\n```\nvagrant box remove coreos --provider vmware_fusion\nvagrant box remove coreos --provider vmware_workstation\nvagrant box remove coreos --provider virtualbox\n```\n\n## Docker Forwarding\n\nBy setting the `$expose_docker_tcp` configuration value you can forward a local TCP port to docker on\neach CoreOS machine that you launch. The first machine will be available on the port that you specify\nand each additional machine will increment the port by 1.\n\nFollow the [Enable Remote API instructions][coreos-enabling-port-forwarding] to get the CoreOS VM setup to work with port forwarding.\n\n[coreos-enabling-port-forwarding]: https://coreos.com/docs/launching-containers/building/customizing-docker/#enable-the-remote-api-on-a-new-socket\n\nThen you can then use the `docker` command from your local shell by setting `DOCKER_HOST`:\n\n    export DOCKER_HOST=tcp://localhost:2375\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtblin%2Fcoreos-vagrant-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtblin%2Fcoreos-vagrant-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtblin%2Fcoreos-vagrant-kubernetes/lists"}