我的go学习笔记之流水线部署到本地k8s集群
2026/5/17 8:03:09 网站建设 项目流程

哈哈哈,我是不是把时间都用到了刀把上😎

遇到问题可以直接复制问题给AI
照着解决就行

我记录一下我遇到的坑
1.子系统就选Ubuntu,别选archLIinux,🥲
2.别用docker Desktop来部署k8s,一堆坑
3.直接在WSL子系统中执行

docker pull kindest/node:v1.31.0

4.k8s部署文件中的的name和app镜像路径等项目名称相关的都小写
5.镜像推到github之后,可见级别是private的,改成public//也有可能不是坑,总之private的要部署会需要配置复杂
6.WSL2 下的 port-forward 默认不能被 Windows 浏览器直接访问,需要用 WSL2 的 IP 访问。

准备工作

环境:
Windows11 +
WSL2-Ubuntu 24.04 +
k8s(kind) +
docker +
github action

1.安装WSL2-Ubuntu 24.04

直接在软件商店里安装

安装docker

官网
docker官网下载

或者
商店

构建Dockerfile

我用的是VSCode的docker插件生成的
按住快捷键ctrl+shift+p
粘贴或者输入Container images: Build Image
点击
生成成功

安装k8s

docker pull kindest/node:v1.31.0

生成k8s部署文件

文件位置:

我用chatGPT生成的
避坑点: name和app和image名称都小写

apiVersion:apps/v1kind:Deploymentmetadata:name:mygospec:replicas:1selector:matchLabels:app:mygotemplate:metadata:labels:app:mygospec:containers:-name:mygoimage:ghcr.io/fenghaoyun-monster/mygo:latestports:-containerPort:8080---apiVersion:v1kind:Servicemetadata:name:mygospec:type:NodePortselector:app:mygoports:-port:8080targetPort:8080

在WSL环境创建集群

kind create cluster --name mygo

在WSL环境构建项目镜像

docker pull kindest/node:v1.31.0

Push 到 GHCR

docker push ghcr.io/fenghaoyun-monster/mygo:latest

坑点:
镜像推到github之后,可见级别是private的,改成public
GitHub → Profile → Packages
进入 mygo package → settings → Visibility → set public。

查看节点部署状态

kubectl get pods

需要是mygo-xxxx 1/1 Running

访问服务

因为我们的集群是运行在WSL子系统中的,子系统用的是NAT网络,宿主机的代理啥的是用不了的,
浏览器中访问我们的服务我们需要
端口映射

kubectl port-forward svc/mygo 8080:8080

让这个命令保持运行
新开一个WSL命令行
运行

ip addr show eth0

得到类似
inet 172.24.5.10/20
我们就可以在apifox或者浏览器中访问

http://172.24.5.10:8080/demo

就能访问啦

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询