Rumah > Java > javaTutorial > Laksanakan aplikasi kontena menggunakan Spring Boot dan Kubernetes

Laksanakan aplikasi kontena menggunakan Spring Boot dan Kubernetes

PHPz
Lepaskan: 2023-06-23 08:40:39
asal
1188 orang telah melayarinya

Dengan perkembangan teknologi pengkomputeran awan, aplikasi kontena telah menjadi kaedah penting untuk mengatur dan mengurus aplikasi. Apabila aliran ini berkembang, ramai pembangun memilih untuk menggunakan rangka kerja Spring Boot dan Kubernetes, alat penjadualan kontena, dalam proses pembelajaran dan menggunakan aplikasi kontena. Artikel ini akan memperkenalkan cara menggunakan Spring Boot dan Kubernetes untuk melaksanakan aplikasi kontena dengan mudah.

Apakah Spring Boot?

Spring Boot ialah rangka kerja pembangunan berdasarkan rangka Spring, yang memudahkan proses pembangunan aplikasi Spring melalui pengkapsulan dan konfigurasi automatik. Menggunakan mekanisme konfigurasi automatik Spring Boot, pembangun tidak lagi perlu mengkonfigurasi banyak komponen aplikasi secara manual, sebaliknya, mereka boleh melengkapkan permulaan dan suntikan pelbagai komponen melalui anotasi mudah. Oleh itu, Spring Boot boleh mengurangkan jumlah menulis kod perniagaan dan fail konfigurasi, meningkatkan kecekapan pembangunan.

Apakah itu Kubernetes?

Kubernetes ialah sistem penjadualan kontena sumber terbuka yang boleh menskala dan mengurus persekitaran aplikasi yang sedang berjalan secara automatik, membolehkan pembangun menumpukan pada pembangunan dan keluaran aplikasi. Kubernetes menyediakan pelbagai API dan alatan untuk membantu pembangun mengautomasikan penggunaan, menjalankan, penskalaan dan penemuan perkhidmatan aplikasi dalam bekas.

Langkah asas untuk melaksanakan aplikasi kontena menggunakan Spring Boot dan Kubernetes

Mari perkenalkan secara ringkas langkah asas untuk melaksanakan aplikasi kontena menggunakan Spring Boot dan Kubernetes.

Langkah 1: Tulis aplikasi Spring Boot

Dalam Spring Boot, kita hanya perlu menulis kelas Java yang mudah dan menambah beberapa anotasi untuk mencipta aplikasi. Di bawah ialah contoh kod mudah untuk mencipta aplikasi web Spring Boot minimalis.

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
    
    public static void main(String[] args) {
        SpringApplication.run(HelloController.class, args);
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan anotasi @RestController untuk mengenal pasti kelas pengawal dan menulis kaedah hello() dalam kelas pengawal untuk mengendalikan permintaan GET. Dalam kaedah main(), kami memanggil SpringApplication.run() untuk memulakan aplikasi. Program ringkas ini boleh mendengar port 8080 dan menyediakan antara muka http /hello, mengembalikan hasil rentetan "Hello, World!"

Langkah 2: Buat bekas Docker

Selepas menulis aplikasi, kita boleh menggunakan Docker untuk mencipta bekas. Docker ialah alat untuk mencipta dan mengurus bekas, yang membolehkan pembangun merangkum aplikasi, persekitaran dan kebergantungan dalam bekas mudah alih untuk penggunaan dan ujian yang mudah.

Untuk mencipta bekas Docker, kita perlu menulis fail Dockerfile yang mentakrifkan proses pembinaan imej aplikasi. Di bawah ialah contoh Dockerfile yang mudah.

FROM openjdk:11-jdk-slim
COPY target/myapp.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Salin selepas log masuk

Dalam kod di atas, kami membina bekas baharu berdasarkan imej openjdk:11-jdk-slim, salin pakej balang boleh laku aplikasi ke dalam bekas dan laksanakan balang ini apabila bekas itu memulakan Beg.

Langkah 3: Gunakan Kubernetes untuk menggunakan aplikasi

Selepas bekas Docker dicipta, kita perlu menggunakan Kubernetes untuk menggunakan kontena. Kubernetes menyediakan banyak jenis objek untuk mentakrif dan mengurus pelbagai sumber dan komponen aplikasi.

Untuk aplikasi di atas, kita boleh menggunakan objek Deployment untuk mentakrifkan penggunaan aplikasi dan bilangan salinannya. Kami boleh menggunakan objek Perkhidmatan untuk mentakrifkan kaedah akses penemuan perkhidmatan aplikasi, supaya aplikasi boleh bertukar dengan lancar antara nod yang berbeza. Di bawah ialah contoh fail penggunaan Kubernetes yang mudah.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: myapp
          image: myapp:latest
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
    - name: http
      port: 80
      targetPort: 8080
  type: LoadBalancer
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan objek Deployment, tetapkan bilangan salinan aplikasi kepada 3 dan tentukan imej yang dijalankan dalam bekas sebagai myapp:latest. Kami juga menentukan objek Perkhidmatan, memetakan port 80 kepada port 8080 bekas dan menetapkan kaedah akses kepada jenis LoadBalancer.

Selepas menggunakan aplikasi menggunakan Kubernetes, kami boleh mengakses aplikasi dengan mengakses alamat IP luaran objek Perkhidmatan.

Ringkasan

Dengan menggunakan Spring Boot dan Kubernetes, kami boleh menyimpan, menggunakan dan mengurus aplikasi dengan mudah. Spring Boot menyediakan rangka kerja pembangunan aplikasi mudah untuk membantu pembangun membuat aplikasi dengan cepat, manakala Kubernetes menyediakan alatan pengurusan kontena yang berkuasa untuk memudahkan penggunaan dan penyelenggaraan aplikasi.

Atas ialah kandungan terperinci Laksanakan aplikasi kontena menggunakan Spring Boot dan Kubernetes. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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