使用 Ingress Kubernetes 公开流量
Expose traffic using Ingress Kubernetes
我是 Kubernetes 新手。我按照 Kubernetes the hard way from Kesley Hightower and also this 在 Azure 中设置了 Kubernetes。现在所有服务都已启动并且 运行 正常。但我无法使用负载均衡器公开流量。我尝试添加类型为 LoadBalancer
的 Service
对象,但外部 IP 显示为 <pending>
。我需要添加入口以暴露流量。
nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-service
name: nginx-service
spec:
type: LoadBalancer
externalIPs:
- <ip>
ports:
- name: "80"
port: 80
targetPort: 80
- name: "443"
port: 443
targetPort: 443
selector:
app: nginx-service
谢谢,
默认情况下,Kubernetes The Hard Way 提出的解决方案不包含LoadBalancer 的解决方案。它永远悬而未决的事实是预期的行为。为此,您需要使用开箱即用的解决方案。一个很常用的是MetalLB.
MetalLB 不会为您分配外部 IP,它会在我们的 VPC 内分配一个内部 IP,您必须创建必要的路由规则以将流量路由到该 IP。
我是 Kubernetes 新手。我按照 Kubernetes the hard way from Kesley Hightower and also this 在 Azure 中设置了 Kubernetes。现在所有服务都已启动并且 运行 正常。但我无法使用负载均衡器公开流量。我尝试添加类型为 LoadBalancer
的 Service
对象,但外部 IP 显示为 <pending>
。我需要添加入口以暴露流量。
nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-service
name: nginx-service
spec:
type: LoadBalancer
externalIPs:
- <ip>
ports:
- name: "80"
port: 80
targetPort: 80
- name: "443"
port: 443
targetPort: 443
selector:
app: nginx-service
谢谢,
默认情况下,Kubernetes The Hard Way 提出的解决方案不包含LoadBalancer 的解决方案。它永远悬而未决的事实是预期的行为。为此,您需要使用开箱即用的解决方案。一个很常用的是MetalLB.
MetalLB 不会为您分配外部 IP,它会在我们的 VPC 内分配一个内部 IP,您必须创建必要的路由规则以将流量路由到该 IP。