问题描述:通过k8s配置ngxin-ingress 代理一个端口访问k8s内部tomcat service 出现 503 Service Temporarily Unavailable

如下是我的service和pod的yaml配置文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment
  namespace: wl-namespace
  labels:
    app: tomcat
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tomcat
  template:
    metadata:
      labels:
        app: tomcat
    spec:
      containers:
      - name: tomcat
        image: tomcat
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: tomcat-service
  namespace: wl-namespace
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080

我的ingress配置文件


apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
spec:
  rules:
  - host: www.wanglei.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tomcat-service
          servicePort: 80

经排查发现我的ingress配置没有配置命名空间,系统会自动使用default命名空间,而我的service,pod却配置wl-namespace自定义命名空间导致nginx-ingress无法找到对应的pod,service
修改ingress

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  #service,pod,ingress需要在同一命名空间
  namespace: wl-namespace
spec:
  rules:
  - host: www.wanglei.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tomcat-service
          servicePort: 80
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐