Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用config.yaml创建多主kubernetes HA集群_Kubernetes - Fatal编程技术网

使用config.yaml创建多主kubernetes HA集群

使用config.yaml创建多主kubernetes HA集群,kubernetes,Kubernetes,我现在正在探索如何创建包含3个主节点和3个工作节点的HA kubernetes集群。我遵循以下文件: 在这里,我遵循文档中的第二个选项。即,在主节点上托管etcd群集。所以根据文档,我从步骤开始——“在master0上运行kubeadminit”。表示我在主节点上托管etcd群集。当我引用需要创建的配置文件时,我对配置文件中的一些术语感到困惑。为了清楚起见,让我在这里添加配置文件 cat >config.yaml <<EOF apiVersion: kubeadm

我现在正在探索如何创建包含3个主节点和3个工作节点的HA kubernetes集群。我遵循以下文件:

在这里,我遵循文档中的第二个选项。即,在主节点上托管etcd群集。所以根据文档,我从步骤开始——“在master0上运行kubeadminit”。表示我在主节点上托管etcd群集。当我引用需要创建的配置文件时,我对配置文件中的一些术语感到困惑。为了清楚起见,让我在这里添加配置文件

   cat >config.yaml <<EOF
   apiVersion: kubeadm.k8s.io/v1alpha1
   kind: MasterConfiguration
   api:
      advertiseAddress: <private-ip>
   etcd:
      endpoints:
      - https://<etcd0-ip-address>:2379
      - https://<etcd1-ip-address>:2379
      - https://<etcd2-ip-address>: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: <podCIDR>
   apiServerCertSANs:
   - <load-balancer-ip>
   apiServerExtraArgs:
     apiserver-count: "3"
   EOF 

cat>config.yaml我想扩展Jonah Benton的答案,该答案简要描述了它的工作原理

Kubernetes集群由三种主要类型的组件组成。 安装的组件为节点创建角色。节点是虚拟机或物理机,其中包含群集 服务正在运行。组件可以逻辑上位于单独的节点上,也可以安装在一个节点上,如minikube

Kubernetes主节点需要运行API服务器、控制器管理器、调度器等守护进程。 在使用这些软件组件时,主节点管理工作节点,其中包括容器引擎、iptables和kubelet 和服务代理正在运行

Etcd是一个组件,其中运行集群的状态用于HA、负载平衡和运行状况检查 将保存节点的个数。建议在集群的1个、3个或最多5个节点上运行etcd,以实现集群的可靠性和复制 条件安装etcd作为附加组件的Worker节点是一种流行的安装方法

我们只能在运行API服务器的节点上调用真正的主节点

让我们看看您提供的配置文件:

    etcd:   
      endpoints: 
      - https://<etcd0-ip-address>:2379 
      - https://<etcd1-ip-address>:2379 
      - https://<etcd2-ip-address>:2379
etcd:
端点:
-https://:2379
-https://:2379
-https://:2379
关于你的问题,答案是肯定的。这是为etcd守护程序定义端点而保留的位置。如果你计划 要使主节点运行etcd的高可用性集群,可以用主节点IP地址替换这些条目


我在这本书中发现了库伯内特斯的一些被描述得很好的成分。这可能有助于理解Kubernetes集群的依赖性。

我想扩展Jonah Benton的答案,该答案简要描述了它是如何工作的

Kubernetes集群由三种主要类型的组件组成。 安装的组件为节点创建角色。节点是虚拟机或物理机,其中包含群集 服务正在运行。组件可以逻辑上位于单独的节点上,也可以安装在一个节点上,如minikube

Kubernetes主节点需要运行API服务器、控制器管理器、调度器等守护进程。 在使用这些软件组件时,主节点管理工作节点,其中包括容器引擎、iptables和kubelet 和服务代理正在运行

Etcd是一个组件,其中运行集群的状态用于HA、负载平衡和运行状况检查 将保存节点的个数。建议在集群的1个、3个或最多5个节点上运行etcd,以实现集群的可靠性和复制 条件安装etcd作为附加组件的Worker节点是一种流行的安装方法

我们只能在运行API服务器的节点上调用真正的主节点

让我们看看您提供的配置文件:

    etcd:   
      endpoints: 
      - https://<etcd0-ip-address>:2379 
      - https://<etcd1-ip-address>:2379 
      - https://<etcd2-ip-address>:2379
etcd:
端点:
-https://:2379
-https://:2379
-https://:2379
关于你的问题,答案是肯定的。这是为etcd守护程序定义端点而保留的位置。如果你计划 要使主节点运行etcd的高可用性集群,可以用主节点IP地址替换这些条目


我在这本书中发现了库伯内特斯的一些被描述得很好的成分。它可能有助于理解Kubernetes群集的依赖性。

是-这些字段应该包含托管etcd的机器的ip地址,在您的情况下,以及在常见情况下,这些机器都是主节点。未在k8s主节点上运行etcd的用户已经在别处运行etcd群集,因此他们使用该etcd群集也为kubernetes提供服务。感谢您的回复。我明白你的意思。同样在下面,d0bry先生解释了您的观点。是-这些字段应该包含托管etcd的机器的ip地址,在您的情况下,以及在常见情况下,这些机器都是主节点。未在k8s主节点上运行etcd的用户已经在别处运行etcd群集,因此他们使用该etcd群集也为kubernetes提供服务。感谢您的回复。我明白你的意思。下面,d0bry先生也解释了您的观点。谢谢您的回复。我明白了。但你在这里给出的链接只是一个大概的想法。不在哈库伯内特斯星系群的深处。在这里我也感觉到了“-”。如何在这里添加负载平衡器Ip?。我需要为此添加另一个VM吗?在多主机集群中,api服务器的客户端需要决定与哪个api服务器对话。大多数客户端组件都无法获取3或5个ip地址并执行自己的故障切换和重试(例如,如果与它们对话的特定主机死亡),因此常见的情况是在主机前运行高可用性负载平衡器。高可用性的最低要求是在两个虚拟机上运行负载平衡软件,并拥有一个虚拟IP或VIP,虚拟机以各种方式轮流发布。该VIP是负载均衡器ip。它是群集的虚拟api服务器。感谢您的回复。我明白了。但你在这里给出的链接只是一个大概的想法。不在哈库伯内特斯星系群的深处。在这里我也感觉到了“-”。如何在这里添加负载平衡器Ip?。我需要为此添加另一个VM吗?在多主机集群中,api服务器的客户端需要决定与哪个api服务器对话。大多数客户端组件无法获取3或5个ip地址并执行自己的故障切换和重试(例如,如果与它们对话的特定主机死亡)