如何为kubernetes群集指定群集名称
我正在尝试使用Kubeadm初始化Kubernetes集群 我基本上有三个问题。1个大问题和2个“子问题”,如果你愿意的话 我很难为群集分配群集名称。当我阅读如何为kubernetes群集指定群集名称,kubernetes,kubeadm,Kubernetes,Kubeadm,我正在尝试使用Kubeadm初始化Kubernetes集群 我基本上有三个问题。1个大问题和2个“子问题”,如果你愿意的话 我很难为群集分配群集名称。当我阅读kubeadm时,它有一个标志--config,您可以在其中指定用于初始化集群的yml文件 在他们的页面上指定了一个示例yml文件,但该文件有很多配置,我不知道如何设置。因此,我创建了一个配置文件,如下所示: apiVersion: kubeadm.k8s.io/v1beta1 kind: InitConfiguration adverti
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子网,并将节点(虚拟机或裸机)分配到另一个子网。下面的解决方案解决了您的问题吗?