当前位置: 首页 > 知识库问答 >
问题:

kubernetes中的Loadbalancer IP和Ingress IP状态为挂起

丁承德
2023-03-14

我使用两个Azure Ubuntu VM创建了Kubernetes集群。我能够使用Nodeport服务类型部署和访问Pod和部署。我还检查了kube-system名称空间中的Pod状态。POD的所有状态都显示为running。但是,每当我向Loadbalancer提及服务类型时,它并没有创建Loadbalancer IP,它的状态总是显示为挂起。我还为Nginx服务创建了一个入口控制器。但是,它并没有创建入口地址。在初始化Kubernetes主机时,我使用以下命令。

name:nginx namespace:default labels:app=nginx annotations:kubectl.kubernetes.io/last-appliced-configuration:{“apiversion”:“v1”,“kind”:“service”,“metadata”:{“annotations”:{},“labels”:{“app”:“nginx”},“name”:“nginx”,“name”:“nginx”,“namespace”:“default”},“spec”:{“p...选择器:app=nginx type:ClusterIP ip:10.96.107.97端口:http 80/TCP TargetPort:80/TCPendpoint:10.44.0.4:80,10.44.0.5:80,10.44.0.6:80会/代码>

APIPversion:networking.k8s.io/v1beta1 kind:Ingress元数据:name:test-ingress spec:backend:serviceName:nginx servicePort:80

Kubectl描述入口nginx

名称:test-ingress

命名空间:默认


共有1个答案

呼延鸿畅
2023-03-14

但使用Ingress Controller或直接通过NodePort就可以绕过这个问题。

但是,我还注意到在您的nginx服务中,您使用的是注释service.beta.kubernetes.io/aws-load-balancer-type:nlb,您说您使用的是Azure,这些是服务的平台特定注释,该注释是AWS特定的。

但是,您可以尝试这样的方法,如果您想直接使用公共ip,那么如果您有一个公共ip分配给您的节点,并且允许从某个地方进入流量,您可以通过在服务中提供externalips定义您的服务。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 9376
  externalIPs:
    - 80.11.12.10

但是,如果您计划构建自己的Kubernetes集群,那么一个很好的方法就是使用Ingress Controller

希望这有帮助。

 类似资料:
  • 我正在寻找关于如何正确使用Kubernetes本地存储PVC的帮助。 我们在Ubuntu上提供了一个kubespray集群,并启用了本地存储提供器。 我们做错了什么?

  • 目前,如果Autosys作业达到最大运行警报状态,就会向我们的帮助台生成电子邮件警报,他们可以采取适当的行动。根据我对AutoSys内部数据模型的理解,这是一个可能发生在作业上的“事件”。 这不同于我所知道的工作可以属于的各种雕像,一次一个; 已激活 非活动 开始 正在运行 成功 失败 挂起 冰上 开始晚 机器挂起 已终止 克里斯

  • 我面临的问题是: < li >当我加载页面时,服务器的控制台中会显示套接字(我可以获取远程地址和远程端口) < li >无论我做什么,客户端中的连接总是挂起。我尝试了Chrome、Brave、Mozilla和Safari,但似乎没有一个能用。 我错过了什么?我试图在连接准备好之前不发送消息,但我从未在我的PC中获得过该状态。即使我在没有事件的情况下建立onopen属性,客户端中的警报也不会弹出。

  • 嗨,我是ReactorNetty的新手。 我正在尝试使用连接池通过TCP协议传输。因此,我在应用程序启动时构建了ConnectionProvider,并将其作为参数提供给TcpClient。 发送20次后,应用程序抛出 如果我删除。pendingAcquireMaxCount(200)和。pendingAcquireTimeout(持续时间秒(20))在构建连接提供程序时,它抛出 我想这是因为连接

  • 问题内容: 我正在尝试新的React Hooks,并有一个带有计数器的Clock组件,该计数器应该每秒增加一次。但是,该值不会增加到超过一。 问题答案: 原因是传递给的闭包中的回调仅访问第一个渲染器中的变量,而无法访问后续渲染器中的新值,因为第二次未调用。 回调中的值始终为0 。 就像您熟悉的状态挂钩一样,状态挂钩有两种形式:一种是处于更新状态的状态,另一种是将当前状态传入的回调形式。您应该使用第

  • 我有一个小的井字游戏,一切都很好,除了我正在努力寻找在代码中放置完成功能的位置。让我给你看; 这基本上是整个游戏,我在另一个文件中有一个整理函数,就像这样; 完成功能也可以正常工作,但是由于useState是异步工作的,我知道这一点,我正在努力把它放在哪里。如果我把点击功能放在里面,它就不能对新的状态做出反应,只能对之前的状态做出反应。如果我把外面加上只是if语句,它会说渲染太多,因为我正在设置获