Kluster Container Service for Kubernetes (ACK) memungkinkan Anda mengelola aplikasi terkontainerisasi yang berjalan di cloud secara mudah dan efisien. Topik ini menjelaskan cara men-deploy, mengekspos, dan memantau aplikasi demo terkontainerisasi (game magic cube) di kluster ACK menggunakan konsol kluster atau kubectl.
Ikhtisar
Dalam topik ini, sebuah aplikasi bernama ack-cube diterapkan untuk menjalankan game magic cube online. Aplikasi ini diterapkan di Kluster ACK Pro menggunakan gambar kontainer. Setelah menyelesaikan langkah-langkah dalam topik ini, Anda akan memiliki aplikasi game magic cube yang diterapkan di kluster ACK Pro.
Aktifkan ACK, berikan izin kepada ACK, dan buat kluster ACK.
Terapkan aplikasi game magic cube menggunakan salah satu dari dua metode: konsol atau kubectl.
Gunakan alamat IP eksternal layanan ack-cube untuk mengakses aplikasi melalui Internet.
1. Buat kluster dengan cepat
Jika ini pertama kalinya Anda menggunakan ACK, Anda harus mengaktifkan ACK dan memberikan izin kepada ACK. Kemudian, buat kluster ACK dan terapkan aplikasi game magic cube di kluster tersebut. Untuk memastikan Anda dapat menggunakan ACK dan fitur-fiturnya secara normal, Anda harus terlebih dahulu mengaktifkan ACK serta layanan cloud yang diperlukan dan menetapkan peran default yang diperlukan ke ACK. Kami menyarankan agar Anda mengikuti panduan resmi untuk mengonfigurasi pengaturan kluster dan menyelesaikan otorisasi. Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola dengan cepat. Untuk informasi lebih lanjut tentang penagihan kluster ACK dan sumber daya cloud yang digunakan oleh kluster ACK, lihat Penagihan.
Saat membuat kluster ACK yang dikelola, Anda dapat memilih untuk mengaktifkan mode dikelola cerdas. Setelah mengaktifkan mode ini, Anda hanya perlu melakukan konfigurasi perencanaan sederhana untuk membuat kluster ACK yang mengikuti praktik terbaik dengan satu klik. Kluster ini akan membuat kelompok node dikelola cerdas default tempat siklus hidup node dikelola dan dipelihara oleh ACK. Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola (mode dikelola cerdas).
Jika Anda perlu melakukan konfigurasi kustom mendetail untuk kluster Anda, lihat proses lengkapnya di Buat kluster ACK yang dikelola.
Masuk ke Konsol Manajemen Container Service. Pada halaman Clusters, klik Create Cluster.

Di bagian atas, pilih tab ACK Managed Cluster, lalu aktifkan mode dikelola cerdas. Jika Anda perlu mengakses kluster melalui Internet, pilih Expose API Server With EIP untuk kluster pengujian pribadi Anda guna mengaktifkan fitur ini, sehingga memudahkan Anda menghubungkan dan mengelola kluster nanti. Lalu klik Confirm Configurations, periksa konfigurasi yang dipilih, lalu klik Create Cluster.

2. Terapkan aplikasi
Anda dapat menerapkan game magic cube dengan mengonfigurasi parameter aplikasi secara manual melalui konsol atau kubectl.
Penyebaran melalui konsol: Terapkan dan ekspos aplikasi, lalu akses aplikasi melalui konsol.
Penyebaran melalui kubectl: Hubungkan ke kluster menggunakan kubectl (CloudShell, klien kubectl, atau Workbench), terapkan dan ekspos aplikasi, lalu akses aplikasi.
Contoh dalam topik ini menggunakan gambar publik. Untuk menarik gambar publik, kluster atau node Anda harus memiliki akses Internet:
Aktifkan akses Internet untuk kluster (Disarankan): Buat Gateway NAT Internet untuk VPC tempat kluster berada. Ini menyediakan akses Internet ke semua sumber daya di kluster.
Tetapkan alamat IP publik statis ke sebuah node: Node dengan alamat IP publik dapat menarik gambar publik. Namun, Anda harus menetapkan alamat IP publik ke setiap node tempat Anda menerapkan beban kerja.
Penyebaran melalui konsol
2.1 Terapkan dan ekspos aplikasi
Langkah ini menunjukkan cara menerapkan Deployment dan mengekspos aplikasi ke Internet. Aplikasi ini adalah game magic cube. Untuk informasi lebih lanjut tentang parameter yang digunakan untuk membuat Deployment, lihat Buat aplikasi tanpa status menggunakan Deployment.
Pada halaman Clusters, klik nama kluster ack-demo.
Di panel navigasi sebelah kiri halaman detail, pilih .
Di pojok kanan atas halaman Deployments, klik Create from Image.
Pada halaman wizard Basic Information, atur nama aplikasi menjadi ack-cube.
Klik Next. Pada halaman wizard Container, atur parameter kontainer.

Parameter
Deskripsi
Contoh
Image Name
Masukkan nama gambar.
Masukkan
registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0.Resource Limit
Tentukan batas sumber daya aplikasi. Hal ini mencegah aplikasi menggunakan sumber daya secara berlebihan.
Dalam contoh ini, ditentukan 1 vCore dan memori 1.024 MiB. Ephemeral Storage dibiarkan kosong.
Required Resources
Tentukan jumlah sumber daya yang dicadangkan untuk aplikasi. Hal ini mencegah ketidaktersediaan aplikasi akibat kekurangan sumber daya.
Dalam contoh ini, ditentukan 0,5 vCore dan memori 512 MiB. Ephemeral Storage dibiarkan kosong.
Port
Konfigurasikan port kontainer.
Name: ack-cube.
Container Port: 80.
Protocol: TCP.
Klik Next. Pada halaman wizard Advanced, klik Create di bagian Service. Di kotak dialog Create Service, atur parameter Service untuk mengekspos aplikasi ack-cube. Setelah menyelesaikan konfigurasi Service, klik OK.

Parameter
Deskripsi
Contoh
Name
Masukkan nama untuk Service.
ack-cube-svc
Type
Jenis Service. Parameter ini menentukan cara mengakses Service. Pilih Server Load Balancer > Classic Load Balancer (CLB) > Create Resource. Anda dapat menggunakan pengaturan default untuk sumber daya CLB di lingkungan pengujian.
Dalam contoh ini, pengaturan default digunakan.
Port
Tentukan Service Port dan Container Port. Container Port harus sama dengan port yang diekspos di pod backend.
Service Port: 80.
Container Port: 80.
Protocol: TCP.
Setelah menyelesaikan konfigurasi beban kerja, klik Create. Setelah aplikasi dibuat, Anda akan diarahkan ke halaman wizard Complete. Anda dapat menemukan objek sumber daya yang termasuk dalam aplikasi dan klik View Details untuk melihat detail aplikasi.

2.2 Akses aplikasi
Langkah ini menunjukkan cara mengakses aplikasi menggunakan Service.
Masuk ke Konsol ACK. Pada halaman Clusters, klik nama kluster. Di panel navigasi sebelah kiri, pilih . Temukan aplikasi bernama ack-cube di namespace default. Klik tab Access Method, temukan Service yang baru dibuat (ack-cube-svc), lalu klik tautan di kolom External Endpoint untuk mengakses game magic cube.
Penyebaran kubectl
2.1 Hubungkan ke kluster
Anda dapat menggunakan kubectl, Workbench, atau Cloud Shell untuk menghubungkan ke kluster.
CloudShell
Saat Anda memulai Cloud Shell, Cloud Shell secara otomatis membuat VM Linux untuk Anda. Anda dapat menggunakan VM Linux ini secara gratis. VM ini telah dipra-instal dengan alat manajemen cloud dan alat sistem. Anda dapat menggunakan alat-alat ini bersama dengan Web IDE yang disediakan oleh Cloud Shell untuk mengelola sumber daya cloud. Langkah ini menunjukkan cara menghubungkan ke kluster ACK menggunakan Cloud Shell. Untuk informasi lebih lanjut, lihat Gunakan kubectl di Workbench atau Cloud Shell untuk menghubungkan ke kluster ACK.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri konsol, klik Clusters. Pada halaman Cluster Information, pilih .
Diperlukan beberapa detik untuk memulai Cloud Shell. Setelah Cloud Shell dimulai, Anda dapat menjalankan perintah kubectl pada antarmuka Cloud Shell untuk mengelola kluster dan aplikasi di dalam kluster.
Workbench
Anda dapat menggunakan Workbench, yaitu alat koneksi jarak jauh yang disediakan oleh Alibaba Cloud yang memungkinkan Anda menghubungkan ke kluster ACK dari browser tanpa perlu menginstal perangkat lunak tambahan. Untuk informasi lebih lanjut, lihat Hubungkan ke instans menggunakan Workbench.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri konsol, klik Clusters. Pada halaman Cluster Information, pilih .
Diperlukan beberapa detik untuk memulai Workbench. Setelah Workbench dimulai, Anda dapat mengikuti instruksi halaman untuk menjalankan perintah kubectl pada antarmuka Workbench guna mengelola kluster dan aplikasi.
Kubectl client
Jika Anda ingin menghubungkan ke kluster melalui Internet, Anda dapat menginstal klien kubectl di mesin lokal Anda. Langkah ini menunjukkan cara menghubungkan ke kluster ACK menggunakan klien kubectl. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menghubungkan ke kluster.
Instal dan siapkan klien kubectl. Untuk informasi lebih lanjut, lihat Instal dan siapkan kubectl.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri konsol, klik Clusters. Pada halaman Clusters, temukan kluster ack-demo dan klik namanya. Pada halaman Cluster Information, klik tab Connection Information. Klik Copy pada tab Public Access untuk menyalin kredensial yang digunakan untuk mengakses kluster melalui Internet. Tempel kredensial ke file config di direktori $HOME/.kube di mesin lokal Anda, simpan file tersebut, lalu keluar.
CatatanJika folder .kube dan file config tidak ada di direktori $HOME/ di mesin lokal Anda, Anda harus membuat folder dan file tersebut secara manual.
Jalankan perintah kubectl untuk memverifikasi konektivitas jaringan kluster.
Jalankan perintah berikut untuk mengkueri namespace kluster:
kubectl get namespaceOutput yang diharapkan:
NAME STATUS AGE arms-prom Active 4h39m default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
2.2 Terapkan dan ekspos aplikasi
Langkah ini menunjukkan cara menggunakan kubectl untuk menerapkan Deployment dan menggunakan Service LoadBalancer untuk mengekspos aplikasi. Untuk informasi lebih lanjut tentang cara mengekspos aplikasi, lihat Gunakan instance SLB yang dibuat otomatis untuk mengekspos aplikasi.
Gunakan templat YAML berikut untuk membuat file ack-cube.yaml:
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1 kind: Deployment metadata: name: ack-cube # The name of the application. labels: app: ack-cube spec: replicas: 2 # The number of replicated pods. selector: matchLabels: app: ack-cube # You must specify the same value for the selector of the Service that is used to expose the application. template: metadata: labels: app: ack-cube spec: containers: - name: ack-cube image: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0 # Replace with the address of the image that you want to use in the <image_name:tags> format. ports: - containerPort: 80 # The container port that you want to expose. resources: limits: # The resource limits. cpu: '1' memory: 1Gi requests: # The resource requests. cpu: 500m memory: 512MiJalankan perintah berikut untuk menerapkan aplikasi demo ack-cube:
kubectl apply -f ack-cube.yamlJalankan perintah berikut untuk memverifikasi bahwa aplikasi berjalan dengan baik:
kubectl get deployment ack-cubeOutput yang diharapkan:
NAME READY UP-TO-DATE AVAILABLE AGE ack-cube 2/2 2 2 96sGunakan templat YAML berikut untuk membuat file ack-cube-svc.yaml. Atur
selectorke nilaimatchLabelsdi file ack-cube.yaml. Dalam contoh ini, nilainya adalahapp: ack-cube. Hal ini menambahkan aplikasi ke backend Service.apiVersion: v1 kind: Service metadata: labels: app: ack-cube name: ack-cube-svc namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: ack-cube # You must specify the value of the matchLabels parameter in the YAML file that is used to create the Deployment. type: LoadBalancerJalankan perintah berikut untuk membuat Service bernama ack-cube-svc dan gunakan Service tersebut untuk mengekspos aplikasi:
ACK secara otomatis membuat instance SLB publik dan mengaitkan instance tersebut dengan Service.
kubectl apply -f ack-cube-svc.yamlJalankan perintah berikut untuk memverifikasi bahwa Service LoadBalancer telah dibuat:
Aplikasi yang Anda buat diekspos menggunakan alamat IP di kolom EXTERNAL-IP pada output.
kubectl get svc ack-cube-svcOutput yang diharapkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ack-cube-svc LoadBalancer 172.16.72.161 47.94.xx.xx 80:31547/TCP 32sMasukkan alamat EXTERNAL-IP (47.94.xx.xx) di bilah alamat browser Anda untuk mengakses aplikasi game magic cube.
3. (Opsional) Lepaskan sumber daya
Item yang dapat ditagih untuk kluster ACK Pro mencakup manajemen kluster dan sumber daya cloud. ACK membebankan biaya manajemen kluster. Layanan cloud terkait membebankan biaya sumber daya cloud.
Jika Anda tidak lagi memerlukan kluster tersebut, Anda dapat menghapusnya. Masuk ke Konsol ACK. Pada halaman Clusters, pilih More > Delete di kolom Actions kluster. Pada halaman Delete Cluster And Associated Resources, Select The Resources That You Want To Delete lalu klik Delete. Untuk informasi lebih lanjut tentang cara menghapus kluster ACK, lihat Hapus kluster.
Kluster dikelola cerdas memiliki perlindungan penghapusan yang diaktifkan secara default. Sebelum menghapus kluster, Anda harus menonaktifkan perlindungan penghapusan untuk kluster tersebut.

Referensi
Jika permintaan sumber daya bisnis Anda tidak dapat diprediksi atau berubah secara berkala, kami menyarankan agar Anda mengaktifkan penskalaan otomatis untuk bisnis Anda. Misalnya, Anda dapat mengaktifkan penskalaan otomatis untuk aplikasi web, layanan game, atau aplikasi pendidikan online. Fitur penskalaan otomatis mencakup penskalaan beban kerja dan penskalaan sumber daya komputasi. Untuk informasi lebih lanjut, lihat Ikhtisar penskalaan otomatis.
Selain mengekspos aplikasi melalui Service, Anda dapat menggunakan Ingress untuk mengaktifkan perutean lalu lintas aplikasi di Lapisan 7. Untuk informasi lebih lanjut, lihat Manajemen Ingress.
Selain memantau kinerja kontainer, Anda dapat memantau infrastruktur kluster, kinerja aplikasi, dan operasi pada beban kerja Anda. Kemampuan observabilitas Kubernetes mencakup pemantauan dan pencatatan log. Pemantauan memungkinkan pengembang melacak operasi sistem. Pencatatan log memfasilitasi diagnostik dan pemecahan masalah. Untuk informasi lebih lanjut, lihat Ikhtisar sistem observabilitas.