我在 AWS 上的 Kuberntes 集群中使用 Consul,并尝试将我的终止网关迁移到 AWS RDS 实例以在上游服务上使用 TLS 验证。
对于非 TLS 验证的配置,我有以下效果很好
---
apiVersion: consul.hashicorp.com/v1alpha1
kind: TerminatingGateway
metadata:
name: terminating-gateway
spec:
services:
- name: mydb
---
apiVersion: v1
kind: Pod
metadata:
name: testdb
labels:
role: test
app: testdb
annotations:
"consul.hashicorp.com/connect-inject": "true"
"consul.hashicorp.com/connect-service-upstreams": "mydb:1234"
spec:
containers:
- name: testdb
image: jbergknoff/postgresql-client
....
restartPolicy: Never
但是,如果我改为
apiVersion: consul.hashicorp.com/v1alpha1
kind: TerminatingGateway
metadata:
name: terminating-gateway
spec:
services:
- name: mydb
caFile: /etc/ssl/rds.pem
尝试连接到数据库时出现一般连接错误。我还需要做些什么来启用 consul 和外部 RDS 服务之间的 TLS 验证吗?
PS我下载了RDS组合CA文件,并在集群中的每个节点上放了一份副本在以下路径/etc/ssl/rds.pem