我是Kubernetes的新手,但我不确定它们是一个概念,即云提供商。
我设法使用L7入口和ClusterIP服务运行正在运行的应用程序,但是每次尝试使用L4 LoadBalancer时,LoadBalancer都处于挂起状态。根据{{3}},这是因为我没有任何CloudProvider。
但是CloudProvider的确切目的是什么?难道不是要在云上运行Kubernetes节点,pod等吗?如果是的话,由于我的配置,如果我的应用程序是Pod,而我的应用程序已经在云中并且可以从外部访问,那为什么还要麻烦我获得CloudProvider?
所以我的以下问题是:
感谢您对此主题的任何澄清/建议。 -
答案 0 :(得分:0)
对于Rancher
外部云提供商是运行的kubernetes控制器 云提供商功能所需的特定于云提供商的循环 kubernetes。这些循环原本是 kube-controller-manager,但是他们紧密地耦合了 kube-controller-manager到云提供商特定的代码。为了 释放kubernetes项目的这种依赖关系, 引入了云控制器管理器。
这使我们进入Kubernetes Cloud Controller Manager
的主题Kubernetes v1.6引入了一个新的二进制文件,称为 云控制器经理。 cloud-controller-manager是一个守护程序, 嵌入特定于云的控制循环。这些特定于云的控件 循环最初在kube-controller-manager中。由于云 提供者的开发和发布速度与 Kubernetes项目,将提供商特定的代码抽象到 cloud-controller-manager二进制文件允许云供应商发展 独立于核心Kubernetes代码。
关于LoadBalancer部分:
您需要拥有一个Kubernetes集群和kubectl命令行 该工具必须配置为与您的群集通信。
一个API对象,用于管理外部访问服务中的服务 群集,通常是HTTP。入口可以提供负载平衡,SSL 终止和基于名称的虚拟主机。
如果您想比使用this SO thread更好地了解这一概念,那么
最后是关于自定义Cloud Provider的信息。可以为RKE启用其他云提供商:
如果要启用其他云提供商,RKE允许 自定义云提供商选项。必须提供名称和自定义 Cloud Provider选项可以作为多行字符串传入
customCloudProvider
。
希望对您有帮助。