代码之家  ›  专栏  ›  技术社区  ›  Prafull Ladha

使用配置文件向kubeadm init提供节点名

  •  1
  • Prafull Ladha  · 技术社区  · 6 年前

    我需要为我在kuberenetes中的主节点提供一个特定的节点名。我正在使用kubeadm设置集群,我知道有一个选项 --node-name master 你可以提供给kubeadm init,它工作得很好。

    现在,问题是我正在使用配置文件初始化集群,我尝试了各种方法向集群提供该节点名,但它没有获取该名称。我的kubeadm init配置文件是:

    apiVersion: kubeadm.k8s.io/v1alpha1
    kind: MasterConfiguration
    api:
      advertiseAddress: 10.0.1.149
      controlPlaneEndpoint: 10.0.1.149
    etcd:
      endpoints:
      - http://10.0.1.149:2379
      caFile: /etc/kubernetes/pki/etcd/ca.pem
      certFile: /etc/kubernetes/pki/etcd/client.pem
      keyFile: /etc/kubernetes/pki/etcd/client-key.pem
    networking:
      podSubnet: 192.168.13.0/24
    kubernetesVersion: 1.10.3
    apiServerCertSANs:
    - 10.0.1.149
    apiServerExtraArgs:
      endpoint-reconciler-type: lease
    nodeRegistration:
      name: master
    

    现在我跑 kubeadm init --config=config.yaml 它超时,错误如下:

    [uploadconfig] Storing the configuration used in ConfigMap "kubeadm- 
    config" in the "kube-system" Namespace
    [markmaster] Will mark node ip-x-x-x-x.ec2.internal as master by 
    adding a label and a taint
    timed out waiting for the condition
    

    附言:当你不提供 --hostname-override 去Kubelet和 --node-name 至Kubeadm Init。我两者都提供。另外,当我不使用时,我不会面临任何问题。 config.yaml 文件并使用命令行提供 --节点名称 选择Kubeadm init。

    我想知道我们如何提供 --节点名称 config.yaml文件中的选项。任何提示都会受到赞赏。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Prafull Ladha    6 年前

    我可以使用以下配置文件解决此问题,只需在任何人遇到相同问题时进行更新:

    apiVersion: kubeadm.k8s.io/v1alpha1
    kind: MasterConfiguration
    api:
      advertiseAddress: 10.0.1.149
      controlPlaneEndpoint: 10.0.1.149
    etcd:
      endpoints:
      - http://10.0.1.149:2379
      caFile: /etc/kubernetes/pki/etcd/ca.pem
      certFile: /etc/kubernetes/pki/etcd/client.pem
      keyFile: /etc/kubernetes/pki/etcd/client-key.pem
    networking:
      podSubnet: 192.168.13.0/24
    kubernetesVersion: 1.10.3
    apiServerCertSANs:
    - 10.0.1.149
    apiServerExtraArgs:
      endpoint-reconciler-type: lease
    nodeName: master
    

    这是您可以指定的方式 --node-name 在配置文件中

    推荐文章