如何为kubernetes群集指定群集名称

如何为kubernetes群集指定群集名称,kubernetes,kubeadm,Kubernetes,Kubeadm,我正在尝试使用Kubeadm初始化Kubernetes集群 我基本上有三个问题。1个大问题和2个“子问题”,如果你愿意的话 我很难为群集分配群集名称。当我阅读kubeadm时,它有一个标志--config,您可以在其中指定用于初始化集群的yml文件 在他们的页面上指定了一个示例yml文件,但该文件有很多配置,我不知道如何设置。因此,我创建了一个配置文件,如下所示: apiVersion: kubeadm.k8s.io/v1beta1 kind: InitConfiguration adverti

我正在尝试使用Kubeadm初始化Kubernetes集群

我基本上有三个问题。1个大问题和2个“子问题”,如果你愿意的话

我很难为群集分配群集名称。当我阅读
kubeadm
时,它有一个标志
--config
,您可以在其中指定用于初始化集群的yml文件

在他们的页面上指定了一个示例yml文件,但该文件有很多配置,我不知道如何设置。因此,我创建了一个配置文件,如下所示:

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
advertiseAddress: "10.62.194.4" # is this correct (see below)
bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
networking:
    podSubnet: "10.62.194.0/16" # is this correct (see below)
controlPlaneEndpoint: "10.62.194.4:6443" #is this correct (see below)
clusterName: "dev-cluster"
我这样初始化
sudokubeadminit--config=config.yml

但是,当我尝试初始化上面的文件时,它没有按预期工作,并且在一段时间后超时

错误与此类似: 不幸的是,发生了一个错误:等待条件超时 此错误可能由以下原因引起: -kubelet没有运行 -kubelet不健康,因为节点在某种程度上配置错误(禁用了必需的cgroups)

当我执行
docker ps
时,我可以看到kube系统容器都在运行,没有退出的容器。正在运行的容器是 kube调度程序 kube-controller-manager\u kube-controller kube apiserver etcd ubuntu kube控制器管理器ubuntu xenial

第二个问题:集群名称重要吗?我想设置一个集群名称,因为我计划为3个不同的环境设置3个集群,这意味着3个不同的上下文。如果所有3个都具有相同的默认群集名称,是否会出现问题

也是这个问题的最后第三部分,如果我正在运行命令的服务器(这也是主服务器)的IP是
10.62.194.4
字段
advertiseAddress
podSubnet
controlPlaneEndpoint
是否正确?我计划在此群集中再添加一个节点,该节点的IP为10.62.194.5
谢谢

我相信,您正计划设置高可用的kubernetes设置。您必须在controlPlaneEndpoint选项上配置/提供Loadbalancer IP

  apiVersion: kubeadm.k8s.io/v1beta1
  kind: ClusterConfiguration
  networking:
      podSubnet: "10.62.194.0/16" 
  controlPlaneEndpoint: "Loadbalancer IP:6443" 
  clusterName: "dev-cluster"
您必须在kubeadm初始化命令上添加--upload certs选项,如下所示

  sudo kubeadm init --config=config.yaml --upload-certs

上述命令的输出提供了join命令,可将另一个主节点添加到此HA kubernetes群集设置中。

我知道有点晚了,但似乎子网与节点所在的子网重叠。我会为此使用不同的/16子网,并将节点(虚拟机或裸机)分配到另一个子网。

下面的解决方案解决了您的问题吗?