Kubernetes服务外部IP挂起。

312

我正在尝试在 Kubernetes 上部署 nginx,Kubernetes 版本为 v1.5.2,我已经使用 3 个副本部署了 nginx,YAML 文件如下:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: deployment-example
spec:
  replicas: 3
  revisionHistoryLimit: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.10
        ports:
        - containerPort: 80

现在我想将其端口80暴露在节点的端口30062上,为此我创建了以下服务:

kind: Service
apiVersion: v1
metadata:
  name: nginx-ils-service
spec:
  ports:
    - name: http
      port: 80
      nodePort: 30062
  selector:
    app: nginx
  type: LoadBalancer

该服务的表现良好,但在Kubernetes仪表板和终端上仍显示为挂起状态。 终端输出仪表板状态

32个回答

-1

如果您正在尝试在本地云中执行此操作,则需要一个L4LB服务来创建LB实例。

否则,您最终会遇到您所描述的无休止的“挂起”消息。可以在此视频中看到:https://www.youtube.com/watch?v=p6FYtNpsT1M

您可以使用开源工具来解决此问题,该视频提供了有关自动化过程应如何工作的一些指导。


1
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。- 来自审查 - Bracken

-1

我在使用 AWS EKS 时遇到了同样的问题

以下是解决方法:

正确标记 Amazon Virtual Private Cloud (Amazon VPC) 子网

为您的集群的 IAM 角色提供所需的 AWS Identity and Access Management (IAM) 权限

有效的 Kubernetes 服务定义

保持在账户限制内的负载均衡器

子网上有足够的空闲 IP 地址

Need to ensure following tags

Key: kubernetes.io/cluster/yourEKSClusterName
Value: shared

Key: kubernetes.io/role/elb
Value: 1

Key: kubernetes.io/role/internal-elb
Value: 1

请注意,在您工作的区域中,确保启用了sts设置。sts设置可以在用户、地区设置下找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接