Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kesadaran pengeluaran
Kesadaran pengeluaran adalah memahami siapa, di mana dan apa yang menyebabkan pengeluaran di cluster EKS Anda. Mendapatkan gambaran yang akurat tentang data ini akan membantu meningkatkan kesadaran akan pengeluaran Anda dan menyoroti area untuk diperbaiki.
Rekomendasi
Gunakan Cost Explorer
AWS Cost Explorer
Biaya EKS Control Plane dan EKS Fargate
Dengan menggunakan filter, kita dapat menanyakan biaya yang dikeluarkan untuk biaya EKS di Control Plane dan Fargate Pod seperti yang ditunjukkan pada diagram di bawah ini:

Dengan menggunakan filter, kita dapat menanyakan biaya agregat yang dikeluarkan untuk Pod Fargate di seluruh wilayah di EKS - yang mencakup jam VCPU per CPU dan GB Jam seperti yang ditunjukkan pada diagram di bawah ini:

Penandaan Sumber Daya
Amazon EKS mendukung penambahan tag AWS ke kluster Amazon EKS Anda. Hal ini memudahkan untuk mengontrol akses ke EKS API untuk mengelola cluster Anda. Tag yang ditambahkan ke kluster EKS khusus untuk sumber daya kluster AWS EKS, tag tersebut tidak menyebar ke sumber daya AWS lain yang digunakan oleh cluster seperti EC2 instance atau penyeimbang beban. Saat ini, penandaan cluster didukung untuk semua kluster EKS baru dan yang sudah ada melalui AWS API, Console, dan. SDKs
AWS Fargate adalah teknologi yang menyediakan kapasitas komputasi sesuai permintaan dan ukuran yang tepat untuk kontainer. Sebelum Anda dapat menjadwalkan pod di Fargate di klaster Anda, Anda harus menentukan setidaknya satu profil Fargate yang menentukan pod mana yang harus menggunakan Fargate ketika mereka diluncurkan.
Menambahkan dan mencantumkan tag ke kluster EKS:
$ aws eks tag-resource --resource-arn arn:aws:eks:us-west-2:xxx:cluster/ekscluster1 --tags team=devops,env=staging,bu=cio,costcenter=1234 $ aws eks list-tags-for-resource --resource-arn arn:aws:eks:us-west-2:xxx:cluster/ekscluster1 { "tags": { "bu": "cio", "env": "staging", "costcenter": "1234", "team": "devops" } }
Setelah Anda mengaktifkan tag alokasi biaya di AWS Cost Explorer, AWS menggunakan tag alokasi biaya untuk mengatur biaya sumber daya pada laporan alokasi biaya, untuk memudahkan Anda mengkategorikan dan melacak biaya AWS Anda.
Tag tidak memiliki arti semantik untuk Amazon EKS dan ditafsirkan secara ketat sebagai serangkaian karakter. Misalnya, Anda dapat menentukan satu set tag untuk kluster Amazon EKS Anda untuk membantu Anda melacak setiap pemilik klaster dan tingkat tumpukan.
Gunakan AWS Trusted Advisor
AWS Trusted Advisor menawarkan serangkaian pemeriksaan dan rekomendasi praktik terbaik di lima kategori: pengoptimalan biaya; keamanan; toleransi kesalahan; kinerja; dan batas layanan.
Untuk Optimalisasi Biaya, Trusted Advisor membantu menghilangkan sumber daya yang tidak digunakan dan tidak digunakan dan merekomendasikan untuk membuat komitmen terhadap kapasitas cadangan. Item tindakan utama yang akan membantu Amazon EKS akan berada di sekitar EC2 instance yang digunakan rendah, alamat IP Elastis yang tidak terkait, Penyeimbang Beban Idle, volume EBS yang kurang dimanfaatkan, antara lain. Daftar lengkap pemeriksaan disediakan di https://aws.amazon.com/premiumsupport/technology/trusted-advisor/best-practice-checklist/
Trusted Advisor juga menyediakan rekomendasi Savings Plans dan Reserved EC2 Instances untuk instans dan Fargate yang memungkinkan Anda untuk berkomitmen pada jumlah penggunaan yang konsisten dengan imbalan tarif diskon.
catatan
Rekomendasi dari Trusted Advisor adalah rekomendasi generik dan tidak spesifik untuk EKS.
Gunakan dasbor Kubernetes
Dasbor Kubernetes
Dasbor Kubernetes adalah UI berbasis web untuk klaster Kubernetes, yang menyediakan informasi tentang klaster Kubernetes termasuk penggunaan sumber daya pada tingkat cluster, node, dan pod. Penerapan dasbor Kubernetes pada kluster Amazon EKS dijelaskan dalam dokumentasi Amazon EKS.
Dashboard menyediakan rincian penggunaan sumber daya untuk setiap node dan pod, serta metadata rinci tentang pod, layanan, Deployment, dan objek Kubernetes lainnya. Informasi terkonsolidasi ini memberikan visibilitas ke lingkungan Kubernetes Anda.

kubectl top dan jelaskan perintah
Melihat metrik penggunaan sumber daya dengan perintah kubectl top dan kubectl describe. kubectl top akan menampilkan penggunaan CPU dan memori saat ini untuk pod atau node di seluruh klaster Anda, atau untuk pod atau node tertentu. Perintah kubectl describe akan memberikan informasi yang lebih rinci tentang node atau pod tertentu.
$ kubectl top pods $ kubectl top nodes $ kubectl top pod pod-name --namespace mynamespace --containers
Dengan menggunakan perintah atas, output akan menampilkan jumlah total CPU (dalam inti) dan memori (dalam MiB) yang digunakan node, dan persentase kapasitas node yang dapat dialokasikan oleh angka-angka tersebut. Anda kemudian dapat menelusuri ke level berikutnya, level kontainer di dalam pod dengan menambahkan flag --containers.
$ kubectl describe node <node> $ kubectl describe pod <pod>
kubectl describe mengembalikan persen dari total kapasitas yang tersedia yang diwakili oleh setiap permintaan atau batas sumber daya.
kubectl top dan jelaskan, lacak pemanfaatan dan ketersediaan sumber daya penting seperti CPU, memori, dan penyimpanan di seluruh pod, node, dan container kubernetes. Kesadaran ini akan membantu dalam memahami penggunaan sumber daya dan membantu dalam mengendalikan biaya.
Gunakan CloudWatch Wawasan Kontainer
Gunakan CloudWatch Wawasan Kontainer untuk mengumpulkan, menggabungkan, dan meringkas metrik dan log dari aplikasi dan layanan mikro dalam kontainer Anda. Container Insights tersedia untuk Amazon Elastic Kubernetes EC2 Service di, dan platform Kubernetes di Amazon. EC2 Metrik tersebut mencakup pemanfaatan sumber daya seperti CPU, memori, disk, dan jaringan.
Pemasangan wawasan diberikan dalam dokumentasi.
CloudWatch membuat metrik agregat di tingkat cluster, node, pod, task, dan service sebagai CloudWatch metrik.
Kueri berikut menunjukkan daftar node, diurutkan berdasarkan pemanfaatan CPU node rata-rata
STATS avg(node_cpu_utilization) as avg_node_cpu_utilization by NodeName | SORT avg_node_cpu_utilization DESC
Penggunaan CPU dengan nama Container
stats pct(container_cpu_usage_total, 50) as CPUPercMedian by kubernetes.container_name | filter Type="Container"
Penggunaan disk dengan nama Container
stats floor(avg(container_filesystem_usage/1024)) as container_filesystem_usage_avg_kb by InstanceId, kubernetes.container_name, device | filter Type="ContainerFS" | sort container_filesystem_usage_avg_kb desc
Lebih banyak contoh kueri diberikan dalam dokumen Container Insights
Kesadaran ini akan membantu dalam memahami penggunaan sumber daya dan membantu dalam mengendalikan biaya.
Menggunakan Kubecost untuk kesadaran dan bimbingan pengeluaran
Alat pihak ketiga seperti kubecost
Menerapkan kubecost menggunakan Helm 3:
$ curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash $ helm version --short v3.2.1+gfe51cd1 $ helm repo add stable https://kubernetes-charts.storage.googleapis.com/ $ helm repo add stable https://kubernetes-charts.storage.googleapis.com/c^C $ kubectl create namespace kubecost namespace/kubecost created $ helm repo add kubecost https://kubecost.github.io/cost-analyzer/ "kubecost" has been added to your repositories $ helm install kubecost kubecost/cost-analyzer --namespace kubecost --set kubecostToken="aGRoZEBqc2pzLmNvbQ==xm343yadf98" NAME: kubecost LAST DEPLOYED: Mon May 18 08:49:05 2020 NAMESPACE: kubecost STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: --------------------------------------------------Kubecost has been successfully installed. When pods are Ready, you can enable port-forwarding with the following command: kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090 Next, navigate to http://localhost:9090 in a web browser. $ kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090 NOTE: If you are using Cloud 9 or have a need to forward it to a different port like 8080, issue the following command $ kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 8080:9090
Dasbor Kubecost -
Gunakan Alat Analisis Alokasi Biaya dan Perencanaan Kapasitas Kubernetes
Kubernetes Opex Analytics

Yotascale
Yotascale membantu mengalokasikan biaya Kubernetes secara akurat. Fitur Alokasi Biaya Yotascale Kubernetes menggunakan data biaya aktual, yang mencakup diskon Instans Cadangan dan harga instans spot alih-alih estimasi tarif pasar umum, untuk menginformasikan total jejak biaya Kubernetes
Rincian lebih lanjut dapat ditemukan di situs web mereka
Penasihat Alcide
Alcide adalah Mitra Teknologi Lanjutan AWS Partner Network (APN). Alcide Advisor membantu memastikan konfigurasi klaster, node, dan pod Amazon EKS Anda disetel agar berjalan sesuai dengan praktik terbaik keamanan dan pedoman internal. Alcide Advisor adalah layanan tanpa agen untuk audit dan kepatuhan Kubernetes yang dibangun untuk memastikan aliran tanpa gesekan dan aman DevSecOps dengan memperkuat tahap pengembangan sebelum pindah ke produksi.
Detail lebih lanjut dapat ditemukan di posting blog
Alat-alat lainnya
Pengumpulan Sampah Kubernetes
Peran pengumpul sampah Kubernetes
Hitungan Fargate
Fargatecount
Popeye - Pembersih Cluster Kubernetes
Popeye - Kubernetes Cluster Sanitizer
Sumber daya
Lihat sumber daya berikut untuk mempelajari lebih lanjut tentang praktik terbaik untuk pengoptimalan biaya.