我 java 在本地用一份 config 里边配了一个 server 地址,如果这台 master 机子挂了,可以继续维持与集群的连接吗?还是说我必须换一份 config ?
1
defunct9 2022-12-07 19:08:35 +08:00
放到 configmap 里
|
2
LindsayZhou 2022-12-07 20:01:31 +08:00
如果你的地址是这台 master 的实际 IP 的话,不能。
一般多 Master 的生产实践是做个虚拟 IP 之类的东西,虚拟 IP 转发到后面的 Master 上去,一个 Master 挂了不会影响虚拟 IP 访问的可用性,这样你的 config 就不用换。 你的 java 不是跑在 pod 里的?跑在 pod 里的话,不用管外面的结构怎么样,全部都用 kubernetes.default.svc 访问 api server 就行了。 以我不多的经验来理解,是这样的。 |
3
gzk329 OP @LindsayZhou 我的 java 是跑在外面的 我要和 k8s 建立连接 要一个 config 文件 里边有集群的相关配置信息 主要是怕写在 config 中的 master 节点挂掉
|
4
seers 2022-12-07 22:20:31 +08:00
一般 master 节点都有 HA 的(最少三个 master ),对外暴露单独的 IP ,后面的节点挂了会自动漂移 IP ,所以无需多虑,当然还要和你们运维确认下有没有部署 HA
|
5
mango88 2022-12-07 22:27:54 +08:00
k8s 服务暴露通过什么方式 ?
如果有 Keepalived 和 Haproxy 组件的话,对外是一个 浮动 IP 地址 这个就不用担心这个问题 也可以把几个 master 节点的 IP 全都配上,如果都挂了,集群也挂了。。。 |
6
b1ghawk 2022-12-08 07:14:29 +08:00 via Android
做工 HA 吧。
|
7
gzk329 OP 还有 java 和 K8s 集群建立连接需要写个连接池吗?
我感觉是需要 不过他这个没有连接销毁的 api 但本质又是基于 okhttp 写的 为啥感觉和这个 K8s 给的 java api 好难用啊 注释基本没有 文档也基本没 |
9
OPA 2022-12-08 12:54:15 +08:00
多 master 的话连接地址会切换到备用上去
|