全部产品
Search
文档中心

Enterprise Distributed Application Service:Membangun Aplikasi PHP dari Kode Sumber dan Menyebarkannya di Kluster ACK

更新时间:Jul 06, 2025

Enterprise Distributed Application Service (EDAS) memungkinkan Anda membuat aplikasi Hypertext Preprocessor (PHP) dari kode sumber dan menyebarkan aplikasi tersebut di kluster Container Service for Kubernetes (ACK) atau kluster ACK Serverless. EDAS juga menyediakan berbagai fitur seperti penskalaan aplikasi, pemantauan dan peringatan, load balancing, serta throttling dan degradasi. Prosedur untuk menyebarkan aplikasi PHP di kluster ACK serupa dengan prosedur untuk kluster ACK Serverless. Topik ini menjelaskan cara membangun aplikasi PHP dari kode sumber dan menyebarkannya di kluster ACK.

Prasyarat

Langkah 1: Buat kluster ACK

Masuk ke Konsol ACK dan buat kluster ACK. Untuk informasi lebih lanjut, lihat Buat Kluster Kubernetes Terkelola.

Jika Anda ingin membuat kluster ACK Serverless, atur parameter VPC ke Create VPC dan parameter Service Discovery ke PrivateZone. Ini memungkinkan kluster ACK Serverless menggunakan Alibaba Cloud Service Mesh (ASM) setelah kluster diimpor ke EDAS. Jika Anda mengatur parameter VPC ke Pilih VPC yang Ada, pastikan kluster tersebut berisi sumber daya virtual private cloud (VPC) dan vSwitch setelah pembuatan. Untuk informasi lebih lanjut, lihat Buat Kluster ACK Serverless.

Langkah 2: Impor kluster ACK ke konsol EDAS

Secara default, komponen ack-ahas-sentinel-pilot, ack-arms-pilot, dan ack-arms-prometheus diinstal saat Anda mengimpor kluster ACK ke EDAS di konsol EDAS. Komponen ack-ahas-sentinel-pilot adalah komponen perlindungan aplikasi untuk throttling dan degradasi. Komponen ack-arms-pilot adalah komponen Application Real-Time Monitoring Service (ARMS). Komponen ack-arms-prometheus adalah komponen pemantauan Prometheus.

  1. Masuk ke Konsol EDAS. Di bilah navigasi sebelah kiri, pilih Resource Management > Container Service Kubernetes Clusters.

  2. Di bilah navigasi atas, pilih wilayah tempat kluster ACK Anda berada, dan klik Synchronize Container Service Kubernetes Cluster.

  3. Temukan kluster ACK yang disinkronkan ke EDAS dan klik Import di kolom Actions.

  4. Di kotak dialog Precheck for Import, klik Continue.

  5. Di kotak dialog Import Kubernetes Cluster, pilih namespace mikroservis tempat Anda ingin mengimpor kluster ACK dari daftar drop-down Namespace Mikroservis, aktifkan atau nonaktifkan Service Mesh sesuai kebutuhan bisnis Anda, lalu klik Import.

    Jika nilai di kolom Status Kluster adalah Running dan nilai di kolom Import Status adalah Imported untuk kluster ACK, kluster tersebut berhasil diimpor ke EDAS.

Langkah 3: Sebarkan aplikasi PHP Anda ke kluster ACK

  1. Masuk ke .

  2. Di bilah navigasi sebelah kiri, pilih Application Management > Applications. Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman Aplikasi, pilih namespace mikroservis dari daftar drop-down Namespace Mikroservis. Lalu, klik Create Application di pojok kiri atas halaman Applications.

  3. Di langkah Basic Information, atur parameter di bagian Tipe Kluster dan Lingkungan Runtime Aplikasi, lalu klik Next.

    Bagian

    Deskripsi

    Cluster Type

    Tipe kluster tempat Anda ingin menyebarkan aplikasi. Dalam contoh ini, pilih Kubernetes Clusters.

    Application Runtime Environment

    Lingkungan runtime aplikasi. Dalam contoh ini, pilih PHP. Gambar yang dibangun oleh EDAS menyediakan lingkungan runtime untuk PHP 7.3 dan Apache 2.4. Beberapa plugin PHP yang sering digunakan telah diinstal dalam lingkungan runtime.

  4. Di langkah Configurations, konfigurasikan informasi lingkungan, informasi dasar, kode sumber, dan pengaturan gambar untuk aplikasi, lalu klik Next.

    PHP application configurations

    Parameter

    Deskripsi

    Microservice Namespace

    Namespace mikroservis kluster ACK. Jika Anda belum membuat namespace mikroservis atau tidak memilih namespace mikroservis, parameter ini diatur ke Default.

    Jika Anda belum membuat namespace mikroservis atau ingin membuat namespace mikroservis lain, klik Create Microservice Namespace untuk membuat namespace mikroservis. Untuk informasi lebih lanjut, lihat bagian "Buat Namespace" dari topik Kelola namespace mikroservis.

    Cluster

    Kluster tempat Anda ingin menyebarkan aplikasi. Pilih kluster ACK yang telah diimpor dari daftar drop-down Kluster.

    Jika kluster Kubernetes yang dipilih belum diimpor ke EDAS, pilih This cluster is used for the first time in EDAS. If you select this check box, the cluster is imported to EDAS when an application is created. This consumes a certain amount of time. Lalu, periksa apakah Alibaba Cloud Service Mesh telah diaktifkan.

    Catatan

    Anda dapat memilih kluster yang tidak berada di namespace mikroservis tempat Anda ingin menyebarkan aplikasi.

    K8s Namespace

    Namespace Kubernetes kluster. Objek sistem internal dialokasikan ke namespace Kubernetes yang berbeda untuk membentuk proyek, grup, atau grup pengguna yang terisolasi secara logis. Dengan cara ini, proyek, grup, atau grup pengguna ini dapat dikelola secara terpisah tetapi tetap berbagi sumber daya seluruh kluster. Nilai valid:

    • default: namespace Kubernetes default. Jika tidak ada namespace Kubernetes yang ditentukan untuk objek, namespace Kubernetes default digunakan.

    • kube-system: namespace Kubernetes untuk objek yang dibuat oleh sistem.

    • kube-public: namespace Kubernetes yang dibuat secara otomatis dan dapat dibaca oleh semua pengguna, termasuk pengguna yang tidak diautentikasi.

    Dalam contoh ini, pilih default.

    Jika Anda ingin membuat namespace Kubernetes kustom, klik Create Kubernetes Namespace. Di kotak dialog yang muncul, masukkan nama untuk namespace Kubernetes di bidang K8s Namespace. Nama tersebut dapat berisi digit, huruf kecil, dan tanda hubung (-), dan panjangnya bisa 1 hingga 63 karakter. Harus dimulai dan diakhiri dengan huruf atau digit.

    Application Name

    Nama aplikasi. Nama tersebut harus dimulai dengan huruf dan dapat berisi digit, huruf, dan tanda hubung (-). Nama aplikasi harus memiliki panjang 1 hingga 36 karakter.

    Application Description

    Deskripsi aplikasi. Deskripsi tersebut harus memiliki panjang 1 hingga 128 karakter.

    Source of Deployment Package

    Cara Anda menentukan paket penyebaran. Parameter ini tetap menjadi Source Code.

    Version

    Versi aplikasi. Anda dapat menentukan nomor versi kustom atau klik Gunakan Timestamp sebagai Nomor Versi untuk menghasilkan nomor versi.

    Code Repository URL

    URL repositori kode yang ingin Anda gunakan untuk menyebarkan aplikasi PHP. Tentukan URL yang mendukung protokol HTTPS atau Git.

    Authentication Method

    Jenis informasi yang digunakan untuk otentikasi. Jika repositori kode Anda adalah repositori pribadi, Anda harus mengatur parameter ini. Nilai valid:

    • Username and Password: Pilih rahasia yang telah Anda buat. Jika tidak ada rahasia yang tersedia, lakukan langkah-langkah berikut untuk membuat rahasia:

      1. Di sebelah kanan bidang Nama Pengguna dan Kata Sandi, klik Create Secret.

      2. Di kotak dialog Create Secret, atur parameter Nama Rahasia, Nama Pengguna, dan Kata Sandi.

      3. Di kotak dialog, klik Create.

    • SSH Key: Tentukan kunci SSH yang disediakan oleh EDAS di repositori kode. Untuk informasi lebih lanjut, lihat Konfigurasikan kunci publik SSH saat Anda menyebarkan aplikasi menggunakan kode sumber.

    Branch or Tag

    Cabang atau tag repositori kode.

    Advanced Configuration

    Opsional. Konfigurasi lanjutan aplikasi. Anda dapat mengaktifkan Advanced Configuration dan mengatur parameter berikut:

    • Clone Submodule: Gunakan repositori Git sebagai subdirektori repositori Git lain. Fitur ini memungkinkan Anda mengkloning repositori ke proyek Anda dan mengirimkan kode aplikasi Anda secara terpisah.

    • Working Directory: Tentukan direktori tempat file yang sedang Anda proses akan disimpan. Semua operasi terkait Git dilakukan di direktori ini.

    • Output Path: Tentukan direktori tempat file output Git akan disimpan.

    Total Pods

    Jumlah pod tempat Anda ingin menyebarkan aplikasi.

    Single-pod resource quota

    Jumlah sumber daya CPU dan memori yang ingin Anda cadangkan untuk pod. Untuk menetapkan batas, masukkan nilai numerik. Nilai default 0 menunjukkan bahwa tidak ada batasan yang ditetapkan pada kuota CPU dan memori.

  5. Opsional: Konfigurasikan pengaturan lanjutan untuk aplikasi. Lalu, klik Create Application.

    1. Konfigurasikan variabel lingkungan.

      Saat Anda membuat aplikasi, lewatkan variabel lingkungan yang Anda konfigurasikan ke kontainer yang akan dibuat. Dengan cara ini, Anda tidak perlu berulang kali menambahkan variabel lingkungan yang sering digunakan.

      • Jika Anda menggunakan gambar MySQL, Anda dapat mengonfigurasikan variabel lingkungan berikut:

        • MYSQL_ROOT_PASSWORD: wajib. Memungkinkan Anda menetapkan kata sandi root MySQL.

        • MYSQL_USER dan MYSQL_PASSWORD: opsional. Memungkinkan Anda membuat akun selain akun root dan menetapkan kata sandi.

        • MYSQL_DATABASE: opsional. Memungkinkan Anda menentukan database yang ingin Anda buat saat kontainer dibuat.

      • Jika Anda menggunakan jenis gambar lain, konfigurasikan variabel lingkungan sesuai kebutuhan.

    2. Konfigurasikan penyimpanan persisten.

      Di kluster ACK, penyimpanan fisik objek volume asli tidak persisten. Ini berarti objek volume tersebut adalah objek penyimpanan sementara dan memiliki siklus hidup yang sama dengan pod Kubernetes. Anda dapat menggunakan File Storage NAS (NAS) untuk menyimpan data instance secara persisten. Dengan cara ini, jika instance diperbarui atau dimigrasi, data instance tetap dipertahankan.

      Catatan

      Sebelum Anda mengonfigurasikan penyimpanan persisten, pastikan Anda telah mengaktifkan NAS untuk akun Alibaba Cloud yang Anda gunakan untuk mengakses EDAS. Untuk menggunakan NAS, pastikan akun Alibaba Cloud memiliki saldo yang cukup atau metode penagihan adalah bayar sesuai pemakaian.

      Parameter

      Deskripsi

      PVC Mount

      Kami merekomendasikan Anda mengonfigurasi penyimpanan persisten dengan menentukan Mount PVC. Metode ini memungkinkan Anda menggunakan Alibaba Cloud Elastic Block Storage (EBS), sistem penyimpanan file, Object Storage Service (OSS), dan disk lokal untuk penyimpanan saat membuat aplikasi. Sistem penyimpanan file mencakup File Storage NAS (NAS) dan Cloud Paralleled File System (CPFS). Sebelum menentukan Mount PVC, Anda perlu membuat Persistent Volume (PV) dengan merujuk pada langkah-langkah yang sesuai dalam topik layanan penyimpanan yang ingin Anda gunakan. Kemudian, Anda dapat memasang PVC di halaman ini.

      Untuk informasi lebih lanjut tentang cara membuat PV, lihat Volume NAS, Volume OSS, atau Volume Penyimpanan Lokal.

      Catatan

      Jika Anda telah mengonfigurasi Mount PVC menggunakan file YAML, PVC tersebut tidak akan ditampilkan dalam daftar drop-down Pilih PVC. Namun, konfigurasi Mount PVC tetap dipertahankan selama penyebaran aplikasi. Kami merekomendasikan Anda mengonfigurasi Mount PVC saat menyebarkan aplikasi di EDAS.

      Select PVC

      Pilih PVC dari daftar drop-down. Jika tidak ada PVC yang tersedia, buat PVC. Untuk informasi lebih lanjut tentang cara membuat PVC, lihat Gunakan volume disk yang disediakan secara dinamis di konsol ACK.

      Mount Configuration

      Atur parameter Mount Directory dan Mount Mode.

    3. Konfigurasikan manajemen siklus hidup aplikasi.

      Parameter

      Deskripsi

      PostStart

      Hook kontainer. Hook ini langsung dipicu setelah kontainer dibuat. Hook ini tidak melewatkan parameter ke handler hook yang sesuai. Jika handler hook yang sesuai gagal dieksekusi, kontainer dihentikan dan kebijakan restart kontainer digunakan untuk menentukan apakah kontainer perlu di-restart. Untuk informasi lebih lanjut, lihat Container Lifecycle Hooks.

      PreStop

      Hook kontainer. Hook ini dipicu sebelum kontainer dihapus. Handler hook yang sesuai harus sepenuhnya dieksekusi sebelum permintaan untuk menghapus kontainer dikirim ke daemon Docker. Daemon Docker mengirim sinyal SIGTERM ke dirinya sendiri untuk menghapus kontainer, terlepas dari hasil eksekusi handler hook yang sesuai. Untuk informasi lebih lanjut, lihat Container Lifecycle Hooks.

      Liveness

      Probe yang memantau status kontainer Anda. Probe ini memeriksa apakah aplikasi Anda sehat. Jika aplikasi tidak sehat, kontainer yang sesuai dihapus dan dibuat ulang. Untuk informasi lebih lanjut, lihat Pod Lifecycle.

      Readiness

      Probe yang memantau status kontainer Anda. Probe ini memeriksa apakah aplikasi Anda telah dimulai dan berjalan seperti yang diharapkan. Jika aplikasi tidak berjalan seperti yang diharapkan, status kontainer diperbarui. Untuk informasi lebih lanjut, lihat Pod Lifecycle.

  6. Setelah pengaturan dikonfigurasi, klik Create Application. Di langkah Creation Completed, klik Create Application.

    Aplikasi membutuhkan beberapa menit untuk disebar. Selama proses tersebut, Anda dapat melihat kemajuan penyebaran aplikasi di halaman Change List. Setelah aplikasi disebar, halaman Application Overview muncul. Di halaman ini, Anda dapat memeriksa status pod. Jika pod berada dalam status Running, aplikasi telah dirilis. Anda dapat mengklik status pod untuk melihat pengaturan lanjutan instance aplikasi, seperti Deployment, Pod, dan Startup Command.

FAQ

How do I view the error log that tracks image-based application deployment?

Jika Anda gagal menggunakan gambar untuk menyebarkan aplikasi, Anda dapat melihat log kesalahan di halaman Daftar Perubahan. Untuk informasi lebih lanjut, lihat Lihat perubahan aplikasi.

Apa yang Harus Dilakukan Selanjutnya

Setelah Anda menyebarkan aplikasi, tambahkan instance Server Load Balancer (SLB) yang menghadap Internet untuk mengizinkan akses ke aplikasi melalui Internet. Anda juga dapat menambahkan instance SLB yang menghadap internal sehingga semua node di VPC yang sama dapat mengakses aplikasi menggunakan instance SLB internal ini. Untuk informasi lebih lanjut, lihat Mengikat Instance CLB atau Menggunakan Kembali Instance CLB.