Flow menyediakan kemampuan penerapan Kubernetes yang umum. Anda dapat menggunakan alat kubectl bawaan untuk menerapkan file YAML Kubernetes ke kluster mana pun. Selain kemampuan yang disediakan oleh kubectl asli, Flow juga menyediakan templat dinamis bawaan untuk membantu Anda membangun dan merilis aplikasi di Kubernetes dengan cepat. Topik ini menjelaskan cara menggunakan Flow untuk menambahkan dan mengonfigurasi pekerjaan rilis Kubernetes serta cara melihat log setelah penerapan.
Ikhtisar solusi
Tambahkan pekerjaan deployment
Anda dapat menambahkan pekerjaan deployment dengan salah satu metode berikut.
-
Saat membuat pipeline, pilih templat yang mencakup langkah Kubernetes apply.
Pada tab Visual Orchestration, pilih kategori Java dari panel kiri. Pilih templat Java · Test, build image and deploy to Kubernetes cluster/Alibaba Cloud Container Service, lalu klik Create.

-
Tambahkan pekerjaan baru ke pipeline, lalu tambahkan langkah Kubernetes apply.
Dari panel pekerjaan, pilih kategori Deploy di sebelah kiri, lalu pilih Kubernetes apply di sebelah kanan.
Konfigurasikan pekerjaan deployment
Untuk langkah Kubectl Apply, konfigurasikan pengaturan berikut:
-
Pilih cluster connection Kubernetes yang sudah ada atau buat yang baru. Untuk informasi lebih lanjut tentang cara membuat koneksi kluster Kubernetes, lihat Manage Kubernetes clusters.
Konfigurasikan parameter lain untuk langkah Kubernetes apply: atur Kubectl version (misalnya,
v1.16.4), Namespace (misalnya,default), dan YAML path (misalnya,app-configs/manifest2). Jika diperlukan, pilih opsi seperti Use Replace mode, Skip TLS Verification, dan Skip template validation. Kemudian, pada bagian Variables, konfigurasikan parameter seperti image. -
Masukkan Namespace target untuk deployment.
-
Masukkan YAML path untuk deployment saat ini dan tambahkan variabel yang diperlukan.
-
Dalam file YAML Kubernetes, gunakan placeholder ${IMAGE} untuk menentukan Docker image sebagai variabel dinamis.
apiVersion: apps/v1 kind: Deployment metadata: labels: run: spring-boot-sample name: spring-boot-sample spec: replicas: 4 selector: matchLabels: run: spring-boot-sample template: metadata: labels: run: spring-boot-sample spec: containers: image: ${image} name: nginx -
Di langkah Kubernetes apply, Anda dapat meneruskan variabel ke file YAML. Dalam konfigurasi langkah, klik Add untuk mendefinisikan setiap variabel dan sumbernya. Variabel ini secara dinamis menggantikan placeholder di file YAML Anda selama penerapan. Di bagian variabel langkah Kubernetes apply, atur nilai variabel
imageke output dari langkah build citra (yang merupakan URL citra yang dihasilkan oleh langkah Build image and push to Alibaba Cloud Container Registry). Hal ini akan menggantikan placeholder ${image} di file YAML dengan URL citra yang sebenarnya pada waktu penerapan. Penerapan akan menggunakan koneksi kluster yang dikonfigurasi (misalnya,corefile-test), versi Kubectl (misalnya,v1.16.4), namespace (misalnya,default), dan jalur YAML (misalnya,app-configs/manifest2).
CatatanUntuk kasus penggunaan file YAML di Kubernetes, lihat Referensi spesifikasi YAML Kubernetes.
-
Lihat log deployment
Setelah konfigurasi selesai, jalankan pipeline untuk menjalankan pekerjaan deployment. File YAML dalam kode sumber diterapkan ke kluster Kubernetes yang ditentukan.
-
Selama deployment, klik Logs untuk melihat progres dan log terkait.
-
Output log mencakup semua file YAML yang dipindai, output standar dari perintah
kubectl apply, serta ringkasan semua perubahan resource setelah deployment.Sebagai contoh, perintah
kubectl applymenghasilkan outputdeployment.apps/spring-boot-sample configured. Ringkasan resource menunjukkan bahwaspring-boot-sampletelah berjalan selama 105 menit. Terakhir, pesan[SUCCESS] Step executed successfullymengonfirmasi bahwa aplikasi berhasil diterapkan ke kluster Kubernetes.
Referensi spesifikasi YAML Kubernetes
Beban kerja
Resource type | References |
Deployments | https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ |
StatefulSets | https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ |
DaemonSet | https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
Service discovery dan jaringan
Resource type | References |
Service | https://kubernetes.io/docs/concepts/services-networking/service/ |
Ingress | https://kubernetes.io/docs/concepts/services-networking/ingress/ |