Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes负载平衡器类型不响应外部IP地址_Kubernetes - Fatal编程技术网

Kubernetes负载平衡器类型不响应外部IP地址

Kubernetes负载平衡器类型不响应外部IP地址,kubernetes,Kubernetes,我一直在尝试使用下面的代码将我的应用程序公开给公共IP。这是在Azure上完成的。公共IP是生成的,但当我浏览到它时,我什么也得不到 这是一个Django应用程序,它在端口8000上运行容器。该服务目前在端口80运行,但即使我将该服务配置为在端口8000运行,它仍然无法工作 我的服务定义方式是否有问题 apiVersion: v1 kind: Service metadata: name: web labels: app: hmweb spec: ports: - p

我一直在尝试使用下面的代码将我的应用程序公开给公共IP。这是在Azure上完成的。公共IP是生成的,但当我浏览到它时,我什么也得不到

这是一个Django应用程序,它在端口8000上运行容器。该服务目前在端口80运行,但即使我将该服务配置为在端口8000运行,它仍然无法工作

我的服务定义方式是否有问题

apiVersion: v1
kind: Service
metadata:
  name: web
  labels:
    app: hmweb
spec:
  ports:
    - port: 80
  selector:
    app: hmweb
    tier: frontend
  type: LoadBalancer

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hmweb-deployment
  labels:
    app: hmweb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hmweb
  template:
    metadata:
      labels:
        app: hmweb
    spec:
      containers:
      - name: hmweb
        image: nw_webimage
        envFrom:
          - configMapRef:
              name: new-config
        command: ["/bin/sh","-c"]
        args: ["gunicorn saleor.wsgi -w 2 -b 0.0.0.0:8000"]
        ports:
        - containerPort: 8000
      imagePullSecrets:
      - name: key
kubectl描述服务web的输出(服务名称:)

Name:web
名称空间:默认值
标签:app=hmweb
注解:kubectl.kubernetes.io/last applicated configuration={“apiVersion”:“v1”,“种类”:“服务”,“元数据”:{“注解”:{},“标签”:{“应用程序”:“hmweb”},“名称”:“web”,“命名空间”:“默认”},“规范”:{“端口”:[{“端口”:。。。
选择器:app=hmweb
类型:负载平衡器
IP:10.0.86.131
负载平衡器入口:13.69.127.16
端口:80/TCP
目标端口:8000/TCP
节点端口:31827/TCP
终点:10.244.0.112:8000
会话关联:无
外部流量策略:群集
活动:
从消息中键入原因年龄
----    ------                ----  ----                -------
正常确保负载平衡器8m服务控制器确保负载平衡器
正常保证负载平衡器7m服务控制器保证负载平衡器

这背后的原因是,您的服务有两个选择器
app:hmweb
tier:frontend
,并且部署吊舱只有一个名为
app:hmweb
的标签。因此,当您的服务创建时,它找不到既有标签又没有连接到任何吊舱的吊舱。另外,如果您有容器在
8000
端口上运行时,您必须定义
targetPort
,该值为运行集装箱的集装箱端口的值,否则它将采用与您在服务中定义的值相同的
targetPort
port
值,即
port:80

您部署的正确yaml是:

apiVersion: v1
kind: Service
metadata:
  name: web
  labels:
    app: hmweb
spec:
  ports:
    - port: 80
      targetPort: 8000
      protocol: TCP
  selector:
    app: hmweb
  type: LoadBalancer

希望这有帮助。

我已将此更改为您所说的内容(有意义),但结果是一样的。网页没有加载。你可以共享
kubectl Descripte svc
的输出吗?服务看起来不错,你必须能够使用
13.69.127.16
访问你的应用,你使用外部IP访问应用,对吗?是的,使用外部IP,但不工作。我甚至检查了Azure,FW规则是al在NSGTry上下载以卷曲以下内容
10.244.0.112:8000
,并查看您的应用程序终结点是否工作正常。如果工作正常,则我们必须调试服务中的问题
apiVersion: v1
kind: Service
metadata:
  name: web
  labels:
    app: hmweb
spec:
  ports:
    - port: 80
      targetPort: 8000
      protocol: TCP
  selector:
    app: hmweb
  type: LoadBalancer