在之前的文章《使用Vagrant在Ubuntu系统上搭建Kubernetes集群》介绍了使用 Vagrant 在 VirtualBox 中安装 Ubuntu 系统搭建 Kubernetes 集群。
因为 Vagrant 是支持 Docker 的,所以这篇文章就来尝试不再使用 VirtualBox 了,而是直接使用 Docker 来搭建 Kubernetes 集群。
安装依赖
需要先安装以下程序:
- Vagrant
- Docker
- Kubectl
运行集群
因为是在本地学习 k8s,因此为了方便我就使用 Rancher 的 k3s 来进行安装。
下载 Vagrant 配置文件: https://github.com/wusuopu/kubernetes-vagrant-alpine
然后执行命令:1
vagrant up --no-parallel --provision
这里启动 k3s 服务,并将 master node 的 /etc/rancher/k3s/k3s.yaml 文件内容复制到 host 系统上来,这样就可以直接在 host 系统中用 kubectl 来操作集群。
1 | -> % k get node -o wide |
这里集群的各个 node 都是一个 docker container。1
2
3
4
5-> % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a91d13e2cca0 wusuopu/vagrant:k3s-alpine "dockerd-entrypoint.…" About an hour ago Up 35 minutes 2375-2376/tcp, 6443/tcp, 127.0.0.1:2201->22/tcp kubernetes-vagrant-alpine_alpine-03_1585887389
cce93873b666 wusuopu/vagrant:k3s-alpine "dockerd-entrypoint.…" About an hour ago Up 35 minutes 2375-2376/tcp, 6443/tcp, 127.0.0.1:2200->22/tcp kubernetes-vagrant-alpine_alpine-02_1585887382
d4844843ca3e wusuopu/vagrant:k3s-alpine "dockerd-entrypoint.…" About an hour ago Up 36 minutes 2375-2376/tcp, 0.0.0.0:6443->6443/tcp, 127.0.0.1:2222->22/tcp kubernetes-vagrant-alpine_alpine-01_1585887365