Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Azure Kubernates网络:我的前端无法到达后端_Azure_Docker_Kubernetes_Azure Aks - Fatal编程技术网

Azure Kubernates网络:我的前端无法到达后端

Azure Kubernates网络:我的前端无法到达后端,azure,docker,kubernetes,azure-aks,Azure,Docker,Kubernetes,Azure Aks,我有以下docker compose文件,可以很好地工作: version: '3' services: myfrontend: image: myregistry.azurecr.io/im1:latest container_name: myfrontend ports: - 80:80 - 443:443 mybackend: image: myregistry.azurecr.io/im2:latest container_name: mybackend ex

我有以下docker compose文件,可以很好地工作:

version: '3'
services:
myfrontend: 
  image: myregistry.azurecr.io/im1:latest
  container_name: myfrontend
   ports:
  - 80:80
  - 443:443

 mybackend:
image: myregistry.azurecr.io/im2:latest
container_name: mybackend
expose: 
  - 8080
后端只向内部网络公开8080,前端有一个经过修改的nginx映像,配置如下(它的工作原理是docker用容器名称解析ip)

我将上述配置迁移到kubernates中,我从nginx中得到了一个502坏网关错误,我认为这是因为它无法解决后端地址问题

这是kubernates配置文件,你能看一下并告诉我我做错了什么吗(


您需要将解析器设置为:

kube-dns.kube-system.svc.cluster.local

因此,您群集中的kube dns名称\地址,因为本地主机上的任何内容都无法将mybackend解析为其ip地址。我不确定您是否需要它,因为容器无论如何都会从kubernetes知道后端地址。我可能会放弃该设置

,这意味着问题很可能与地址无关。您可以使用<代码>从“前端”播客ping后端。它将为后端播客返回正确的IP。我的问题是,kubernates没有更新映像,因为我用标签“最新”刷新了!它可以工作:)
apiVersion: apps/v1beta1
kind: Deployment
metadata:
 name: mybackend
spec:
 replicas: 1
 strategy:
   rollingUpdate:
    maxSurge: 1
    maxUnavailable: 1
  minReadySeconds: 5
 template:
   metadata:
  labels:
    app: mybackend
spec:
  nodeSelector:
    "beta.kubernetes.io/os": linux
  containers:
  - name: mybackend
    image: myregistry.azurecr.io/sgr-mybackend:latest
    ports:
    - containerPort: 8080
      name: mybackend
    resources:
      requests:
        cpu: 250m
        limits:
          cpu: 500m
---
apiVersion: v1
kind: Service
metadata:
  name: mybackend
spec:
  ports:
  - port: 8080
  selector:
    app: mybackend
 ---
 apiVersion: apps/v1beta1
 kind: Deployment
 metadata:
 name: myfrontend
 spec:
   replicas: 1 
 template:
 metadata:
  labels:
    app: myfrontend
 spec:
  nodeSelector:
    "beta.kubernetes.io/os": linux
  containers:
  - name: myfrontend
    image: myregistry.azurecr.io/myfrontend:latest
    ports:
    - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: myfrontend
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: myfrontend
kube-dns.kube-system.svc.cluster.local