我尝试将Istio部署在虚拟机中运行的kubernetes集群中。我正在使用一个主控器和两个小兵(所有VB计算机都具有网桥适配器)。
在安装Istio(版本1.2.5)之后,istio-ingress网关外部IP处于 pending 状态。我知道我们可以使用节点端口来解决此问题,但是我想知道为什么我的环境不支持该LB外部IP。
Kubernetes version - kubeadm version: &version.Info
{
Major:"1",
Minor:"15",
GitVersion:"v1.15.3",
GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2",
GitTreeState:"clean",
BuildDate:"2019-08-19T11:11:18Z",
GoVersion:"go1.12.9",
Compiler:"gc",
Platform:"linux/amd64"
}
Docker version - Docker version 19.03.2, build 6a30dfc
OS Platform - CentOS - 7
答案 0 :(得分:1)
类型为LoadBalancer的Kubernetes Service要求Kubernetes在群集之外创建一个负载均衡器,以将流量路由到某些特定服务。 The documentation开头
在支持外部负载平衡器的云提供商上...
例如,在AWS上,Kubernetes可以使用AWS API来请求Amazon Elastic Load Balancer。
您不在这些环境之一中。与您最接近的等效项将是在任何VM之外的主机上运行haproxy
实例,而您的Kubernetes根本无法做到这一点。
由于可以直接调用VM,因此可以使用NodePort类型服务访问群集。 LoadBalancer服务是NodePort服务,因此您无需进行任何更改即可进行实验。