Penyerahan kontena menggunakan Kubernetes dalam Beego
Dengan populariti pengkomputeran awan dan teknologi kontena, semakin banyak aplikasi web mula menggunakan penggunaan kontena. Dalam penggunaan kontena, Kubernetes telah menjadi salah satu piawaian de facto. Artikel ini akan memperkenalkan cara menggunakan Kubernetes untuk penggunaan kontena dalam Beego.
1. Apakah itu Beego?
Beego ialah rangka kerja MVC berasaskan Go (Golang) yang ringkas, pantas. Ini ialah rangka kerja sumber terbuka yang boleh digunakan untuk membangunkan aplikasi web berprestasi tinggi, boleh skala, boleh diselenggara dan boleh diuji dengan cepat.
2. Apakah itu Kubernetes?
Kubernetes ialah sistem orkestrasi kontena sumber terbuka untuk mengurus aplikasi kontena. Ia menyediakan keupayaan untuk mengautomasikan penggunaan, penskalaan dan pengurusan aplikasi kontena. Kubernetes boleh dijalankan dalam persekitaran awan peribadi dan awam dan boleh digunakan merentas berbilang penyedia awan.
3. Mengapa menggunakan Kubernetes untuk penggunaan kontena dalam Beego?
Menggunakan Kubernetes untuk penggunaan kontena dalam Beego mempunyai faedah berikut:
1 Kemudahalihan: Menggunakan teknologi penggunaan kontena, aplikasi boleh dimasukkan ke dalam bekas dan Gunakan di mana-mana sahaja dengan Kubernetes.
2. Penskalaan elastik: Menggunakan Kubernetes, bekas aplikasi boleh dikembangkan secara automatik dan mengecut secara mendatar untuk bertindak balas terhadap perubahan trafik.
3 Ketersediaan tinggi: Ketersediaan tinggi boleh dicapai menggunakan Kubernetes Jika nod gagal, Kubernetes akan memulakan semula bekas pada nod lain.
4 Mudah diurus: Menggunakan Kubernetes boleh memudahkan pengurusan aplikasi dan infrastruktur.
4. Bagaimana cara menggunakan Kubernetes untuk penggunaan kontena dalam Beego?
Berikut ialah langkah-langkah untuk penggunaan kontena menggunakan Kubernetes dalam Beego:
1 Tulis Fail Docker: Fail Docker ialah fail skrip untuk membina bekas Docker. Dalam direktori akar aplikasi Beego, cipta fail bernama Dockerfile dan tambah kandungan berikut:
FROM golang:1.13 as builder WORKDIR /app COPY . . RUN go mod download RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o app . FROM alpine RUN apk update && apk add --no-cache ca-certificates WORKDIR /root/ COPY --from=builder /app/app . CMD ["./app"]
Dalam fail Dockerfile di atas, baris 1 menentukan bahawa imej asas yang digunakan ialah imej golang:1.13 rasmi, baris 1 Baris 2 menentukan direktori kerja sebagai /app. Baris 3 menyalin aplikasi Beego ke dalam bekas. Baris 4 memuat turun modul yang diperlukan oleh aplikasi. Baris 5 menyusun. Baris 7 menyalin aplikasi ke imej asas lain, alpine, yang kecil dan hanya mengandungi fail yang diperlukan. Baris terakhir menentukan arahan untuk dijalankan apabila bekas bermula.
2. Bina imej Docker: Navigasi ke direktori tempat fail Dockerfile terletak di terminal dan jalankan arahan berikut untuk membina imej Docker:
docker build -t [image name] .
Di mana, [nama imej] ialah Docker yang akan dicipta nama Imej. Sebagai contoh, anda boleh menggunakan arahan berikut untuk mencipta imej Docker bernama my-app:
docker build -t my-app .
3. Sebarkan menggunakan Kubernetes: Dalam Kubernetes, anda boleh menggunakan tiga kaedah berikut untuk menggunakan:
(1) Gunakan penyebaran Deployment: Gunakan fail sumber Deployment (deployment.yaml) untuk mentakrifkan penggunaan aplikasi. Fail sumber ini mentakrifkan imej bekas yang akan digunakan, bilangan salinan dan maklumat lain. Berikut ialah contoh fail deployment.yaml:
apiVersion: apps/v1 kind: Deployment metadata: name: my-app-deployment spec: selector: matchLabels: app: my-app replicas: 3 template: metadata: labels: app: my-app spec: containers: - name: my-app-container image: my-app imagePullPolicy: Always ports: - containerPort: 8080
Dalam fail ini, baris 1 menentukan versi API, baris 2 menentukan sumber (Deployment) yang akan dibuat, baris 4 menentukan nama sumber dan baris 7 Baris menentukan pemilih untuk menunjukkan Pod yang akan dikawal, baris ke-10 menentukan bilangan salinan, dan baris ke-13 menentukan maklumat yang berkaitan dengan imej bekas.
(2) Gunakan kerahan Pod: Gunakan fail sumber Pod (pod.yaml) untuk mentakrifkan penggunaan Pod. Tentukan maklumat seperti imej kontena dan port aplikasi untuk digunakan dalam fail sumber. Berikut ialah contoh fail pod.yaml:
apiVersion: v1 kind: Pod metadata: name: my-app-pod spec: containers: - name: my-app-container image: my-app imagePullPolicy: Always ports: - containerPort: 8080
Dalam fail ini, baris 1 menentukan versi API, baris 2 menentukan sumber (Pod) yang akan dibuat, baris 5 menentukan nama sumber dan baris 7 Baris 10 menentukan nama imej kontena untuk digunakan dan baris 10 menentukan port aplikasi.
(3) Gunakan kerahan Perkhidmatan: Gunakan fail sumber Perkhidmatan (service.yaml) untuk mentakrifkan objek Perkhidmatan. Fail ini menentukan maklumat seperti port yang akan dipetakan dan jenis perkhidmatan. Berikut ialah contoh fail service.yaml:
apiVersion: v1 kind: Service metadata: name: my-app-service spec: selector: app: my-app type: LoadBalancer ports: - name: http port: 8080 targetPort: 8080
Dalam fail ini, baris 1 menentukan versi API, baris 2 menentukan sumber (Perkhidmatan) yang akan dibuat, baris 5 menentukan nama sumber dan baris 7 Baris menentukan pemilih perkhidmatan, baris 9 menentukan jenis perkhidmatan dan baris 10 menentukan surat-menyurat antara port pemetaan perkhidmatan dan port kontena.
Di atas ialah langkah-langkah untuk penggunaan kontena menggunakan Kubernetes dalam Beego. Dengan cara ini aplikasi Beego boleh digunakan dengan cepat dan mudah.
Atas ialah kandungan terperinci Penggunaan kontena menggunakan Kubernetes dalam Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!