Docker 大摇大摆的用户界面在kubernetes内部试用
我在Kubernetes上部署了swagger UI。现在,当点击Docker 大摇大摆的用户界面在kubernetes内部试用,docker,kubernetes,swagger,Docker,Kubernetes,Swagger,我在Kubernetes上部署了swagger UI。现在,当点击试用按钮时,它不会向Kubernetes的内部服务发送请求 由于所有服务都在Kubernetes本地运行,我们必须使用HTTP,但我的招摇过市用户界面是在HTTPS上,因此也会出现混合内容错误 我们是否可以使用Kubernetes内部运行的swagger UI调用内部服务 这是我的演示版swagger.yaml: openapi: 3.0.1 servers: - url: '{scheme}://test-service'
试用按钮时,它不会向Kubernetes的内部服务发送请求
由于所有服务都在Kubernetes本地运行,我们必须使用HTTP
,但我的招摇过市用户界面是在HTTPS
上,因此也会出现混合内容错误
我们是否可以使用Kubernetes内部运行的swagger UI调用内部服务
这是我的演示版swagger.yaml:
openapi: 3.0.1
servers:
- url: '{scheme}://test-service'
variables:
scheme:
description: 'The Data Set API is accessible via https and http'
enum:
- 'https'
- 'http'
default: 'https'
info:
description: >-
您可以使用:
kubectl-n端口前向svc/:
然后转到localhost:
另一种方法是使用,有些选项取决于您的云提供商。我建议使用入口,并在https
域中添加更多规则
入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: swagger-staging
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: swagger-ingress
namespace: default
spec:
rules:
- host: example.com
http:
paths:
- path: /test-service(/|$)(.*)
backend:
serviceName: service-1
servicePort: 80
- path: service-2(/|$)(.*)
backend:
serviceName: service-2
servicePort: 80
- path: /service-3(/|$)(.*)
backend:
serviceName: service-3
servicePort: 80
- path: /service-4(/|$)(.*)
backend:
serviceName: service-4
servicePort: 80
- path: /service-5(/|$)(.*)
backend:
serviceName: service-5
servicePort: 80
注意:如果您尝试使用https更新入口,然后尝试使用port forward,则将无法工作,并且会出现浏览器混合内容的错误。至少对于多个云提供商,还支持内部负载平衡器。你试过了吗?也许你可以先试试内部负载平衡器。我试过一次。你指的是哪一个?对不起,不能提高投票率,这也有点帮助。
由于声誉不高,不能提高你的答案。因为那里有13个,所以。非常感谢您的帮助并抽出时间回复。现在我已经使用了相同的规则并使用https更新了入口,
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: swagger-staging
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: swagger-ingress
namespace: default
spec:
rules:
- host: example.com
http:
paths:
- path: /test-service(/|$)(.*)
backend:
serviceName: service-1
servicePort: 80
- path: service-2(/|$)(.*)
backend:
serviceName: service-2
servicePort: 80
- path: /service-3(/|$)(.*)
backend:
serviceName: service-3
servicePort: 80
- path: /service-4(/|$)(.*)
backend:
serviceName: service-4
servicePort: 80
- path: /service-5(/|$)(.*)
backend:
serviceName: service-5
servicePort: 80