knative 配置https
1、部署istio (当前的istio 1.12.0 不用这样整了,直接进入第2步)
首先按照正常部署istio,部署时开启SDS
2、创建secret
首先根据域名创建证书和密匙:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ./tls.key -out ./tls.crt -subj "/C=CN/ST=BeiJing/L=BeiJing/O=Company/OU=Company/CN=*.test.domain"
在K8s集群的某台机器上放置证书文件,进到证书文件目录,后基于kubectl命令创建证书secret
kubectl create -n istio-system secret tls istio-ingressgateway-certs --key tls.key --cert tls.crt
注意:
secret命令空间一定要选istio-system,否则Istio ingress-gateway pod容器无法加载secret
ingress-gateway正确加载证书日志:
3、创建gateway
knative 创建的ksvc指向gateway的方式:route -> kingress(ingress.networking.internal.knative.dev) -> vs->gateway
http时配置文件:
https更改为:
可以同时支持http和https:
4、通过virtualservice关联gateway
这一步knative会自动创建vs
如果使用http,那么第一步正常装,第二步略过,第三步选http配置就可以了。
也可以自动生成TLS证书,但是要求istio 1.3以上:https://www.cnblogs.com/muzinan110/p/17067047.html
注意, 按照以上方法配置了后,发现curl服务会在 queue-proxy sidecar那个地方出现connection reset by peer,看了下knative的queue-proxy的源码,发现1.1版本在queue-proxy这个地方不支持https端口,到了1.4版本才开始支持。
https://github.com/knative/serving/blob/release-1.1/pkg/reconciler/revision/resources/queue.go
https://github.com/knative/serving/blob/release-1.4/pkg/reconciler/revision/resources/queue.go
参考:
https://blog.csdn.net/luo15242208310/article/details/109491845
https://cloud.tencent.com/developer/news/617053
https://www.jianshu.com/p/0f8fa5ad7290
posted on 2021-11-02 14:15 MissSimple 阅读(67) 评论(0) 编辑 收藏 举报