Rumah > hujung hadapan web > View.js > Cara menggunakan kubernetes untuk orkestrasi kontena dalam Vue

Cara menggunakan kubernetes untuk orkestrasi kontena dalam Vue

WBOY
Lepaskan: 2023-06-11 14:00:55
asal
1606 orang telah melayarinya

Dengan perkembangan pesat teknologi pengkomputeran awan, kontena telah menjadi salah satu cara penting untuk teknologi pengkomputeran awan untuk mencapai pengurusan automatik dan cekap. Antaranya, Kubernetes, sebagai platform orkestrasi kontena terkemuka, menyediakan penyelesaian komprehensif untuk pengurusan, penggunaan dan penskalaan aplikasi kontena. Dalam pembangunan aplikasi Vue, cara menggunakan Kubernetes untuk orkestrasi kontena juga merupakan topik yang patut dibincangkan.

1. Konsep asas Kubernetes

Kubernetes ialah platform orkestrasi kontena sumber terbuka yang boleh digunakan untuk mengautomasikan, mengurus dan menggunakan aplikasi kontena. Ia menyediakan penggunaan dan pengurusan berorientasikan aplikasi untuk meminimumkan beban operasi. Kubernetes mengandungi pelbagai komponen, termasuk nod Induk, nod Pekerja, Pelayan API, dll, Penjadual, dsb. Antaranya, nod Induk bertanggungjawab untuk mengawal keseluruhan kluster, manakala nod Pekerja bertanggungjawab untuk mengehos aplikasi kontena. Melalui penyelarasan dan kerja komponen ini, Kubernetes merealisasikan fungsi seperti penggunaan automatik aplikasi kontena, pengembangan dan pengecutan automatik, penemuan perkhidmatan dan pemeriksaan kesihatan.

2. Cara menggunakan Kubernetes untuk orkestrasi kontena dalam Vue

Vue ialah rangka kerja bahagian hadapan JavaScript yang popular, dan aplikasinya boleh digunakan dan diurus melalui teknologi kontena. Di bawah, kami mengambil aplikasi web berasaskan Vue sebagai contoh untuk memperkenalkan cara menggunakan Kubernetes untuk orkestrasi kontena.

  1. Menulis Fail Docker

Fail Docker ialah fail skrip yang digunakan untuk mencipta imej Docker. Di dalamnya kita boleh menentukan sistem pengendalian, kod aplikasi, fail boleh laku, dsb. yang bergantung pada aplikasi. Untuk aplikasi Vue, kami boleh membungkusnya ke dalam fail statik, kemudian menggunakan dan menjalankannya melalui pelayan web seperti Nginx.

Berikut ialah contoh Fail Docker untuk aplikasi Vue:

# 基于Node.js 10.x镜像构建镜像
FROM node:10-alpine as build-stage

# 设置工作目录
WORKDIR /app

# 安装应用所需的依赖
RUN npm install --registry=https://registry.npm.taobao.org

# 拷贝Vue应用程序源码到容器中
COPY . .

# 打包Vue应用程序
RUN npm run build

# 基于Nginx镜像,将Vue应用程序部署到Web服务器中
FROM nginx:alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Salin selepas log masuk

Dalam Fail Docker, kami menggunakan dua imej, Node.js 10.x dan Nginx. Pasang kebergantungan melalui pemasangan npm, salin kod sumber ke bekas, jalankan npm run build untuk membungkus aplikasi Vue, dan gunakannya ke pelayan web Nginx. Kata kunci EXPOSE menunjukkan bahawa nombor port yang kontena akan dengar ialah 80, dan arahan CMD menunjukkan bahawa Nginx akan berjalan secara automatik selepas bekas dimulakan.

  1. Menulis fail YAML Kubernetes

Kubernetes menggunakan fail konfigurasi format YAML untuk menerangkan penggunaan kontena aplikasi dan definisi perkhidmatan. Berikut ialah contoh fail Kubernetes YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: vue-app
spec:
  selector:
    matchLabels:
      app: vue-app
  replicas: 3
  template:
    metadata:
      labels:
        app: vue-app
    spec:
      containers:
      - name: vue-app
        image: your-registry/vue-app:latest
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: vue-app
spec:
  selector:
    app: vue-app
  ports:
  - name: http
    port: 80
    targetPort: 80
  type: ClusterIP
Salin selepas log masuk

Dalam fail ini, kami mentakrifkan 3 salinan aplikasi Vue menggunakan objek Deployment dan mentakrifkan perkhidmatan rangkaian aplikasi menggunakan objek Perkhidmatan. Medan spec Deployment mengandungi maklumat seperti cara mengemas kini salinan dan cara mengawal penciptaan, kemas kini dan pemadaman bekas manakala medan spec Perkhidmatan mengandungi cara menghantar trafik ke bekas dalam Pods. Antaranya, kami menentukan imej Docker yang kami bina sebelum ini melalui medan imej.

  1. Gunakan kubectl untuk menggunakan aplikasi Vue

Setelah kami menulis fail Dockerfile dan Kubernetes YAML, kami boleh menggunakan alat baris arahan kubectl untuk orkestrasi kontena. kubectl ialah alat baris arahan pelanggan Kubernetes Ia menyediakan antara muka API untuk mengurus gugusan Kubernetes, termasuk mencipta, memadam, mengemas kini, melihat bekas, penggunaan dan operasi lain yang berkaitan.

Berikut ialah arahan kubectl untuk menggunakan aplikasi Vue:

kubectl apply -f ./kubernetes.yml
Salin selepas log masuk

Dengan melaksanakan arahan ini, kubectl akan membaca fail YAML Kubernetes yang kami tulis dan mencipta Pod dan Deployment secara automatik dalam gugusan Kubernetes dan Objek perkhidmatan.

Akhir sekali, kita boleh menggunakan perintah kubectl get pods untuk melihat status semua Pod. Jika status semua Pod sedang Berjalan, ini bermakna aplikasi telah berjaya digunakan ke Kubernetes, dan aplikasi Vue boleh diakses dengan mengakses alamat IP dan port yang ditetapkan oleh Perkhidmatan.

4. Ringkasan

Dengan menggunakan Kubernetes untuk orkestrasi kontena, kami boleh menggunakan aplikasi Vue secara automatik dan cekap ke gugusan Kubernetes. Kami hanya perlu menulis fail Dockerfile dan Kubernetes YAML, kemudian gunakan perintah kubectl untuk digunakan. Dalam aplikasi aplikasi kontena, Kubernetes menyediakan penyelesaian yang sangat baik, yang boleh meningkatkan kebolehpercayaan dan kecekapan operasi dan penyelenggaraan aplikasi dengan banyak.

Atas ialah kandungan terperinci Cara menggunakan kubernetes untuk orkestrasi kontena dalam Vue. 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