Note:
Federation V1
, the current Kubernetes federation API which reuses the Kubernetes API resources ‘as is’, is currently considered alpha for many of its features. There is no clear path to evolve the API to GA; however, there is aFederation V2
effort in progress to implement a dedicated federation API apart from the Kubernetes API. The details are available at sig-multicluster community page. –>
Federation V1
, 是当前的 Kubernetes 联邦 API, 它“原样”重用 Kubernetes API 资源, 其许多特性目前被认为是 alpha。 没有明确的途径将 API 发展成 GA; 然而, 除了 Kubernetes API 之外, 还有一个Federation V2
正在努力实现专用的联邦 API。详细信息可在 sig-multicluster 社区页面 获得。
本指南介绍了如何在联邦控制平面中使用 DaemonSet。
联邦控制平面中的 DaemonSet (即本指南中的联邦 DaemonSet)与传统的 Kubernetes DaemonSet 非常相似,并提供相同的功能。
在联邦控制平面中创建它们可以确保它们跨联邦中的所有集群保持同步。
This guide assumes that you have a running Kubernetes Cluster Federation installation. If not, then head over to the federation admin guide to learn how to bring up a cluster federation (or have your cluster administrator do this for you). Other tutorials, such as Kelsey Hightower’s Federated Kubernetes Tutorial, might also help you create a Federated Kubernetes cluster. –>
本指南假设您已安装有一个正在运行的 Kubernetes 集群联邦。如果没有,那么请转到 联邦管理指南,了解如何启动联邦集群(或者让集群管理员为您执行此操作)。 其他教程,例如 Kelsey Hightower 的联邦 Kubernetes 教程, 也可能帮助您创建联邦 Kubernetes 集群。
用于联邦 DaemonSet 的 API 与用于传统 Kubernetes DaemonSet 的 API 100% 兼容。 您可以通过向联邦 apiserver 发送请求来创建 DaemonSet。
您可以通过使用 kubectl 运行以下命令来执行此操作:
kubectl --context=federation-cluster create -f mydaemonset.yaml
--context=federation-cluster
参数告诉 kubectl 将请求提交给联邦 apiserver,
而不是发送给 Kubernetes 集群。
一旦创建了联邦 DaemonSet,联邦控制平面将在所有底层 Kubernetes 集群中创建匹配的 DaemonSet。 您可以通过检查每个基础集群来验证这一点,例如:
kubectl --context=gce-asia-east1a get daemonset mydaemonset
上面假设您的客户机中为该区域中的集群配置了一个名为 ‘gce-asia-east1a’ 的上下文。
您可以像更新 Kubernetes DaemonSet 一样更新联邦 DaemonSet; 但是,对于联邦 DaemonSet,您必须将请求发送到 联邦 apiserver 而不是将其发送到特定的 Kubernetes 集群。 联邦控制平面确保每当更新联邦 DaemonSet 时,它都会更新所有底层集群中的相应 DaemonSet 以匹配它。
您可以删除联邦 DaemonSet,就像删除 Kubernetes DaemonSet 一样; 但是,对于联邦 DaemonSet,您必须将请求发送到 联邦 apiserver 而不是将其发送到特定的 Kubernetes 集群。
例如,您可以通过使用 kubectl 运行以下命令执行此操作:
kubectl --context=federation-cluster delete daemonset mydaemonset
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.