我已经在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"
我怀疑/上的重定向导致此错误。谁能帮助我,应该将什么添加到部署文件中以解决此错误。
答案 0 :(得分:1)
我认为您GCP后端不健康这一事实表明您的容器上可能没有健康终结点。看看https://kubernetes.io/docs/concepts/services-networking/ingress/#loadbalancing。您需要在部署Yaml中使用readinessProbe
和livenessProbe
。