快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
创建一个自动化脚本,能够在VMWARE Workstation上快速部署以下环境:1. 3节点Kubernetes集群(1master+2worker) 2. 预装常用工具(kubectl, helm, docker) 3. 示例应用部署(WordPress+MySQL) 4. 网络和存储配置 5. 一键销毁功能。使用Ansible实现自动化部署,提供不同规格的资源配置模板。
  1. 点击'项目生成'按钮,等待项目生成完整后预览效果

示例图片

最近在折腾云原生开发环境搭建,发现用VMWARE Workstation配合自动化工具可以快速构建K8s测试集群,特别适合需要频繁重建环境的开发场景。记录下我的实践过程,关键步骤1小时就能跑通。

  1. 环境规划 先明确需求:本地开发测试不需要生产级配置,重点是快速启动和销毁。选择3节点架构(1控制节点+2工作节点),每个节点分配2核CPU、4GB内存和20GB磁盘。VMWARE的虚拟机快照功能在这里特别实用,可以随时回滚到干净状态。

  2. 自动化工具选型 用Ansible做编排工具,因为它能直接通过SSH管理虚拟机,不需要额外agent。写playbook时主要分这几个模块:

  3. 虚拟机模板准备(安装基础依赖如docker、conntrack)
  4. kubeadm集群初始化(注意关闭swap和配置防火墙规则)
  5. CNI插件部署(选用flannel避免额外配置)
  6. 工作节点加入集群的token管理

  7. 关键配置技巧 遇到几个坑需要特别注意:

  8. VMWARE的NAT网络需要手动配置端口转发,把API Server的6443端口暴露给宿主机
  9. 磁盘IO性能较差时,记得给docker和kubelet配置--graph参数改用临时目录
  10. 资源有限的情况下,给kube-system的Pod设置更低资源请求量

  11. 示例应用部署 用helm安装WordPress+MySQL做验证:

  12. 先部署nfs-provisioner解决持久化存储问题
  13. mysql的PVC要指定storageClassName
  14. 通过NodePort服务暴露WordPress到宿主机端口

  15. 一键清理方案 写了个destory-playbook实现:

  16. 优雅驱逐Pod(避免直接kill导致数据问题)
  17. 重置kubeadm安装状态
  18. 删除所有容器镜像和配置文件
  19. 可选保留虚拟机快照供下次复用

示例图片

实际测试发现,从零开始到WordPress页面可访问大约需要38分钟(依赖下载速度),后续重建环境用快照只需5分钟。这种方案比用minikube更接近真实集群架构,又比云服务成本低得多。

最近在InsCode(快马)平台看到可以直接部署预装好的K8s环境,试了下他们的在线终端连helm都预配置好了,比自己折腾虚拟机省心不少。特别是那个实时预览功能,能直接看到服务状态变化,对调试特别友好。不过自己搭建的过程对理解底层原理还是很有帮助的,建议新手两种方式都体验下。

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
创建一个自动化脚本,能够在VMWARE Workstation上快速部署以下环境:1. 3节点Kubernetes集群(1master+2worker) 2. 预装常用工具(kubectl, helm, docker) 3. 示例应用部署(WordPress+MySQL) 4. 网络和存储配置 5. 一键销毁功能。使用Ansible实现自动化部署,提供不同规格的资源配置模板。
  1. 点击'项目生成'按钮,等待项目生成完整后预览效果
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐