无法使用Azure Kubernetes Service中的负载平衡器服务访问应用程序

问题描述

我已经创建了小的Nginx部署,并在Azure Kubernetes服务中键入LoadBalancer,但是我无法使用LoadBalaner服务访问该应用程序。有人可以提供解决方

我已经更新了安全组,以允许所有流量,但无济于事。

我是否需要更新任何安全组才能访问该应用程序?

请找到部署文件

cat Nginx.yml

apiVersion: v1

kind: Service

Metadata:

  name: Nginx-kubernetes

spec:

  type: LoadBalancer

  ports:

  - port: 8080

    targetPort: 8080

  selector:

    app: hello-kubernetes

---
apiVersion: apps/v1

kind: Deployment

Metadata:

     name: Nginx-kubernetes

spec:

  replicas: 3

  selector:

    matchLabels:

      app: hello-kubernetes

  template:

    Metadata:

      labels:

        app: hello-kubernetes

    spec:

      containers:

      - name: hello-kubernetes

        image: Nginx:latest

        ports:

        - containerPort: 8080

解决方法

Nginx容器默认情况下使用端口80,并且您尝试连接到端口8080,那里什么也没有监听,因此拒绝连接。

在这里查看nginx conateiner Dockerfile。您看到什么端口?

要使其正常工作,您需要做的就是更改目标端口,如下所示:

apiVersion: v1
kind: Service
metadata:
  name: nginx-kubernetes
spec:
  ports:
  - port: 8080
    targetPort: 80 
  selector:
    app: hello-kubernetes

另外,按如下所示更改containerPort会很不错:

spec:
  containers:
  - name: hello-kubernetes
    image: nginx:latest
    ports:
    - containerPort: 80

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...