kubernetes集群部署springcloud项目【AL】

这篇具有很好参考价值的文章主要介绍了kubernetes集群部署springcloud项目【AL】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

kubernetes集群部署springcloud项目【AL】 (先手工做,非自动化)
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

#环境:
192.168.73.138 master 
192.168.73.139 node1 
192.168.73.140 node2 
192.168.73.137 harbor、mysql
git clone https://github.com/lizhenliang/simple-microservice.git 

地址:https://github.com/lizhenliang/simple-microservice/   
代码分支说明:
dev1交付代码
dev2 编写Dockerfile构建镜像
dev3 K8S资源编排
dev4 微服务链路监控
master 最终上线

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
整体逻辑架构图

1、代码文件解释

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

1、服务编排
2、在K8S平台部署Erueka集群
3、导入数据库文件到MySQL
4、部署网关(gateway)
5、部署业务程序(product、stock.order)
6、部署前端(portal)
部署须知
1、导入db目录下数据库文件到自己的MySQL服务器
2、修改配置环境(xxx-service/src/main/resources/application.yml,active值决定启用环境配置文件)
3、修改连接数据库配置(xxx-service/src/main/resources/application-fat.yml)
4、修改前端页面连接网关地址(portal-service/src/main/resources/static/js/productList.js和orderList.js)
5、服务启动顺序:eureka -> mysql -> product,stock,order -> gateway -> portal

2、代码编译构建,打包镜像

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

#上图的-P prod ,可指定对应的配置文件
mvn clean package -Dmaven.test.skip=true
#通过dockerfile ,打包镜像,上传至harbor镜像仓库

2.1 dev1分支的文件 (交付代码):

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

2.2 gateway-service 网关服务

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

tips:

不同环境配置文件怎么区分?
#1
java -jar -Dspring.profiles.active=dev xxx.jar

#2 
使用配置中心,如Apollo、disconf

2.3 product-service 商品服务

看biz的目录即可, API目录里面是一些接口工具

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

2.4 eureka-service 注册中心服务

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
其他的文件夹要看的关键文件,以此类推。

3 、 dev2 编写Dockerfile构建镜像。 以及在最外层的目录pom.xml执行maven打包

#整体打包。 此时每个微服务的文件夹,会生成target。 target文件夹下会有对应的jar包。
mvn clean package -Dmaven.test.skip=true

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
target下的jar包
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

3.1 每个微服务都有个dockerfile

docker build -t product .

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

4 、启动harbor镜像仓库

docker-compose up -d

dev3 批量打包docker镜像脚本

docker_build.sh
tips:执行前需docker login 192.168.31.70
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

#执行操作
./docker_build.sh
#!/bin/bash

docker_registry=192.168.31.70
# 存储登录Harbor认证信息
kubectl create secret docker-registry registry-pull-secret --docker-server=$docker_registry --docker-username=admin --docker-password=Harbor12345 --docker-email=admin@ctnrs.com -n ms

service_list="eureka-service gateway-service order-service product-service stock-service portal-service"
#参数1的值如果不存在,则使用-:后面的值,$1有值那就用$1的值 。 具体参考shell expansion
service_list=${1:-${service_list}}
work_dir=$(dirname $PWD)
current_dir=$PWD

cd $work_dir
mvn clean package -Dmaven.test.skip=true

for service in $service_list; do
   cd $work_dir/$service
   # 业务程序需进入biz目录里构建。 
   if ls |grep biz &>/dev/null; then
      cd ${service}-biz
   fi
   #取service的名字。eureka-service会变成eureka   ;      具体参考shell expansion
   service=${service%-*}
   image_name=$docker_registry/microservice/${service}:$(date +%F-%H-%M-%S)
   docker build -t ${image_name} .
   docker push ${image_name} 
   # 修改yaml中镜像地址为新推送的,并apply。 如果将下面两行注释,则不会部署到k8s中。 效果就是纯打包docker镜像,推送docker镜像。
   sed -i -r "s#(image: )(.*)#\1$image_name#" ${current_dir}/${service}.yaml
   kubectl apply -f ${current_dir}/${service}.yaml
done

脚本执行完后,仓库结果,6个镜像:
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

5、 准备工作

1、服务编排
2、在K8S平台部署Erueka集群
3、导入数据库文件到mysql
4、部署网关(api-gateway)
5、部署业务程序(product、stock、order)
6、部署前端(portal)
5.1 mysql数据库的准备(略写)

导入DB文件夹里面的sql文件即可 (order.sql 、product.sql、 stock.sql)
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

项目架构图.jpg

配置文件(写在最后):

1、eureka-service   8888
2、gateway-service  9999
3、portal-service   8080
4、order-service    8020
5、product-service  8010
6、stock-service    8030

这里是没对接自动化的软件的配置。

1、全部微服务的dockerfile

1、eureka-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

FROM java:8-jdk-alpine
RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/eureka-service.jar ./
EXPOSE 8888
# #注意这里注入的变量MY_POD_NAME。  对应的dockerfile启动命令有所关联。 pod启动时,会有固定的名称: eureka-0/1/2
#可以启动本pod后执行 hostname -f ,看具体的FQDN:(Fully Qualified Domain Name)全限定域名。 启动后能相互注册。
CMD java -jar -Deureka.instance.hostname=${MY_POD_NAME}.eureka.ms /eureka-service.jar
2、gateway-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

FROM java:8-jdk-alpine
RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/gateway-service.jar ./
EXPOSE 9999
CMD java -jar /gateway-service.jar
3、portal-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

FROM java:8-jdk-alpine
RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/portal-service.jar ./
EXPOSE 8080
CMD java -jar /portal-service.jar
4、order-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

FROM java:8-jdk-alpine
RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/order-service-biz.jar ./
EXPOSE 8020
CMD java -jar /order-service-biz.jar
5、product-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

FROM java:8-jdk-alpine
RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/product-service-biz.jar ./
EXPOSE 8010
CMD java -jar /product-service-biz.jar
6、stock-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

FROM java:8-jdk-alpine
RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/stock-service-biz.jar ./
EXPOSE 8030
CMD java -jar /stock-service-biz.jar

2、全部微服务的yaml

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

1、eureka-service   Ingress、Service、StatefulSet
2、gateway-service  Ingress、Service、Deployment (对外暴露)
3、portal-service   Ingress、Service、Deployment (对外暴露)
4、order-service    Deployment
5、product-service  Deployment
6、stock-service    Deployment
#根据 “项目架构图.jpg” 内部的order 、product、stock不需要写service。 因为已注册到eureka中。 APIgateway会调用内部的微服务,反馈给用户。
部署顺序
#手动操作。非自动化
kubectl create secret docker-registry registry-pull-secret --docker-server=$docker_registry --docker-username=admin --docker-password=Harbor12345 --docker-email=admin@ctnrs.com -n ms

kubectl apply -f eureka.yaml
kubectl apply -f gateway.yaml

kubectl apply -f portal.yaml
kubectl apply -f stock.yaml
kubectl apply -f product.yaml
kubectl apply -f order.yaml

一些执行后的图:
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

kubectl exec -it eureka-0 sh -n ms
nslookup eureka
nslookup eureka-0.eureka.ms

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
eureka界面:
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
其他微服务注册进来的信息:
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
ms命名空间下的微服务启动情况

kubectl get pods -n ms

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

修改hosts文件,映射IP与域名(略)

浏览器访问项目效果:

portal.ctnrs.com
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
查询商品:
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
查询订单服务:
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

小结

第一步:熟悉Spring Cloud微服务项目
第二步:源代码编译构建
第三步:构建项目镜像并推送到镜像仓库
第四步:在K8S中部署Spring Cloud微服务项目的逻辑架构
第五步:K8S服务编排

第六步:在k8S中部署Eureka集群(注册中心)
第七步:部署微服务网关服务
第八步:部署微服务业务程序
第九步:部署微服务前端
第十步:微服务扩容与发布


在K8S中部署Eureka集群
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
deployment的解释。 具体可参考 kubectl explain
k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

1、eureka-service (Ingress、Service、StatefulSet)
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: eureka 
  namespace: ms 
spec:
  rules:
    - host: eureka.aliangedu.cn 
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service: 
              name: eureka
              port: 
                number: 8888
---
apiVersion: v1
kind: Service
metadata:
  name: eureka
  namespace: ms
spec:
  clusterIP: None
  ports:
  - port: 8888
    name: eureka 
  selector:
    project: ms
    app: eureka

---

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: eureka
  namespace: ms 
spec:
  replicas: 3
  selector:
    matchLabels:
      project: ms
      app: eureka
  serviceName: "eureka"
  template:
    metadata:
      labels:
        project: ms 
        app: eureka
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: eureka
        image: 192.168.31.70/microservice/eureka:2019-07-10-21-33-14
        ports:
          - protocol: TCP
            containerPort: 8888
        #注意这里注入的变量MY_POD_NAME。  对应的dockerfile启动命令有所关联。 pod启动时,会有固定的名称: eureka-0/1/2
        #可以启动本pod后执行 hostname -f ,看具体的FQDN:(Fully Qualified Domain Name)全限定域名。 启动后能相互注册。
        env:
          - name: MY_POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1 
            memory: 1Gi
        readinessProbe:
          tcpSocket:
            port: 8888
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 8888
          initialDelaySeconds: 60
          periodSeconds: 10
2、gateway-service (Ingress、Service、Deployment)
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: gateway 
  namespace: ms 
spec:
  rules:
    - host: gateway.aliangedu.cn 
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service: 
              name: gateway
              port: 
                number: 9999
---
apiVersion: v1
kind: Service
metadata:
  name: gateway
  namespace: ms
spec:
  ports:
  - port: 9999 
    name: gateway
  selector:
    project: ms
    app: gateway
---
apiVersion: apps/v1
kind: Deployment 
metadata:
  name: gateway
  namespace: ms 
spec:
  replicas: 2
  selector:
    matchLabels:
      project: ms
      app: gateway
  template:
    metadata:
      labels:
        project: ms 
        app: gateway
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: gateway
        image: 192.168.31.70/microservice/gateway:2019-07-10-21-26-23
        imagePullPolicy: Always
        ports:
          - protocol: TCP
            containerPort: 9999 
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1
            memory: 1Gi
        readinessProbe:
          tcpSocket:
            port: 9999
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 9999
          initialDelaySeconds: 60
          periodSeconds: 10
3、portal-service (Ingress、Service、Deployment)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: portal 
  namespace: ms 
spec:
  rules:
    - host: portal.aliangedu.cn
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service: 
              name: portal
              port: 
                number: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: portal
  namespace: ms
spec:
  ports:
  - port: 8080
    name: portal 
  selector:
    project: ms
    app: portal
---
apiVersion: apps/v1
kind: Deployment 
metadata:
  name: portal
  namespace: ms 
spec:
  replicas: 2
  selector:
    matchLabels:
      project: ms
      app: portal
  template:
    metadata:
      labels:
        project: ms 
        app: portal
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: portal
        image: 192.168.31.70/microservice/portal:2019-07-10-21-35-13
        imagePullPolicy: Always
        ports:
          - protocol: TCP
            containerPort: 8080 
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1
            memory: 1Gi
        readinessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 60
          periodSeconds: 10
4、order-service (Deployment)
apiVersion: apps/v1
kind: Deployment 
metadata:
  name: order
  namespace: ms 
spec:
  replicas: 2
  selector:
    matchLabels:
      project: ms
      app: order
  template:
    metadata:
      labels:
        project: ms 
        app: order
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: order
        image: 192.168.31.70/microservice/order:2019-07-10-21-34-08
        imagePullPolicy: Always
        ports:
          - protocol: TCP
            containerPort: 8020 
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1
            memory: 1Gi
        readinessProbe:
          tcpSocket:
            port: 8020
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 8020
          initialDelaySeconds: 60
          periodSeconds: 10
5、product-service (Deployment)
apiVersion: apps/v1
kind: Deployment 
metadata:
  name: product
  namespace: ms 
spec:
  replicas: 2
  selector:
    matchLabels:
      project: ms
      app: product
  template:
    metadata:
      labels:
        project: ms 
        app: product
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: product
        image: 192.168.31.70/microservice/product:2019-07-10-21-34-34
        imagePullPolicy: Always
        ports:
          - protocol: TCP
            containerPort: 8010 
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1
            memory: 1Gi
        readinessProbe:
          tcpSocket:
            port: 8010
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 8010
          initialDelaySeconds: 60
          periodSeconds: 10
6、stock-service
apiVersion: apps/v1
kind: Deployment 
metadata:
  name: stock
  namespace: ms 
spec:
  replicas: 2
  selector:
    matchLabels:
      project: ms
      app: stock
  template:
    metadata:
      labels:
        project: ms 
        app: stock
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: stock
        image: 192.168.31.70/microservice/stock:2019-07-10-20-41-44
        imagePullPolicy: Always
        ports:
          - protocol: TCP
            containerPort: 8030
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1
            memory: 1Gi
        readinessProbe:
          tcpSocket:
            port: 8030
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 8030
          initialDelaySeconds: 60
          periodSeconds: 10

3、全部微服务的配置文件 application.yml

1、eureka-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

application.yml

server:
  port: 8888
spring:
  application:
    name: eureka-server
  profiles:
    active: fat

application-fat.yml

eureka:
  server:
    renewal-percent-threshold: 0.9
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 40000
  instance:
    hostname: 127.0.0.1
    prefer-ip-address: false
  client:
    register-with-eureka: true
    serviceUrl:
      defaultZone: http://eureka-0.eureka.ms:${server.port}/eureka/,http://eureka-1.eureka.ms:${server.port}/eureka/,http://eureka-2.eureka.ms:${server.port}/eureka/
    fetch-registry: true
2、gateway-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

application.yml

server:
  port: 9999
spring:
  profiles:
    active: fat
  application:
    name: @artifactId@

application-fat.yml

spring:
  cloud:
    gateway:
      discovery:
        locator:
          #开启以服务id去注册中心上获取转发地址
          enabled: true
          ##小写serviceId
          lower-case-service-id: true
      routes:
        - id: product-service
          uri: lb://product-service
          filters:
            - StripPrefix=1
          predicates:
            - Path=/product/**

        - id: order-service
          uri: lb://order-service
          filters:
            - StripPrefix=1
          predicates:
            - Path=/order/**

        - id: stock-service
          uri: lb://stock-service
          filters:
            - StripPrefix=1
          predicates:
            - Path=/stock/**

eureka:
  instance:
    prefer-ip-address: true
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka
3、portal-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

application.yml

server:
  port: 8080
  undertow:
    io-threads: 16
    worker-threads: 256
    buffer-size: 1024
    direct-buffers: true
spring:
  application:
    name: portal-service
  profiles:
    active: fat

application-fat.yml

eureka:
  instance:
    prefer-ip-address: true
  client:
    service-url:
      defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka
    register-with-eureka: true
    fetch-registry: true

spring:
  freemarker:
    allow-request-override: false
    allow-session-override: false
    cache: true
    charset: UTF-8
    check-template-location: true
    content-type: text/html
    enabled: true
    expose-request-attributes: false
    expose-session-attributes: false
    expose-spring-macro-helpers: true
    prefer-file-system-access: true
    suffix: .ftl
    template-loader-path: classpath:/templates/
4、order-service (有数据库的配置)

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java
application.yml

server:
  port: 8020
spring:
  profiles:
    active: fat
  application:
    name: order-service

application-fat.yml

spring:
  datasource:
    url: jdbc:mysql://192.168.31.70:3306/tb_order?characterEncoding=utf-8
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

eureka:
  instance:
    prefer-ip-address: true
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka

5、product-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

application.yml

server:
  port: 8010
spring:
  profiles:
    active: fat
  application:
    name: product-service

application-fat.yml

spring:
  datasource:
    url: jdbc:mysql://192.168.31.70:3306/tb_product?characterEncoding=utf-8
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

eureka:
  instance:
    prefer-ip-address: true
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka

6、stock-service

k8s部署springcloud项目,云玩家-K8S&docker,kubernetes,spring cloud,java

application.yml

server:
  port: 8030
spring:
  profiles:
    active: fat
  application:
    name: stock-service

application-fat.yml

spring:
  datasource:
    url: jdbc:mysql://192.168.31.70:3306/tb_stock?characterEncoding=utf-8
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

eureka:
  instance:
    prefer-ip-address: true
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka-0.eureka.ms:8888/eureka,http://eureka-1.eureka.ms:8888/eureka,http://eureka-2.eureka.ms:8888/eureka

参考:
https://cloud.tencent.com/developer/article/1702154
https://blog.csdn.net/weixin_45623111/article/details/105215255 《k8s部署springcloud》文章来源地址https://www.toymoban.com/news/detail-628751.html

到了这里,关于kubernetes集群部署springcloud项目【AL】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes(k8s)集群部署----->超详细

    💖The Begin💖点点关注,收藏不迷路💖 Kubernetes(简称k8s)是一个开源的容器编排平台,可以帮助开发人员和运维团队更轻松地管理容器化应用程序。本文将详细介绍如何进行k8s集群的部署,以帮助读者快速搭建一个高可用、可伸缩的k8s集群。 1、操作系统:至少三台物理机或

    2024年02月05日
    浏览(52)
  • yum部署kubernetes(k8s)集群、k8s常用资源管理

    目录 一、环境搭建 1、准备环境 1)计算机说明,建议系统版本7.4或者7.6 2)修改所有主机的计算机名设置host文件  2、安装master节点 1)安装etcd配置etcd 2)安装k8s-master节点 3)配置apiserver 4)配置controller和scheduler 5)启动k8s服务 3、安装k8s-master上的node 1)安装node 2)配置kube

    2024年02月13日
    浏览(54)
  • 基于Docker的K8s(Kubernetes)集群部署

    开始搭建k8s集群 三台服务器修改主机名称 关闭对话窗口,重新连接 三台主机名称呢就修改成功了。 接下来修改每台节点的 hosts 文件 所有节点关闭 setLinux 查看是否关闭成功 为每个节点添加 k8s 数据源 如果安装docker数据源找不到yum-config 所有节点安装kubelet kubelet安装中… k

    2024年02月08日
    浏览(82)
  • 【k8s】基于Prometheus监控Kubernetes集群安装部署

    目录 基于Prometheus监控Kubernetes集群安装部署 一、环境准备 二、部署kubernetes集群 三、部署Prometheus监控平台 四、部署Grafana服务 五、grafana  web操作 IP地址 主机名 组件 192.168.100.131 k8s-master kubeadm、kubelet、kubectl、docker-ce 192.168.100.132 k8s-node01 kubeadm、kubelet、kubectl、docker-ce 192.168

    2024年02月12日
    浏览(41)
  • kubernetes集群(k8s)之安装部署Calico 网络

    目录 安装部署Calico 网络 (一)环境准备 (二)部署docker环境 (三)部署kubernetes集群 (四)部署Calico网络插件 IP地址 主机名 组件 192.168.100.131 k8s-master kubeadm、kubelet、kubectl、docker-ce 192.168.100.132 k8s-node01 kubeadm、kubelet、kubectl、docker-ce 192.168.100.133 k8s-node02 kubeadm、kubelet、kube

    2024年02月12日
    浏览(42)
  • Kubernetes(k8s)实战:Kubernetes(k8s)部署Springboot项目

    wordpress是用于快速搭建博客系统。 该yaml文件创建一个mysql,并且生成一个service,service对外暴露的端口是3306 我们发现,搭建成功了,用浏览器访问192.168.56.101:30493,发现访问成功了! 在集群中,pod之间可以通过service 的name进行访问,不仅仅是ip,这就意味着,service中不仅帮

    2024年02月12日
    浏览(86)
  • 云原生|kubernetes|kubernetes集群部署神器kubekey安装部署高可用k8s集群(半离线形式)

    前面利用kubekey部署了一个简单的非高可用,etcd单实例的kubernetes集群,经过研究,发现部署过程可以简化,省去了一部分下载过程(主要是下载kubernetes组件的过程)只是kubernetes版本会固定在1.22.16版本,etcd集群可以部署成生产用的外部集群,并且apiserver等等组件也是高可用,

    2024年02月15日
    浏览(39)
  • [kubernetes]二进制部署k8s集群-基于containerd

    k8s从1.24版本开始不再直接支持docker,但可以自行调整相关配置,实现1.24版本后的k8s还能调用docker。其实docker自身也是调用containerd,与其k8s通过docker再调用containerd,不如k8s直接调用containerd,以减少性能损耗。 除了containerd,比较流行的容器运行时还有podman,但是podman官方安装

    2024年02月12日
    浏览(39)
  • kubernetes(k8s)集群超级详细超全安装部署手册

    针对机器已安装过k8s的情况,如未安装过,请忽略。 k8s重置命令(如果初始化的过程出现了错误就使用重置命令): kubeadm reset 1.1 准备工作(所有的节点都执行) 编辑4台服务器的  /etc/hosts  文件 ,添加下面内容(每个节点都执行一遍): 设置hostname(以node1为例): 或者修

    2024年03月22日
    浏览(38)
  • Kubernetes技术--使用kubeadm快速部署一个K8s集群

    这里我们配置一个 单master集群 。( 一个Master节点,多个Node节点 ) 1.硬件环境准备 一台或多台机器,操作系统 CentOS7.x-86_x64 。这里我们使用安装了CentOS7的三台虚拟机 硬件配置 : 2GB或更多RAM , 2个CPU或更多CPU , 硬盘30GB或更多 2.主机名称和IP地址规划 3. 初始化准备工作 (1).关

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包