TrustRadius Insights for Google Kubernetes Engine are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Fast Deployment: Users have appreciated the fast deployment of new GKE clusters in comparison to other cloud providers, highlighting GCP's efficiency in this aspect. The quick deployment process has been a significant factor for users looking to set up and utilize resources promptly.
Up-to-date Kubernetes Version: Reviewers have consistently noted that GCP provides the most up-to-date Kubernetes version, positioning them ahead of competitors in terms of staying current with technology trends. This aspect has garnered positive feedback from users who value working with cutting-edge tools.
Effective Automation for Upgrades: Users found the automation for master upgrades and worker nodes pool in GKE highly effective, streamlining processes for administrators and developers. The automated upgrade system has significantly improved efficiency by reducing manual intervention and ensuring smoother operations.
We use GKE to deploy our in-hours custom-made applications along with popular public applications like prometheus/grafana. The applications that we deploy and need to support are both stateful and stateless.
Pros
Deployment of a new GKE cluster is really fast in comparison to other cloud providers.
GCP is ahead other vendors and always provide the most up to date Kubernetes version.
GKE automation for master upgrade and the worker nodes pool works really well.
Cons
Support of IPv6.
Better GitOps.
A "serverless" Kubernetes so we can install Google config connector will be really awesome.
Container-native load balancers do not support internal TCP/UDP load balancers or network load balancers.
Likelihood to Recommend
GKE is the best managed Kubernetes solution out there, it is very well suited to deploy all kinds of application loads for Dev or Production. If you need to migrate your current workload from a monolithic infrastructure or VMs towards a container solution GKE is the go-to for the best results in terms of stability and feature-rich. If you are looking to take full advantage of IPv6 then GKE might not meet your expectations. Container-native load balancers do not support internal TCP/UDP load balancers or network load balancers, functionality of container-native load balancing is currently limited to the HTTP(S) /L7 load balancers only.
Two products I work on are using Google Kubernetes Engine clusters. For the most part, the development efforts mostly go as far as "put service in container," so stuff such as scalability is left to 3rd party components that we use. The Google Kubernetes Engine can use a specific Google-provided ingress controller that is very beneficial when it comes to integrating with other services/products such as Cloud Armor, but it's also vendor-specific, so it has its own quirks and learning curve. Thus, we use the Google Kubernetes Engine just like a regular managed Kubernetes cloud service. The products we have in the Google Kubernetes Engine cluster deal with data piping, collection, and even some machine learning. The major problem that the Google Kubernetes Engine solves for us is a completely managed cloud Kubernetes service - we have an easier time managing our clusters (updates, scaling, and uptime SLA), doing physical and virtual migrations (moving nodes geographically, data in volumes, etc.).
Pros
Engine upgrade rollout strategy - well documented and configurable
Integration with other Google Cloud services like the Compute Engine, SaaS databases, and some cloud networking like Cloud Armor
Graphical interface for a lot of operations - either for a quick peek/overview or actual work done by administrators and/or developers (via the Google Cloud Console, for example)
Cons
It cannot reach true zero scale - they have a competing(?) product for that - Cloud Run Kubernetes clusters. It seems like the Google Kubernetes Engine may not be as flexible as some people need - in terms of costs and infrastructure.
Some networking for the Google Kubernetes Engine is way too "hidden" from other similar services from Google Cloud - like network whitelisting (for the control plane), external IPs(s) are not a part of the VPC network overview, data storage.
We had to make a hack for node-specific changes (max open file descriptors) because we put Elastic in our Google Kubernetes Engine clusters. These changes were made as hacks because there is still no official API/command approach to have such a form of control over the cluster's infrastructure.
Likelihood to Recommend
The Google Kubernetes Engine clusters are very good at being a managed cloud K8s platform - lots of documentation, features, and updates are available. It's also newbie-friendly - for both administrators and developers. Unfortunately, currently, it cannot reach true zero scale - thus, costs (rent for the service) are still involved even if you are barely using it.
Thankfully, it's possible to have alternatives in Google Cloud:
Your own K8s cluster on Compute Engine VMs - you manage it completely; it will have access to a lot of Google Cloud services.
Cloud Run cluster - less documented but more flexible
Anthos clusters - you can use this service for a lot of types of K8s clusters - Google Kubernetes Engine, Cloud Run, on-prem, AWS, Azure
GKE provides a seamless installation method across a whole organization. It is a fair starting point with Kubernetes technologies. Managed Kubernetes allows deploying application test pipelines for software companies with a reasonable overall price. Moreover, the number of POP helps setup quite reliable installation in a regional way.
Pros
Deployment method (single, zonal, regional).
Lifecycle management (stable, regular, rapid).
Integrated GCE services (loadbalancers).
Cons
Multi-regional deployment (better reliability).
GPU node availability.
Integrated market place.
Likelihood to Recommend
At the moment, the best-managed cluster on the market. Quick deployment with quite specific project requirements. The mesh ingress (istio) allowed the building of a quite complicated upgrade process for applications.