【发布时间】:2021-10-26 11:52:32
【问题描述】:
我尝试在 GKE 上使用 NetworkPolicy。
我的 pod api 有 API 应用和 cloudSql 代理
image: myapi
name: myapi
ports:
- containerPort: 3001
- command:
- /cloud_sql_proxy
- -instances=my-project:asia-northeast1:my-instance=tcp:3307
- -ip_address_types=PRIVATE
image: gcr.io/cloudsql-docker/gce-proxy:1.16
name: cloudsql-proxy
我不知道要设置什么样的出口规则。我只是尝试设置127.0.0.1:3307,但它一定不是;因为 api -> cloudsql_proxy 是 127.0.0.1:3307。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
labels:
env: develop
projectid: my-project
name: my-networkpolicy
spec:
egress:
- ports:
- port: 3307
protocol: TCP
to:
- ipBlock:
cidr: 127.0.0.1/32
错误
获取https://www.googleapis.com/sql/v1beta4/projects/my-project/instances/my-instance?alt=json&prettyPrint=false:拨号tcp:i/o超时
如何设置 NetworkPolicy ?
※ 我已经知道如果 NetrowkPolicy 中没有出口规则,连接工作正常
【问题讨论】:
-
你有什么特别的理由在这里设置
NetworkPolicy吗?它应该没有任何工作。从你使用的端口来看,是 MySQL 实例吧? -
出于安全要求,我需要设置一些网络规则。而且我认为设置 NetworkPolicy 比设置防火墙规则更好。
标签: google-kubernetes-engine cloud-sql-proxy