k3d 对于负载均衡器类型的服务没有外部 IP

nus*_*nov 5 kubernetes rancher k3s

我正在将 hello-world docker 容器部署到 k3d 集群。为了获取外部IP,部署了负载均衡器类型的服务。

之后我希望通过负载均衡器调用应用程序。但我没有得到外部IP。

k3d create --name="mydemocluster" --workers="2" --publish="80:80"

export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"

kubectl run kubia --image=hello-world --port=8080 --generator=run/v1
kubectl expose rc kubia --type=LoadBalancer --name kubia-http

export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"
Run Code Online (Sandbox Code Playgroud)

然后 kubectl get services3d

Arg*_*dhu 7

LoadBalancer仅当您使用 AWS EKS、Azure AKS、Google GCP 等云提供商提供的托管 kubernetes 服务时,类型服务才会获取外部 IP。 k3d 等工具用于本地开发,如果您创建类型服务,外部 IP 将处于待处理LoadBalancer状态。另一种方法是使用 NodePort 类型 service 或 ingress 。这是关于此的文档

您也可以使用kubectl port forwardkubectl proxy访问 pod。