新手求指教, springboot 部署到 k8s 上后如何进行服务调用(利用 k8s 原生的服务发现能力) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ldimple
V2EX    Kubernetes

新手求指教, springboot 部署到 k8s 上后如何进行服务调用(利用 k8s 原生的服务发现能力)

  •  
  •   ldimple 2021-03-10 18:09:56 +08:00 3441 次点击
    这是一个创建于 1680 天前的主题,其中的信息可能已经有所发展或发生改变。
    在 springcloud 体系中我们都知道最简单地使用 RestTemplate 进行服务调用,如果是基于 springboot 和 k8s 构建的微服务呢?
    16 条回复    2024-06-27 14:16:02 +08:00
    vhui
        1
    vhui  
       2021-03-10 18:12:58 +08:00
    试试 spring-cloud-kubernetes
    ldimple
        2
    ldimple  
    OP
       2021-03-10 18:35:22 +08:00
    @vhui 嗯,我也看到网上推荐这个组件
    FreeEx
        3
    FreeEx  
       2021-03-10 19:37:49 +08:00
    功能有重叠,感觉 spring cloud + k8s 存粹是脱裤子放屁多此一举。
    看错了,原来是 springboot + k8s,按照 k8s 那一套走即可。
    goodryb
        4
    goodryb  
       2021-03-10 20:33:31 +08:00
    盲猜内部调用走 service clusterip,对外提供服务走 ingress 或者统一的网关服务例如 kong
    wxsm
        5
    wxsm  
       2021-03-10 22:21:41 +08:00 via iPhone
    @goodryb 走 ip 不如走域名
    puras
        6
    puras  
       2021-03-10 22:59:57 +08:00
    内部 ServerName:port 就行了吧
    ldimple
        7
    ldimple  
    OP
       2021-03-11 00:05:25 +08:00
    @puras
    @FreeEx 所以 springboot 业务代码里面怎么调其他的服务呀,springcloud 是 Feign,那部署到 k8s 集群之后呢
    javapythongo
        8
    javapythongo  
       2021-03-11 01:28:56 +08:00 via iPhone
    @ldimple #7 继续用 fegin,不过要在注解上的 ip 属性写上 servername:port 走 k8s 自己的网络
    pavelpiero
        9
    pavelpiero  
       2021-03-11 09:29:30 +08:00
    K8S 走内部调用坑蛮多的
    比如我司生产环境差不多有 6 套集群 虽然是在两个机房 但是同机房不同集群的机器没法基于服务名调用就很坑
    有些跨部门的调用发生了跨集群 就只能走域名
    后来为了迭代升级和避免意外的情况最终还是统一全都走域名调用了
    iminto
        10
    iminto  
       2021-03-11 10:58:53 +08:00
    代码该咋样还咋样啊,只是 eureka 不需要了,springcloud gateway 里 Robin 策略也不需要了,spring-cloud config 也可以考虑替换
    namelosw
        11
    namelosw  
       2021-03-11 15:31:02 +08:00
    想用 Kubernetes 本身最简单的就是直接调 FQDN, 比如 foo.bar.my-namespace.svc.cluster-domain.example 这样, 如果同 cluster 同 namespace 之类的可以省略调后面的几段
    THESDZ
        12
    THESDZ  
       2021-03-11 16:57:07 +08:00
    @pavelpiero endpoint 解决集群外部访问问题
    ldimple
        13
    ldimple  
    OP
       2021-03-12 17:24:02 +08:00
    @namelosw 像下楼那个大佬说的 endpoint 解决集群外部访问,这样是不是也可以省略 cluster 同 namespace 。
    lavvrence
        14
    lavvrence  
       2021-03-14 19:19:41 +08:00
    用集群内的 fqdn 域名来进行 RPC 。
    ldimple
        15
    ldimple  
    OP
       2021-03-16 12:48:00 +08:00 via Android
    @javapythongo 大佬,可以加微信详细说说吗,我刚入门,连简单的两个 Demo 都跑不起来,用了 feign 和 springcloud k8s
    dandankele
        16
    dandankele  
       2024-06-27 14:16:02 +08:00
    @pavelpiero 走域名具体是咋走的?是内网分配的域名吗?也就是说内部搭建一个跨集群的 dns 服务?还是说走的公网域名,利用公网 dns ?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5538 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:05 PVG 14:05 LAX 23:05 JFK 02:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86