Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penggunaan dan pengurusan pengeluaran menggunakan Docker dan Kubernetes dalam Beego

Penggunaan dan pengurusan pengeluaran menggunakan Docker dan Kubernetes dalam Beego

PHPz
PHPzasal
2023-06-23 08:58:36784semak imbas

Dengan perkembangan pesat Internet, semakin banyak perusahaan mula memindahkan aplikasi mereka ke platform awan. Docker dan Kubernetes telah menjadi dua alat yang sangat popular dan berkuasa untuk penggunaan dan pengurusan aplikasi pada platform awan.

Beego ialah rangka kerja Web yang dibangunkan menggunakan Golang Ia menyediakan fungsi yang kaya seperti penghalaan HTTP, lapisan MVC, pengelogan, pengurusan konfigurasi, pengurusan Sesi, dll. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Docker dan Kubernetes untuk mengatur dan mengurus aplikasi Beego untuk memudahkan penggunaan dan pengurusan aplikasi yang pantas.

Pengenalan kepada Docker

Docker ialah teknologi virtualisasi berasaskan kontena yang membolehkan pembangun membungkus aplikasi dan semua perpustakaan bergantung, fail konfigurasi, dll. dalam bekas, supaya Memastikan aplikasi boleh dijalankan dalam mana-mana persekitaran, dan semua perpustakaan dan konfigurasi bergantung adalah sama.

Apabila menggunakan Docker untuk menggunakan aplikasi Beego, kami boleh membungkus aplikasi, semua perpustakaan bergantung dan fail konfigurasi dalam bekas dan memetakan bekas ke port tertentu pada mesin hos. Dengan cara ini, kami boleh mengakses aplikasi Beego kami melalui alamat IP dan port mesin hos.

Docker menggunakan aplikasi Beego

Apabila menggunakan Docker untuk menggunakan aplikasi Beego, kita perlu melakukan langkah berikut:

1. Pasang Docker

Sila ikuti Dokumentasi rasmi untuk memasang Docker: https://docs.docker.com/install/

2. Cipta Fail Docker

Fail Docker ialah fail teks biasa yang mengandungi semua arahan untuk membina imej Docker . Dalam Dockerfile, kita perlu menentukan imej Docker untuk digunakan, menyalin aplikasi dan semua perpustakaan bergantung dan fail konfigurasi ke bekas, mulakan aplikasi Beego, dsb.

Contoh Dockerfile yang mudah adalah seperti berikut:

# 使用golang 1.13版本的Docker镜像
FROM golang:1.13

# 将当前目录下的所有文件复制到容器中/app目录下
ADD . /app

# 设置工作目录为/app
WORKDIR /app

# 编译Beego应用程序
RUN go build main.go

# 暴露8080端口
EXPOSE 8080

# 启动Beego应用程序
CMD ["./main"]

3 Bina imej Docker

Dalam direktori tempat Dockerfile terletak, laksanakan arahan berikut untuk membina Docker. imej:

docker build -t myapp:latest .

Arahan ini akan membungkus semua fail dalam direktori tempat Fail Docker terletak ke dalam imej Docker dengan label myapp:latest.

4. Jalankan bekas Docker

Selepas membina imej Docker, kita boleh menggunakan arahan berikut untuk menjalankan bekas Docker:

docker run -p 8080:8080 myapp:latest

Arahan ini akan menjalankan label myapp :imej Docker terkini, dan petakan port 8080 kontena ke port 8080 mesin hos.

5. Akses aplikasi Beego

Kini, kami boleh mengakses aplikasi Beego kami dengan mengakses http://localhost:8080 melalui penyemak imbas.

Pengenalan kepada Kubernetes

Kubernetes ialah alat orkestrasi kontena sumber terbuka yang boleh menggunakan secara automatik, menskala dan mengurus aplikasi kontena. Menggunakan Kubernetes boleh menyediakan aplikasi dengan ciri seperti ketersediaan tinggi, kebolehskalaan dan toleransi kesalahan.

Apabila menggunakan Kubernetes untuk menggunakan aplikasi Beego, kami perlu terlebih dahulu membungkus aplikasi dan semua perpustakaan bergantung serta fail konfigurasi ke dalam imej Docker, dan kemudian menggunakan imej Docker ini ke gugusan Kubernetes. Kubernetes akan menjalankan imej Docker ini secara automatik pada nod dalam kelompok Kubernetes dan mendedahkan port perkhidmatan ke luar.

Kubernetes menggunakan aplikasi Beego

Apabila menggunakan Kubernetes untuk menggunakan aplikasi Beego, kita perlu melakukan langkah berikut:

1 Pasang dan konfigurasikan gugusan Kubernetes

Sila rujuk dokumentasi rasmi untuk memasang dan mengkonfigurasi gugusan Kubernetes: https://kubernetes.io/docs/setup/

2 Cipta Deployment

Dalam Kubernetes, kami menggunakan Deployment to define a deployable Himpunan bekas replika yang berkongsi konfigurasi dan volum storan yang sama. Kubernetes akan secara automatik menetapkan Pod (bekas) ini kepada nod dalam kelompok dan menyemak statusnya untuk memastikan ketersediaan tinggi dan toleransi kesalahan aplikasi.

Contoh Deployment yang mudah adalah seperti berikut:

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

Deployment ini mentakrifkan koleksi kontena boleh ditiru bernama myapp-deployment, yang mengandungi 3 Pod dan dipilih menggunakan label app=myapp Pod. Bekas yang berjalan dalam setiap Pod menggunakan myapp:imej terkini dan dedahkan port kontena 8080.

3. Cipta Perkhidmatan

Dalam Kubernetes, kami menggunakan Perkhidmatan untuk mendedahkan Pod dalam Deployment ke luar. Perkhidmatan akan memberikan IP maya dan port kepada Pod dan memajukan semua permintaan kepada Pod ini.

Contoh Perkhidmatan ringkas adalah seperti berikut:

apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
  - name: http
    port: 8080
    targetPort: 8080
  type: LoadBalancer

Perkhidmatan ini mentakrifkan perkhidmatan pengimbangan beban bernama myapp-service, yang memajukan permintaan ke Pod dengan label app=myapp dan meletakkan bekas Port 8080 dipetakan ke port Perkhidmatan.

4. Gunakan aplikasi Beego

Selepas mencipta Penyerahan dan Perkhidmatan, kita boleh menggunakan arahan berikut untuk menggunakan aplikasi Beego:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Arahan ini akan menggunakan replika pengumpulan kontena dan perkhidmatan pengimbangan beban dan tambahkannya pada kelompok Kubernetes.

5. Akses aplikasi Beego

Sekarang, kami boleh menggunakan perintah kubectl get svc untuk mendapatkan IP maya dan port Perkhidmatan, dan kemudian mengakses aplikasi Beego kami melalui penyemak imbas.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan Docker dan Kubernetes untuk menggunakan dan mengurus aplikasi Beego. Menggunakan kedua-dua alat ini, kami boleh menggunakan aplikasi dengan cepat ke platform awan dan memastikan konsistensi aplikasi, ketersediaan tinggi, kebolehskalaan dan toleransi kesalahan. Adalah dipercayai bahawa teknologi ini akan membantu dengan penggunaan dan pengurusan aplikasi Internet yang semakin kompleks.

Atas ialah kandungan terperinci Penggunaan dan pengurusan pengeluaran menggunakan Docker dan Kubernetes dalam Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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