栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kubernetes部署eureka

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kubernetes部署eureka

目录

1、java中的application.yaml文件

2、创建Dockerfile、打包

3、配置eureka.yaml

4、执行yaml文件,查看节点信息

5、浏览器访问


自己在学习k8s过程中做下的笔记,希望能帮助到一起学习的人

1、java中的application.yaml文件
server:
  port: ${PORT:10086} # 自定义
spring:
  application:
    name: eureka

eureka:
  server:
    eviction-interval-timer-in-ms: 5000
    enable-self-preservation: false
    use-read-only-response-cache: false
  client:
    fetch-registry: false
    register-with-eureka: false
    registry-fetch-interval-seconds: 5
    service-url:
      defaultZone: ${EUREKA_SERVER:http://127.0.0.1:${server.port}/eureka/}

  instance:
    lease-renewal-interval-in-seconds: 5
    lease-expiration-duration-in-seconds: 10
    instance-id: ${EUREKA_INSTANCE_HOSTNAME:${spring.application.name}}:${server.port}}
    hostname: ${EUREKA_INSTANCE_HOSTNAME:${spring.application.name}}

上面的变量会在下面的eureka.yaml配置文件中设置替换
EUREKA_SERVER、EUREKA_INSTANCE_HOSTNAME、EUREKA_INSTANCE_HOSTNAME

2、创建Dockerfile、打包
[root@master03 eureka]# vim Dockerfile

#jdk指向我的harbor私有镜像仓库
FROM harbor.swx.com/k8s/openjdk:8-jre-alpine 

#备份jar包位置
COPY eureka-service.jar eureka.jar

#java命令执行jar包
ENTRYPOINT ["java", "-jar","/eureka.jar"]


#根据Dockerfile,打包镜像
[root@master03 eureka]# docker build -t harbor.swx.com/k8s/eureka:v1   

3、配置eureka.yaml
[root@master03 eureka]# vim eureka.yaml
#配置的service
apiVersion: v1
kind: Service  
metadata:
  name: eureka #service名称
  labels:
    app: eureka
spec:
  type: NodePort
  ports:
    - port: 10086 #自定义
      name: eureka
      targetPort: 10086  #要和jar中的port统一
  selector:
    app: eureka
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: eureka
spec:
  serviceName: eureka
  replicas: 2
  selector:
    matchLabels:
      app: eureka
  template:
    metadata:
      labels:
        app: eureka
    spec:
      containers:
        - name: eureka
          image: harbor.swx.com/k8s/eureka:v1 #镜像地址
          ports:
            - containerPort: 10086 #要和jar中的prot统一
          env:
            - name: MY_POD_NAME #替换jar包中application.yml文件中的属性
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: EUREKA_SERVER #替换jar包中application.yml文件中的属性
              #http + StatefulSet的name名称 + 系统自动添加的 【0-9】数字 + MY_POD_NAME的name
              value: "http://eureka-0.eureka:10086/eureka/,http://eureka-1.eureka:10086/eureka/"
            - name: EUREKA_INSTANCE_HOSTNAME #替换jar包中application.yml文件中的属性
              value: ${MY_POD_NAME}.eureka
  podManagementPolicy: "Parallel"

4、执行yaml文件,查看节点信息
#执行yaml文件
[root@master03 eureka]# kubectl apply -f eureka.yaml

#查看所有节点
[root@master03 eureka]# kubectl get nodes
NAME       STATUS   ROLES    AGE    VERSION
master01   Ready    master   4d2h   v1.19.0
master02   Ready    master   4d1h   v1.19.0
master03   Ready    master   4d1h   v1.19.0
node01     Ready       24h    v1.19.0
node02     Ready       24h    v1.19.0

#查看pod状态
[root@master03 eureka]# kubectl get pods -o wide
NAME       READY   STATUS    RESTARTS   AGE   IP               NODE     NOMINATED NODE   READINESS GATES
eureka-0   1/1     Running   0          41m   10.244.196.139   node01              
eureka-1   1/1     Running   0          41m   10.244.140.75    node02              

#浏览器访问 node节点的ip + nodeport的端口
[root@master03 eureka]# kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE
eureka       NodePort    10.107.104.213           10086:32229/TCP   3m54s
kubernetes   ClusterIP   10.96.0.1                443/TCP           4d1h

#我的节点ip
#node01 192.168.1.165
#node02 192.168.1.166

5、浏览器访问

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686565.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号