type
status
date
slug
summary
tags
category
icon
password
katacoda 和 play with kubernetes 的在线环境用起来太卡了,让我彻底放弃白嫖的想法。
背景
最近在学习 k8s,之前一直用的 kind 启动的集群,一键傻瓜式启动,但是不能对集群的配置进行修改,每次修改都要把集群销毁掉再重启。这显然不是我想要的,所以就只能自己想办法搞一套环境来操作。
一开始的时候,是打算用 katacoda 来在线操作的,但是这个平台还是有一些问题,一个是卡,初始化 master 节点直接卡死了,等了半天都不行,毕竟云服务器是很贵的,不可能每个人都给很多资源,还有一个就是网络问题,这个网站是国外的,网络有时候感觉不是很稳定,操作起来不方便。
使用 katacoda 不行,然后看到了 kubernetes handbook,上面介绍了 play with kubernetes 在线实验平台,刚开始上手感觉还不错,但是还是同样的问题–操作不方便。网页上复制粘贴要用 ctrl + Insert 和 shift + Insert,而且执行完命令没有反应,使用体验很差劲。
2022/3/21 更新
有时候启动的时候,ssh 登录会失败,从 vbox 进去查看,发现没有获取到正确的 ip 地址,尝试了好几种办法,最后的解决方法是在 vbox 里把多余的网卡删除掉,这样虚拟机就能获取到正确的 ip 地址。
默认用的网卡,配的 ip 地址是 192.168.56.xxx,所以在 vgrantfile 里也配成 192.168.56.xxx 的 ip 地址。
初识 Vagrant
以前经常在一些项目里看到有 Vagrantfile 这个文件,我也大概知道这个是用来创建虚拟机的,但是从来都没有用过。本来这次也是准备像以前一样,下载虚拟机的镜像,然后去创建,我都开始下载镜像了,同事给我说让我直接用 Vagrant,我想了想,试一试?
不搜不知道,原来 Vagrant 是 HashiCorp 公司的产品,说起来当初毕业设计还是参考的他们公司的一个项目做的呢 🐶
上手
vagrant 使用很简单,从官网下载对应系统的安装包,还有 virtualbox 的安装包,分别安装,就可以使用 vagrant 命令了。当然,使用 VMware 应该也可以,我在 vagrant cloud 上看到有对应的 VMware 的 box。
创建一个文件夹:
初始化:
上面这条指令会在当前目录创建一个 Vagrantfile 文件,如果只想运行虚拟机而不创建配置文件,可以使用:
修改 Vagrantfile 配置
由于要练习 k8s 的操作,那么最好是有多个节点,因此我期望达到的目标是:执行一条指令,启动多个虚拟机,然后虚拟机里面安装好 docker 和 kubernetes。然后就可以通过 ssh 连接上去练习操作。
具体的配置贴在下面:
注意
上面的配置中使用到了一个 shell 脚本,脚本应该放在和 Vagrantfile 同一目录下,脚本中的内容如下:
启动
启动只需要一条命令
如果要销毁这些虚拟机,使用
查看 vagrant 管理的虚拟机状态:
ssh 连接上虚拟机
总结
Vagrant 是个好东西啊,以前居然一直没有尝试去用它。😀
- 作者:阿杰鲁
- 链接:http://blog.zaunist.com/article/a3b84bad-9728-470b-a0f8-a9d6291141e2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。