kubeovn / kube-ovn

A Bridge between SDN and Cloud Native (Project under CNCF)
https://kubeovn.github.io/docs/stable/en/
Apache License 2.0
1.87k stars 433 forks source link

fix: init if nat gw exists #4232

Closed bobz965 closed 1 week ago

bobz965 commented 1 week ago

Pull Request

What type of this PR

Examples of user facing changes:

image

Which issue(s) this PR fixes

Fixes #(issue-number)

bobz965 commented 1 week ago

@bobz965 please help review, thanks!

zhangzujian commented 1 week ago

截图里是哪个版本?什么情况下会出现图里的报错?

bobz965 commented 1 week ago

截图里是哪个版本?什么情况下会出现图里的报错?

这个是我们的 mc 分支,但是这里的代码是一样的。

第一次部署的时候,如果用户没有配置图中的 nat-gw 镜像相关的那个 configmap,init 流程会中断,导致kube-ovn-controller 直接退出。

helm 流程中没有下发该 configmap, install.sh 中默认下发了。

bobz965 commented 1 week ago

截图里是哪个版本?什么情况下会出现图里的报错?

image
bobz965 commented 1 week ago

目前认为,如果用户确实没有用这个功能,直接先基于 crd 确认一下就行。不需要一个个判断 configmap 了。因为即使判断完,用户也有可能没有CRD 在用

zhangzujian commented 1 week ago

master 和 v1.12 都没有这个问题,检查下你们分支的 helm chart 是不是缺文件吧。

zhangzujian commented 1 week ago

LB service 功能也需要用到这个 configmap,所以部署的时候默认带上它比较好。

bobz965 commented 1 week ago

LB service 功能也需要用到这个 configmap,所以部署的时候默认带上它比较好。

噢噢 有的,但是部署过后,我们这边一个单点POC节点,就是没有任何 cm。

image

不过当前这个改法,我认为应该更好一些: 确认有资源再继续检查 cm

bobz965 commented 1 week ago

按照插件式的想法看,有些用户没有用 nat-gw lb 这些功能,不应用这些 cm,应该也是合理的。