本文主要为您介绍如何将多个集群进行组建。

前提条件

背景信息

出于业务形态或云灾备场景需求,多地域部署服务时,需要对 Kubernetes 不同地域的集群进行管理。kubefed(集群联邦)是 Kubernetes 社区中重要的多云管理项目,实现了跨地区跨云服务厂商管理多个 Kubernetes 集群的功能。通过 kubefed 主集群提供一组 API,您可以管理多集群的配置。有关集群联邦的详细概念,请参见GitHub链接Kubefed架构图

操作步骤

  1. 执行kubectl config get-contexts命令,获取集群列表信息。
    看到如下信息时,表示已配置完成。
    CURRENT   NAME       CLUSTER    AUTHINFO            NAMESPACE
    *         cluster1   cluster1   kubernetes-admin1
              cluster2   cluster2   kubernetes-admin2
  2. 执行如下命令,将cluster1设置为主集群,cluster2设置为从集群,完成联邦集群的组建。
    设置host集群
    kubefedctl join host-cluster --cluster-context=cluster1 \
        --host-cluster-context=cluster1 --v=2
    加入member集群
    kubefedctl join member-cluster-1 --cluster-context=cluster2 \
        --host-cluster-context=cluster1 --v=2
  3. 执行以下命令,查看联邦集群的接入情况。
    看到如下信息,说明联邦集群已经接入成功。
    kubectl get federatedcluster -n kube-federation-system
    
    NAMESPACE                NAME               READY   AGE
    kube-federation-system   host-cluster       True    104d
    kube-federation-system   member-cluster-1   True    104d