近日,由于公司项目标准化改造需要,需要将docker-swarm编排的容器化部署的工程改造成使用k8s编排部署,因此有了以下的学习及研究的过程。阅读本文需要有K8S的基础知识,了解微服务的基本概念及docker的基本使用。k8s的学习从0到入门可以推荐一个不错的学习地址:https://kuboard.cn/learning 将网站从头看到尾,基本也可以入门了。
一. 搭建Eureka微服务
首先我们需要搭建好自己的微服务Eureka工程,具体的搭建我这就不具体细说,主要将说明下应改的配置。
application.yaml:
spring:
profiles:
active: 8761 #选择哪个配置文件
eureka:
server:
enable-self-preservation: false
client:
service-url:
defaultZone: http://eureka-0.eureka.box.svc.cluster.local:8761/eureka,http://eureka-1.eureka.box.svc.cluster.local:8761/eureka,http://eureka-2.eureka.box.svc.cluster.local:8761/eureka
#从服务器上获取注册信息
fetch-registry: true
#是否注册到自己
register-with-eureka: true
instance:
prefer-ip-address: false
spring:
application:
name: eureka
server:
port: 8761
注意点:
1. defaultZone的配置:此处可以配置为任意地址,通过k8s的配置文件环境变量重新注入改变或者按照本文中配置的名称修改(这是固定写法)配置。至于eureka-0.eureka.box.svc.cluster.local 这个域名的下面会详细介绍,简单说句这个域名的命名由$(service name).$(namespace).svc.cluster.local 组成。
2.prefer-ip-address配置:请务必设置为false.设置eureka.instance.prefer-ip-address
为false时,那么注册到Eureka中的Ip地址就是本机的Ip地址,也就是k8s为pod分配的ip地址。