千家信息网

k8s集群部署eureka的方法

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"k8s集群部署eureka的方法",在日常操作中,相信很多人在k8s集群部署eureka的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"k8s集群
千家信息网最后更新 2026年11月04日k8s集群部署eureka的方法

这篇文章主要介绍"k8s集群部署eureka的方法",在日常操作中,相信很多人在k8s集群部署eureka的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"k8s集群部署eureka的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

先说总结

K8S基本目的就是为了集群部署,但集群也分2种,一种是无状态的,类似一些平常的web服务,一种是有状态的,kind:statefulSet,类似kafka,eureka,MySQL,前两个特殊的地方来自于他们需要互相注册,ip要稳定,MySQL则是可能需要主从结构,总之都是ip需要稳定的,至少内部是稳定的。

kind:statefulSet 提供了这个稳定的机制,pod的下的hostname和ip都是有规律有顺序的,而不是像kind:Deployment是随机的字符。通过statefuleSet部署集群,可以在没有启动eureka时,就知道集群中各个pod的ip地址,达到互相注册的目的。

PS:中间失败了N次,因为初次接触,总以为配置错了,但无法定位错误的地方。修改配置重试了N次,最后发现,在eureka里开启了spring-boot-starter-security并设置了密码...... 而我在配置中eureka.client.serviceUrl.defaultZone 中没有配置密码!!!

PS: 最后结果的验证: 我是又新建了个service kind:NodePort,代理了下… 然后宿主机上直接wget http://user:password@{NodePortIp}:{port} 下载了个index.html 看里面的注册情况,确认OK。(面对无法直接访问的地方,我们只能直击源码)
如果服务器ip可以本地访问的话,直接通过浏览器看就好了。至于为啥请求的是{port}而不是定义的{NodePort},我发现{NodePort}访问不了,不知道是哪里出了问题,我不是运维,太晚了,睡了!头发要紧

PS: 为啥不用多个service,一个service一个pod... 这个我没试,主要我想的是service的ip和pod不是一个,通过修改application.yml里的hostname之类的好像可以解决,不过弹性上,就全靠手动了...

最后说下做法

我是一个伸手党
基本上参考这个来做就行了
https://qingmu.io/2019/08/07/Run-eureka-cluster-on-kubernetes/#部署到kubernetes 以下配置都是引用上面的博客后自己的修改。

pom.xml

就不全写了,因为有安全校验,所以比其他的可能多了

        org.springframework.boot        spring-boot-starter-security

application.yml

server:  port: ${PORT:8679}logging:  level:    com:      netflix:        eureka:          registry: errormanagement:  endpoints:    web:      exposure:        include: "*"spring:  application:    name: eurka-server  security:    user:      name: *****      password: ********eureka:  instance:    leaseRenewalIntervalInSeconds: 5    leaseExpirationDurationInSeconds: 10    instance-id: ${EUREKA_INSTANCE_HOSTNAME:${spring.application.name}}:${server.port}@${random.long(1000000,9999999)}    hostname: ${EUREKA_INSTANCE_HOSTNAME:${spring.application.name}}  client:#    register-with-eureka: true#    fetch-registry: true    registry-fetch-interval-seconds: 5    serviceUrl:      defaultZone: ${EUREKA_SERVER:http://127.0.0.1:${server.port}/eureka/}  server:    use-read-only-response-cache: false    enable-self-preservation: false    eviction-interval-timer-in-ms: 5000#    renewal-percent-threshold: 0.9#    waitTimeInMsWhenSyncEmpty: 0

eureka-statefulSet.yml

---apiVersion: v1kind: Servicemetadata:  name: eureka  labels:    app: eurekaspec:  ports:    - port: 8769      name: eureka  clusterIP: None  selector:    app: eureka---apiVersion: apps/v1kind: StatefulSetmetadata:  name: eurekaspec:  serviceName: "eureka"  replicas: 3  selector:    matchLabels:      app: eureka  template:    metadata:      labels:        app: eureka    spec:      containers:        - name: eureka                #镜像就自己把eurek打包把          image: *****          ports:            - containerPort: 8762          resources:            limits:              # jvm会自动发现该限制              memory: 1Gi          env:            - name: MY_POD_NAME              valueFrom:                fieldRef:                  fieldPath: metadata.name            - name: JAVA_OPTS              value: -XX:+UnlockExperimentalVMOptions                -XX:+UseCGroupMemoryLimitForHeap                -XX:MaxRAMFraction=2                -XX:CICompilerCount=8                -XX:ActiveProcessorCount=8                -XX:+UseG1GC                -XX:+AggressiveOpts                -XX:+UseFastAccessorMethods                -XX:+UseStringDeduplication                -XX:+UseCompressedOops                -XX:+OptimizeStringConcat            - name: EUREKA_SERVER              value: "http://**:****@eureka-0.eureka:8769/eureka/,http://**:****@eureka-1.eureka:8769/eureka/,http://**:****@eureka-2.eureka:8769/eureka/"            - name: EUREKA_INSTANCE_HOSTNAME              value: ${MY_POD_NAME}.eureka            - name: PORT              value: "8769"  podManagementPolicy: "Parallel"

到此,关于"k8s集群部署eureka的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

集群 方法 配置 学习 地方 密码 更多 状态 目的 问题 帮助 服务 实用 平常 特殊 接下来 不用 两个 主从 做法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山东特亿宝互联网科技有限公司 江苏根荣互联网科技 互联网科技公司电话 电子科技大学互联网 沃里互联网科技 苏州大垚互联网科技 美国互联网前沿科技 小米互联网科技园设置 想开互联网科技公司怎么样 河南住房之家互联网科技 互联网公司黑科技创始人 元气玛特互联网科技公司是外包吗 互联网公司高科技产品 中国互联网有什么科技 江苏互联网智能科技软件 富国互联网科技002692 工业互联网科技成果转化 绵阳真晨互联网科技有限公司 互联网科技创业计划的风险分析 互联网企业和网络科技有限公司 中关村互联网科技集团 互联网金融 金融科技 互联网 科技馆 安控科技rtu产品工业互联网 互联网科技有哪些公司 互联网保险科技创业 迪庆互联网科技招生 广州新华互联网科技学校电竞方面 山东星卡互联网科技有限公司官网 武汉亿视互联网科技有限公司
0