Bantu meningkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih GitHub tautan Edit halaman ini di yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyebarkan Beban Kerja Sampel Load Balancer ke Mode Otomatis EKS
Panduan ini memandu Anda melalui penerapan versi kontainer dari game 2048 di Amazon EKS, lengkap dengan penyeimbangan beban dan aksesibilitas internet.
Prasyarat
-
Cluster Mode Otomatis EKS
-
kubectldikonfigurasi untuk berinteraksi dengan cluster Anda -
Izin IAM yang sesuai untuk membuat sumber daya ALB
Langkah 1: Buat Namespace
Pertama, buat namespace khusus untuk aplikasi game 2048.
Buat file bernama 01-namespace.yaml:
apiVersion: v1 kind: Namespace metadata: name: game-2048
Terapkan konfigurasi namespace:
kubectl apply -f 01-namespace.yaml
Langkah 2: Terapkan Aplikasi
Aplikasi ini menjalankan beberapa replika dari wadah game 2048.
Buat file bernama 02-deployment.yaml:
apiVersion: apps/v1 kind: Deployment metadata: namespace: game-2048 name: deployment-2048 spec: selector: matchLabels: app.kubernetes.io/name: app-2048 replicas: 5 template: metadata: labels: app.kubernetes.io/name: app-2048 spec: containers: - image: public.ecr.aws/l6m2t8p7/docker-2048:latest imagePullPolicy: Always name: app-2048 ports: - containerPort: 80 resources: requests: cpu: "0.5"
catatan
Jika Anda menerima kesalahan saat memuat gambarpublic.ecr.aws/l6m2t8p7/docker-2048:latest, konfirmasikan peran IAM Node Anda memiliki izin yang cukup untuk menarik gambar dari ECR. Untuk informasi selengkapnya, lihat IAM role simpul. Juga, docker-2048 gambar dalam contoh adalah x86_64 gambar dan tidak akan berjalan pada arsitektur lain.
Komponen kunci:
-
Menyebarkan 5 replika aplikasi
-
Menggunakan gambar ECR publik
-
Meminta 0,5 core CPU per pod
-
Mengekspos port 80 untuk lalu lintas HTTP
Terapkan penerapan:
kubectl apply -f 02-deployment.yaml
Langkah 3: Buat Layanan
Layanan mengekspos penerapan ke jaringan cluster.
Buat file bernama 03-service.yaml:
apiVersion: v1 kind: Service metadata: namespace: game-2048 name: service-2048 spec: ports: - port: 80 targetPort: 80 protocol: TCP selector: app.kubernetes.io/name: app-2048
Komponen kunci:
-
Membuat layanan ClusterIP
-
Memetakan port 80 ke port kontainer 80
-
Menggunakan pemilih label untuk menemukan pod
Terapkan layanan:
kubectl apply -f 03-service.yaml
Langkah 4: Konfigurasikan Load Balancing
Anda akan mengatur masuk untuk mengekspos aplikasi ke internet.
Pertama, buatIngressClass. Buat file bernama 04-ingressclass.yaml:
apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: labels: app.kubernetes.io/name: LoadBalancerController name: alb spec: controller: eks.amazonaws.com/alb
catatan
Mode Otomatis EKS memerlukan tag subnet untuk mengidentifikasi subnet publik dan pribadi.
Jika Anda membuat cluster denganeksctl, Anda sudah memiliki tag ini.
Pelajari cara Tag subnet untuk Mode Otomatis EKS.
Kemudian buat sumber daya Ingress. Buat file bernama 05-ingress.yaml:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: game-2048 name: ingress-2048 annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip spec: ingressClassName: alb rules: - http: paths: - path: / pathType: Prefix backend: service: name: service-2048 port: number: 80
Komponen kunci:
-
Membuat ALB yang menghadap ke internet
-
Menggunakan tipe target IP untuk routing pod langsung
-
Merutekan semua lalu lintas (/) ke layanan game
Terapkan konfigurasi masuk:
kubectl apply -f 04-ingressclass.yaml kubectl apply -f 05-ingress.yaml
Langkah 5: Verifikasi Penerapan
-
Periksa apakah semua pod sedang berjalan:
kubectl get pods -n game-2048 -
Verifikasi layanan dibuat:
kubectl get svc -n game-2048 -
Dapatkan titik akhir ALB:
kubectl get ingress -n game-2048
Bidang ADDRESS dalam output masuk akan menampilkan titik akhir ALB Anda. Tunggu 2-3 menit agar ALB menyediakan dan mendaftarkan semua target.
Langkah 6: Akses Game
Buka browser web Anda dan telusuri ke URL titik akhir ALB dari langkah sebelumnya. Anda harus melihat antarmuka game 2048.
Langkah 7: Pembersihan
Untuk menghapus semua sumber daya yang dibuat dalam tutorial ini:
kubectl delete namespace game-2048
Ini akan menghapus semua sumber daya di namespace, termasuk penerapan, layanan, dan sumber daya masuk.
Apa yang Terjadi Di Balik Layar
-
Penerapan membuat 5 pod yang menjalankan game 2048
-
Layanan ini menyediakan akses jaringan yang stabil ke pod ini
-
Mode Otomatis EKS:
-
Membuat Penyeimbang Beban Aplikasi di AWS
-
Mengkonfigurasi grup target untuk pod
-
Menyiapkan aturan routing untuk mengarahkan lalu lintas ke layanan
-
Pemecahan masalah
Jika game tidak dimuat:
-
Pastikan semua pod berjalan:
kubectl get pods -n game-2048 -
Periksa status masuk:
kubectl describe ingress -n game-2048 -
Verifikasi pemeriksaan kesehatan ALB: Periksa kesehatan kelompok target di Kon AWS sol