CloudBox adalah layanan cloud yang sepenuhnya dikelola. Layanan ini mengintegrasikan perangkat keras dan perangkat lunak dari Alibaba Cloud, seperti sumber daya komputasi, penyimpanan, dan jaringan, ke dalam pusat data lokal Anda untuk memenuhi kebutuhan bisnis tertentu, termasuk keamanan data, pemrosesan data di tempat, dan latensi rendah. Anda dapat membuat kumpulan node CloudBox dalam klaster ACK dan menjadwalkan pod aplikasi ke node CloudBox untuk menggunakan sumber daya CloudBox. Setelah menambahkan klaster ACK ke ASM, ASM akan mengelola baik kumpulan node cloud publik maupun CloudBox, memberikan kemampuan routing, keamanan, dan observabilitas yang seragam dan kaya untuk trafik antar aplikasi. Topik ini menjelaskan cara menggunakan ASM untuk mengelola klaster ACK dengan kumpulan node CloudBox.
Prasyarat
Klaster ACK dengan kumpulan node CloudBox telah dibuat. Untuk informasi lebih lanjut, lihat Gunakan sumber daya CloudBox dalam klaster ACK.
Klaster ACK telah dibuat dan ditambahkan ke instance ASM. Untuk informasi lebih lanjut, lihat Buat instance ASM dan Tambahkan klaster ke instance ASM.
Langkah 1: Sebarkan gateway ingress
Kumpulan node CloudBox memiliki batasan khusus untuk layanan:
Layanan tipe LoadBalancer di CloudBox hanya mendukung pemasangan Instance ECS CloudBox, sedangkan layanan tipe LoadBalancer di cloud publik hanya mendukung pemasangan Instance ECS cloud publik.
CLB di CloudBox tidak mendukung pemasangan EIP, artinya CLB publik tidak dapat dibuat di CloudBox.
Oleh karena itu, ketika menyebarkan gateway ingress ASM tipe LoadBalancer, pastikan bahwa CLB gateway dan pod gateway berada di zona cloud publik atau zona CloudBox.
Gateway ASM mendukung konfigurasi zona CLB menggunakan bidang serviceAnnotations dan konfigurasi kebijakan penjadwalan pod gateway menggunakan bidang nodeSelector dan affinity.
Dalam contoh ini, kami membuat gateway ASM di zona CloudBox, menentukan zona CLB gateway menggunakan serviceAnnotations, dan menentukan zona pod gateway menggunakan nodeSelector. YAML spesifik adalah sebagai berikut.
apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:
name: ingressgateway
namespace: "istio-system"
spec:
clusterIds:
- ${ACK Cluster ID}
externalTrafficPolicy: Local
gatewayType: ingress
ports:
- name: http
port: 80
targetPort: 80
- name: https
port: 443
targetPort: 443
replicaCount: 2
resources:
limits:
cpu: '2'
memory: 2G
requests:
cpu: 200m
memory: 256Mi
serviceType: LoadBalancer
serviceAnnotations:
service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: ${ID virtual switch sumber daya CloudBox}
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid: ${ID zona sumber daya CloudBox}
nodeSelector:
topology.kubernetes.io/zone: ${ID zona sumber daya CloudBox}
rollingMaxSurge: "100%"
rollingMaxUnavailable: "25%"Anda dapat menyimpan YAML di atas dalam file lokal dan menggunakan kubeconfig ASM untuk membuat sumber daya gateway, atau Anda dapat menggunakan konsol ASM untuk membuat gateway ASM melalui YAML. Untuk informasi lebih lanjut, lihat Contoh 1: Gunakan KubeAPI untuk mengelola gateway ingress.
Langkah 2: Sebarkan aplikasi dan konfigurasikan aturan gateway
Karena gateway yang dibuat di Langkah 1 adalah gateway privat, maka tidak dapat diakses langsung melalui jaringan publik. Pastikan lingkungan Anda saat ini dapat mengakses jaringan VPC sebelum menjalankan perintah uji.
Ikuti prosedur untuk menyebarkan aplikasi httpbin dan aturan gateway di klaster ACK menggunakan node CloudBox, serta lakukan verifikasi pengujian.