Rumah > Java > javaTutorial > Spring Cloud Kubernetes: Java Microservice Container Orchestration

Spring Cloud Kubernetes: Java Microservice Container Orchestration

WBOY
Lepaskan: 2024-06-01 21:36:00
asal
634 orang telah melayarinya

Spring Cloud Kubernetes ialah rangka kerja orkestrasi perkhidmatan mikro Java yang digunakan untuk menyepadukan kluster Kubernetes dengan lancar dan menyediakan penemuan perkhidmatan, pengimbangan beban dan fungsi lain. Contoh praktikal: Cipta perkhidmatan mikro Spring Boot dan gunakannya ke Kubernetes: 1. Cipta aplikasi Spring Boot. 2. Konfigurasikan perkhidmatan mikro (tambah pergantungan Spring Cloud Kubernetes). 3. Buat fail Docker. 4. Bina dan tolak imej Docker. 5. Buat manifes Kubernetes. 6. Sebarkan ke Kubernetes dan sahkan.

Spring Cloud Kubernetes:Java微服务容器编排

Spring Cloud Kubernetes: Java Microservices Container Orchestration

Spring Cloud Kubernetes ialah rangka kerja ringan untuk mengatur dan mengurus perkhidmatan mikro Java dalam kelompok Kubernetes. Ia disepadukan dengan lancar dengan Spring Boot dan menyediakan fungsi luar biasa termasuk penemuan perkhidmatan, pengimbangan beban, pengurusan konfigurasi dan pendedahan perkhidmatan.

Kes praktikal

Mari kami membina perkhidmatan mikro Spring Boot yang ringkas dan menggunakannya dalam gugusan Kubernetes:

1 Cipta aplikasi Spring Boot

Mula-mula, buat Maven

Projek Maven baharu dengan Spring Boot.

Tambahkan kebergantungan Spring Cloud Kubernetes dalam fail pom.xml: pom.xml 文件中添加 Spring Cloud Kubernetes 依赖项:

mvn archetype:generate -DarchetypeArtifactId=spring-boot-starter-parent
Salin selepas log masuk

2. 配置微服务

application.properties 文件中添加以下配置:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-kubernetes</artifactId>
    <version>4.0.6</version>
</dependency>
Salin selepas log masuk

3. 创建 Dockerfile

创建一个 Dockerfile 以构建 Docker 镜像:

spring.application.name=spring-boot-kubernetes
kubernetes.image.name=spring-boot-kubernetes
Salin selepas log masuk

4. 构建和推送 Docker 镜像

运行以下命令构建和推送 Docker 镜像到注册中心:

FROM openjdk:17
WORKDIR /app
COPY target/spring-boot-kubernetes.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
Salin selepas log masuk

5. 创建 Kubernetes 清单

创建 Kubernetes 清单以部署微服务:

docker build -t spring-boot-kubernetes .
docker push spring-boot-kubernetes
Salin selepas log masuk

6. 部署到 Kubernetes

使用 kubectl 命令将清单部署到集群:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: spring-boot-kubernetes
  labels:
    app: spring-boot-kubernetes
spec:
  replicas: 1
  selector:
    matchLabels:
      app: spring-boot-kubernetes
  template:
    metadata:
      labels:
        app: spring-boot-kubernetes
    spec:
      containers:
        - name: spring-boot-kubernetes
          image: spring-boot-kubernetes
          ports:
            - containerPort: 8080
              name: http
Salin selepas log masuk

验证部署

使用 kubectl

kubectl apply -f spring-boot-kubernetes.yaml
Salin selepas log masuk

2 Konfigurasikan perkhidmatan mikro

Dalam fail application.properties Tambahkan konfigurasi berikut: 🎜
kubectl get pods -l app=spring-boot-kubernetes
Salin selepas log masuk
🎜🎜3. Buat fail Docker 🎜🎜🎜Buat Fail Docker untuk membina imej Docker: 🎜
http://<service-address>:<port>
Salin selepas log masuk
🎜🎜4 Bina dan tolak imej Docker 🎜🎜🎜Jalankan arahan berikut. Imej Docker ke pendaftaran: 🎜rrreee🎜🎜5 Cipta manifes Kubernetes 🎜🎜🎜Buat manifes Kubernetes untuk menggunakan perkhidmatan mikro: 🎜rrreee🎜🎜6. untuk menyalin Deploy manifes ke kluster: 🎜rrreee🎜🎜Sahkan penggunaan🎜🎜🎜Gunakan kubectl untuk mendapatkan status pod: 🎜rrreee🎜Akses perkhidmatan mikro melalui: 🎜Looeeking🎜 dan komen! 🎜

Atas ialah kandungan terperinci Spring Cloud Kubernetes: Java Microservice Container Orchestration. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan