今天又有一个项目上线,总结下来已经是腾讯云的第5个项目, 某光K8s项目v8.3.9版本, 记录一下这次上线和这几天的一些事情.

最近的项目中,出现了很多各种问题. 

1.弃用k8s的Ingress. 因为腾讯云的clb按小时收费,而且费用相对而言比较高, 每小时2毛. 但是对于我们目前项目的体量,是用不了那么大级别的产品的. clb自带的负载均衡, 在我们不需要负载均衡的时候, 硬生生的加了负载均衡给我们. 基于这个原因, 公司决定弃用ingress, 改用一台云服务器做内网数据转发,替代ingress. 没有ingress的情况下, 也就用不着clb. 而随之而来的问题就是, 没有了ingress, 内网的nginx转发的时候, 只能转发到具体的ip上.但是集群中的pod, 每次重启都会分配不通的ip. 这个问题怎么解决? 答案就是由原来的Deployment改成StatfulSet.  StateFulSet是可以固定ip的.  当然, 如果是自搭的k8s集群, 就不用担心这个了. 因为servcie的类型是NodePort类型的话, ip就可以固定了.

2.第二个问题是更新的问题. 之前一直是腾讯云给的接口,修改一下对应Deployment的image就可以实现版本更新. 这次也用同样的方法操作, 发现有问题. 其他服务都可以修改后正常运行, 但是nacos运行不起来.而且nacos始终都是报错, DataBase not Set.  很不理解, 明明设置好了数据库, 却这样报错. 甚至改成root账户连接数据库也是不行. 结果怎么解决的? 把nacos这个deployment给删掉.然后重新建deployment.最后惊喜发现, 可以了.具体原因至今未知,但是可以肯定, 是腾讯云的pod的原因.

3. 前端服务一直无法访问. 不知道什么原因, 前端服务打开一片空白. F12看接口, 所有返回都正常, 该有的数据都有. 只是前端进不来页面.但是其他环境的这个前端镜像又都可以. 很奇怪啊. 最后用解决问题二的同样办法, 完美解决.有时候就是这么神奇, 重启都不行,那就把Deployment都删除调就可以了.

总结就是某光K8s项目v8.3.9版本上线, 也记录一下最近的一些问题,以后遇到这类k8s报错,可以留意一下.