

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Bewusstsein für Ausgaben
<a name="cost-opt-awareness"></a>

Ausgabenbewusstsein bedeutet, zu verstehen, wer, wo und was die Ausgaben in Ihrem EKS-Cluster verursacht. Wenn Sie sich ein genaues Bild von diesen Daten machen, können Sie das Bewusstsein für Ihre Ausgaben schärfen und Bereiche aufzeigen, in denen Abhilfemaßnahmen erforderlich sind.

## Empfehlungen
<a name="_recommendations"></a>

### Verwenden Sie den Cost Explorer
<a name="_use_cost_explorer"></a>

 [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) verfügt über eine easy-to-use Oberfläche, mit der Sie Ihre AWS-Kosten und -Nutzung im Laufe der Zeit visualisieren, verstehen und verwalten können. Mithilfe der im Cost Explorer verfügbaren Filter können Sie Kosten- und Nutzungsdaten auf verschiedenen Ebenen analysieren.

#### Kosten für EKS Control Plane und EKS Fargate
<a name="_eks_control_plane_and_eks_fargate_costs"></a>

Mithilfe der Filter können wir die Kosten abfragen, die für die EKS-Kosten auf der Kontrollebene und dem Fargate-Pod entstanden sind, wie in der folgenden Abbildung dargestellt:

![\[Cost Explorer - EKS-Steuerebene\]](http://docs.aws.amazon.com/de_de/eks/latest/best-practices/images/eks-controlplane-costexplorer.png)


Mithilfe der Filter können wir die Gesamtkosten abfragen, die für die Fargate-Pods in den verschiedenen Regionen in EKS anfallen. Dazu gehören vCPU vCPU-Stunden pro CPU als auch GB-Stunden, wie in der folgenden Abbildung dargestellt:

![\[Cost Explorer - EKS Fargate\]](http://docs.aws.amazon.com/de_de/eks/latest/best-practices/images/eks-fargate-costexplorer.png)


#### Verschlagwortung von Ressourcen
<a name="_tagging_of_resources"></a>

Amazon EKS unterstützt das [Hinzufügen von AWS-Tags](https://docs.aws.amazon.com/eks/latest/userguide/eks-using-tags.html) zu Ihren Amazon EKS-Clustern. Dies macht es einfach, den Zugriff auf die EKS-API für die Verwaltung Ihrer Cluster zu kontrollieren. Zu einem EKS-Cluster hinzugefügte Tags sind spezifisch für die AWS EKS-Clusterressource. Sie werden nicht auf andere vom Cluster verwendete AWS-Ressourcen wie EC2 Instances oder Load Balancer übertragen. Heute wird Cluster-Tagging für alle neuen und vorhandenen EKS-Cluster über die AWS-API, Konsole und SDKs unterstützt.

AWS Fargate ist eine Technologie, die bedarfsgerecht dimensionierte Rechenkapazität für Container bereitstellt. Bevor Sie Pods auf Fargate in Ihrem Cluster planen können, müssen Sie mindestens ein Fargate-Profil definieren, das festlegt, welche Pods Fargate verwenden sollen, wenn sie gestartet werden.

Hinzufügen und Auflisten von Tags zu einem EKS-Cluster:

```
$ 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"
    }
}
```

Nachdem Sie die Kostenzuordnungs-Tags im [AWS Cost Explorer](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) aktiviert haben, verwendet AWS die Kostenzuordnungs-Tags, um Ihre Ressourcenkosten in Ihrem Kostenzuordnungsbericht zu organisieren, sodass Sie Ihre AWS-Kosten einfacher kategorisieren und verfolgen können.

Tags haben keine semantische Bedeutung für Amazon EKS und werden ausschließlich als Zeichenfolgen interpretiert. Sie können beispielsweise eine Reihe von Tags für Ihre Amazon-EKS-Cluster definieren, um Ihnen dabei zu helfen, den Eigentümer und die Stack-Ebene jedes einzelnen Clusters nachzuverfolgen.

### Verwenden Sie AWS Trusted Advisor
<a name="_use_aws_trusted_advisor"></a>

AWS Trusted Advisor bietet eine Vielzahl von Best-Practice-Prüfungen und Empfehlungen in fünf Kategorien: Kostenoptimierung, Sicherheit, Fehlertoleranz, Leistung und Servicebeschränkungen.

Zur Kostenoptimierung hilft Trusted Advisor dabei, ungenutzte und ungenutzte Ressourcen zu eliminieren, und empfiehlt, Verpflichtungen für reservierte Kapazitäten einzugehen. Die wichtigsten Maßnahmen, die Amazon EKS helfen werden, betreffen unter anderem wenig genutzte EC2 Instances, nicht zugeordnete Elastic IP-Adressen, Idle Load Balancer und nicht ausgelastete EBS-Volumes. Die vollständige Liste der Prüfungen finden Sie unter -practice-checklist/. https://aws.amazon.com/premiumsupport/ technology/trusted-advisor/best

Der Trusted Advisor bietet auch Empfehlungen zu Savings Plans und Reserved EC2 Instances für Instances und Fargate, sodass Sie sich gegen vergünstigte Tarife auf einen gleichbleibenden Nutzungsbetrag festlegen können.

**Anmerkung**  
Die Empfehlungen von Trusted Advisor sind allgemeine Empfehlungen und nicht spezifisch für EKS.

### Verwenden Sie das Kubernetes-Dashboard
<a name="_use_the_kubernetes_dashboard"></a>

 ***Kubernetes-Dashboard*** 

Das Kubernetes-Dashboard ist eine allgemeine, webbasierte Benutzeroberfläche für Kubernetes-Cluster, die Informationen über den Kubernetes-Cluster einschließlich der Ressourcennutzung auf Cluster-, Knoten- und Pod-Ebene bereitstellt. Die Bereitstellung des Kubernetes-Dashboards auf einem Amazon EKS-Cluster wird in der [Amazon EKS-Dokumentation](https://docs.aws.amazon.com/eks/latest/userguide/dashboard-tutorial.html) beschrieben.

Das Dashboard bietet Aufschlüsselungen zur Ressourcennutzung für jeden Knoten und Pod sowie detaillierte Metadaten zu Pods, Diensten, Bereitstellungen und anderen Kubernetes-Objekten. Diese konsolidierten Informationen bieten Einblick in Ihre Kubernetes-Umgebung.

![\[Kubernetes-Dashboard\]](http://docs.aws.amazon.com/de_de/eks/latest/best-practices/images/kubernetes-dashboard.png)


 ***kubectl Befehle top und describe*** 

Metriken zur Ressourcennutzung mit den Befehlen kubectl top und kubectl describe anzeigen. kubectl top zeigt die aktuelle CPU- und Speicherauslastung für die Pods oder Knoten in Ihrem Cluster oder für einen bestimmten Pod oder Knoten an. Der Befehl kubectl describe liefert detailliertere Informationen zu einem bestimmten Knoten oder Pod.

```
$ kubectl top pods
$ kubectl top nodes
$ kubectl top pod pod-name --namespace mynamespace --containers
```

Mit dem Befehl top zeigt die Ausgabe die Gesamtmenge an CPU (in Kernen) und Speicher (in MiB) an, die der Knoten verwendet, sowie die Prozentsätze der zuweisbaren Kapazität des Knotens, die diese Zahlen darstellen. *Sie können dann einen Drilldown zur nächsten Ebene, der Containerebene innerhalb von Pods, durchführen, indem Sie das Flag --containers hinzufügen.*

```
$ kubectl describe node <node>
$ kubectl describe pod <pod>
```

 *kubectl describe* gibt den Prozentsatz der verfügbaren Gesamtkapazität zurück, den jede Ressourcenanforderung oder jedes Limit darstellt.

kubectl top and describe verfolgt die Nutzung und Verfügbarkeit kritischer Ressourcen wie CPU, Arbeitsspeicher und Speicher in Kubernetes-Pods, -Knoten und Containern. Dieses Bewusstsein hilft dabei, die Ressourcennutzung zu verstehen und die Kosten zu kontrollieren.

### Verwenden Sie CloudWatch Container Insights
<a name="_use_cloudwatch_container_insights"></a>

Verwenden Sie [CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-EKS.html), um Metriken und Logs aus Ihren containerisierten Anwendungen und Microservices zu sammeln, zu aggregieren und zusammenzufassen. Container Insights ist für Amazon Elastic Kubernetes Service auf EC2 und Kubernetes-Plattformen auf Amazon verfügbar. EC2 Die Metriken umfassen die Auslastung für Ressourcen wie z  B. CPU, Arbeitsspeicher, Datenträger und Netzwerk.

[Die Installation von Insights ist in der Dokumentation beschrieben.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-EKS.html)

CloudWatch erstellt aggregierte Metriken auf Cluster-, Knoten-, Pod-, Aufgaben- und Serviceebene als CloudWatch Metriken.

 **Die folgende Abfrage zeigt eine Liste von Knoten, sortiert nach der durchschnittlichen CPU-Auslastung der Knoten** 

```
STATS avg(node_cpu_utilization) as avg_node_cpu_utilization by NodeName
| SORT avg_node_cpu_utilization DESC
```

 **CPU-Auslastung nach Container-Namen** 

```
stats pct(container_cpu_usage_total, 50) as CPUPercMedian by kubernetes.container_name
| filter Type="Container"
```

 **Festplattennutzung nach Container-Namen** 

```
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
```

Weitere Beispielabfragen finden Sie in der [Dokumentation zu Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-view-metrics.html) 

Dieses Bewusstsein wird dazu beitragen, den Ressourcenverbrauch zu verstehen und die Kosten zu kontrollieren.

### Nutzung von Kubecost zur Sensibilisierung und Orientierung bei den Ausgaben
<a name="_using_kubecost_for_expenditure_awareness_and_guidance"></a>

Tools von Drittanbietern wie [kubecost](https://kubecost.com/) können auch auf Amazon EKS bereitgestellt werden, um einen Überblick über die Kosten für den Betrieb Ihres Kubernetes-Clusters zu erhalten. Informationen zur Kostenverfolgung mit Kubecost finden Sie in diesem [AWS-Blog](https://aws.amazon.com/blogs/containers/how-to-track-costs-in-multi-tenant-amazon-eks-clusters-using-kubecost/)

Bereitstellung von Kubecost mit 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
```

Kubecost-Dashboard - ![\[Kubernetes Cluster Auto Scaler logs\]](http://docs.aws.amazon.com/de_de/eks/latest/best-practices/images/kube-cost.png) 

### Verwenden Sie das Kubernetes-Analysetool für Kostenzuweisung und Kapazitätsplanung
<a name="_use_kubernetes_cost_allocation_and_capacity_planning_analytics_tool"></a>

 [Kubernetes Opex Analytics](https://github.com/rchakode/kube-opex-analytics) ist ein Tool, mit dem Unternehmen nachverfolgen können, welche Ressourcen von ihren Kubernetes-Clustern verbraucht werden, um zu hohe Zahlungen zu vermeiden. Zu diesem Zweck werden kurz- (7 Tage), mittel- (14 Tage) und langfristige (12 Monate) Nutzungsberichte generiert, die relevante Erkenntnisse darüber enthalten, wie viel Ressourcen jedes Projekt im Laufe der Zeit verbraucht.

![\[Kubernetes Opex Analytics\]](http://docs.aws.amazon.com/de_de/eks/latest/best-practices/images/kube-opex-analytics.png)


### Yotaskala
<a name="_yotascale"></a>

Yotascale hilft bei der genauen Zuordnung der Kubernetes-Kosten. Die Funktion Yotascale Kubernetes Cost Allocation verwendet tatsächliche Kostendaten, einschließlich Reserved Instance-Rabatte und Spot-Instance-Preise, anstelle von generischen Marktpreisschätzungen, um den gesamten Kostenaufwand für Kubernetes zu ermitteln

Weitere [Informationen finden](https://www.yotascale.com/) Sie auf ihrer Website.

### Berater von Alcide
<a name="_alcide_advisor"></a>

Alcide ist ein Advanced Technology Partner des AWS-Partnernetzwerks (APN). Alcide Advisor hilft sicherzustellen, dass Ihre Amazon EKS-Cluster-, Knoten- und Pods-Konfiguration so abgestimmt sind, dass sie den bewährten Sicherheitsmethoden und internen Richtlinien entsprechen. Alcide Advisor ist ein agentenloser Service für die Prüfung und Einhaltung von Vorschriften bei Kubernetes, der darauf ausgelegt ist, einen reibungslosen und sicheren DevSecOps Ablauf zu gewährleisten, indem er die Entwicklungsphase vor der Umstellung auf die Produktion verhärtet.

[Weitere Einzelheiten finden Sie in diesem Blogbeitrag.](https://aws.amazon.com/blogs/apn/driving-continuous-security-and-configuration-checks-for-amazon-eks-with-alcide-advisor/)

## Andere Tools
<a name="_other_tools"></a>

### Kubernetes-Garbage-Collection
<a name="_kubernetes_garbage_collection"></a>

Die Rolle des [Kubernetes-Garbage-Collectors](https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/) besteht darin, bestimmte Objekte zu löschen, die einmal einen Besitzer hatten, aber keinen Besitzer mehr haben.

### Grafschaft Fargate
<a name="_fargate_count"></a>

 [Fargatecount](https://github.com/mreferre/fargatecount) ist ein nützliches Tool, mit dem AWS-Kunden anhand einer benutzerdefinierten CloudWatch Metrik die Gesamtzahl der EKS-Pods verfolgen können, die auf Fargate in einer bestimmten Region eines bestimmten Kontos bereitgestellt wurden. Dies hilft dabei, den Überblick über alle Fargate-Pods zu behalten, die in einem EKS-Cluster ausgeführt werden.

### Popeye — Ein Kubernetes-Cluster-Desinfizierer
<a name="_popeye_a_kubernetes_cluster_sanitizer"></a>

 [Popeye — Ein Kubernetes Cluster Sanitizer](https://github.com/derailed/popeye) ist ein Hilfsprogramm, das Live-Kubernetes-Cluster scannt und potenzielle Probleme mit bereitgestellten Ressourcen und Konfigurationen meldet. Es bereinigt Ihren Cluster auf der Grundlage dessen, was bereitgestellt wird und nicht darauf, was sich auf der Festplatte befindet. Durch das Scannen Ihres Clusters werden Fehlkonfigurationen erkannt und Sie können sicherstellen, dass bewährte Verfahren angewendet werden

### Ressourcen
<a name="_resources"></a>

In den folgenden Ressourcen erfahren Sie mehr über bewährte Methoden zur Kostenoptimierung.

#### Dokumentation und Blogs
<a name="_documentation_and_blogs"></a>
+  [Amazon EKS unterstützt Tagging](https://docs.aws.amazon.com/eks/latest/userguide/eks-using-tags.html) 

#### Tools
<a name="_tools"></a>
+  [Was ist AWS Billing and Cost Management?](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) 
+  [Einblicke in Amazon CloudWatch Container](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) 
+  [So verfolgen Sie die Kosten in Amazon EKS-Clustern mit mehreren Mandanten mithilfe von Kubecost](https://aws.amazon.com/blogs/containers/how-to-track-costs-in-multi-tenant-amazon-eks-clusters-using-kubecost/) 
+  [Kubecost](https://kubecost.com/) 
+  [Kube Opsview](https://github.com/hjacobs/kube-ops-view) 
+  [Kubernetes Opex-Analytik](https://github.com/rchakode/kube-opex-analytics) 