Fleet Management
1. Fleet Management
Part of managing containerized workloads is maintaining updates to the underlying software. But how is this done at scale? Fleets provide a control plane and unified view across diverse environments, simplifying multicluster management. In GKE, the fleet host project acts as the control center for fleet management and provides a centralized interface for monitoring and configuration. Rollout sequencing is a fleet management feature used to manage software updates at scale. Rollout sequencing enables controlled and phased upgrades of GKE clusters across multiple environments. To minimize risk and ensure application stability, developers can test and validate in pre-production environments before deploying upgrades to production. You can group clusters based on deployment environments, like testing, staging, and production, or register each cluster with the fleet based on your desired grouping. Clusters are organized into groups based on release channels and minor versions. These groups can be fleets or team scopes. Team-based sequences require each team to have its own dedicated cluster, and team scope must be in a separate fleet. GKE upgrades cluster control planes first, followed by nodes, while respecting maintenance windows and exclusions. Soak time is the delay between upgrades in different groups. Soak time can be used to monitor and validate workloads before proceeding to the next stage in a rollout sequence. For fine-grained control, you can override soak times and use maintenance windows and exclusions to manage individual cluster upgrades. For automatic upgrades, all clusters in a rollout sequence must have the same upgrade target. Version discrepancies can be addressed by upgrading manually or removing clusters. You can use gcloud commands or Terraform to create and manage rollout sequences. When creating a sequence, determine the order in which groups will receive the update and set the soak time for each group. To check the status of the sequence and individual clusters, you can use gcloud commands or the GKE Hug API. Progress on fleet-based rollouts can be monitored visually in the Google Cloud console. Returned status updates include-- Ineligible, one or more clusters in the group are ineligible for the upgrade. Pending, the upgrade hasn't started on any of the clusters in the group. In progress, the upgrade has started on at least one cluster but hasn't finished on all clusters. Soaking, the upgrade has finished on all clusters and hasn't finished soaking. Forced soaking, the upgrade took more than the maximum upgrade time of 30 days, and therefore it was forced to enter the soaking phase. The upgrade can continue in the clusters. Complete, the upgrade has successfully completed its soak time and is ready for the next group. To manage a rollout sequence, you can change the soak time for a group, default or version-specific override, change the sequence order by updating upstream groups, use maintenance exclusions or adjust the soak time to delay group completion, switch between fleet-based and team-based rollout sequences, and delete a sequence by removing upstream associations. For clusters outside Google Cloud, the Connect Agent establishes secure communication with the fleet host project, enabling seamless management.2. Let's practice!
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.