# Table of Contents - [Overview | Infra App Docs](#overview-infra-app-docs) - [Getting started | Infra App Docs](#getting-started-infra-app-docs) - [Container shell access | Infra App Docs](#container-shell-access-infra-app-docs) - [Amazon Web Services (EKS) | Infra App Docs](#amazon-web-services-eks-infra-app-docs) - [Google Cloud Platform (GKE) | Infra App Docs](#google-cloud-platform-gke-infra-app-docs) - [Minikube | Infra App Docs](#minikube-infra-app-docs) - [Docker Desktop | Infra App Docs](#docker-desktop-infra-app-docs) - [Other Clusters | Infra App Docs](#other-clusters-infra-app-docs) - [Deleting Pods | Infra App Docs](#deleting-pods-infra-app-docs) - [Editing Resources / Nodes | Infra App Docs](#editing-resources-nodes-infra-app-docs) - [Log search & filtering | Infra App Docs](#log-search-filtering-infra-app-docs) - [Clusters with RBAC | Infra App Docs](#clusters-with-rbac-infra-app-docs) - [CPU & memory utilization | Infra App Docs](#cpu-memory-utilization-infra-app-docs) - [Digital Ocean (DOKS) | Infra App Docs](#digital-ocean-doks-infra-app-docs) - [FAQs | Infra App Docs](#faqs-infra-app-docs) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Unknown](#unknown) - [Clusters with RBAC | Infra App Docs](#clusters-with-rbac-infra-app-docs) - [CPU & memory utilization | Infra App Docs](#cpu-memory-utilization-infra-app-docs) - [Amazon Web Services (EKS) | Infra App Docs](#amazon-web-services-eks-infra-app-docs) --- # Overview | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/master.md) . ### The Interface[](https://docs.infra.app/#the-interface) Once you've [downloaded](https://infra.app/download) and started Infra App, you'll be presented with the main user interface. Below is a quick guide to help you navigate the app. ### Main View[](https://docs.infra.app/#main-view) ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKBkbs5L2riWlkgBMUe%252F-MKCKgPL3yaQYe1vrfc0%252Fbrowse.png%3Falt%3Dmedia%26token%3D256e2feb-2a8c-440d-8533-298fb253192b&width=768&dpr=3&quality=100&sign=16089a5e8adf8d48b196a7b18feb8315&sv=3) 1. **The Cluster Switcher.** The cluster switcher is where you can switch between your configured Kubernetes Clusters. By default Infra App detects your local Kubernetes Configuration file (Kubeconfig) and can be extended by adding your own configuration file by selecting **Add Configuration** in the dropdown or via the hotkey **⌘+O**. 2. **Activity Tabs.** The _**application tab**_ allows you to view main Kubernetes workloads including CronJob/Job, DaemonSet Deployment, Pods, and StatefulSet. The _**all resources**_ tab allows you to view all the resources in the cluster or per namespace if a namespace is selected on the left-hand bar. 3. **Search Bar**. In the search bar, you will be able to search for different Kubernetes resources by its name or namespace. 4. **Browse.** In this view, Infra App will display everything in the Kubernetes cluster based on Applications (workloads) or All Resources. To filter for particular namespaces, please select a namespace from the left hand bar. 5. **Utilization.** The utilization page displays the health of the cluster including a summary of CPU / Memory usage/requests/limits for the whole cluster and individual nodes. 6. **Resource View.** This section displays a summary of the Kubernetes resources based on the filters selected. ### Resource Detail[](https://docs.infra.app/#resource-detail) ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKBkbs5L2riWlkgBMUe%252F-MKCMAHlfyym3SJpNV9d%252Fresource%2520page.png%3Falt%3Dmedia%26token%3D5ac6d24d-859e-45cb-901a-b767325a0b38&width=768&dpr=3&quality=100&sign=fb9200a18dc8a76dc2c778fff069a31d&sv=3) 1. **Activity Tabs.** You can use the activity tabs to switch between **Overview**, **Logs**, **Events**, and **YAML** for the particular resource. 1. **Logs tab**. Infra App will **automatically aggregate** all the logs for this workload from different pods and containers in **real-time**. By default the log streamer will auto-refresh when the scroll bar is scrolled to the bottom. The log stream will stop auto-scrolling when you move the scroll bar away from the bottom. 2. **Events tab.** In the events tab, Infra App automatically fetches all the related events pertaining to this resource -- such as volumes, endpoints, controllers, and more. 3. **YAML tab.** YAML tab will show you the YAML file used to set-up the resource with the ability to **edit**. 2. **Resource Status.** Resource status shows the current status of the resource as reported by Kubernetes. 3. **Overview.** Here you will find the kind of the resource, the namespace it's associated with, its age, the labels attached to the workload, and the image(s) the resource is currently using. 4. **Utilization.** For CPU / Memory utilization, Infra App automatically detects whether you have metrics-server installed by looking at the Kubernetes metrics endpoint. 5. **Pods.** In the pods section, you will be able to see a list of all related pods and its current status. 6. **Pod Actions.** In the actions dropdown via the **"..." button** or via **right-click,** you will be able to perform actions on individual pods such as **open shell** to a particular container, view logs from a pod, and ability to delete a pod. 7. **Related Resources** 1. **Services.** In the services section, you will be able to see the type of the service(s) and its endpoints. Infra App makes the endpoints hyperlinked so you can click on it to see the result in a web browser if supported. 2. **Ingresses**. If your cluster is using an IngressController and you are routing traffic to this resource, the ingress rules will show up here. 3. **Config Maps.** For resources with a configuration map, you'll be able to view it in this section. 4. **Persistent Volume Claims.** Infra App will show any related Persistent volume claims. ### Utilization[](https://docs.infra.app/#utilization) ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKBkbs5L2riWlkgBMUe%252F-MKCOh6ax9hahVoke-ON%252Futilization.png%3Falt%3Dmedia%26token%3De1bf8a0c-2b49-44ab-b1f0-51e005d3d686&width=768&dpr=3&quality=100&sign=69f7c07511021b4f12f182e3d272852d&sv=3) 1. **Overview.** High-level details about the cluster, including the total number of node and pods with its capacity. 2. **Utilization.** CPU & Memory utilization percentages of the cluster, broken down by usage, requests & limits. This tells you how full your cluster is in terms of actual usage but also in terms of resources requested by workloads. 3. **Nodes.** The nodes connected to this cluster and their statuses. Click on a node to view its detail, or click on the table headers to sort nodes. For example, you can sort by Memory to view which nodes are closest to being over capacity. 4. **Utilization switcher.** View node utilization in terms of usage, requests or limits. ### Node Detail[](https://docs.infra.app/#node-detail) ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKBkbs5L2riWlkgBMUe%252F-MKCT9UVzN2ToGi6dOZM%252Fnode%2520detail.png%3Falt%3Dmedia%26token%3Da4bdf688-2d0a-4222-8c10-858349a8003d&width=768&dpr=3&quality=100&sign=2b7c0641c6b643ad50ee74d4a8f4cc55&sv=3) 1. **Activity Tab.** You can use the activity tabs to switch between **Overview**, **Events**, and **YAML** for the particular node. 2. **Node Status.** Tells you if this node is running and accepting resources. 3. **Overview.** High-level details about the node, including it's total pod usage & capacity and IP addresses. 4. **Utilization.** Similar to cluster utilization, this section tells you the CPU & Memory utilization percentages of the node, broken down by usage, requests & limits. 5. **Pods.** Shows you which pods are running on this node. Pods are sorted by status by default but you can sort them by CPU & Memory to see which are using the most resources on this node. 6. **Detail**. View labels & annotations for this node. This is handy to view metadata provided by the cloud provider. [NextGetting started](https://docs.infra.app/getting-started) Last updated 5 years ago Was this helpful? --- # Getting started | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/getting-started.md) . ### Download Infra App[](https://docs.infra.app/getting-started#download-infra-app) Visit [https://infra.app/download](https://infra.app/download) to download the latest version of Infra App **Additional instructions for Linux AppImage** If using the AppImage format, make sure to mark the app as executable. For example, on Ubuntu, this can be done by right-clicking on the AppImage file, clicking on Permissions, and then "Allow executing file as program" ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MMXsMGWIkBBYg0dS1oY%252F-MMXsfROIxJMKNIpTzhU%252FScreen%2520Shot%25202020-11-19%2520at%25206.40.49%2520PM.png%3Falt%3Dmedia%26token%3D78a0d90f-3268-4c83-b468-285738fd73b2&width=300&dpr=3&quality=100&sign=bd4e020e2b55b050ed25a0ec92c83a41&sv=3) Or on the command line, run`chmod +x ./Infra-0.43.0.AppImage` ### Connect your Kubernetes cluster[](https://docs.infra.app/getting-started#connect-your-kubernetes-cluster) Upon starting, Infra App will automatically look at your local Kubernetes configuration to discover clusters you have access to. **Not seeing any Kubernetes clusters?** If Infra App doesn't detect your Kubernetes clusters check out one of the [guides below](https://docs.infra.app/getting-started#connection-guides-for-common-kubernetes-providers) on connecting Infra App to an existing Kubernetes cluster. If you don't have a Kubernetes cluster, we recommend trying Infra App with [Docker Desktop](https://docs.infra.app/connect-your-cluster/docker-desktop) . Locally discovered clusters appear in the Cluster Switcher, as shown below. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCWQWAnOMhFeHE0Pmx%252F-MKCYzf7cR6dMDVon4DM%252Fcluster%2520switcher.png%3Falt%3Dmedia%26token%3D83a8ccf4-0010-4054-bfbb-7beb6e59f8ce&width=768&dpr=3&quality=100&sign=61d1a14fa2193e28e0cbf2a71927acdd&sv=3) Infra App will automatically load your active cluster, if you have one: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCWQWAnOMhFeHE0Pmx%252F-MKCg9NswNI3E0NcgCAL%252Fgeneral.png%3Falt%3Dmedia%26token%3Dfdc10ee5-cedd-4ab5-a249-37eae2d48107&width=768&dpr=3&quality=100&sign=dd8e8159332cef51f90d309b11f25d00&sv=3) And that's it. You're up and running with Infra App. ### Connection guides for common Kubernetes providers[](https://docs.infra.app/getting-started#connection-guides-for-common-kubernetes-providers) [Amazon Web Services (EKS)](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks) [Google Cloud Platform (GKE)](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke) [Digital Ocean (DOKS)](https://docs.infra.app/connect-your-cluster/digital-ocean-doks) [Docker Desktop](https://docs.infra.app/connect-your-cluster/docker-desktop) [Minikube](https://docs.infra.app/connect-your-cluster/minikube) If you aren't using any of the above, check out the [this guide](https://docs.infra.app/connect-your-cluster/other-clusters) on connecting any other Kubernetes cluster. [PreviousOverview](https://docs.infra.app/) [NextAmazon Web Services (EKS)](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks) Last updated 5 years ago Was this helpful? --- # Container shell access | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/features/container-shell-access.md) . ### Opening a Shell[](https://docs.infra.app/features/container-shell-access#opening-a-shell) When viewing a workload, click on the _**...**_ **button** (or right click) on any pod, and then click **Open Shell** to open a new shell session with a pod's container. If there are many containers, Infra App will show a list of containers to choose from. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCiVbXWg5RDegJw4rF%252Fopen%2520shell.png%3Falt%3Dmedia%26token%3Db4bba615-0233-4dd4-8ace-a94738d9ae28&width=768&dpr=3&quality=100&sign=702963bbdc10aacc7ea655b5f9bc1f92&sv=3) Once connected, this session will persist until you close it or change clusters in Infra App. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCiTkWhuKOL7JbrP_u%252Fterminal.png%3Falt%3Dmedia%26token%3D0679c70d-dfc7-4157-8cc5-0fb11df7da4a&width=768&dpr=3&quality=100&sign=d0949e9ef2b9b1e723c1f80fd114d4a9&sv=3) To close the shell, simply click on the **X** button in the top right of the terminal view. #### Not all containers can open a shell[](https://docs.infra.app/features/container-shell-access#not-all-containers-can-open-a-shell) Not all containers include files required to open shell access. You may receive an error such as `OCI runtime exec failed: exec failed.` [PreviousCPU & memory utilization](https://docs.infra.app/features/cpu-and-memory-utilization) [NextLog search & filtering](https://docs.infra.app/features/log-streaming) Last updated 5 years ago Was this helpful? --- # Amazon Web Services (EKS) | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks.md) . Infra App connects automatically to most clusters. If running `kubectl` works without any modifications or custom scripts, then Infra App will also work out of the box. ### Prerequisites[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#prerequisites) * Create an [EKS cluster](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) * Download and setup the [AWS CLI](https://www.google.com/search?q=aws+cli+v2&oq=aws+cli+v2&aqs=chrome..69i57j69i59j69i60l4.765j0j7&sourceid=chrome&ie=UTF-8) (preferably version 2) * [Configure the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) with the credentials AWS user that has access to the cluster ### Generating a config file[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#generating-a-config-file) [Create a config file entry](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html) using the `aws` CLI. For example: Copy aws eks --region update-kubeconfig --name You're done! Infra App should automatically switch to your cluster. You can switch to it at any time via the cluster dropdown: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCh7FQ1vexF0q_U-Qu%252Faws%2520dropdown.png%3Falt%3Dmedia%26token%3D30d3489a-4646-41be-a070-c847fa7b5a1f&width=768&dpr=3&quality=100&sign=98eb3a310032ae1ab523a175a8c23e82&sv=3) ### Installing Metrics Server[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#installing-metrics-server) AWS EKS clusters don't include metrics server by default, so real-time CPU & Memory usage metrics won't show out of the box with Infra App. Follow the [official guide](https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html) on the AWS docs site to install metrics server on your cluster. ### Usage with custom profiles[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#usage-with-custom-profiles) In order to use a custom AWS profile to connect to your cluster, you'll need to edit your Kubernetes config file. This file is usually found in: * `~/.kube/config` on macOS and Linux * `C:\Users\\.kube\config` on Windows Open this file and edit the relevant user object in the `users:` section. add an `AWS_PROFILE` environment variable . Copy users: - name: arn:aws:eks:us-east-1:00919287195771:cluster/example-cluster user: exec: apiVersion: client.authentication.k8s.io/v1alpha1 args: - --region - us-east-1 - eks - get-token - --cluster-name - example-cluster command: aws # Add these lines to your KubeConfig env: - name: AWS_PROFILE value: ### Usage with `aws-iam-authenticator`[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#usage-with-aws-iam-authenticator) Older EKS clusters may use `aws-iam-authenticator` to generate tokens. If your cluster uses this make sure it's [installed](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) before using Infra App. ### Usage with `aws-okta`[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#usage-with-aws-okta) Usage with `aws-okta` is not supported yet, but we are working on it. ### Usage with `aws-vault`[](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks#usage-with-aws-vault) Usage with `aws-vault` is not supported yet, but we are working on it. [PreviousGetting started](https://docs.infra.app/getting-started) [NextGoogle Cloud Platform (GKE)](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke) Last updated 5 years ago Was this helpful? --- # Google Cloud Platform (GKE) | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke.md) . Infra App connects automatically to most clusters. If running `kubectl` works without any modifications or custom scripts, then Infra App will also work out of the box. ### Prerequisites[](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke#prerequisites) * [Create a GKE cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/creating-a-cluster) * [Download and install](https://cloud.google.com/sdk/install) the Google Cloud SDK (this includes the `gcloud` CLI tool) * [Login](https://cloud.google.com/sdk/gcloud/reference/auth/login) with a user that has access to the cluster via `gcloud auth login` ### Generate the config file[](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke#generate-the-config-file) [Create a config file entry](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#generate_kubeconfig_entry) using `gcloud`. For example: Copy gcloud container clusters get-credentials You're done! Infra App will discover the entry in your Kubernetes config file and automatically switch to your cluster. At any time you can access this cluster via the Cluster Switcher: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCh4mpJ9OmJ0P9U5Et%252Fgke%2520dropdown.png%3Falt%3Dmedia%26token%3Db5ced6d4-6f81-4dc8-903c-ec23fc1dc863&width=768&dpr=3&quality=100&sign=7c57d357bae5c8b0e439a8dd13104373&sv=3) [PreviousAmazon Web Services (EKS)](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks) [NextDigital Ocean (DOKS)](https://docs.infra.app/connect-your-cluster/digital-ocean-doks) Last updated 5 years ago Was this helpful? --- # Minikube | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/minikube.md) . ### Prerequisites[](https://docs.infra.app/connect-your-cluster/minikube#prerequisites) * Install and start [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) ### Connect Infra App[](https://docs.infra.app/connect-your-cluster/minikube#connect-infra-app) Infra App will automatically discover the Minikube cluster. Switch to it by selecting the **Cluster Switcher** and then **minikube**: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKChrGvmkfrlBv0L2Dt%252Fminikube%2520dropdown.png%3Falt%3Dmedia%26token%3D243de9ce-5157-466f-a179-4957b240a1aa&width=768&dpr=3&quality=100&sign=eccf4f1d146edc541b0a7f51ace1e428&sv=3) ### Installing Metrics Server[](https://docs.infra.app/connect-your-cluster/minikube#installing-metrics-server) Minikube doesn't include metrics server by default. You can install it via the minikube `addons` command: Copy minikube addons enable metrics-server [PreviousDocker Desktop](https://docs.infra.app/connect-your-cluster/docker-desktop) [NextOther Clusters](https://docs.infra.app/connect-your-cluster/other-clusters) Last updated 5 years ago Was this helpful? --- # Docker Desktop | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/docker-desktop.md) . ### Prerequisites[](https://docs.infra.app/connect-your-cluster/docker-desktop#prerequisites) * Install [Docker Desktop](https://www.docker.com/products/docker-desktop) ### Enable Kubernetes[](https://docs.infra.app/connect-your-cluster/docker-desktop#enable-kubernetes) Access Docker Desktop preferences by click on the Docker Desktop menu bar icon and then **Preferences...** ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MBu4P9GqTs2CsiSepv4%252F-MBuGWlndQbsRQj8eWan%252FScreen%2520Shot%25202020-07-10%2520at%25203.48.28%2520PM.png%3Falt%3Dmedia%26token%3Dd1193431-475c-4807-a01b-041e0de92f47&width=768&dpr=3&quality=100&sign=b23169cf5579f3262741ce812fc8e804&sv=3) Navigate to **Kubernetes** in the sidebar, then click **Enable Kubernetes.** Finally click **Apply & Restart** ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MBu4P9GqTs2CsiSepv4%252F-MBuGbqbx0u_UvzQ-r_T%252FScreen%2520Shot%25202020-07-10%2520at%25203.49.20%2520PM.png%3Falt%3Dmedia%26token%3D19519747-8a2d-4d1a-82d9-39a30ded0a11&width=768&dpr=3&quality=100&sign=7677f157825f35dd6ef0d6c4cbd4b2ba&sv=3) ### Connect Infra App[](https://docs.infra.app/connect-your-cluster/docker-desktop#connect-infra-app) Infra App will automatically work with Docker Desktop. Simply open it by clicking on the **Cluster Switcher** and then choosing **docker-desktop:** ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKChMlBD3M20aVppUgT%252Fdd%2520dropdown.png%3Falt%3Dmedia%26token%3D119489da-5497-4d87-84a7-329fb7a72f37&width=768&dpr=3&quality=100&sign=2ebfa4f935b4c7bfd8b747171112cf13&sv=3) Voila! Infra App is now connected to Docker Desktop's Kubernetes cluster: ### Installing Metrics Server[](https://docs.infra.app/connect-your-cluster/docker-desktop#installing-metrics-server) Metrics server isn't included with Docker Desktop's installation of Kubernetes, and the default metrics-server setup guide won't work out of the box. Follow the steps below to install metrics server: Download the latest `components.yaml` file from [https://github.com/kubernetes-sigs/metrics-server/releases](https://github.com/kubernetes-sigs/metrics-server/releases) and open it in your text editor. Then, add the line `--kubelet-insecure-tls` under the `args:` section: Copy apiVersion: apps/v1 kind: Deployment metadata: name: metrics-server namespace: kube-system labels: k8s-app: metrics-server spec: selector: matchLabels: k8s-app: metrics-server template: metadata: name: metrics-server labels: k8s-app: metrics-server spec: serviceAccountName: metrics-server volumes: # mount in tmp so we can safely use from-scratch images and/or read-only containers - name: tmp-dir emptyDir: {} containers: - name: metrics-server image: k8s.gcr.io/metrics-server-amd64:v0.3.6 imagePullPolicy: IfNotPresent args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-insecure-tls # Add this line ports: - name: main-port containerPort: 4443 protocol: TCP securityContext: readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 volumeMounts: - name: tmp-dir mountPath: /tmp nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: "amd64" **Warning**: This setting should only be used for the local Docker Desktop Kubernetes cluster, and not recommended for any hosted or production clusters. Last, apply the modified `components.yaml` config file to your cluster. Copy kubectl apply -f components.yaml [PreviousDigital Ocean (DOKS)](https://docs.infra.app/connect-your-cluster/digital-ocean-doks) [NextMinikube](https://docs.infra.app/connect-your-cluster/minikube) Last updated 5 years ago Was this helpful? --- # Other Clusters | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/other-clusters.md) . ### How Infra App detects clusters[](https://docs.infra.app/connect-your-cluster/other-clusters#how-infra-app-detects-clusters) Similarly to `kubectl`, Infra App looks for your default Kubernetes configuration file (also commonly referred to as KubeConfig) to discover clusters. This file is found under: * `~/.kube/config` on macOS and Linux * `C:\Users\\.kube\config` on Windows ### Adding additional config files[](https://docs.infra.app/connect-your-cluster/other-clusters#adding-additional-config-files) Some Kubernetes providers (such as IBM Cloud or Digital Ocean) don't use the default Kubernetes config file. Infra App can connect to these clusters as well. Simply click on the Cluster Switcher and then **Add Configuration...** ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKChywAsTHYgxygWggF%252Fadd%2520config.png%3Falt%3Dmedia%26token%3Da780be4a-b499-464e-8dc0-536d25a20ac1&width=768&dpr=3&quality=100&sign=280c95c693e87533ef01e6c6475922a3&sv=3) ### Still having trouble connecting?[](https://docs.infra.app/connect-your-cluster/other-clusters#still-having-trouble-connecting) If you're still having trouble connecting Infra App to your cluster, feel free to shoot us an [email](mailto:contact@infra.app) [PreviousMinikube](https://docs.infra.app/connect-your-cluster/minikube) [NextCPU & memory utilization](https://docs.infra.app/features/cpu-and-memory-utilization) Last updated 5 years ago Was this helpful? --- # Deleting Pods | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/features/deleting-pods.md) . To delete a pod in Infra App, first click on the resource: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCjfzft9H_5TfSxYLs%252Fresource.png%3Falt%3Dmedia%26token%3Dc9efe394-299e-4f96-83d0-873b46526724&width=768&dpr=3&quality=100&sign=9a87469bc26475d1ccae0f4fa11a4216&sv=3) Next, under **Pods**, find the pod you'd like to delete. Click on the **...** to open the actions menu. Next, click **Delete Pod** as shown below: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCjhidoEFifCIIi-fo%252Fpod%2520delete.png%3Falt%3Dmedia%26token%3D4f5c4dec-d50c-4806-86e2-f41e55b4ecf0&width=768&dpr=3&quality=100&sign=1247dcd025db7d1ccbf80e491e57fdbc&sv=3) After confirming, your pod will be deleted. [PreviousEditing Resources / Nodes](https://docs.infra.app/features/editing-workloads) [NextClusters with RBAC](https://docs.infra.app/advanced/clusters-with-rbac) Last updated 5 years ago Was this helpful? --- # Editing Resources / Nodes | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/features/editing-workloads.md) . ### Use Cases[](https://docs.infra.app/features/editing-workloads#use-cases) Editing a resource or node can be handy for several use cases: * Changing resource constraints * Scaling a resource (by editing the workload's **replicas** field) * Updating the workload image to trigger a rollout of a new version ### Editing a Resource[](https://docs.infra.app/features/editing-workloads#editing-a-resource) First, click on the workload in Infra App. Then on the **YAML** tab: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCj-kSgY3UyfEzfFlW%252Fyaml.png%3Falt%3Dmedia%26token%3D4c752558-0987-4b51-89b1-a69dbac035b0&width=768&dpr=3&quality=100&sign=e4f47e9671c2154d6470290a59e3e442&sv=3) Next, make changes to the YAML directly inline. You'll notice the **Apply** button become clickable. Click this button and confirm your changes to continue. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCjFRMpnPAtM2FBXhd%252Fyaml%2520apply.png%3Falt%3Dmedia%26token%3D4a9c1d03-3715-4241-831d-d2f12320ee17&width=768&dpr=3&quality=100&sign=72d7cdaa1196aa9775ca92c80b592d6e&sv=3) That's all. Your workload should now begin to reflect your changes. ### Common Errors[](https://docs.infra.app/features/editing-workloads#common-errors) * `Version out of date` this can occur if the workload is updated in the background while making edits. Click **Revert** and then re-apply changes on the latest version of the workload. [PreviousLog search & filtering](https://docs.infra.app/features/log-streaming) [NextDeleting Pods](https://docs.infra.app/features/deleting-pods) Last updated 5 years ago Was this helpful? --- # Log search & filtering | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/features/log-streaming.md) . ### Overview[](https://docs.infra.app/features/log-streaming#overview) Infra App automatically streams live logs from all of the pods and containers of a workload, including: * Sidecar containers * Init containers To avoid fetching excessive data, Infra App streams your application's _most recent_ 50 pods. ### Filtering Logs[](https://docs.infra.app/features/log-streaming#filtering-logs) To filter logs by a specific container , click the container dropdown. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKClIskrL86nj-k7WxX%252Fimage.png%3Falt%3Dmedia%26token%3Dcae09872-2c36-418a-be0e-6fb2acfb83f9&width=768&dpr=3&quality=100&sign=7f4250925af677d778ee0526aad3e08b&sv=3) The container filter will only show if there are multiple containers to filter. ### Searching Logs[](https://docs.infra.app/features/log-streaming#searching-logs) Searching logs works like a regular web browser or text editor - Infra App will automatically jump to the first result. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCleRb1sogTQQZDl4P%252Fimage.png%3Falt%3Dmedia%26token%3Dd4ea38ac-8691-4d4f-9b03-7d9b9d9f53db&width=768&dpr=3&quality=100&sign=fd34fa0027f3ab6b599bee58d058ffa9&sv=3) Press **Enter** to cycle to the next search result, and **Shift + Enter** to cycle backwards. [PreviousContainer shell access](https://docs.infra.app/features/container-shell-access) [NextEditing Resources / Nodes](https://docs.infra.app/features/editing-workloads) Last updated 5 years ago Was this helpful? --- # Clusters with RBAC | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/advanced/clusters-with-rbac.md) . Infra App is designed to work out of the box with RBAC-enabled environments. It assumes users have one of two roles: * Full cluster access * Single-namespace access ### Single Namespace access[](https://docs.infra.app/advanced/clusters-with-rbac#single-namespace-access) #### Kubernetes configuration file[](https://docs.infra.app/advanced/clusters-with-rbac#kubernetes-configuration-file) Infra App looks at the `context` entry the Kubernetes configuration file (KubeConfig) to know which namespace it should attempt to load for the user. For example: Copy - context: cluster: gke_test-cluster-abcdefg_us-central1-c_cluster-1 namespace: default # This tells Infra App which namespace to use user: gke_test-cluster-abcdefg_us-central1-c_cluster-1 name: gke_test-cluster-abcdefg_us-central1-c_cluster-1-single-namespace #### Required RBAC Rules[](https://docs.infra.app/advanced/clusters-with-rbac#required-rbac-rules) The configuration below outlines the permissions Infra App needs for a single-namespace user. Note that Infra App will work continue to work gracefully if users can't access the full list of resources. Copy kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default #replace with your namespace name: example-role #replace with your role name rules: - apiGroups: [""] resources: ["pods", "pods/log", "events", "services", "configmaps", "persistentvolumeclaims", "endpoints"] verbs: ["get", "watch", "list", "delete"] - apiGroups: [""] # For pod shell access resources: ["pods/exec"] verbs: ["get", "watch", "create"] - apiGroups: ["extensions", "apps"] resources: ["deployments", "replicasets", "statefulsets", "daemonsets"] verbs: ["get", "watch", "list"] - apiGroups: ["extensions", "batch"] resources: ["jobs", "cronjobs"] verbs: ["get", "watch", "list"] - apiGroups: ["extensions", "networking.k8s.io"] # For ingresses resources: ["ingresses"] verbs: ["get", "watch", "list"] - apiGroups: ["metrics.k8s.io"] # For metrics access resources: ["pods"] verbs: ["get", "watch", "list"] [PreviousDeleting Pods](https://docs.infra.app/features/deleting-pods) [NextFAQs](https://docs.infra.app/advanced/faq) Last updated 6 years ago Was this helpful? --- # CPU & memory utilization | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/features/cpu-and-memory-utilization.md) . ### Overview[](https://docs.infra.app/features/cpu-and-memory-utilization#overview) Infra App provides real-time information about cluster and workload utilization, so you can identify how resources such as CPU and Memory are being used and reserved across your Kubernetes cluster. **Metrics Server Required** CPU & memory utilization will work out of the box with most clusters. For real-time usage metrics, you'll need to make sure the official Kubernetes [metrics server](https://github.com/kubernetes-sigs/metrics-server) is installed. Many cloud Kubernetes providers such as GKE include it by default. ### Resource utilization[](https://docs.infra.app/features/cpu-and-memory-utilization#resource-utilization) In the main view, Infra App shows the resource utilization of each resource at a glance. Infra App automatically adds up all the resources used by all pods of your resource, so you can view the total footprint of your workload across the cluster: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCm1GSYbxaZe1aKykr%252Fimage.png%3Falt%3Dmedia%26token%3D9318e1a4-e866-4bb8-8f35-11b7a9b4b135&width=768&dpr=3&quality=100&sign=b3d9ad3b8d3ce0343f3c2de743550aae&sv=3) **To view top resources by utilization,** click on **CPU Usage** or **Memory Usage** in the table to sort the resources: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCm8oKrhMKvbC3N7c4%252Fimage.png%3Falt%3Dmedia%26token%3D9806118e-8a76-4e3a-ba1f-ec35de552606&width=768&dpr=3&quality=100&sign=ce3583ec3b6be4a079f6ec11c8e871a7&sv=3) ### Individual resource utilization[](https://docs.infra.app/features/cpu-and-memory-utilization#individual-resource-utilization) By clicking on an individual resource, you can see more details about its CPU & Memory utilization: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmHkvoNIgecwizBNS%252Fimage.png%3Falt%3Dmedia%26token%3Dda899cb5-e0e0-4442-a177-f2a6a2332636&width=768&dpr=3&quality=100&sign=f1520799fa13635565ea9bf5d2e48169&sv=3) **Hint:** CPU & Memory Percent is calculated by comparing the workload's usage against (in order): * Requests (if set) * Limits (if set) * Total cluster capacity To further view a resource's utilization breakdown by pod, the pod table includes the utilization per-pod: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MBuO5tjMC6w8b8esPF1%252F-MBuOYSDRe-Ep7nD2_l-%252FScreen%2520Shot%25202020-07-10%2520at%25204.24.02%2520PM.png%3Falt%3Dmedia%26token%3D1f286995-7251-4f35-a92f-8ba6031be3be&width=768&dpr=3&quality=100&sign=c1a0b964d6e47832bb55fc98cc63ad48&sv=3) ### Cluster Utilization[](https://docs.infra.app/features/cpu-and-memory-utilization#cluster-utilization) In the utilization view, Infra App shows what percent your Kubernetes cluster's resources are being used: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmUhdGGokTDGoGtDy%252Fimage.png%3Falt%3Dmedia%26token%3Dc73d8a8c-3bdc-48b2-aa78-61377c06316a&width=768&dpr=3&quality=100&sign=ce57cd4d8b3c6574a4ddca666077de35&sv=3) In this case, the cluster is almost out of CPU requests, meaning that future resources may not be successfully deployed by Kubernetes. ### Node Utilization[](https://docs.infra.app/features/cpu-and-memory-utilization#node-utilization) In the utilization view, Infra App includes a list of nodes with CPU & Memory utilization included. You can switch between usage, requests and limits to compare different utilization metrics for your nodes. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmdEJ_U8uqEpUFEHv%252Fimage.png%3Falt%3Dmedia%26token%3D77c2596c-a2ef-48f7-92ff-4a7803f51b4e&width=768&dpr=3&quality=100&sign=b9a02d8303d94433af825c32f8d65bd9&sv=3) Clicking on a node in the table, you'll see the node's utilization at a glance: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmiop0_NTbZjhFjdf%252Fimage.png%3Falt%3Dmedia%26token%3De9ce3242-4ecc-4e91-bcf3-d720a9394fa6&width=768&dpr=3&quality=100&sign=9d30e35df1e2426968b8edcce77c9d02&sv=3) Lastly, a list of pods on the node view can show you how resources are allocated on this node: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmmnpAkuLiXAimVG-%252Fimage.png%3Falt%3Dmedia%26token%3Dc5104df3-4b96-4d50-97cb-9669161ee28e&width=768&dpr=3&quality=100&sign=0255f0c04f274107ad1a80b26b11e380&sv=3) [PreviousOther Clusters](https://docs.infra.app/connect-your-cluster/other-clusters) [NextContainer shell access](https://docs.infra.app/features/container-shell-access) Last updated 5 years ago Was this helpful? --- # Digital Ocean (DOKS) | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/digital-ocean-doks.md) . ### Prerequisites[](https://docs.infra.app/connect-your-cluster/digital-ocean-doks#prerequisites) * [Create a Kubernetes cluster](https://www.digitalocean.com/docs/kubernetes/how-to/create-clusters/) on Digital Ocean ### Download the cluster's config file[](https://docs.infra.app/connect-your-cluster/digital-ocean-doks#download-the-clusters-config-file) Log into Digital Ocean, click on Kubernetes in the sidebar, and then click on the cluster you want to connect to Infra App. On the main cluster view click on **Download Config File**. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MBocME-Jiq4_0fs7Rcc%252F-MBoclPYl0JGPlkhfpOO%252FScreen%2520Shot%25202020-07-09%2520at%252012.46.19%2520PM.png%3Falt%3Dmedia%26token%3D39475ae7-0891-4650-9583-a79f2483dbee&width=768&dpr=3&quality=100&sign=fe46bd5cc235be3b18f8a92c6308d502&sv=3) ### Add the cluster's config file into Infra App[](https://docs.infra.app/connect-your-cluster/digital-ocean-doks#add-the-clusters-config-file-into-infra-app) In Infra App, click on File → Add Configuration ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MBocME-Jiq4_0fs7Rcc%252F-MBocnWixj6p37MuJH8Y%252FScreen%2520Shot%25202020-07-09%2520at%252012.47.44%2520PM.png%3Falt%3Dmedia%26token%3Dca790bf9-e44b-4dab-84e9-58b8ebe74e20&width=768&dpr=3&quality=100&sign=834291a59733343f949901b2506b6421&sv=3) Choose configuration file you downloaded from Digital Ocean. Infra App will automatically connect to the cluster. You're done! You can switch to your cluster anytime via the cluster switcher: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCh1SD-X52FfwsYUDB%252Fdo%2520dropdown.png%3Falt%3Dmedia%26token%3Dd730c24f-dfe3-4efb-b5f6-e4a858aca9a6&width=768&dpr=3&quality=100&sign=65423011620cf589703529617d38215b&sv=3) On older versions of Kubernetes, the certificates in Digital Ocean DOKS configuration files expire after 7 days. Read more [here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/) on how to renew the certificates in this case. ### Installing Metrics Server[](https://docs.infra.app/connect-your-cluster/digital-ocean-doks#installing-metrics-server) Digital Ocean Kubernetes clusters don't include metrics server by default. To install metrics server, follow the [installation guide](https://marketplace.digitalocean.com/apps/kubernetes-metrics-server) provided by Digital Ocean. [PreviousGoogle Cloud Platform (GKE)](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke) [NextDocker Desktop](https://docs.infra.app/connect-your-cluster/docker-desktop) Last updated 5 years ago Was this helpful? --- # FAQs | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/advanced/faq.md) . #### What is Infra App?[](https://docs.infra.app/advanced/faq#what-is-infra-app) Infra App is a Desktop client to manage Kubernetes from Mac, Windows or Linux. #### Does Infra App support connecting to my cluster via an HTTP/HTTPS proxy?[](https://docs.infra.app/advanced/faq#does-infra-app-support-connecting-to-my-cluster-via-an-http-https-proxy) Not currently, this feature is on our roadmap. #### Does Infra App support connecting to my cluster via OpenID Connect (OIDC)?[](https://docs.infra.app/advanced/faq#does-infra-app-support-connecting-to-my-cluster-via-openid-connect-oidc) Not currently, this feature is on our roadmap. #### Does Infra App support connecting to my cluster via Okta?[](https://docs.infra.app/advanced/faq#does-infra-app-support-connecting-to-my-cluster-via-okta) Not currently, this feature is on our roadmap. #### I'm seeing an error when connecting to my cluster and I don't know how to fix it. What should I do?[](https://docs.infra.app/advanced/faq#im-seeing-an-error-when-connecting-to-my-cluster-and-i-dont-know-how-to-fix-it.-what-should-i-do) If you're using a Kubernetes solution such as AWS EKS, Docker Desktop, first check out the [docs](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks) . If this doesn't help, contact us [via email](mailto:contact@infra.app) so we can ask more about how your cluster is set up. #### How often do resource metrics (e.g. CPU & memory) update?[](https://docs.infra.app/advanced/faq#how-often-do-resource-metrics-e.g.-cpu-and-memory-update) CPU & Memory values update every 5 seconds Note that values may not change this often, as the Kubernetes metrics server will often keep a 30-second rolling average. #### Does Infra App support large clusters?[](https://docs.infra.app/advanced/faq#does-infra-app-support-large-clusters) We test Infra App internally against large clusters, and many use it with 100+ node clusters. For connecting Infra App to very large Kubernetes clusters with 100s or 1000s of nodes, please [contact us](mailto:contact@infra.app) . #### Is Infra App Secure? Where is my data stored?[](https://docs.infra.app/advanced/faq#is-infra-app-secure-where-is-my-data-stored) All cluster data is downloaded directly from your cluster to Infra App running on your computer (locally). No cluster data is ever sent to Infra App's servers. Further, we: * Scan Infra App for vulnerabilities before every release and on monitor a continual basis. * Force HTTPS on all connections and downloads [PreviousClusters with RBAC](https://docs.infra.app/advanced/clusters-with-rbac) Last updated 5 years ago Was this helpful? --- # Unknown \# Infra App Docs ## Infra App Docs - \[Overview\](https://docs.infra.app/master.md): Get to know the features of Infra App - The simplest Kubernetes desktop client that fits your workflow. It is available for MacOS, Windows and Linux. - \[Getting started\](https://docs.infra.app/getting-started.md): Get started by connecting Infra App to your Kubernetes Clusters - \[Amazon Web Services (EKS)\](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks.md): Connect your AWS Elastic Kubernetes Service clusters to Infra App. - \[Google Cloud Platform (GKE)\](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke.md): Connect your GCP Google Kubernetes Engine Service clusters to Infra App. - \[Digital Ocean (DOKS)\](https://docs.infra.app/connect-your-cluster/digital-ocean-doks.md): Connect your Digital Ocean Kubernetes clusters to Infra App. - \[Docker Desktop\](https://docs.infra.app/connect-your-cluster/docker-desktop.md): Connect Infra App to your local Kubernetes cluster in Docker Desktop - \[Minikube\](https://docs.infra.app/connect-your-cluster/minikube.md): Connect Infra App to your local minikube Kubernetes cluster - \[Other Clusters\](https://docs.infra.app/connect-your-cluster/other-clusters.md): Connect any other Kubernetes cluster to Infra App via manual configuration - \[CPU & memory utilization\](https://docs.infra.app/features/cpu-and-memory-utilization.md): View resource utilization for your cluster's applications and nodes - \[Container shell access\](https://docs.infra.app/features/container-shell-access.md): Debug an app hosted on Kubernetes by opening a shell to its container - \[Log search & filtering\](https://docs.infra.app/features/log-streaming.md): Stream & search logs in Infra App - \[Editing Resources / Nodes\](https://docs.infra.app/features/editing-workloads.md): Edit a workload to make ad-hoc changes - \[Deleting Pods\](https://docs.infra.app/features/deleting-pods.md): Delete a workload's pod through Infra App - \[Clusters with RBAC\](https://docs.infra.app/advanced/clusters-with-rbac.md): Using Infra App in RBAC-enabled clusters - \[FAQs\](https://docs.infra.app/advanced/faq.md): Answers to common questions about Infra App --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/master.md). # Overview Get to know the features of Infra App - The simplest Kubernetes desktop client that fits your workflow. It is available for MacOS, Windows and Linux. ### The Interface Once you've \[downloaded\](https://infra.app/download) and started Infra App, you'll be presented with the main user interface. Below is a quick guide to help you navigate the app. ### Main View !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKBkbs5L2riWlkgBMUe%2F-MKCKgPL3yaQYe1vrfc0%2Fbrowse.png?alt=media\\&token=256e2feb-2a8c-440d-8533-298fb253192b) 1. \*\*The Cluster Switcher.\*\* The cluster switcher is where you can switch between your configured Kubernetes Clusters. By default Infra App detects your local Kubernetes Configuration file (Kubeconfig) and can be extended by adding your own configuration file by selecting \*\*Add Configuration\*\* in the dropdown or via the hotkey \*\*⌘+O\*\*. 2. \*\*Activity Tabs.\*\* The \*\*\*application tab\*\*\* allows you to view main Kubernetes workloads including CronJob/Job, DaemonSet Deployment, Pods, and StatefulSet. The \*\*\*all resources\*\*\* tab allows you to view all the resources in the cluster or per namespace if a namespace is selected on the left-hand bar. 3. \*\*Search Bar\*\*. In the search bar, you will be able to search for different Kubernetes resources by its name or namespace. 4. \*\*Browse.\*\* In this view, Infra App will display everything in the Kubernetes cluster based on Applications (workloads) or All Resources. To filter for particular namespaces, please select a namespace from the left hand bar. 5. \*\*Utilization.\*\* The utilization page displays the health of the cluster including a summary of CPU / Memory usage/requests/limits for the whole cluster and individual nodes. 6. \*\*Resource View.\*\* This section displays a summary of the Kubernetes resources based on the filters selected. ### Resource Detail !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKBkbs5L2riWlkgBMUe%2F-MKCMAHlfyym3SJpNV9d%2Fresource%20page.png?alt=media\\&token=5ac6d24d-859e-45cb-901a-b767325a0b38) 1. \*\*Activity Tabs.\*\* You can use the activity tabs to switch between \*\*Overview\*\*, \*\*Logs\*\*, \*\*Events\*\*, and \*\*YAML\*\* for the particular resource. 1. \*\*Logs tab\*\*. Infra App will \*\*automatically aggregate\*\* all the logs for this workload from different pods and containers in \*\*real-time\*\*. By default the log streamer will auto-refresh when the scroll bar is scrolled to the bottom. The log stream will stop auto-scrolling when you move the scroll bar away from the bottom. 2. \*\*Events tab.\*\* In the events tab, Infra App automatically fetches all the related events pertaining to this resource -- such as volumes, endpoints, controllers, and more. 3. \*\*YAML tab.\*\* YAML tab will show you the YAML file used to set-up the resource with the ability to \*\*edit\*\*. 2. \*\*Resource Status.\*\* Resource status shows the current status of the resource as reported by Kubernetes. 3. \*\*Overview.\*\* Here you will find the kind of the resource, the namespace it's associated with, its age, the labels attached to the workload, and the image(s) the resource is currently using. 4. \*\*Utilization.\*\* For CPU / Memory utilization, Infra App automatically detects whether you have metrics-server installed by looking at the Kubernetes metrics endpoint. 5. \*\*Pods.\*\* In the pods section, you will be able to see a list of all related pods and its current status. 6. \*\*Pod Actions.\*\* In the actions dropdown via the \*\*"..." button\*\* or via \*\*right-click,\*\* you will be able to perform actions on individual pods such as \*\*open shell\*\* to a particular container, view logs from a pod, and ability to delete a pod. 7. \*\*Related Resources\*\* 1. \*\*Services.\*\* In the services section, you will be able to see the type of the service(s) and its endpoints. Infra App makes the endpoints hyperlinked so you can click on it to see the result in a web browser if supported. 2. \*\*Ingresses\*\*. If your cluster is using an IngressController and you are routing traffic to this resource, the ingress rules will show up here. 3. \*\*Config Maps.\*\* For resources with a configuration map, you'll be able to view it in this section. 4. \*\*Persistent Volume Claims.\*\* Infra App will show any related Persistent volume claims. ### Utilization !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKBkbs5L2riWlkgBMUe%2F-MKCOh6ax9hahVoke-ON%2Futilization.png?alt=media\\&token=e1bf8a0c-2b49-44ab-b1f0-51e005d3d686) 1. \*\*Overview.\*\* High-level details about the cluster, including the total number of node and pods with its capacity. 2. \*\*Utilization.\*\* CPU & Memory utilization percentages of the cluster, broken down by usage, requests & limits. This tells you how full your cluster is in terms of actual usage but also in terms of resources requested by workloads. 3. \*\*Nodes.\*\* The nodes connected to this cluster and their statuses. Click on a node to view its detail, or click on the table headers to sort nodes. For example, you can sort by Memory to view which nodes are closest to being over capacity. 4. \*\*Utilization switcher.\*\* View node utilization in terms of usage, requests or limits. ### Node Detail !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKBkbs5L2riWlkgBMUe%2F-MKCT9UVzN2ToGi6dOZM%2Fnode%20detail.png?alt=media\\&token=a4bdf688-2d0a-4222-8c10-858349a8003d) 1. \*\*Activity Tab.\*\* You can use the activity tabs to switch between \*\*Overview\*\*, \*\*Events\*\*, and \*\*YAML\*\* for the particular node. 2. \*\*Node Status.\*\* Tells you if this node is running and accepting resources. 3. \*\*Overview.\*\* High-level details about the node, including it's total pod usage & capacity and IP addresses. 4. \*\*Utilization.\*\* Similar to cluster utilization, this section tells you the CPU & Memory utilization percentages of the node, broken down by usage, requests & limits. 5. \*\*Pods.\*\* Shows you which pods are running on this node. Pods are sorted by status by default but you can sort them by CPU & Memory to see which are using the most resources on this node. 6. \*\*Detail\*\*. View labels & annotations for this node. This is handy to view metadata provided by the cloud provider. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/getting-started.md). # Getting started Get started by connecting Infra App to your Kubernetes Clusters ### Download Infra App Visit to download the latest version of Infra App {% hint style="info" %} \*\*Additional instructions for Linux AppImage\*\* If using the AppImage format, make sure to mark the app as executable. For example, on Ubuntu, this can be done by right-clicking on the AppImage file, clicking on Permissions, and then "Allow executing file as program" Or on the command line, run\`chmod +x ./Infra-0.43.0.AppImage\` {% endhint %} ### Connect your Kubernetes cluster Upon starting, Infra App will automatically look at your local Kubernetes configuration to discover clusters you have access to. {% hint style="info" %} \*\*Not seeing any Kubernetes clusters?\*\* If Infra App doesn't detect your Kubernetes clusters check out one of the \[guides below\](/getting-started.md#connection-guides-for-common-kubernetes-providers) on connecting Infra App to an existing Kubernetes cluster. If you don't have a Kubernetes cluster, we recommend trying Infra App with \[Docker Desktop\](/connect-your-cluster/docker-desktop.md). {% endhint %} Locally discovered clusters appear in the Cluster Switcher, as shown below. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCWQWAnOMhFeHE0Pmx%2F-MKCYzf7cR6dMDVon4DM%2Fcluster%20switcher.png?alt=media\\&token=83a8ccf4-0010-4054-bfbb-7beb6e59f8ce) Infra App will automatically load your active cluster, if you have one: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCWQWAnOMhFeHE0Pmx%2F-MKCg9NswNI3E0NcgCAL%2Fgeneral.png?alt=media\\&token=fdc10ee5-cedd-4ab5-a249-37eae2d48107) And that's it. You're up and running with Infra App. ### Connection guides for common Kubernetes providers {% content-ref url="/pages/-MBocR-Yx\\\_YAFSVWUfG4" %} \[Amazon Web Services (EKS)\](/connect-your-cluster/amazon-web-services-eks.md) {% endcontent-ref %} {% content-ref url="/pages/-MBocZ2T3EsZV-gJdUL9" %} \[Google Cloud Platform (GKE)\](/connect-your-cluster/google-cloud-platform-gke.md) {% endcontent-ref %} {% content-ref url="/pages/-MBocbfpZ-Wt8oULeQS7" %} \[Digital Ocean (DOKS)\](/connect-your-cluster/digital-ocean-doks.md) {% endcontent-ref %} {% content-ref url="/pages/-MBtffoU0JKcxQKGHRHo" %} \[Docker Desktop\](/connect-your-cluster/docker-desktop.md) {% endcontent-ref %} {% content-ref url="/pages/-MBtfaTZBh7g2UcwHFhv" %} \[Minikube\](/connect-your-cluster/minikube.md) {% endcontent-ref %} If you aren't using any of the above, check out the \[this guide\](/connect-your-cluster/other-clusters.md) on connecting any other Kubernetes cluster. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/features/cpu-and-memory-utilization.md). # CPU & memory utilization View resource utilization for your cluster's applications and nodes ### Overview Infra App provides real-time information about cluster and workload utilization, so you can identify how resources such as CPU and Memory are being used and reserved across your Kubernetes cluster. {% hint style="info" %} \*\*Metrics Server Required\*\* CPU & memory utilization will work out of the box with most clusters. For real-time usage metrics, you'll need to make sure the official Kubernetes \[metrics server\](https://github.com/kubernetes-sigs/metrics-server) is installed. Many cloud Kubernetes providers such as GKE include it by default. {% endhint %} ### Resource utilization In the main view, Infra App shows the resource utilization of each resource at a glance. Infra App automatically adds up all the resources used by all pods of your resource, so you can view the total footprint of your workload across the cluster: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCm1GSYbxaZe1aKykr%2Fimage.png?alt=media\\&token=9318e1a4-e866-4bb8-8f35-11b7a9b4b135) \*\*To view top resources by utilization,\*\* click on \*\*CPU Usage\*\* or \*\*Memory Usage\*\* in the table to sort the resources: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCm8oKrhMKvbC3N7c4%2Fimage.png?alt=media\\&token=9806118e-8a76-4e3a-ba1f-ec35de552606) ### Individual resource utilization By clicking on an individual resource, you can see more details about its CPU & Memory utilization: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCmHkvoNIgecwizBNS%2Fimage.png?alt=media\\&token=da899cb5-e0e0-4442-a177-f2a6a2332636) {% hint style="info" %} \*\*Hint:\*\* CPU & Memory Percent is calculated by comparing the workload's usage against (in order): \* Requests (if set) \* Limits (if set) \* Total cluster capacity {% endhint %} To further view a resource's utilization breakdown by pod, the pod table includes the utilization per-pod: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MBuO5tjMC6w8b8esPF1%2F-MBuOYSDRe-Ep7nD2\_l-%2FScreen%20Shot%202020-07-10%20at%204.24.02%20PM.png?alt=media\\&token=1f286995-7251-4f35-a92f-8ba6031be3be) ### Cluster Utilization In the utilization view, Infra App shows what percent your Kubernetes cluster's resources are being used: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCmUhdGGokTDGoGtDy%2Fimage.png?alt=media\\&token=c73d8a8c-3bdc-48b2-aa78-61377c06316a) In this case, the cluster is almost out of CPU requests, meaning that future resources may not be successfully deployed by Kubernetes. ### Node Utilization In the utilization view, Infra App includes a list of nodes with CPU & Memory utilization included. You can switch between usage, requests and limits to compare different utilization metrics for your nodes. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCmdEJ\_U8uqEpUFEHv%2Fimage.png?alt=media\\&token=77c2596c-a2ef-48f7-92ff-4a7803f51b4e) Clicking on a node in the table, you'll see the node's utilization at a glance: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCmiop0\_NTbZjhFjdf%2Fimage.png?alt=media\\&token=e9ce3242-4ecc-4e91-bcf3-d720a9394fa6) Lastly, a list of pods on the node view can show you how resources are allocated on this node: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCllG731SQGHVi-1xX%2F-MKCmmnpAkuLiXAimVG-%2Fimage.png?alt=media\\&token=c5104df3-4b96-4d50-97cb-9669161ee28e) --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/features/container-shell-access.md). # Container shell access Debug an app hosted on Kubernetes by opening a shell to its container ### Opening a Shell When viewing a workload, click on the \*\*\*...\*\*\*\*\* button\*\* (or right click) on any pod, and then click \*\*Open Shell\*\* to open a new shell session with a pod's container. If there are many containers, Infra App will show a list of containers to choose from. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCiVbXWg5RDegJw4rF%2Fopen%20shell.png?alt=media\\&token=b4bba615-0233-4dd4-8ace-a94738d9ae28) Once connected, this session will persist until you close it or change clusters in Infra App. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCiTkWhuKOL7JbrP\_u%2Fterminal.png?alt=media\\&token=0679c70d-dfc7-4157-8cc5-0fb11df7da4a) To close the shell, simply click on the \*\*X\*\* button in the top right of the terminal view. {% hint style="warning" %} #### Not all containers can open a shell Not all containers include files required to open shell access. You may receive an error such as \`OCI runtime exec failed: exec failed.\` {% endhint %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/connect-your-cluster/minikube.md). # Minikube Connect Infra App to your local minikube Kubernetes cluster ### Prerequisites \* Install and start \[Minikube\](https://kubernetes.io/docs/tasks/tools/install-minikube/) ### Connect Infra App Infra App will automatically discover the Minikube cluster. Switch to it by selecting the \*\*Cluster Switcher\*\* and then \*\*minikube\*\*: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKChrGvmkfrlBv0L2Dt%2Fminikube%20dropdown.png?alt=media\\&token=243de9ce-5157-466f-a179-4957b240a1aa) ### Installing Metrics Server Minikube doesn't include metrics server by default. You can install it via the minikube \`addons\` command: \`\`\` minikube addons enable metrics-server \`\`\` --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/connect-your-cluster/digital-ocean-doks.md). # Digital Ocean (DOKS) Connect your Digital Ocean Kubernetes clusters to Infra App. ### Prerequisites \* \[Create a Kubernetes cluster\](https://www.digitalocean.com/docs/kubernetes/how-to/create-clusters/) on Digital Ocean ### Download the cluster's config file Log into Digital Ocean, click on Kubernetes in the sidebar, and then click on the cluster you want to connect to Infra App. On the main cluster view click on \*\*Download Config File\*\*. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MBocME-Jiq4\_0fs7Rcc%2F-MBoclPYl0JGPlkhfpOO%2FScreen%20Shot%202020-07-09%20at%2012.46.19%20PM.png?alt=media\\&token=39475ae7-0891-4650-9583-a79f2483dbee) ### Add the cluster's config file into Infra App In Infra App, click on File → Add Configuration !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MBocME-Jiq4\_0fs7Rcc%2F-MBocnWixj6p37MuJH8Y%2FScreen%20Shot%202020-07-09%20at%2012.47.44%20PM.png?alt=media\\&token=ca790bf9-e44b-4dab-84e9-58b8ebe74e20) Choose configuration file you downloaded from Digital Ocean. Infra App will automatically connect to the cluster. You're done! You can switch to your cluster anytime via the cluster switcher: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCh1SD-X52FfwsYUDB%2Fdo%20dropdown.png?alt=media\\&token=d730c24f-dfe3-4efb-b5f6-e4a858aca9a6) {% hint style="warning" %} On older versions of Kubernetes, the certificates in Digital Ocean DOKS configuration files expire after 7 days. Read more \[here\](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/) on how to renew the certificates in this case. {% endhint %} ### Installing Metrics Server Digital Ocean Kubernetes clusters don't include metrics server by default. To install metrics server, follow the \[installation guide\](https://marketplace.digitalocean.com/apps/kubernetes-metrics-server) provided by Digital Ocean. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke.md). # Google Cloud Platform (GKE) Connect your GCP Google Kubernetes Engine Service clusters to Infra App. {% hint style="info" %} Infra App connects automatically to most clusters. If running \`kubectl\` works without any modifications or custom scripts, then Infra App will also work out of the box. {% endhint %} ### Prerequisites \* \[Create a GKE cluster\](https://cloud.google.com/kubernetes-engine/docs/how-to/creating-a-cluster) \* \[Download and install\](https://cloud.google.com/sdk/install) the Google Cloud SDK (this includes the \`gcloud\` CLI tool) \* \[Login \](https://cloud.google.com/sdk/gcloud/reference/auth/login)with a user that has access to the cluster via \`gcloud auth login\` ### Generate the config file \[Create a config file entry\](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#generate\_kubeconfig\_entry) using \`gcloud\`. For example: \`\`\` gcloud container clusters get-credentials \`\`\` You're done! Infra App will discover the entry in your Kubernetes config file and automatically switch to your cluster. At any time you can access this cluster via the Cluster Switcher: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCh4mpJ9OmJ0P9U5Et%2Fgke%20dropdown.png?alt=media\\&token=b5ced6d4-6f81-4dc8-903c-ec23fc1dc863) --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/features/editing-workloads.md). # Editing Resources / Nodes Edit a workload to make ad-hoc changes ### Use Cases Editing a resource or node can be handy for several use cases: \* Changing resource constraints \* Scaling a resource (by editing the workload's \*\*replicas\*\* field) \* Updating the workload image to trigger a rollout of a new version ### Editing a Resource First, click on the workload in Infra App. Then on the \*\*YAML\*\* tab: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCj-kSgY3UyfEzfFlW%2Fyaml.png?alt=media\\&token=4c752558-0987-4b51-89b1-a69dbac035b0) Next, make changes to the YAML directly inline. You'll notice the \*\*Apply\*\* button become clickable. Click this button and confirm your changes to continue. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCjFRMpnPAtM2FBXhd%2Fyaml%20apply.png?alt=media\\&token=4a9c1d03-3715-4241-831d-d2f12320ee17) That's all. Your workload should now begin to reflect your changes. ### Common Errors \* \`Version out of date\` this can occur if the workload is updated in the background while making edits. Click \*\*Revert\*\* and then re-apply changes on the latest version of the workload. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/features/log-streaming.md). # Log search & filtering Stream & search logs in Infra App ### Overview Infra App automatically streams live logs from all of the pods and containers of a workload, including: \* Sidecar containers \* Init containers {% hint style="info" %} To avoid fetching excessive data, Infra App streams your application's \*most recent\* 50 pods. {% endhint %} ### Filtering Logs To filter logs by a specific container , click the container dropdown. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKClIskrL86nj-k7WxX%2Fimage.png?alt=media\\&token=cae09872-2c36-418a-be0e-6fb2acfb83f9) {% hint style="info" %} The container filter will only show if there are multiple containers to filter. {% endhint %} ### Searching Logs Searching logs works like a regular web browser or text editor - Infra App will automatically jump to the first result. !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCleRb1sogTQQZDl4P%2Fimage.png?alt=media\\&token=d4ea38ac-8691-4d4f-9b03-7d9b9d9f53db) {% hint style="info" %} Press \*\*Enter\*\* to cycle to the next search result, and \*\*Shift + Enter\*\* to cycle backwards. {% endhint %} --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/features/deleting-pods.md). # Deleting Pods Delete a workload's pod through Infra App To delete a pod in Infra App, first click on the resource: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCjfzft9H\_5TfSxYLs%2Fresource.png?alt=media\\&token=c9efe394-299e-4f96-83d0-873b46526724) Next, under \*\*Pods\*\*, find the pod you'd like to delete. Click on the \*\*...\*\* to open the actions menu. Next, click \*\*Delete Pod\*\* as shown below: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCjhidoEFifCIIi-fo%2Fpod%20delete.png?alt=media\\&token=4f5c4dec-d50c-4806-86e2-f41e55b4ecf0) After confirming, your pod will be deleted. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/advanced/faq.md). # FAQs Answers to common questions about Infra App #### What is Infra App? Infra App is a Desktop client to manage Kubernetes from Mac, Windows or Linux. #### Does Infra App support connecting to my cluster via an HTTP/HTTPS proxy? Not currently, this feature is on our roadmap. #### Does Infra App support connecting to my cluster via OpenID Connect (OIDC)? Not currently, this feature is on our roadmap. #### Does Infra App support connecting to my cluster via Okta? Not currently, this feature is on our roadmap. #### I'm seeing an error when connecting to my cluster and I don't know how to fix it. What should I do? If you're using a Kubernetes solution such as AWS EKS, Docker Desktop, first check out the \[docs\](/connect-your-cluster/amazon-web-services-eks.md). If this doesn't help, contact us \[via email\](mailto:contact@infra.app) so we can ask more about how your cluster is set up. #### How often do resource metrics (e.g. CPU & memory) update? CPU & Memory values update every 5 seconds Note that values may not change this often, as the Kubernetes metrics server will often keep a 30-second rolling average. #### Does Infra App support large clusters? We test Infra App internally against large clusters, and many use it with 100+ node clusters. For connecting Infra App to very large Kubernetes clusters with 100s or 1000s of nodes, please \[contact us\](mailto:contact@infra.app). #### Is Infra App Secure? Where is my data stored? All cluster data is downloaded directly from your cluster to Infra App running on your computer (locally). No cluster data is ever sent to Infra App's servers. Further, we: \* Scan Infra App for vulnerabilities before every release and on monitor a continual basis. \* Force HTTPS on all connections and downloads --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/connect-your-cluster/other-clusters.md). # Other Clusters Connect any other Kubernetes cluster to Infra App via manual configuration ### How Infra App detects clusters Similarly to \`kubectl\`, Infra App looks for your default Kubernetes configuration file (also commonly referred to as KubeConfig) to discover clusters. This file is found under: \* \`~/.kube/config\` on macOS and Linux \* \`C:\\Users\\\\.kube\\config\` on Windows ### Adding additional config files Some Kubernetes providers (such as IBM Cloud or Digital Ocean) don't use the default Kubernetes config file. Infra App can connect to these clusters as well. Simply click on the Cluster Switcher and then \*\*Add Configuration...\*\* !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKChywAsTHYgxygWggF%2Fadd%20config.png?alt=media\\&token=a780be4a-b499-464e-8dc0-536d25a20ac1) ### Still having trouble connecting? If you're still having trouble connecting Infra App to your cluster, feel free to shoot us an \[email\](mailto:contact@infra.app) --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks.md). # Amazon Web Services (EKS) Connect your AWS Elastic Kubernetes Service clusters to Infra App. {% hint style="info" %} Infra App connects automatically to most clusters. If running \`kubectl\` works without any modifications or custom scripts, then Infra App will also work out of the box. {% endhint %} ### Prerequisites \* Create an \[EKS cluster\](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) \* Download and setup the \[AWS CLI\](https://www.google.com/search?q=aws+cli+v2\\&oq=aws+cli+v2\\&aqs=chrome..69i57j69i59j69i60l4.765j0j7\\&sourceid=chrome\\&ie=UTF-8) (preferably version 2) \* \[Configure the AWS CLI\](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) with the credentials AWS user that has access to the cluster ### Generating a config file \[Create a config file entry\](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html) using the \`aws\` CLI. For example: \`\`\`bash aws eks --region update-kubeconfig --name \`\`\` You're done! Infra App should automatically switch to your cluster. You can switch to it at any time via the cluster dropdown: !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKCh7FQ1vexF0q\_U-Qu%2Faws%20dropdown.png?alt=media\\&token=30d3489a-4646-41be-a070-c847fa7b5a1f) ### Installing Metrics Server AWS EKS clusters don't include metrics server by default, so real-time CPU & Memory usage metrics won't show out of the box with Infra App. Follow the \[official guide\](https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html) on the AWS docs site to install metrics server on your cluster. ### Usage with custom profiles In order to use a custom AWS profile to connect to your cluster, you'll need to edit your Kubernetes config file. This file is usually found in: \* \`~/.kube/config\` on macOS and Linux \* \`C:\\Users\\\\.kube\\config\` on Windows Open this file and edit the relevant user object in the \`users:\` section. add an \`AWS\_PROFILE\` environment variable . \`\`\`yaml users: - name: arn:aws:eks:us-east-1:00919287195771:cluster/example-cluster user: exec: apiVersion: client.authentication.k8s.io/v1alpha1 args: - --region - us-east-1 - eks - get-token - --cluster-name - example-cluster command: aws # Add these lines to your KubeConfig env: - name: AWS\_PROFILE value: \`\`\` ### Usage with \`aws-iam-authenticator\` Older EKS clusters may use \`aws-iam-authenticator\` to generate tokens. If your cluster uses this make sure it's \[installed\](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) before using Infra App. ### Usage with \`aws-okta\` Usage with \`aws-okta\` is not supported yet, but we are working on it. ### Usage with \`aws-vault\` Usage with \`aws-vault\` is not supported yet, but we are working on it. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/connect-your-cluster/docker-desktop.md). # Docker Desktop Connect Infra App to your local Kubernetes cluster in Docker Desktop ### Prerequisites \* Install \[Docker Desktop\](https://www.docker.com/products/docker-desktop) ### Enable Kubernetes Access Docker Desktop preferences by click on the Docker Desktop menu bar icon and then \*\*Preferences...\*\* !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MBu4P9GqTs2CsiSepv4%2F-MBuGWlndQbsRQj8eWan%2FScreen%20Shot%202020-07-10%20at%203.48.28%20PM.png?alt=media\\&token=d1193431-475c-4807-a01b-041e0de92f47) Navigate to \*\*Kubernetes\*\* in the sidebar, then click \*\*Enable Kubernetes.\*\* Finally click \*\*Apply & Restart\*\* !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MBu4P9GqTs2CsiSepv4%2F-MBuGbqbx0u\_UvzQ-r\_T%2FScreen%20Shot%202020-07-10%20at%203.49.20%20PM.png?alt=media\\&token=19519747-8a2d-4d1a-82d9-39a30ded0a11) ### Connect Infra App Infra App will automatically work with Docker Desktop. Simply open it by clicking on the \*\*Cluster Switcher\*\* and then choosing \*\*docker-desktop:\*\* !\[\](https://2997771214-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ll2YPh7b5O2frfEMtKk%2F-MKCgCcYJVIZ7pcrzEB9%2F-MKChMlBD3M20aVppUgT%2Fdd%20dropdown.png?alt=media\\&token=119489da-5497-4d87-84a7-329fb7a72f37) Voila! Infra App is now connected to Docker Desktop's Kubernetes cluster: ### Installing Metrics Server Metrics server isn't included with Docker Desktop's installation of Kubernetes, and the default metrics-server setup guide won't work out of the box. Follow the steps below to install metrics server: Download the latest \`components.yaml\` file from and open it in your text editor. Then, add the line \`--kubelet-insecure-tls\` under the \`args:\` section: \`\`\` apiVersion: apps/v1 kind: Deployment metadata: name: metrics-server namespace: kube-system labels: k8s-app: metrics-server spec: selector: matchLabels: k8s-app: metrics-server template: metadata: name: metrics-server labels: k8s-app: metrics-server spec: serviceAccountName: metrics-server volumes: # mount in tmp so we can safely use from-scratch images and/or read-only containers - name: tmp-dir emptyDir: {} containers: - name: metrics-server image: k8s.gcr.io/metrics-server-amd64:v0.3.6 imagePullPolicy: IfNotPresent args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-insecure-tls # Add this line ports: - name: main-port containerPort: 4443 protocol: TCP securityContext: readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 volumeMounts: - name: tmp-dir mountPath: /tmp nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: "amd64" \`\`\` {% hint style="warning" %} \*\*Warning\*\*: This setting should only be used for the local Docker Desktop Kubernetes cluster, and not recommended for any hosted or production clusters. {% endhint %} Last, apply the modified \`components.yaml\` config file to your cluster. \`\`\` kubectl apply -f components.yaml \`\`\` --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://docs.infra.app/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.infra.app/advanced/clusters-with-rbac.md). # Clusters with RBAC Using Infra App in RBAC-enabled clusters Infra App is designed to work out of the box with RBAC-enabled environments. It assumes users have one of two roles: \* Full cluster access \* Single-namespace access ### Single Namespace access #### Kubernetes configuration file Infra App looks at the \`context\` entry the Kubernetes configuration file (KubeConfig) to know which namespace it should attempt to load for the user. For example: \`\`\`yaml - context: cluster: gke\_test-cluster-abcdefg\_us-central1-c\_cluster-1 namespace: default # This tells Infra App which namespace to use user: gke\_test-cluster-abcdefg\_us-central1-c\_cluster-1 name: gke\_test-cluster-abcdefg\_us-central1-c\_cluster-1-single-namespace \`\`\` #### Required RBAC Rules The configuration below outlines the permissions Infra App needs for a single-namespace user. Note that Infra App will work continue to work gracefully if users can't access the full list of resources. \`\`\`yaml kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default #replace with your namespace name: example-role #replace with your role name rules: - apiGroups: \[""\] resources: \["pods", "pods/log", "events", "services", "configmaps", "persistentvolumeclaims", "endpoints"\] verbs: \["get", "watch", "list", "delete"\] - apiGroups: \[""\] # For pod shell access resources: \["pods/exec"\] verbs: \["get", "watch", "create"\] - apiGroups: \["extensions", "apps"\] resources: \["deployments", "replicasets", "statefulsets", "daemonsets"\] verbs: \["get", "watch", "list"\] - apiGroups: \["extensions", "batch"\] resources: \["jobs", "cronjobs"\] verbs: \["get", "watch", "list"\] - apiGroups: \["extensions", "networking.k8s.io"\] # For ingresses resources: \["ingresses"\] verbs: \["get", "watch", "list"\] - apiGroups: \["metrics.k8s.io"\] # For metrics access resources: \["pods"\] verbs: \["get", "watch", "list"\] \`\`\` --- # Clusters with RBAC | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/advanced/clusters-with-rbac.md) . Infra App is designed to work out of the box with RBAC-enabled environments. It assumes users have one of two roles: * Full cluster access * Single-namespace access ### Single Namespace access[](https://docs.infra.app/advanced#single-namespace-access) #### Kubernetes configuration file[](https://docs.infra.app/advanced#kubernetes-configuration-file) Infra App looks at the `context` entry the Kubernetes configuration file (KubeConfig) to know which namespace it should attempt to load for the user. For example: Copy - context: cluster: gke_test-cluster-abcdefg_us-central1-c_cluster-1 namespace: default # This tells Infra App which namespace to use user: gke_test-cluster-abcdefg_us-central1-c_cluster-1 name: gke_test-cluster-abcdefg_us-central1-c_cluster-1-single-namespace #### Required RBAC Rules[](https://docs.infra.app/advanced#required-rbac-rules) The configuration below outlines the permissions Infra App needs for a single-namespace user. Note that Infra App will work continue to work gracefully if users can't access the full list of resources. Copy kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default #replace with your namespace name: example-role #replace with your role name rules: - apiGroups: [""] resources: ["pods", "pods/log", "events", "services", "configmaps", "persistentvolumeclaims", "endpoints"] verbs: ["get", "watch", "list", "delete"] - apiGroups: [""] # For pod shell access resources: ["pods/exec"] verbs: ["get", "watch", "create"] - apiGroups: ["extensions", "apps"] resources: ["deployments", "replicasets", "statefulsets", "daemonsets"] verbs: ["get", "watch", "list"] - apiGroups: ["extensions", "batch"] resources: ["jobs", "cronjobs"] verbs: ["get", "watch", "list"] - apiGroups: ["extensions", "networking.k8s.io"] # For ingresses resources: ["ingresses"] verbs: ["get", "watch", "list"] - apiGroups: ["metrics.k8s.io"] # For metrics access resources: ["pods"] verbs: ["get", "watch", "list"] [PreviousDeleting Pods](https://docs.infra.app/features/deleting-pods) [NextFAQs](https://docs.infra.app/advanced/faq) Last updated 6 years ago Was this helpful? This site uses cookies to deliver its service and to analyze traffic. By browsing this site, you accept the [privacy policy](https://policies.gitbook.com/privacy/cookies) . AcceptReject --- # CPU & memory utilization | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/features/cpu-and-memory-utilization.md) . ### Overview[](https://docs.infra.app/features#overview) Infra App provides real-time information about cluster and workload utilization, so you can identify how resources such as CPU and Memory are being used and reserved across your Kubernetes cluster. **Metrics Server Required** CPU & memory utilization will work out of the box with most clusters. For real-time usage metrics, you'll need to make sure the official Kubernetes [metrics server](https://github.com/kubernetes-sigs/metrics-server) is installed. Many cloud Kubernetes providers such as GKE include it by default. ### Resource utilization[](https://docs.infra.app/features#resource-utilization) In the main view, Infra App shows the resource utilization of each resource at a glance. Infra App automatically adds up all the resources used by all pods of your resource, so you can view the total footprint of your workload across the cluster: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCm1GSYbxaZe1aKykr%252Fimage.png%3Falt%3Dmedia%26token%3D9318e1a4-e866-4bb8-8f35-11b7a9b4b135&width=768&dpr=3&quality=100&sign=b3d9ad3b8d3ce0343f3c2de743550aae&sv=3) **To view top resources by utilization,** click on **CPU Usage** or **Memory Usage** in the table to sort the resources: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCm8oKrhMKvbC3N7c4%252Fimage.png%3Falt%3Dmedia%26token%3D9806118e-8a76-4e3a-ba1f-ec35de552606&width=768&dpr=3&quality=100&sign=ce3583ec3b6be4a079f6ec11c8e871a7&sv=3) ### Individual resource utilization[](https://docs.infra.app/features#individual-resource-utilization) By clicking on an individual resource, you can see more details about its CPU & Memory utilization: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmHkvoNIgecwizBNS%252Fimage.png%3Falt%3Dmedia%26token%3Dda899cb5-e0e0-4442-a177-f2a6a2332636&width=768&dpr=3&quality=100&sign=f1520799fa13635565ea9bf5d2e48169&sv=3) **Hint:** CPU & Memory Percent is calculated by comparing the workload's usage against (in order): * Requests (if set) * Limits (if set) * Total cluster capacity To further view a resource's utilization breakdown by pod, the pod table includes the utilization per-pod: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MBuO5tjMC6w8b8esPF1%252F-MBuOYSDRe-Ep7nD2_l-%252FScreen%2520Shot%25202020-07-10%2520at%25204.24.02%2520PM.png%3Falt%3Dmedia%26token%3D1f286995-7251-4f35-a92f-8ba6031be3be&width=768&dpr=3&quality=100&sign=c1a0b964d6e47832bb55fc98cc63ad48&sv=3) ### Cluster Utilization[](https://docs.infra.app/features#cluster-utilization) In the utilization view, Infra App shows what percent your Kubernetes cluster's resources are being used: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmUhdGGokTDGoGtDy%252Fimage.png%3Falt%3Dmedia%26token%3Dc73d8a8c-3bdc-48b2-aa78-61377c06316a&width=768&dpr=3&quality=100&sign=ce57cd4d8b3c6574a4ddca666077de35&sv=3) In this case, the cluster is almost out of CPU requests, meaning that future resources may not be successfully deployed by Kubernetes. ### Node Utilization[](https://docs.infra.app/features#node-utilization) In the utilization view, Infra App includes a list of nodes with CPU & Memory utilization included. You can switch between usage, requests and limits to compare different utilization metrics for your nodes. ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmdEJ_U8uqEpUFEHv%252Fimage.png%3Falt%3Dmedia%26token%3D77c2596c-a2ef-48f7-92ff-4a7803f51b4e&width=768&dpr=3&quality=100&sign=b9a02d8303d94433af825c32f8d65bd9&sv=3) Clicking on a node in the table, you'll see the node's utilization at a glance: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmiop0_NTbZjhFjdf%252Fimage.png%3Falt%3Dmedia%26token%3De9ce3242-4ecc-4e91-bcf3-d720a9394fa6&width=768&dpr=3&quality=100&sign=9d30e35df1e2426968b8edcce77c9d02&sv=3) Lastly, a list of pods on the node view can show you how resources are allocated on this node: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCllG731SQGHVi-1xX%252F-MKCmmnpAkuLiXAimVG-%252Fimage.png%3Falt%3Dmedia%26token%3Dc5104df3-4b96-4d50-97cb-9669161ee28e&width=768&dpr=3&quality=100&sign=0255f0c04f274107ad1a80b26b11e380&sv=3) [PreviousOther Clusters](https://docs.infra.app/connect-your-cluster/other-clusters) [NextContainer shell access](https://docs.infra.app/features/container-shell-access) Last updated 5 years ago Was this helpful? This site uses cookies to deliver its service and to analyze traffic. By browsing this site, you accept the [privacy policy](https://policies.gitbook.com/privacy/cookies) . AcceptReject --- # Amazon Web Services (EKS) | Infra App Docs For the complete documentation index, see [llms.txt](https://docs.infra.app/llms.txt) . This page is also available as [Markdown](https://docs.infra.app/connect-your-cluster/amazon-web-services-eks.md) . Infra App connects automatically to most clusters. If running `kubectl` works without any modifications or custom scripts, then Infra App will also work out of the box. ### Prerequisites[](https://docs.infra.app/connect-your-cluster#prerequisites) * Create an [EKS cluster](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) * Download and setup the [AWS CLI](https://www.google.com/search?q=aws+cli+v2&oq=aws+cli+v2&aqs=chrome..69i57j69i59j69i60l4.765j0j7&sourceid=chrome&ie=UTF-8) (preferably version 2) * [Configure the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) with the credentials AWS user that has access to the cluster ### Generating a config file[](https://docs.infra.app/connect-your-cluster#generating-a-config-file) [Create a config file entry](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html) using the `aws` CLI. For example: Copy aws eks --region update-kubeconfig --name You're done! Infra App should automatically switch to your cluster. You can switch to it at any time via the cluster dropdown: ![](https://docs.infra.app/~gitbook/image?url=https%3A%2F%2F2997771214-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-Ll2YPh7b5O2frfEMtKk%252F-MKCgCcYJVIZ7pcrzEB9%252F-MKCh7FQ1vexF0q_U-Qu%252Faws%2520dropdown.png%3Falt%3Dmedia%26token%3D30d3489a-4646-41be-a070-c847fa7b5a1f&width=768&dpr=3&quality=100&sign=98eb3a310032ae1ab523a175a8c23e82&sv=3) ### Installing Metrics Server[](https://docs.infra.app/connect-your-cluster#installing-metrics-server) AWS EKS clusters don't include metrics server by default, so real-time CPU & Memory usage metrics won't show out of the box with Infra App. Follow the [official guide](https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html) on the AWS docs site to install metrics server on your cluster. ### Usage with custom profiles[](https://docs.infra.app/connect-your-cluster#usage-with-custom-profiles) In order to use a custom AWS profile to connect to your cluster, you'll need to edit your Kubernetes config file. This file is usually found in: * `~/.kube/config` on macOS and Linux * `C:\Users\\.kube\config` on Windows Open this file and edit the relevant user object in the `users:` section. add an `AWS_PROFILE` environment variable . Copy users: - name: arn:aws:eks:us-east-1:00919287195771:cluster/example-cluster user: exec: apiVersion: client.authentication.k8s.io/v1alpha1 args: - --region - us-east-1 - eks - get-token - --cluster-name - example-cluster command: aws # Add these lines to your KubeConfig env: - name: AWS_PROFILE value: ### Usage with `aws-iam-authenticator`[](https://docs.infra.app/connect-your-cluster#usage-with-aws-iam-authenticator) Older EKS clusters may use `aws-iam-authenticator` to generate tokens. If your cluster uses this make sure it's [installed](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) before using Infra App. ### Usage with `aws-okta`[](https://docs.infra.app/connect-your-cluster#usage-with-aws-okta) Usage with `aws-okta` is not supported yet, but we are working on it. ### Usage with `aws-vault`[](https://docs.infra.app/connect-your-cluster#usage-with-aws-vault) Usage with `aws-vault` is not supported yet, but we are working on it. [PreviousGetting started](https://docs.infra.app/getting-started) [NextGoogle Cloud Platform (GKE)](https://docs.infra.app/connect-your-cluster/google-cloud-platform-gke) Last updated 5 years ago Was this helpful? This site uses cookies to deliver its service and to analyze traffic. By browsing this site, you accept the [privacy policy](https://policies.gitbook.com/privacy/cookies) . AcceptReject ---