如何设置 100 个节点的 kubernetes 集群

How to set up a 100 nodes kubernetes cluster

performance test report可以看出kubernetes可以支持100个节点。

为了做同样的测试,我设置了一个 100 个节点的 kubernetes 集群,但是 kube-apiserver 在设置集群时变慢了。这意味着当我输入 kubectl get nodes 时,它暂停并且无法得到任何响应。

为了找到原因,我检查了kube-apiserver的连接,发现8080端口上有大约660+个ESTABLISHED连接(我使用了apiserver的不安全端口),当我停止一些(大约20个) ) 奴隶, apiserver 恢复普通。所以我认为kube-apiserver变慢的原因是并发太大。

所以我想知道 Google 是如何设置 100 个节点的集群的?我的工作有问题吗?

PS: kube-apiserver--max-requests-inflight已经设置为0.

您 link 的文档描述了所使用的方法(特别是主 VM 大小)。该集群是在 Google Compute Engine 中使用存储库中的默认 cluster/kube-up.sh 脚本创建的,其中包含所有默认设置。

您使用的母版有多大?如果它真的很小,它可能会遇到很多节点和 pods.

这就是用于创建集群并使用 kubernetes 对其进行管理的内容

def make_cluster(CID, mach_type, nof_machs, ZID):
    """
    Given machine type and # of machines, creates cluster

    Parameters
    ------------

    CID: string
        cluster id

    mach_type: string
        machine type

    nof_machs: integer
        number of machines

    ZID: string
        zone id

    returns: integer
        return code from gcloud call
    """

    cmd = "gcloud container clusters create {0} --machine-type {1} --zone {3} --num-nodes {2}".format(CID, mach_type, nof_machs, ZID)

    rc = subprocess.call(cmd, shell=True)
    return rc