Compatible with IntelliJ IDEA Ultimate, AppCode and 10 more
Screenshot 2

Provides advanced editor and runtime support for Kubernetes.

Features:

Cluster interaction

  • Browsing cluster objects, extracting and editing their configurations, describing them
  • Viewing events
  • Cluster-Level Kubernetes log streaming and analysis with Pattern Matching
  • Attaching pod console
  • Running shell in pod
  • Forwarding ports to pod
  • Applying resource YAML configurations from the editor
  • Deleting resources from cluster
  • Completion of ConfigMap/Secret entries from the cluster
  • Configuring path to kubectl
  • Configuring custom kubeconfig files globally and per project
  • Switching contexts and namespaces
  • Using API schema (including CRD) from the active cluster for editing resource manifests

Editing resource configurations (API 1.16 – 1.31)

Rich YAML support

  • Auto-completion of keys/values/resource kinds/API versions
  • "Deep" key auto-completion: invoke Smart Completion when you type -- matching keys from all levels below will be offered
  • Quick documentation
  • Detection of invalid/missing/duplicated keys
  • Detection of non-editable (read only) keys and resources
  • Detection of deprecated keys and resources
  • Completion/navigation/find usages/rename of Kubernetes meta-information labels
  • Completion/navigation/find usages/rename of ConfigMap/Secret entries
  • Quick jump to matching selector targets and back
  • Docker image completion (powered by JetBrains Docker plugin)
  • Enhancements for original Kubernetes model (enums instead of plain strings where applicable)

Support for editing Helm templates

  • Helm 2.x/3.x file structure/schema support
  • Go Template syntax support (powered by JetBrains Go Template plugin)
  • Object values auto-completion/navigation/rename/inspections
  • Named templates auto-completion/navigation/rename/inspections
  • Dependency name/version/repository auto-completion
  • Template result preview
  • External tgz dependencies content browsing in the project tree
  • Limited editor support for Werf (https://werf.io) templates and werf.yaml
  • Quick documentation
  • validation of values.yaml by values.schema.json (powered by JetBrains JSON plugin)
  • Useful actions: lint, update dependencies, create chart, create dependency, add repository, convert dependencies from Helm 2.x format to Helm 3.x

Editor support for Kustomize configurations (kustomization.yaml)

  • Fields completion/validation
  • Local file path completion/validation
  • Quick documentation
  • Kustomize version selection (kubectl embedded, standalone)
  • Kustomize 3.x inline patches editing support (experimental)

Custom resource definition (CRD) support

Custom resources can be validated by providing complementary OpenAPI 2.0 files with CRD schemas and/or CRD resource definitions (YAML) (limited support).

Debugging in Kubernetes with Telepresence

Remote Debug in Kubernetes using familiar tools on the local machine, by intercepting traffic in the cluster.

What’s New

2024.3
  • Centralized log access is now available across all Pods, Deployments, StatefulSets, DaemonSets, ReplicaSets, Jobs, CronJobs and Cluster Events. Real-time log streaming supports immediate issue detection, and pattern matching facilitates automated tracking of key events, such as memory errors or unusual network activity.
  • A new Port Forwarding section has been added to the Kubernetes UI network settings, making application debugging in Kubernetes easier.
  • The Kubernetes UI now offers full control over all pod container types, enhancing management and monitoring directly in the interface. Init containers handle initial setup, while sidecar containers provide logging, monitoring, and proxying. Ambassador containers enable external service interaction, adapters standardize logs and metrics, and ephemeral containers support temporary debugging access.
  • Logs for multiple selected items can now be downloaded simultaneously, improving log management in large clusters.
  • Log filtering by levels allows users to focus on specific messages, enhancing the debugging and monitoring experience.
  • Syntax highlighting has been added to Kubernetes logs, making it easier to navigate and quickly identify relevant information.
  • Support for Kustomize 5 has been added, allowing seamless configuration management in Kubernetes. Users can now leverage Kustomize’s latest features for advanced customization of Kubernetes resources, ensuring more flexible and reusable configurations across environments.
  • The Kubernetes section in the Services Tool Window has expanded resources: 'Configuration' -> 'Secret' allows direct editing of Kubernetes secrets, while 'Network' -> 'Endpoints' and 'Network' -> 'NetworkPolicy' provide enhanced control and visibility for service endpoints and network policies, accessible directly in the UI.
  • The latest version of Kubernetes 1.31 is now supported.
  • Duplicate clusters in Services Tool Window are now handled separately to reduce confusion and simplify multi-connection management.
  • Users can now customize kubectl requests to the API, allowing more tailored Kubernetes cluster management.
2024.2
  • Support for authentication plugins has been added. Authentication is performed using the kubelogin plugin. If the plugin is required but not installed, the installation is suggested automatically. The exec section of kubeconfig is used to obtain authentication parameters.
  • Implemented Connect / Disconnect logic. By default, clusters are added to the Service View by the user in a disabled state. Clicking Connect updates the data from the kubeconfig file and enables cluster updates via the Watch API, eliminating the need to press Refresh to update items in the Service View tree for the cluster. If the user has modified the kubeconfig file, it is necessary to click Disconnect, and then Connect to apply the updated context from the file.
  • Performance has been optimized for working with large Kubernetes clusters.
  • In the user interface, "Contexts" have been renamed to "Clusters". This change was made based on user feedback for better understanding. The logic for working with Kubernetes remains unchanged.
  • Included support for Kubernetes 1.29, 1.30.
  • Updated element icons in the Kubernetes plugin. Now they are closer to the reference Kubernetes icons suggested by the developers.
2024.1
  • AutoRefresh Cluster (Watch API) in Kubernetes: Automatically refreshes the cluster information to keep the environment up to date without manual intervention.
  • Add new context from clipboard: Allows adding new Kubernetes context directly from the clipboard, simplifying the setup process for new cluster connections.
  • Suggested installation of kubectl and helm upon testing to streamline tool setup.
  • Improved context addition flow from files by not selecting all contexts by default and adding a 'select all' checkbox for convenience.
  • Addressed user experience issues when the cluster selected for deployment is deleted, improving error handling and feedback.
  • Added additional Kubernetes Resource Sets.
2023.3
  • Ability to connect Kubernetes clusters using kubeconfig files (per project), in addition to the .kube/config per system
  • Simplifying debugging in Kubernetes with Telepresence. You can debug each service from the cluster on your local machine using familiar tools, by intercepting traffic in the cluster
  • Improved performance when connecting new Kubernetes cluster contexts
  • Increased stability in working with Minikube
  • Support for auto-installation of Telepresence and Helm on certain platforms when the tools are needed
  • Increased predictability in working with Namespaces, including during deployment in Kubernetes
2023.2
  • Support for multiple cluster connections at the same time
  • Possibility to view log for Deployments
  • Support multiple kubeconfig files in one project
  • Kubernetes API 1.28 supported
2023.1
  • New File templates for Pod, Deployment, Service, ConfigMap, and Ingress
  • Ability to reload configuration automatically on kubeconfig file changes
  • Open kubeconfig file in editor action added
  • VCS gutters representing changes in resource files and in the kubeconfig file
  • Show Diff with cluster object action added
  • Ability to bind shortcuts for pod actions, deleting resources
  • UI dialog for creating new secrets
  • Kubernetes API 1.26 supported
  • Custom locations for 'kubectl' and 'helm' can point to WSL path
2022.3
  • Kubernetes API 1.25 supported
2022.2 2022.1.1
  • Kubernetes API 1.24 supported
  • Helm live templates added
  • Kustomize 4.x validation scheme updated (buildMetadata, helmCharts, helmGlobals, labels, openapi, validators)
2022.1
  • Limited editor support for Werf (https://werf.io): chart templates and werf.yaml
  • Configurable paths to kubectl and helm
  • Forwarding ports to pod
  • Describing cluster objects
  • Viewing events
  • Ability to reload content of editors with loaded from cluster resource definition and result of describing resource
  • Ability to edit resource definition loaded from cluster
  • Kustomize editor support updated to 4.x (replacements)
2021.3.1
  • Kubernetes API 1.23 supported
  • Helm: completion/inspections for requirements section reworked for better security and stability (no more direct HTTP requests to Helm repositories)
2021.3
  • Helm: fixes in YAML/Go Template formatting
  • Helm: Go Template block operators highlighting
  • Automatic language injection for ConfigMap and Kustomize patches are back again
2021.2.2
  • Ability to repeat last Helm command (a new button in the Helm console toolbar)
2021.2
  • Helm dependency aliases supported in completion, navigation, find usages and rename refactorings
  • Ability to customize the list of namespaces that could not be loaded from the cluster
  • Ability to mark namespaces as favorite to reorder them in namespace selection popup
  • Kubernetes API 1.22 supported
2021.1
  • Multiple Values files in a Helm chart are supported. Ability to configure values parameters for Helm commands
  • Kind List supported
  • To avoid false positives a file can be marked as non-kubernetes (no validation will be performed) by putting the word nonk8s or nonkubernetes into the leading comment
  • Kubernetes API 1.21 supported
2020.3.1
  • Kubernetes API 1.20 supported (IPv4/IPv6 dual stack fields in Service)
  • Validation of annotations field in Chart.yaml
  • Basic support for Kustomize components
2020.3
  • JSON manifest files are no longer supported
  • Ability to get API schema (including CRD) directly from the active cluster
  • Downloading pod logs
  • Attaching pod console
  • Running shell in pod
  • Deleting resources from cluster
2020.2.1
  • Kubernetes API 1.19 supported
2020.2
  • Completion/navigation/find usages/rename of ConfigMap/Secret entries including those in the cluster
  • Configuring custom kubeconfig files globally and per project
  • Switching contexts and namespaces
2020.1.1
  • Multiple string resource fields now treated as enums (e.g. container's imagePullPolicy)
2020.1
  • Ability to browse clusters with limited rights
  • Ability to choose whether external specification paths/URLs are stored at the project or at the IDE level (to share configuration between projects)
  • Ability to select Kustomize version: 2.0.3 (kubectl apply -k) or 3.x
  • Docker image references with completion and validation in Kubernetes resources and Kustomize configs (powered by JetBrains Docker plugin)
  • Kubernetes API 1.18 supported
2019.3
  • Kubernetes API 1.16 updated to 1.16.3, 1.17 supported
  • Cluster browsing and pod log viewing
  • Helm 3.0: new Chart.yaml schema
  • Helm 3.0: move dependencies from requirements.yaml to Chart.yaml quick fix intention
  • Helm 3.0: validation of values.yaml by values.schema.json (powered by JetBrains JSON plugin)
  • Helm dependencies creation/completion/validation
  • Add repository quick fix intention
2019.2.1
  • Kubernetes API 1.16 supported
  • ability to turn off collapsing some YAML and Go Template elements by default (Settings|Editor|General|Code Folding)
  • ability to add multiple URLs to the list of external specifications from clipboard at once
2019.2
  • Kubernetes API 1.15 supported
  • kustomization.yaml validation/completion
  • remote CRD specifications
2019.1.1
  • Kubernetes API 1.14 supported
2019.1
  • Rename a chart refactoring added (via renaming the corresponding values in Chart.yaml/values.yaml)
  • Custom resource definition (CRD) supported via providing additional OpenAPI specifications
2018.3.1
  • Kubernetes API 1.13 supported
2018.3
  • Helm resource template files support
2018.2
  • Kubernetes API 1.11 and 1.12 supported
2018.1.1
  • Kubernetes API 1.10 supported
2018.1
  • Initial version
Feb 13, 2025
Version 243.24978.50

Getting Started

Go to View - Tool windows - Services to setup a connection to Kubernetes cluster.

Rating & Reviews

3.8
71 Ratings (7,158,139 Downloads)
5
4
3
2
1

Elior Boukhobza

13.11.2024

how to change the color of the logs in the new filtered view ? I don't see it in any color scheme settings page, and the colors are unreadable.

Moreover, I was using another plugin, "Pretty JSON", which knew how to parse our logs which are logs in JSON format, automatically extracting the "message" and "type" field and highlighting them accordingly. At the current state these new features provided by the Kubernetes plugin actually hinders my productivity. I'd be glad if there was at least a setting to go back to how things were.

0

This plugin is nearly the worst I’ve encountered in the IntelliJ ecosystem! Its performance is unbelievably poor—if I could rate it, it would be a negative 1000 out of 10!

The performance of this plugin is the worst ever! My IntelliJ IDEA is using 5.6GB of memory and still can’t handle my tasks due to the Kubernetes plugin, even with just one context enabled.

-1

James Hounshell

11.07.2024

When kustomize 5 😩😩😩😩😩😩😩😩😩😩😩😩😩😩😩😩😩

+1

Additional Information

Vendor:
Plugin ID:
com.intellij.kubernetes