1.configserver工程配置文件
eurekaService:
service1: eurekaservice1
service2: eurekaservice2
service3: eurekaservice3
spring:
application:
name: configserverdocker
cloud:
config:
server:
git:
uri: https://github.com/gaojingyuan/springcloud
searchPaths: config
username:
password:
label: master
rabbitmq:
host: rabbit1
port: 5672
username: jiongluOnline
password: jiongluOnline1024
server:
port: 8866
eureka:
instance:
preferIpAddress: true
client:
serviceUrl:
defaultZone: http://${eurekaService.service1}:8888/eureka/,http://${eurekaService.service2}:8887/eureka/,http://${eurekaService.service3}:8886/eureka/
management:
endpoints:
web:
exposure:
include: '*'
其中eurekaservice1 eurekaservice2 eurekaservice3需要和暴露的服务名对应
2.Deployment配置文件 configserver.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: configserver
spec:
replicas: 1
template:
metadata:
labels:
run: configserver
spec:
containers:
- name: configserver
image: docker.registry.server:5000/configserver:latest
imagePullPolicy: IfNotPresent
env:
- name: spring.profiles.active
value: onlineconfig1
ports:
- containerPort: 8866
3.启动
kubectl create -f configserver.yaml
4.通过外网访问,可以看到configserver已经注册了
注意:
1.Deployment中metadata.name不能有大写字母 执行kubectl create -f configserver.yaml会有错误提示
2.k8s与swarm相似,都是使用服务名进行访问,区别是k8s访问pod,swarm访问container
首先看docker-compose.yml
version: "3"
services:
eurekaService1: # eureka server
image: docker.registry.server:5000/eurekaserver
ports:
- "8888:8888"
environment:
- spring.profiles.active=eurekaService1
logging:
options:
max-size: "10m"
max-file: "10"
其中eurekaService1是服务名,configserver会通过这个名字找到eurekaserver
k8s通过指定Deployment名称,暴露同名的service
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: eurekaservice1