kubernetes部署微服务spring cloud的简单例子

《docker+k8s教程》

示例代码  https://github.com/CodingSoldier/java-learn/tree/master/project/k8s-spring-cloud-csdn

csdn下载地址(积分似乎无法修改) https://download.csdn.net/download/u010606397/11245542

在本项目中,会部署eureka、gateway、app01、app02

先看下eureka的yaml配置

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-eureka-server
spec:
# 注册中心只能部署一个pod
  replicas: 1
  selector:
    matchLabels:
      app: eureka-server
  template:
    metadata:
      labels:
        app: eureka-server
    spec:
      containers:
      - name: eureka-server
        image: codingsoldier/eureka-server:latest
        imagePullPolicy: IfNotPresent
        ports:
        - name: http
          containerPort: 10001
---
apiVersion: v1
kind: Service
metadata:
# service的名字非常重要,必须跟application.properties的eureka.client.serviceUrl.defaultZone=http://server-eureka-server:10001/eureka/ 中的域名相同
  name: server-eureka-server
spec:
  selector:
    app: eureka-server
# 使用NodePort类型的Service,绑定service的10001端口到宿主机,以便在物理机浏览器上看注册中心的信息
  type: NodePort
  ports:
  - name: http
    port: 10001
    targetPort: 10001
#   暴露端口取值范围是30000-32767
    nodePort: 30001

重要的有两点

1、注册中心pod数量只能为1个(只是演示,就这么着了。实际部署中可以部署集群,这太麻烦了)

2、Service的名字是 eureka.client.serviceUrl.defaultZone 的域名。见下图

补充,image用的是我的仓库,请改成自己的,在自己的机器上打成镜像

 

gateway、app01、app02的注册中心配置为

eureka.client.serviceUrl.defaultZone=http://server-eureka-server:10001/eureka/

为了能够在物理机上调用gateway,将gateway的service设置为NodePort类型(实际部署时,应该通过ingress或者云厂商提供的loadBlance调用网关。这里就不搞那么复杂了)

使用步骤

1、把jar包上传到所有node节点,打成镜像

2、在主节点部署服务

app01的/test01/test02/post接口会使用feign调用app02,调一下这个接口。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值