Anthos in Google Cloud
A complete, plain-English guide to the platform that lets you run, manage and secure Kubernetes applications consistently across Google Cloud, your own data centers and other clouds.
Imagine a restaurant chain with branches in five cities. Every branch has its own kitchen, its own staff and its own way of doing things. One branch cooks the soup with a recipe from last year. Another has changed the recipe three times. A third has no idea whether its fridge meets the safety rules. The head office wants every branch to serve the same soup, follow the same rules and report problems in the same way, but it cannot be in five kitchens at once.
Large companies run software the same way. Some programs run in Google Cloud, some in a company’s own data center, some on another cloud provider and some in small shops or factories far from any city. Each location has its own tools and habits. Anthos is Google’s answer to the head office problem. It gives one way to run, configure, secure and watch applications in all those places. This guide explains what Anthos is, how it works inside, how it has changed its name over time, and how to use it well in production.
1What Is Anthos?
Start with a clear definition, a short history and an honest note about names, because the branding has moved over the years.
Anthos is a platform from Google Cloud for managing applications that run in containers, across many different places, from one central point. A container is a neat package that holds a program together with everything it needs to run. Kubernetes is the open-source system that starts, stops, moves and repairs containers across a group of machines. Anthos builds on Kubernetes. It adds the missing pieces that a large organization needs when it has not one cluster but dozens or hundreds of them, spread over several locations.
In simple words, Kubernetes runs your containers, and Anthos manages your Kubernetes. It gives you a single place to see all your clusters, push the same settings to all of them, enforce the same rules everywhere, connect the programs running in different clusters securely and collect their health information in one view.
Think of a school district with many schools. Each school has its own principal and teachers, which is like a cluster with its own control plane and machines. The district office sets the curriculum, the safety rules and the reporting format for every school, and can see how each one is doing. Anthos is the district office for your clusters.
A short history
Google announced the platform in 2019, at first under the name Cloud Services Platform and soon after under the name Anthos. The idea came from a plain observation: most big companies would never move everything to one cloud. They had existing data centers, rules about where data may live, deals with several cloud vendors and applications that must run close to factories, shops or hospitals. Google decided to take the technology it used for its own huge systems, packaged around Kubernetes, and let customers run it wherever they wanted, with Google Cloud as the place where everything is managed.
Over time the platform grew to support clusters on Google Cloud, on servers in a customer’s own data center, on bare machines with no virtualization software, on other public clouds, and even on clusters that were created by someone else and merely connected for management.
A note about names
Product names in this area have changed more than once, and it helps to know them so that old articles and new documentation make sense together. Google later grouped the Anthos capabilities into a paid edition of its managed Kubernetes service called GKE Enterprise. The on-premises and edge offerings were gathered under the family name Google Distributed Cloud. Individual pieces were renamed too. The service mesh became Cloud Service Mesh, and several clusters-on-other-clouds features became GKE on AWS and GKE on Azure. In this guide we keep using the word Anthos for the overall idea, and we mention the current names where they matter. Because naming and packaging can change again, always confirm the exact current product names and editions in the official Google Cloud documentation before you plan a purchase.
Anthos does not replace Kubernetes. It sits on top of Kubernetes clusters and gives you one consistent way to manage many of them.
2The Problem Anthos Solves
To understand why a platform exists, first feel the pain that it removes.
Suppose a bank starts with one Kubernetes cluster in the cloud. That is easy. A small team learns the tool, deploys programs and everyone is happy. Then the business grows. A second cluster is added for the test environment. A third is added in another region for disaster recovery. A regulator says customer data must stay in the country, so a fourth cluster appears in the bank’s own data center. A recent acquisition brings applications that already run on another cloud. In two years the bank has twenty clusters in four places.
The trouble with cluster sprawl
Each new cluster brings its own settings, its own users, its own versions and its own rules. Soon nobody can answer simple questions. Which clusters are running an old, unsafe version? Does every cluster block programs from running as an administrator? Who can log in to the cluster in the data center? Why does the same program behave differently in two places? Teams spend more time keeping clusters alike than building software for customers.
The trouble with different tools
Each environment also tends to bring different tools for logging, monitoring, access and deployment. A developer who moves between teams must learn a new set of tools each time. Security teams must check each environment on its own. Auditors must be shown evidence from each place in a different format.
The trouble with moving old applications
Many companies also own older programs that run on virtual machines and were never designed for containers. They want to modernize step by step, without a risky rewrite of everything at once. They need a path that lets old and new live side by side under common management.
Without a fleet platform
- Every cluster is configured by hand and slowly drifts apart
- Security rules are checked cluster by cluster
- Each location needs different tools and skills
- Nobody has one view of what is running where
With Anthos
- Settings are stored once and applied to every cluster
- Policies are enforced the same way everywhere
- One set of tools works in every location
- One console shows every cluster and its health
Production example: a global retailer
A retailer at the scale of Walmart or Target runs software in its cloud accounts, in regional data centers and inside thousands of stores, where a store must keep taking payments even when the internet link is down. Keeping that software and its rules consistent from the cloud to the store is exactly the kind of problem a fleet platform addresses. This is an illustration of the pattern, not a statement about any specific company’s tools.
3Core Concepts You Must Know
Ten words carry almost the entire vocabulary of Anthos. Learn them once and the documentation becomes much easier to read.
Container
A sealed package holding a program and everything it needs. It runs the same way on any machine that can run containers.
Kubernetes cluster
A group of machines managed together. A control plane makes decisions, and worker machines called nodes run the containers.
Fleet
A logical group of clusters managed together as one unit. Settings, policies and features are applied to the whole fleet.
Membership
The record that says a cluster belongs to a fleet. Registering a cluster creates its membership.
Connect agent
A small program inside each cluster that opens a secure outgoing connection to Google Cloud, so the cluster can be managed from afar.
Configuration sync
A tool that copies settings from a Git repository into clusters and keeps them matching. This is called GitOps.
Policy controller
A guard that checks every change against your rules and can refuse anything that breaks them.
Service mesh
A layer that manages how programs talk to each other, adding security, traffic control and measurement without changing the programs.
Workload identity
A way for programs, not just people, to prove who they are to cloud services without storing passwords.
Attached cluster
A cluster that was built elsewhere, such as on another cloud, and is connected to the fleet for management.
The big idea behind all ten
Every concept on the list serves a single purpose: sameness at scale. A fleet gathers the clusters. The Connect agent lets Google Cloud reach them. Configuration sync and the policy controller make them alike and keep them safe. The service mesh makes their programs talk securely. Workload identity lets programs sign in without secrets. Together they let a small team manage a very large estate.
Plain Kubernetes is excellent at running containers inside one cluster. It does not, by itself, give you a single view across clusters, shared policy across locations or one place to manage identity across clouds. Anthos adds that layer.
4Architecture and Components
A bird’s-eye view of what sits where, and how Google Cloud reaches clusters that live in other places.
The architecture has two sides. On one side is Google Cloud, which hosts the management layer: the fleet records, the console, the policy and configuration services, the service mesh control services and the logging and monitoring tools. On the other side are the clusters, which may be in Google Cloud, in a data center, on another cloud or at the edge. Between them sits the Connect agent in every cluster, which keeps a secure outgoing connection to Google Cloud.
flowchart TD
subgraph GC["Google Cloud management layer"]
F["Fleet and console"]
CS["Config Sync from Git repository"]
PC["Policy Controller rules"]
SM["Cloud Service Mesh"]
OBS["Cloud Logging and Cloud Monitoring"]
ID["Identity and access"]
end
subgraph C1["Cluster on Google Cloud"]
A1["Cluster agents"]
end
subgraph C2["Cluster in own data center"]
A2["Cluster agents and Connect agent"]
end
subgraph C3["Cluster on another cloud"]
A3["Cluster agents and Connect agent"]
end
F --> A1
A2 -->|"outbound secure connection"| F
A3 -->|"outbound secure connection"| F
CS --> A1
CS --> A2
CS --> A3
PC --> A1
PC --> A2
PC --> A3
SM --> A1
SM --> A2
SM --> A3
A1 --> OBS
A2 --> OBS
A3 --> OBS
ID --> F
The management layer
This is the part Google runs for you. It stores which clusters belong to your fleet, shows them in the console and provides the shared services. You do not install servers for it. You turn on the features you need and decide which clusters they apply to.
The clusters
Each cluster is an ordinary Kubernetes cluster with a few extra programs installed. Those programs apply configuration from the central repository, enforce policies, run the mesh helpers and send logs and measurements back.
The outgoing connection
A very important design detail is the direction of the connection. The Connect agent calls out to Google Cloud. Google Cloud does not call into your cluster. This means that a cluster inside a strict company network does not need a hole opened in its firewall for incoming traffic. Many security teams find this a pleasant surprise, because opening incoming holes is exactly what they try to avoid.
The Git repository
The desired state of every cluster lives in a Git repository that your team controls. Git keeps a full history, so you always know who changed what and when. Clusters read from it. This repository is the most important single asset in a well-run fleet.
Think of a chain of hotels with a master handbook kept at head office. Every hotel manager phones the head office once in a while to ask “has the handbook changed?” and then updates their hotel to match. Nobody from head office needs a key to the hotel, because the managers make the calls.
5Where Can Anthos Clusters Run?
The promise of Anthos is a choice of location. Here are the main places, and what each one means in practice.
On Google Cloud
Clusters run on Google Kubernetes Engine, Google’s managed Kubernetes service. Google runs the control plane for you, and you manage the applications. This is the easiest place and the reference experience.
On VMware in your data center
For companies that already run VMware virtualization, Google provides Kubernetes clusters that run on that platform. These are often called clusters on VMware, and they use an admin cluster to manage user clusters.
On bare metal
Clusters can run straight on physical servers with no virtualization layer, which removes one layer of cost and delay. This suits heavy workloads and the edge, where space and money are limited.
On other public clouds
Google’s multi-cloud offering creates and manages clusters in Amazon Web Services and Microsoft Azure using Google Cloud’s tools, while the machines live in those providers’ accounts.
Attached clusters
Clusters already built with another product, such as Amazon’s or Microsoft’s managed Kubernetes, can be attached to the fleet. Google does not run them, but it can see them, apply policy and gather information.
At the edge and in isolated sites
Google’s distributed cloud family covers small footprints at the edge, connected hardware placed in customer sites and fully isolated environments with no connection to the public internet.
| Location | Who runs the control plane | Typical reason to choose it |
|---|---|---|
| Google Cloud | Easiest start, fully managed | |
| VMware in a data center | You, with Google tooling | Reuse existing virtualization investment |
| Bare metal | You, with Google tooling | Performance, cost, edge sites |
| Other clouds | Google tooling, machines in other cloud | Avoid lock-in, follow customers or acquisitions |
| Attached clusters | The cluster’s own provider | Gain visibility without rebuilding |
Running on your own hardware does not mean you are alone. The clusters still talk to Google Cloud for management. The data your applications process can stay entirely local, but the management signals travel to Google Cloud unless you choose a fully isolated option.
6Fleet Management
The fleet is the heart of Anthos. Almost every feature is switched on for a fleet, not for a single cluster.
What a fleet is
A fleet is a named group of clusters inside a Google Cloud project, known as the fleet host project. Any registered cluster becomes a member. A fleet does not care where its members live, so a single fleet may contain a cluster on Google Cloud, another in a data center and a third on another cloud.
Why grouping matters
A fleet lets you talk about “all our production clusters” as one thing instead of listing twenty names. You can turn on a feature for the fleet and it applies to every member. You can ask the console a question about the fleet, such as which clusters run an old version, and get one answer. You can give a team access to the fleet and let them see all their clusters in one place.
Sameness within a fleet
Fleets work best when their members are alike in important ways. A common idea is called sameness. Namespaces, which are named sections inside a cluster, with the same name across clusters are treated as the same logical space. A namespace called “payments” in three clusters can be managed as one “payments” area, with the same settings and the same access rules. Services with the same name in the same namespace can be treated as one service spread over several clusters. This makes it natural to run an application across clusters.
Teams and scopes
Large organizations rarely give every team access to every cluster. Fleet features let you divide a fleet into smaller scopes, so that a team sees only its own namespaces across the fleet. This lets central platform teams manage the clusters while application teams manage their own programs.
A fleet of delivery vans belongs to one company. The company can say “all vans must carry a first aid kit” and apply the rule to every van at once. A particular depot manager can see only the vans in their own area. The fleet gives both the company-wide rules and the local views.
Registration
Clusters on Google Cloud can be registered when they are created or later. For other clusters, registration installs the Connect agent and creates the membership record. After that, the cluster appears in the console, and fleet features can be switched on for it.
Decide your fleet layout early. Many companies use one fleet per environment, such as production and testing, so that a policy change can be tried safely on testing before it reaches production.
7How It Works Internally
A clear mental picture of the engine explains almost every behavior you will notice.
The reconciliation loop
The deepest idea in Kubernetes, and therefore in Anthos, is the reconciliation loop. You do not tell the system “do these steps.” You tell it “this is how I want things to be.” Programs called controllers constantly compare the wanted state with the actual state and take action to close any gap. If a machine fails, the controller notices that fewer programs are running than wanted and starts replacements. This simple loop is the reason these systems repair themselves.
A thermostat does not follow a recipe. You set the temperature you want, and it keeps checking the room and switching the heater on or off. Controllers are thermostats for your whole platform.
GitOps: the repository is the truth
Anthos applies the same loop to settings. The configuration repository states the desired state of all the clusters. An agent in each cluster keeps reading the repository, compares it to the cluster and fixes any difference. If someone changes a setting by hand in a cluster, the agent notices that the cluster no longer matches the repository and puts the setting back. This is called drift correction, and it is one of the most valuable features, because manual changes are a classic cause of mysterious problems.
The Connect agent and the management channel
The Connect agent keeps a secure, outgoing channel to Google Cloud. Through that channel, Google Cloud can show the cluster in the console and carry commands for approved users, and the cluster can send back its health. Because only outgoing connections are used, clusters behind strict firewalls can still take part.
Admission control: guarding the door
Kubernetes has a checkpoint called admission control. Whenever someone asks the cluster to create or change something, the request passes through the checkpoint before it is accepted. The policy controller plugs into this checkpoint. If a request breaks a rule, such as running a program with excess privileges, the request is refused before anything happens. This is far better than finding out later.
Sidecars: the mesh at work
The service mesh adds a small helper program, called a proxy, beside each application program. All traffic in and out of the application passes through its helper. The helper encrypts traffic, applies traffic rules and records measurements. The application does not know the helper exists, which is why a mesh can add security and visibility without changing application code.
Everything is an API
Finally, every action in Anthos is available through programming interfaces. The console, the command line and automation tools all use the same interfaces. This allows teams to define their whole fleet as code and rebuild it from scratch if needed.
Because the system keeps correcting itself toward the stored desired state, the right way to change anything is to change the stored desired state, not the live cluster. Changes made by hand will be undone.
8Data Flow and Lifecycle of a Change
Follow one change from a developer’s idea to a running application in every cluster.
Suppose a team wants to roll out a new version of an application to all production clusters. In a well-run Anthos setup, no one logs in to a cluster and types commands. Instead, the team proposes a change in the Git repository. Reviewers approve it. Automated checks test it. Once the change is merged, the clusters notice it, apply it and report back.
flowchart TD
D["Developer proposes change in Git"] --> R["Review and automated tests"]
R -->|"approved and merged"| G["Git repository holds new desired state"]
G --> S["Config Sync agent in each cluster reads change"]
S --> P{"Policy Controller check"}
P -->|"breaks a rule"| X["Change refused and reported"]
P -->|"allowed"| K["Kubernetes applies the change"]
K --> H["Cluster reports status back to fleet"]
H --> O["Team sees result in console and dashboards"]
Why this flow is safer than manual work
Every change leaves a trail in Git: who suggested it, who approved it, and exactly what changed. If a change causes trouble, the team can revert it in Git and the clusters follow. Nobody needs to remember which commands were typed on which machine. The policy guard checks every cluster independently, so a mistake that breaks a security rule is caught at the door.
Status flows back too
The agents also report whether each cluster has reached the desired state. A dashboard can show that twenty-eight of thirty clusters are in sync and two are behind, with the reason. This turns a vague worry, “did the rollout work everywhere?”, into a clear answer.
Rolling out in waves
Careful teams do not push a change to every cluster at the same moment. They send it first to a test fleet, then to a small number of production clusters, and then to the rest. Because each cluster or group of clusters can read from its own branch or folder of the repository, the team can control the order simply by deciding when each branch receives the change.
Treat every change to a fleet like a medicine trial. Try it on a few first, watch carefully, and only then give it to everyone.
9Configuration Management with Config Sync
Config Sync is the tool that keeps every cluster matching the repository.
What it does
Config Sync reads settings from a source that you control, most often a Git repository, though other sources such as packaged images and chart repositories can also be used. It applies those settings to each cluster, and it keeps checking. If the cluster drifts from the source, Config Sync restores the wanted state. What are these settings? Almost anything a cluster can hold: namespaces, access rules, network rules, quotas, and even the applications themselves.
One root, many branches of responsibility
Large organizations usually split the work between a central platform team and many application teams. Config Sync supports this with two kinds of sources. A root source, owned by the platform team, can manage anything in the cluster, including cluster-wide settings. Namespace sources, owned by application teams, can manage things only inside their own namespace. The platform team defines the guardrails once, and each application team works freely inside them.
Platform team
Maintains the root source with cluster-wide settings, shared rules and the list of namespaces and who may use them.
Application teams
Maintain their own sources with the settings and applications that live inside their namespaces.
Organizing the repository
A tidy repository is a gift to your future self. Many teams keep one folder for cluster-wide settings, one folder per namespace and separate folders or branches for each environment. A new cluster is added by pointing it at the right folder. A new team is onboarded by adding one namespace folder. The repository grows in a predictable way.
Handling differences
Not all clusters should be identical. A production cluster may need larger quotas than a test cluster, and a cluster in one country may have different settings from another. Teams handle this with overlays, a technique where a shared base is combined with small environment-specific changes. The shared part is written once, and each environment adds only what is different. This keeps the repository small and avoids copy-and-paste mistakes.
A clothing company keeps one master pattern for a shirt and small notes for each size and region, such as “longer sleeves for the northern market.” Nobody redraws the whole shirt for each market. Overlays are those small notes.
Secrets need special care
Never place passwords or private keys in plain text in the repository. Anyone who can read the repository could read them, and Git remembers old versions forever. Keep secrets in a dedicated secret manager and let the clusters fetch them securely at the time they are needed.
Because the repository controls every cluster, it is also a very powerful target. Protect it with strong access control, required reviews and signed changes. A mistake or attack on the repository reaches every cluster.
10Policy Control and Deployment Safety
Rules are only useful if they are enforced. Policy Controller makes rules automatic.
What Policy Controller does
Policy Controller is built on a well-known open-source policy engine for Kubernetes. It stands at the admission checkpoint and checks every request against rules you have written. It also scans what already exists in the cluster to find things that broke the rules before the rules existed. This is called auditing. The result is two kinds of protection: prevention of new mistakes and discovery of old ones.
Constraints and templates
Rules are written in two parts. A template describes a kind of rule in general, such as “a required label must be present.” A constraint uses the template for a specific case, such as “every namespace must carry a team label.” Google also supplies ready-made bundles of rules for popular needs, such as basic pod security, commonly used cloud benchmarks and certain industry standards. Teams can start from these and add their own.
Examples of rules companies use
- Containers must not run with administrator-level privileges
- Images may be pulled only from approved registries
- Every workload must declare how much memory and processing power it needs
- Public load balancers may not be created in sensitive namespaces
- Every resource must carry labels for team and cost center
Audit first, enforce second
A sensible habit is to introduce each new rule in audit mode. In this mode the rule only reports violations and does not block anything. Teams can see how many existing workloads would break the rule, fix them and then switch on enforcement. This avoids the unpleasant surprise of a new rule suddenly blocking a critical deployment on a busy day.
Trusting what you run: Binary Authorization
Binary Authorization is a companion control. Its question is “was this container image built and approved by a trusted process?” Build systems sign images when they pass checks, and the cluster refuses to run any image without a valid signature. This blocks a whole class of attacks in which a harmful image is slipped into the system.
A nightclub has a bouncer who checks everyone at the door. The bouncer is the policy controller and the dress code is the rule set. Binary Authorization is the guest list that only a trusted organizer may sign.
Keep policies in the same Git repository as your configuration. Then rule changes get the same review, testing and history as everything else.
11Service Mesh
When you have many small programs talking to each other across clusters, you need a way to secure, control and observe their conversations.
Why a mesh?
Modern applications are often built from many small services, called microservices. A single customer action may involve a dozen of them calling one another. Each call must be encrypted, authenticated, retried when it fails and measured. If every development team builds these abilities into its own code, the result is inconsistent and expensive. A service mesh moves those abilities out of the code and into the platform.
The managed mesh
Google’s offering, originally named Anthos Service Mesh and now called Cloud Service Mesh, is based on the open-source Istio project. Google runs the control part of the mesh for you, and each application gets a helper proxy. Google also provides ready-made views of service health.
What the mesh gives you
Encrypted calls
Every call between services can be encrypted and each side can prove its identity, a feature called mutual authentication.
Smart routing
Send a small share of traffic to a new version first, a technique called a canary release, or route requests based on headers.
Retries and timeouts
Apply sensible retries, time limits and circuit breaking in one place rather than in every program.
Golden signals
See request rate, error rate and delay for every service without adding measurement code.
Across clusters
The mesh can span clusters. A service in a data center can call a service running in the cloud as though both were next door, with encryption and identity handled automatically. If a service fails in one cluster, traffic can shift to a healthy copy in another. This is the practical basis for running one application across several locations.
A mesh is like a city’s postal system. Letters between buildings are sealed, labeled with a verified sender, routed by the best path and logged. The residents just write letters and do not build roads or hire couriers.
The cost of a mesh
A mesh is not free. Each helper proxy uses some processing power and memory, and each call has a small extra delay. Operating a mesh also adds concepts that teams must learn. Adopt it when you truly need its features, such as consistent encryption and traffic control across many services, not simply because it is available.
Turning the mesh on for every service on day one. Start with a few services, learn how it behaves, and expand step by step.
12Networking and Connectivity
Clusters in different places are only useful together if they can reach each other and the outside world.
Connecting locations
For a data center and a cloud to work as one system, they need a good network link between them. Google Cloud offers private connections of several kinds, including encrypted tunnels across the public internet and dedicated physical links with predictable speed. Choose by the amount of traffic, the delay you can tolerate and your reliability needs. Plan for at least two independent paths, because a single cable is a single point of failure.
Traffic coming in from users
Users must be sent to a healthy copy of your application. Google provides ingress and gateway features that work across clusters in a fleet. A single global address can send each user to the closest healthy cluster. If one cluster fails, users are sent to another. This is how a multi-cluster application stays available when a whole location has trouble.
Services talking across clusters
Within a fleet, a service in one cluster can be made available to other clusters under a consistent name. Programs call the name and the platform finds a healthy copy, wherever it runs. Combined with the mesh, such calls are encrypted and measured.
Address planning
A quiet but important task is planning network addresses. Clusters need ranges of addresses for machines, for programs and for services. If two clusters that must talk to each other use overlapping ranges, trouble follows. Plan the ranges for the whole fleet before building the first cluster, because changing them later is painful.
Egress and firewalls
Clusters in restricted networks need controlled paths to reach Google Cloud services and package registries. Work with the network team early to allow the outgoing connections that the Connect agent and other components need, and to monitor them.
A call from a data center to a distant cloud region takes longer than a call inside one building. Keep chatty services close to each other, and send across the link only what must cross it.
13Identity and Access
Who is allowed to do what, and how do programs prove who they are, in clusters spread over many places?
Access for people
Without a platform, every cluster has its own list of users, and removing a person who has left the company means visiting every cluster. With Anthos, people can sign in using their Google Cloud identity or their company’s identity provider, and access rules can be written once for the fleet. A feature called the connect gateway lets authorized users run their usual Kubernetes tools against clusters anywhere, using the secure channel, without needing network access to each cluster.
Role-based access control
Kubernetes has its own system of roles that say what each user may do, such as view or edit. Anthos encourages storing these roles in the configuration repository so that they are the same in every cluster and changes are reviewed. Give people the least access they need. A developer may edit their own namespace but only view others.
Identity for programs
Programs also need identities. An application that reads files from a cloud storage service must prove who it is. The old way was to place a secret key inside the application, which is easy to leak. The better way is workload identity, in which the platform gives each program a verified identity and cloud services trust it directly. No long-lived secret is stored. Fleet-level workload identity extends this to clusters in many places, so that a program in a data center can safely use a cloud service without a stored key.
A stored secret key is like a spare house key hidden under a flowerpot. Workload identity is like a doorman who knows each resident by face. There is no key to steal.
Separating duties
Separate who can change policies from who can deploy applications, and separate both from who can read sensitive data. Keeping these duties apart makes a single mistake or a single stolen account less dangerous.
Do not share one administrator account among team members, and do not leave powerful access in place after a person changes roles. Review access regularly.
14Security in Depth
Security is not a single feature. It is many layers working together, each limiting the damage when another fails.
Secure the supply chain
Build images in trusted pipelines, scan them for known weaknesses, sign them and allow only signed images to run.
Guard the door
Use admission policy to refuse risky workloads, such as privileged containers or images from unknown sources.
Limit identity
Give people and programs only the access they need, and use workload identity instead of stored keys.
Protect the network
Use network rules to restrict which programs may talk to which, and encrypt service-to-service calls with the mesh.
Protect the data
Encrypt data at rest and in transit and keep encryption keys under tight control, with your own keys where regulations require.
Watch and respond
Collect audit records of who did what, alert on suspicious actions and rehearse your response.
The shared responsibility reminder
For clusters running on Google Cloud, Google secures the control plane. For clusters in your own data center, you are responsible for the machines, the physical security, the operating systems and the network around them, while Google provides tools and software. For attached clusters, the original provider secures the control plane, and you secure what you run. Knowing exactly which party owns which layer prevents dangerous gaps.
Compliance and evidence
Because policies and configuration live in Git and are applied automatically, you can show auditors precisely what rules were in force, when they changed and who approved them. Evidence that once took weeks to collect from many environments becomes a report from one place.
Keeping up with fixes
Security fixes arrive regularly in Kubernetes and its components. A fleet makes it possible to see which clusters have not yet received a fix and to schedule upgrades by priority. Delay in patching is among the most common reasons for real-world incidents.
15Monitoring, Logging and Observability
A platform you cannot see into is a platform you cannot trust. Anthos gathers signals from every location into one place.
Logs
System components and application programs write logs. Agents in the clusters send them to Cloud Logging, where they can be searched across all clusters at once. A single search for an order number can show events from a data center cluster and a cloud cluster side by side.
Metrics
Metrics are numbers measured over time, such as processor use, memory use, request counts and error counts. Google provides managed collection for a popular open-source metrics format, so teams can use familiar tools while Google runs the storage. Dashboards and alerts are built on these numbers.
Traces
A trace follows a single request as it passes through many services, showing how long each step took. With a mesh, much of the tracing information is produced automatically. Traces answer the question every operator eventually asks: where did the time go?
What to watch at the fleet level
- Clusters out of sync with the repository, and for how long
- Policy violations found by auditing
- Cluster versions and how close each is to the end of support
- Connection health between clusters and the management layer
- Error rates and delays of services, especially those spanning clusters
Alerts that matter
Alert on symptoms that users feel, such as rising error rates or slow responses, and on conditions that will soon cause trouble, such as a cluster losing contact with the management layer or running out of capacity. Avoid alerts that fire constantly, because people learn to ignore them.
Build one fleet dashboard that a new team member can understand in five minutes. If it needs a long explanation, simplify it.
16Modernizing Existing Applications
Most companies do not start with a blank page. They own years of working software, and they want to modernize it without breaking it.
The spectrum of modernization
Moving an old application to containers is not a single choice. It is a ladder with several rungs. Each rung costs more effort and gives more benefit, and teams are free to stop on any rung.
Leave it alone
Some programs are stable, rarely changed and not worth touching. Keep them running as they are.
Lift into containers
Convert a virtual machine into a container with tooling, with little or no code change. The program runs under cluster management.
Refactor in place
Change parts of the code to take advantage of the platform, such as splitting out the busiest feature as a separate service.
Rebuild
Write a new cloud-native application for the greatest benefit, used when the old design cannot meet new needs.
Migrating virtual machines to containers
Google offers a tool, called Migrate to Containers, that examines a virtual machine running in a data center or a cloud and produces a container and the settings needed to run it in a cluster. It works best for server programs that run continuously and do not depend on special hardware. After conversion, the program is managed by Kubernetes with the same fleet tools as every other workload, which lets operations teams treat old and new programs the same way.
The strangler approach
A popular way to modernize large systems without a risky big-bang rewrite is to grow new services around the old system and slowly move features across. Requests are routed to the new service for the moved feature and to the old system for everything else. Over time the old system shrinks until it can be retired. The traffic control of the mesh and the ingress features make this routing straightforward.
Renovating a busy shop while it stays open. You do not close the shop for a year. You rebuild one aisle at a time, put up a sign saying “this way for the new section,” and keep serving customers throughout.
Production example: a bank’s core services
A large bank such as HSBC or JPMorgan keeps core systems in its own data centers for regulatory reasons, while building new customer features in the cloud. A common pattern is to put new services in containers in the cloud and to connect them to data center systems through the fleet’s network and mesh. This is an illustration of a typical approach, not a statement about those banks’ actual platforms.
Containerizing everything just because it is possible. A program that is not changing and not causing pain gains little from conversion. Spend effort where the benefit is real.
17Upgrades and Cluster Lifecycle
Kubernetes moves quickly. Keeping many clusters up to date is a constant chore, and a good platform makes it routine.
Why upgrades matter
New Kubernetes versions arrive a few times a year. Each version is supported for a limited period. After that, the version no longer receives security fixes. A cluster that falls too far behind becomes both unsafe and harder to upgrade, because the gap between its version and the current one keeps growing.
How upgrades differ by location
On Google Cloud, upgrades of the managed control plane are handled by Google, and you can choose release channels that decide how quickly your cluster receives new versions. For clusters in your own data center, you run the upgrade with Google’s tooling, in a planned window. For attached clusters, the upgrade is handled by the cluster’s own provider. A fleet view lets you see all three categories in one place and plan accordingly.
An upgrade routine that works
Read the notes
Review release notes for removed features and changed behavior. Check that your configuration and policies do not rely on anything being removed.
Upgrade a test cluster first
Upgrade a cluster that matches production, run your tests and watch for surprises.
Upgrade production in waves
Start with the least critical clusters, then move to more important ones, pausing if anything looks wrong.
Upgrade nodes gradually
Replace worker machines a few at a time so applications keep running. Applications should be built to tolerate losing a copy.
Verify and record
Check versions in the fleet console, confirm health and note the result for your records.
Maintenance windows and budgets
Applications should declare how many copies must stay available during maintenance, using a setting called a disruption budget. Without it, an upgrade might take down all copies of a service at once. Tell the platform the minimum you can tolerate, and it will respect the limit.
Upgrade often and in small steps. Frequent small upgrades are safer than rare big ones, because there is less change each time and your team gets practice.
18High Availability and Disaster Recovery
A platform that spans locations is a natural foundation for surviving the loss of any one of them.
Levels of failure
Failures come in sizes. A single program can crash, and Kubernetes restarts it. A machine can fail, and Kubernetes moves its programs elsewhere. A whole rack or zone can fail, and well-spread clusters continue. An entire data center or cloud region can fail, and only designs that span locations survive. Plan for each level with a conscious decision about how much you will pay for protection.
Active-active across locations
In an active-active design, the application runs in two or more clusters at the same time, and traffic is shared between them. If one location fails, the others simply take more traffic. This gives the fastest recovery, but it requires that data be replicated across locations and that the application tolerates data being slightly out of date in places.
Active-passive across locations
In an active-passive design, one location serves traffic and another stands ready. Recovery requires switching traffic and bringing the standby fully into use. It costs less and is simpler for data, but recovery takes longer and must be practiced.
flowchart LR
U["Users"] --> LB["Global entry point and health checks"]
LB -->|"normal traffic"| A["Cluster in cloud region"]
LB -->|"normal traffic"| B["Cluster in own data center"]
A --> DBA[("Replicated database copy A")]
B --> DBB[("Replicated database copy B")]
DBA |"replication"| DBB
LB -.->|"if one location fails, all traffic shifts to the healthy one"| A
The role of the repository in recovery
Because every cluster’s desired state is stored in Git, rebuilding a lost cluster is far easier. A new cluster is created, registered to the fleet and pointed at the repository, and the agents recreate its settings, policies and applications. Application data must be protected separately through backups and replication, since Git holds configuration, not customer data.
Practice, practice, practice
A disaster plan that has never been tested is only a hope. Run planned exercises in which you deliberately shut down a cluster or block a network link and watch what happens. The first exercise almost always reveals a surprise, and finding it in a rehearsal is much cheaper than finding it during a real outage.
The management layer is also a dependency. Know what still works if a cluster cannot reach Google Cloud. Running applications generally continue, but changes, fleet views and some features may be affected until the connection returns.
19Performance, Limits and Cost
Every platform has boundaries and a price. Knowing both early avoids unpleasant surprises.
Performance
Anthos does not change how fast your applications run on their own. It adds management layers around them. The main performance costs are the extra processing for helper proxies if you use a mesh, the delay of calls that cross between locations, and the load of agents running in each cluster. For most applications these costs are small, but latency-sensitive systems deserve careful measurement before and after adoption.
Limits
There are limits on how many clusters a fleet may contain, how many nodes each cluster may have, how many services a mesh can handle and how often configuration can sync. Limits are published in the official documentation and change from time to time. Check the current numbers before designing something very large, and design so that you can split into several fleets or clusters if you approach a limit.
Cost
The pricing model has changed over the years, so confirm the current details with Google Cloud before you plan. In general, the platform fee is based on the amount of computing capacity in the clusters under management, usually counted in virtual processors, with different arrangements for clusters on Google Cloud, on your own hardware and on other clouds. Remember that the platform fee is only part of the bill. You also pay for the machines themselves, for network links between locations, for logging and monitoring volume and for the people who operate it all.
| Cost item | Where it comes from | How to keep it under control |
|---|---|---|
| Platform fee | Capacity under management | Right-size clusters, retire unused ones |
| Machines | Cloud instances or your own servers | Use autoscaling and sensible resource requests |
| Network | Links and data transfer between locations | Keep chatty services together |
| Observability | Volume of logs and metrics | Filter noisy logs, keep only useful metrics |
| People and training | Time to learn and operate | Build a small platform team and automate routine work |
Compare against the real alternative. The honest comparison is not Anthos against nothing, but Anthos against the cost of building and maintaining your own consistent management across several environments.
20Advantages, Disadvantages and Trade-offs
No platform is perfect. An honest list of strengths and weaknesses is the best guide to deciding when to adopt it.
Advantages
- One consistent way to manage clusters in many places
- Configuration and policy stored in Git, with full history
- Automatic drift correction keeps clusters alike
- Outgoing-only connection suits strict networks
- Managed service mesh across clusters
- Workload identity removes stored keys
- Path to modernize virtual machines step by step
- Built on open-source Kubernetes and Istio, which eases skills transfer
Disadvantages
- Real complexity and a steep learning curve
- Platform fees on top of infrastructure costs
- Branding and packaging have changed, which confuses people
- Running on your own hardware means you operate more yourself
- Feature depth differs between locations and attached clusters
- Management depends on connectivity to Google Cloud
- Mesh and policy add resource use and operational concepts
The central trade-off
The core trade-off is consistency against complexity. A fleet platform gives you sameness at scale, but it asks you to adopt its way of working: everything in Git, everything through policy, everything as declared state. Organizations that embrace this gain great leverage. Organizations that keep making manual exceptions end up paying for the platform without getting its benefits.
When it is a good fit
- You have, or expect to have, many clusters in more than one location
- Regulations, latency or existing investments keep some workloads outside the public cloud
- You want one security and compliance story across environments
- You have, or can build, a platform team to run it
When to think twice
- You have one or two clusters in a single cloud, where the managed Kubernetes service alone is enough
- Your team is very small and has no appetite for operating Kubernetes
- You do not intend to adopt Git-based change management
21How Anthos Compares with Its Neighbors
Several products tackle the same hybrid and multi-cloud management problem. Knowing the landscape helps you choose with open eyes.
| Option | Main idea | Best suited to |
|---|---|---|
| Anthos and GKE Enterprise | Google Cloud as the management hub for clusters anywhere | Organizations already using or planning to use Google Cloud |
| Azure Arc | Microsoft’s hub that extends Azure management to outside resources, including Kubernetes clusters | Organizations centered on Azure |
| Amazon EKS Anywhere and related options | Amazon’s Kubernetes distribution that can run on your own hardware | Organizations centered on Amazon Web Services |
| Red Hat OpenShift | A complete Kubernetes platform with its own tooling, available on many infrastructures | Organizations that want one vendor-neutral enterprise platform and Red Hat support |
| Open-source tools such as Rancher and Argo CD | Assemble your own fleet management from open pieces | Teams with strong skills who want maximum control and no platform fee |
| Plain managed Kubernetes in one cloud | Simple, single-cloud management | Smaller estates with no hybrid needs |
How to choose
Begin with your center of gravity. If most of your technology already lives in one cloud, the management hub from that cloud tends to feel most natural. If you are strongly committed to a particular vendor-neutral platform, that may decide the matter. If you have deep in-house skill and want total control, assemble open-source parts, and accept that you will build and maintain the glue yourself.
The lock-in question
Anthos is built on open-source Kubernetes and Istio, so your applications remain portable. What you commit to is the management layer. This is a milder form of lock-in than depending on a vendor’s proprietary application services, but it is still a real choice. Keep your applications standard, keep your configuration in plain files and you will always be able to move.
Vendor products in this area change names, features and prices frequently. Evaluate current offerings from each vendor’s own documentation, and test with a small trial before committing.
22Design Patterns and Anti-patterns
Experienced teams keep returning to the same shapes. Learn the good ones and recognize the bad ones early.
Patterns that work
Git as the single source of truth
All configuration and policy live in Git. Clusters follow. Nobody edits live clusters by hand.
Platform team and product teams
A small central team provides clusters, guardrails and tooling. Application teams deploy inside those guardrails.
Environment fleets
Separate fleets for testing and production, so changes can be proven before they reach customers.
Cloud bursting
Run normally in the data center and add capacity in the cloud during peaks.
Edge with central control
Many small clusters at shops or factories, all configured from a central repository and able to run when disconnected.
Wave-based rollout
Release changes to a few clusters first, watch, then widen.
Anti-patterns to avoid
The pattern
Making emergency changes by hand directly in clusters and forgetting to update the repository.
Why it hurts
The agent will undo the manual change, or if drift correction is off, clusters silently diverge and nobody knows the true state.
Better approach
Make even urgent changes through the repository, using a fast-track review path for emergencies.
The pattern
Turning on every feature for every cluster on the first day.
Why it hurts
Teams are overwhelmed, problems are hard to trace to their cause, and costs rise before value appears.
Better approach
Adopt one capability at a time, such as fleet registration, then configuration sync, then policy, then mesh, proving value at each step.
The pattern
Enforcing a new policy everywhere immediately, with no audit period.
Why it hurts
A new rule can block critical deployments or break running workflows without warning.
Better approach
Start in audit mode, fix violations, then enforce, first on test clusters and then on production.
The pattern
Treating one giant cluster as a substitute for good isolation.
Why it hurts
A single mistake or outage affects everything, and teams collide over shared resources.
Better approach
Use several clusters, organized by environment, sensitivity or region, and manage them as a fleet.
The pattern
Skipping network and address planning before building clusters.
Why it hurts
Overlapping address ranges and missing firewall paths cause delays that are expensive to fix later.
Better approach
Design address ranges and connectivity for the whole fleet first, with the network team.
23Best Practices and Common Mistakes
A short checklist from teams who have run fleets in production for a long time.
Best practices
- Keep all configuration and policy in Git with required reviews and automated checks.
- Separate platform and application ownership through root and namespace sources.
- Introduce policy in audit mode first, then enforce.
- Use workload identity instead of stored keys and review access regularly.
- Keep secrets out of the repository and use a secret manager.
- Plan addresses and network paths early and provide at least two independent links between locations.
- Roll out changes in waves, starting with test clusters.
- Upgrade often and in small steps, and track versions on the fleet dashboard.
- Declare resource requests and disruption budgets for every application.
- Practice disaster recovery at least a few times a year.
- Adopt features gradually, proving value at each step.
- Write a short runbook for the person on call.
Common mistakes
Underestimating the people side. The platform needs a skilled team and clear ownership. Tools alone do not create consistency.
Leaving the configuration repository weakly protected, even though it controls every cluster.
Ignoring cluster version support dates until a cluster is unsupported and hard to upgrade.
Assuming that attached clusters get the same features and the same level of management as clusters built by Google. Check the feature differences for each location.
Failing to measure cost and capacity, so that clusters grow and platform fees climb without anyone noticing.
Trusting the product names in old tutorials. Check the current names and features in the official documentation before following any guide.
24Walkthrough: An Adoption Roadmap
A practical order of work for a company that wants to adopt a fleet platform without getting lost.
Take stock
List every cluster you have, where it runs, who owns it, which version it uses and which applications live on it. You cannot manage what you have not counted. Many teams discover clusters nobody remembered.
Define the goals
Write down why you are doing this. Is it consistent security, lower operating effort, a path out of a data center, or compliance evidence? Goals decide which features come first.
Design the fleet and the network
Choose the fleet layout, such as separate test and production fleets, plan address ranges and agree on connectivity between locations with the network and security teams.
Register the first clusters
Start with a few non-critical clusters. Register them, confirm that they appear in the console and learn how the Connect agent behaves in your network.
Create the repository and turn on configuration sync
Set up the Git repository structure, agree on review rules and move a small, safe set of settings under sync control, such as namespaces and access rules.
Introduce policy in audit mode
Turn on a small bundle of well-understood rules to report only. Study the results, fix what is wrong, then move rules to enforcement one at a time.
Bring in observability
Make sure logs, metrics and fleet dashboards work across all clusters, and agree on alerts and who receives them.
Add the mesh where it pays off
Choose a few services that gain real value from encrypted calls and traffic control, and adopt the mesh for them first.
Expand to production
Repeat the proven steps for production clusters in waves, and rehearse upgrades and disaster recovery.
Keep improving
Review costs, update runbooks, retire unused clusters and train new team members. A platform is a living service, not a project with an end date.
Most successful adoptions take many months, not weeks. Each step should deliver a visible benefit, such as one fewer manual task, so that the whole organization sees progress and keeps supporting the work.
25Case Study: A Retailer with Clusters in the Cloud, the Data Center and the Stores
Putting every idea together in one realistic design.
Imagine a national retail chain with three kinds of locations. Its online shop and analytics run in Google Cloud. Its inventory and finance systems run in two company data centers because of old contracts and data rules. And each of its four hundred stores has a small cluster that runs the checkout software, which must keep working even when the internet is down.
flowchart TD
GIT["Git repository with configuration and policy"] --> HUB["Fleet in Google Cloud"]
HUB --> CL["Cloud clusters - online shop and analytics"]
HUB --> DC["Data center clusters - inventory and finance"]
HUB --> ST["Store clusters - checkout in 400 stores"]
CL |"service mesh across clusters"| DC
ST -->|"sales data sent when connected"| DC
OBS["Central logging, monitoring and dashboards"] --- HUB
CL --> OBS
DC --> OBS
ST --> OBS
One repository, three kinds of clusters
The platform team keeps one repository with a shared base of rules and settings, plus overlays for each kind of location. Every store cluster is identical except for a few details like its store number. A new store is opened by registering its cluster and pointing it at the store folder. Within minutes the checkout software and its rules are installed, without a technician configuring anything by hand.
Staying up when the link is down
A store cluster keeps running its checkout software even if the connection to the center is cut, because the software and its settings are already in the cluster. When the link returns, the agent catches up with any changes and the store uploads its sales. The design accepts that management is temporarily out of touch while the business keeps running.
Policy and security everywhere
A single set of policies says that only signed images from the company registry may run, that no container may run with administrator privileges and that every workload must have resource limits. These rules apply equally to the cloud, the data centers and the stores. Auditors receive one report for all four hundred and three clusters.
Rolling out a new checkout version
When a new version of the checkout software is ready, the team first sends it to a test fleet of a few lab clusters. Then it goes to ten pilot stores. If error rates stay normal for a day, the change is sent to fifty stores, then to the rest in waves overnight when stores are closed. If anything goes wrong, the team reverts the change in Git, and every store follows.
Across the data center and the cloud
The online shop in the cloud needs stock levels from the inventory system in the data center. The service mesh carries these calls securely between the clusters, encrypting them and measuring their delay. If one data center fails, the mesh sends calls to the second data center, and the shop continues with a short pause.
What the business gains
The company opens new stores faster, applies security fixes to hundreds of clusters in days instead of months, and shows regulators consistent evidence. The platform team of a few dozen people looks after an estate that would otherwise need several times as many engineers.
26Real-World Usage Scenarios
These scenarios show the patterns above in familiar business settings. They illustrate how large organizations face these problems, and are not statements about any specific company’s tools.
Banking and regulated finance
A large bank such as Citi or Goldman Sachs must keep certain data in specific countries and prove that controls are applied consistently. A fleet with central policy and audit lets the bank run some workloads in its own data centers and others in the cloud under the same rules.
Telecommunications
A telecom operator like Vodafone or Airtel runs software at thousands of small sites near its network equipment, where delay must be tiny. A bare-metal cluster at each site, managed from one center, gives them consistent software without sending engineers to every location.
Manufacturing
A manufacturer like Siemens or Toyota runs analysis software on factory floors to detect faults on production lines in real time. The programs run in clusters inside each factory, even when the connection to the cloud is slow, while model training happens centrally in the cloud.
Healthcare
A hospital group might keep patient data inside hospital data centers while using cloud analytics on anonymized information. The shared management layer provides one place for access control and audit records.
Mergers and acquisitions
A company that buys another business inherits clusters on a different cloud provider. Rather than rebuild everything immediately, it attaches those clusters to its fleet, applies shared policy and observes them, then migrates at a comfortable pace.
Software vendors serving many customers
A software company that sells to customers who insist on different clouds can run its product on all of them from one set of configuration, which lowers the cost of supporting each customer’s preferred environment.
27Failure Scenarios and Recovery
Good engineers imagine failure before it happens. These are the situations you will meet and how a well-built fleet behaves in each.
| Situation | What happens | What you should do |
|---|---|---|
| A cluster loses contact with Google Cloud | Applications keep running; fleet views and new changes pause | Check network and firewall, and expect the cluster to catch up when contact returns |
| A bad change is merged into the repository | Clusters apply it, unless policy refuses it | Revert the change in Git and let clusters follow |
| Someone edits a cluster by hand | Drift correction restores the stored state | Make the change through the repository instead |
| A new policy blocks a critical deployment | The deployment is refused at the door | Fix the workload or adjust the policy, and use audit mode for new rules |
| A data center is lost | Clusters there are unavailable | Shift traffic to healthy clusters, rebuild from the repository and restore data from backups |
| A cluster version goes out of support | It stops receiving fixes | Upgrade in waves, and watch the version dashboard to prevent this |
| Network link between locations fails | Cross-location calls fail or slow down | Use a second independent link and keep services local where possible |
| Certificates used by the mesh expire | Service-to-service calls start to fail | Monitor certificate lifetimes and rely on automatic renewal |
When the repository itself is the problem
Because clusters obey the repository, a serious mistake there spreads fast. Guard against this with required reviews, automated tests, staged branches for different environments and the ability to roll back quickly. Some teams also keep a break-glass procedure for the rare moment when they must act directly on a cluster, with strong logging and a rule that the same change is recorded in the repository afterwards.
When a team cannot reach a cluster
The connect gateway and outgoing channel usually let people reach clusters even when no direct network route exists. If these fail, teams need a documented backup path, such as a jump host inside the network, and the credentials for it kept safely and tested.
When the cause is unclear
Start with the fleet dashboard. Is the cluster in sync? Is the connection healthy? Are policy violations rising? Then look at logs and traces for the specific service. A habit of asking “what changed recently?” solves a surprising share of problems, and because changes live in Git, the answer is easy to find.
Most incidents in a fleet trace back to a change. If every change is reviewed, small and reversible, most incidents become short and boring.
28The Team and Skills Behind the Platform
Technology succeeds or fails through people. Here is what a healthy operating model looks like.
The platform team
A small group, often called the platform team, builds and runs the fleet as a service for the rest of the company. Their customers are the application teams. They provide clusters, repositories, policies, dashboards and clear instructions, and they treat the platform as a product: they listen to users, measure satisfaction and improve it steadily.
The application teams
Application teams own their programs from design to operation. They write the configuration for their namespaces, respond to alerts about their services and follow the guardrails set by the platform team. The goal is that they never need to understand every detail of the clusters.
Skills worth building
Kubernetes fundamentals
Pods, deployments, services, namespaces and how controllers work. Everything else builds on this.
Git workflows
Branching, reviews and automated tests, since Git is now the control surface of the platform.
Networking
Addresses, routing, firewalls and the behavior of links between locations.
Security and identity
Access control, workload identity, supply chain security and policy writing.
Observability
Reading logs, metrics and traces, and building useful alerts.
Reliability thinking
Failure modes, recovery plans and calm incident handling.
Communication and documentation
A platform grows trust by being predictable and well explained. Keep a short, current guide for new teams, publish the roadmap, announce upgrades well in advance and hold regular open sessions where teams can ask questions. A platform that people find easy to use will be used. A platform that people find confusing will be bypassed, and the consistency you wanted will disappear.
Governance without bureaucracy
Governance means deciding who may change what, and how decisions are recorded. In a fleet it can stay light, because most rules are written into policy and enforced automatically. A short list of decisions needs a human owner: which clusters exist, which versions are allowed, which registries are trusted, and which exceptions to policy are granted. Write these decisions down, give each an owner and review them a few times a year. Exceptions deserve special care. Every exception should have a reason, an owner and an end date, so temporary permissions do not quietly become permanent holes.
Sharing the bill fairly
When many teams share clusters, someone will ask who is responsible for the cost. Labels on namespaces and workloads, such as team and cost center, make it possible to split the bill by usage. Policy can require these labels, so that nothing runs without an owner. Share a monthly report with each team showing its capacity use and its trend. Teams that can see their own costs tend to right-size their workloads without being asked, and the platform team can focus on improving the platform instead of chasing invoices.
Onboarding a new team
A good platform makes the first day easy. A new team asks for a namespace through a simple request that becomes a change in the repository. After review, the platform creates the namespace, applies the standard access rules and quotas, connects the team to logging and monitoring and gives them a starter template for their first application. The team can deploy a simple program within hours, not weeks. This quick start is the best advertisement the platform can have, and it keeps teams inside the guardrails because the easy path is also the correct path.
Handling feedback and change
Collect feedback regularly and publish what you decide to change, so teams see that their voices matter. When you must make a disruptive change, such as retiring an old feature or tightening a policy, announce it early, explain the reason, offer help with migration and set a clear date. Surprises erode trust, while predictable change builds it.
Track how long it takes a new team to deploy its first application, how many clusters are in sync, how fast security fixes reach every cluster and how satisfied application teams are. These show whether the platform is paying off.
29Frequently Asked Questions
Short answers to the questions people ask most often.
No. Kubernetes runs containers inside a cluster. Anthos manages many Kubernetes clusters across locations, adding fleet management, configuration sync, policy and a service mesh.
Anthos was the original name of the platform. Google later packaged its capabilities as the GKE Enterprise edition and grouped on-premises and edge offerings under Google Distributed Cloud. Confirm current names in the official documentation.
No. Clusters can run on Google Cloud, on your own servers, on other clouds and at the edge. Google Cloud is the place where the management layer lives.
Not necessarily. Your application data can stay in your own location. Management signals such as cluster status and logs go to Google Cloud unless you choose a fully isolated option or limit what is sent.
No. The Connect agent opens an outgoing connection, so clusters behind strict firewalls need only allow that outgoing path.
Configuration sync notices the difference from the repository and restores the stored state. Make changes through the repository.
Only if you need its features, such as encrypted service-to-service calls, traffic control or detailed service metrics. Many teams adopt fleet management and policy first and add the mesh later.
Yes. Clusters from other providers can be attached to a fleet to gain visibility and policy, though some features may be more limited than on clusters Google builds and manages.
Choose a rung on the modernization ladder: leave it, convert it to a container with migration tools, refactor part of it or rebuild it. Convert only where the benefit is clear.
It is most useful when you have many clusters or several locations. With one or two clusters in a single cloud, the managed Kubernetes service alone is often enough.
Pricing has changed over time and is generally based on the capacity of the clusters under management, plus the cost of the underlying machines and network. Check the current pricing page before planning.
Your applications stay portable because they use open-source Kubernetes and Istio. The management layer is a real commitment, so keep configuration in plain files and avoid unnecessary proprietary dependencies.
No. Limits, names, features and prices change from time to time. Always confirm current details in the official documentation before a major decision.
30Summary and Key Takeaways
Key Takeaways
- Anthos manages Kubernetes at scale: it gives one consistent way to run, configure, secure and observe clusters in Google Cloud, in data centers, on other clouds and at the edge.
- The fleet is the unit of management: features and policies are switched on for groups of clusters, not one at a time.
- Git is the source of truth: configuration sync keeps every cluster matching the repository and corrects drift automatically.
- Policy guards the door: admission control refuses risky changes, so introduce rules in audit mode and then enforce.
- Security comes in layers: signed images, narrow access, workload identity, encrypted service calls and audit records work together.
- Adopt step by step: register clusters, then sync, then policy, then mesh, proving value at each stage, and rehearse upgrades and recovery.
- Check names and prices: the product has been renamed and repackaged, so confirm current names, features, limits and pricing before you plan.