本项目利用 Vagrant 和 kubeadm 帮助开发者快速在本地构建单节点 Kubernetes 集群。
集群特点
- 支持部署 Kubernetes 的所有主流版本,如
v1.8.5
,v1.10.3
和v1.11.2
等等 - 使用 Flannel 作为网络插件
- 自动完成 Dashboard 附加组件的安装部署。
- 无需翻墙,适合国内的网络环境
以下软件需要提前安装在主机上:
软件名称 | 软件版本 | 下载地址/安装命令 |
---|---|---|
VirtualBox | 5.2.12+ | https://www.virtualbox.org/wiki/Downloads |
Vagrant | 2.1.1+ | https://www.vagrantup.com/downloads.html |
vagrant-scp | 0.5.7+ | vagrant plugin install vagrant-scp |
git clone https://github.com/eliu/kubeadm-vagrant.git
打开 /path/to/kubeadm-vagrant/vagrant/Vagrantfile
并修改全局变量 K8S_VERSION
的值,默认值 1.8.5
启动后将自动安装、更新和配置 kubeadm,最后启动 Kubernetes 集群,命令如下:
vagrant up
请访问以下地址下载适合您主机平台的 Kubernetes 客户端。
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-{K8S_MAJOR}.md
K8S_MAJOR 为 Kubernetes 的主版本,例如 1.8
, 1.9
, 1.10
等等。
vagrant scp default:/home/vagrant/.kube/config ./kubeadm-master.conf
kubectl --kubeconfig=./kubeadm-master.conf get node
或者
export KUBECONFIG=$(PWD)/kubeadm-master.conf
kubectl get node
当 Status 为 Ready
时证明 Kubernetes 集群的网络插件已经可用。
在第5步 vagrant up
完成之后会看见如下输出内容,请根据内容提示进行设置以访问 Dashboard 主页。
default: ================================================================================
default: 1. 运行以下命令获取配置文件:
default:
default: vagrant scp default:/home/vagrant/.kube/config ./kubeadm-master.conf
default:
default: 2. 本机启动代理访问 Dashboard:
default:
default: kubectl --kubeconfig=./kubeadm-master.conf proxy
default:
default: 3. 使用以下链接访问 Dashboard:
default:
default: http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
default:
default: 4. 使用以下 Token 登陆 Dashboard:
default:
default: <Token>
default:
default: ================================================================================
如有任何问题,欢迎在本项目中新建 Issue 进行跟踪,谢谢!