GCP-Kubernetes入口后端服务不健康

时间:2019-02-05 00:47:35

标签: google-kubernetes-engine kubernetes-ingress

我已经在Pod上部署了SAS Viya编程。这使SASStudio运行在端口80上。我试图通过以下yaml文件使用nodeport和Ingress公开SAS Studio。但是在GCP控制台中,显示的后端服务运行不正常,如果我尝试访问Ip,则该后端服务将达到默认后端或找不到页面。我可以使用群集IP和节点IP以及端口号来访问服务。

如果我使用LoadBalancer服务而不是Ingress,则可以使用Loadbalancer Ip访问该服务。

使用Ingress时,后端服务显示为不正常。

我已将curl命令与节点Ip和节点端口Ip一起使用。结果如下。

   [root@k8jumphost doc]# curl -ILS "10.142.0.19:30100"
    HTTP/1.1 302 Found
    Date: Fri, 01 Feb 2019 07:53:31 GMT
    Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
    Location: http://10.142.0.19:30100/SASStudio
    Content-Type: text/html; charset=iso-8859-1

    HTTP/1.1 302
    Date: Fri, 01 Feb 2019 07:53:32 GMT
    Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
    Location: /SASStudio/
    Transfer-Encoding: chunked

    HTTP/1.1 200
    Date: Fri, 01 Feb 2019 07:53:34 GMT
    Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
    Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Content-Type: text/html;charset=UTF-8
    Content-Language: en-US
    Content-Length: 7836

    [root@k8jumphost doc]# cat sas-analytics-ingress.yaml
    ---
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: sas-programming-ingress
      labels:
        app: sas-programming
    spec:
      rules:
      - host: sas-programming
        http:
          paths:
          - path: /
            backend:
              serviceName: sas-programming-svc-nodeport
              servicePort: 80


        [root@k8jumphost doc]# cat sas-analytics-nodeport.yaml
    ---

    apiVersion: v1
    kind: Service
    metadata:
      name: sas-programming-svc-nodeport
      labels:
        app: sas-programming
    spec:
      selector:
        app: sas-programming
      ports:
      - name: http
        nodePort: 30100
        port: 80
        targetPort: 80
      - name: cas
        nodePort: 30200
        port: 5570
        targetPort: 5570
      type: NodePort

[root@k8jumphost doc]# cat sas-analytics.yaml
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: sas-programming-deployment
  labels:
    app: sas-programming
spec:
  replicas: 1
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: sas-programming
    spec:
      securityContext:
        fsGroup: 1001
      hostname: sas-programming
      containers:
      - name: sas-programming
        image: <location of the image>
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5570
        - containerPort: 80
        env:
        - name: CASENV_CAS_VIRTUAL_HOST
          value: "sas-programming"
        - name: CASENV_CAS_VIRTUAL_PORT
          value: "30300"

我怀疑/上的重定向导致此错误。谁能帮助我,应该将什么添加到部署文件中以解决此错误。

1 个答案:

答案 0 :(得分:1)

我认为您GCP后端不健康这一事实表明您的容器上可能没有健康终结点。看看https://kubernetes.io/docs/concepts/services-networking/ingress/#loadbalancing。您需要在部署Yaml中使用readinessProbelivenessProbe

相关问题