-
使用
Vagrantfile
定义的虚拟机基础配置和provision
脚本,一键启动一个多节点的Kubernetesvagrant up
一键启动Kube Config
文件会复制相对路径kubernetes-setup/kube-config
目录下,可以自行复制或合并到$HOME/.kube/config
,或者在执行kubectl
命令时用--kube-config .kube\config
指定该配置文件操作k8s集群
- 可以通过
vagrant ssh {机器名}
随时登陆master
和node
节点 - 可以通过
vagrant destroy
一键销毁
-
使用
ansible playbook
定义了所有provision
脚本操作- 随时可以更改脚本,可以使用
vagrant provision {机器名} --provision-with {参数}
随时重新执行provision
操作,支持的参数- basic: 安装基础依赖
- docker: 安装docker环境
- kubernetes: 安装kubernetes环境
- kubernetes-master: 执行k8s的master节点的ansible-playbook
- kubernetes-node: 执行k8s的worker节点的ansible-playbook
- 替换了阿里源,安装ubuntu依赖包,Docker, kubernetes等
- Master获得
JoinCommand.sh
命令并复制宿主机,Node节点启动时将JoinCommand.sh
复制到Node节点虚拟机,将加入K8s集群
- 随时可以更改脚本,可以使用
-
可以随时使用
ansible
操作所有节点(额外配置/etc/ansible/hosts
即可,具体参考ansible文档)
- master: k8s的master节点,ip最后一位100
- node-{n}: k8s的worker节点,可以在Vagrantfile里改变
N
的值,ip最后一位100开头 - bnode-{bn}: 普通节点,可以在Vagrantfile里改变
BN
的值,安装docker环境,和k8s无关但在同一个网络,ip最后一位10开头
- 操作系统镜像:ubuntu-18.04
- K8S版本:v1.18.6
- git
- Virtualbox
- Vagrant
- 主机拥有
bash
或者zsh
环境, 以便执行ansible playbook
PS: 因为ansible
不支持windows,但是windows 10的wsl(Windows subsystem for Linux)
可以使用ansible,只要让wsl
可以调用Windows的Vagrant
即可,具体方法可以参考Vagrant官方文档,或者我的一篇博客也有相关说明: WSL无缝使用windows的Vagrant。
获取Jenkins原始密码:
vagrant ssh jenkins -c "sudo cat /var/lib/jenkins/secrets/initialAdminPassword"