When you are building applications and deploying them using containers, getting a visual representation of what pods or tasks are running is an invaluable tool to check that everything is as it should be.
For a long time Hava has automatically produced AWS ECS container diagrams when you connected your AWS account to Hava.
The resulting diagrams would show you your ECS clusters, services and tasks running and a colour coded hexagon depicting the operational status of the task.
If you have container workloads running on AWS ECS, you will get a diagram created like this :
The container diagram is created for your entire ECS cluster. You can see all the services and tasks currently running, any load balancing available to your containers as well as unused or pending capacity.
CONTAINER SERVICE AND CAPACITY INFORMATION
The AWS Container Diagram View will generally show one main cluster around one or more service containers, showing the individual services that make up the cluster as well as the tasks running inside.
At the top of the container you can see information about the state of the container as well as it's location, while at the bottom you can see the name and the ID of the service. Clicking anywhere in the service will display all the services attributes in the right hand attributes panel.
Towards the top of the service you will see load balancing information if there are any load balancers connected to your containers. This will show the port and the container the load balancer is connected to for each task. Click the load balancer box to see more information about the target group or class load balancer that is attached.
Each of the tasks running within the service are shown as a hexagonal icon that can be clicked to see the information for the specific task. Tasks are displayed in different styles depending on their current state:
Green tasks are running successfully.
Yellow tasks are in a pending state, usually starting up or shutting down. You can click the task for more details.
Dashed tasks are spare capacity in the service, where the desired count is less than the running count.
DETAILED RESOURCE INFORMATION
Clicking on any resource on the container diagram will display detailed information about that resources in the attributes bar on the right hand side. This can be used to get more detail on what the diagram is displayed.
From the main cluster you can see what services and tasks are running, as well as the container instances the cluster is spread across. If you are running in an EC2 cluster you will also be able to see the underlying EC2 instances.
From the service you are able to see the task definition it's using as well as deployment and placement information. You can also see a list view of all the tasks running within the services currently, and any load balancing available to those tasks.
In the task attributes you can see the containers running within the task, the container instance it's deployed onto, and the current status of the task.
With the addition of Kubernetes support, Hava has extended it's AWS diagram generation to include managed AWS EKS Kubernetes diagrams.
AWS EKS Kubernetes DIAGRAMS
AWS managed EKS clusters that you set up in your AWS account will appear as a sub-source on your AWS account data source connected to Hava. Once connected by adding the Hava role to your EKS clusters, cluster container diagrams will be automatically generated for the connected EKS clusters.
With this new support, all you need to do is add the role you use to connect to Hava to your EKS cluster aws-auth ConfigMap within the cluster and Hava will start automatically diagramming your EKS cluster automatically.
Once connected, the AWS datasource (account) that is connected to Hava will show EKS clusters as a sub-source of the account.
Detected EKS Clusters are referred to as sub-sources. You can view the detected EKS clusters by clicking on the show sub-sources link on your AWS accounts connected to Hava.
Unfortunately AWS IAM does not support giving a role or user access to the EKS clusters from the parent account, so a config change has to be added to each cluster. To allow Hava access to your EKS clusters you need to make sure that the user or role you use to import in Hava is added to the mapUsers
section in your aws-auth
ConfigMap within the cluster.
You can see how to connect your AWS EKS Clusters to Hava by following the latest instructions in the Kubernetes section of the Hava documentation here:
Visualising your EKS clusters gives you an easy way to instantly spot if you have potential problems with tasks that aren't running but should be.
Hava also diagrams your traditional AWS virtual networks as well as stand alone Kubernetes clusters, Azure infrastructure, GCP infrastructure, Azure AKS clusters, Google Kubernetes clusters, AWS and Azure security groups and generates reports on how well your AWS infrastructure complies to AWS best practice.
To generate your own AWS Kubernetes diagrams, you can use the button below to take a 14 day free trial.