我有一个节点的 Kubernetes 集群。我有 java 服务 dockerized,可以访问其余服务、sql server、kafka 和 kubernetes 集群之外的另一个端点,但在同一个谷歌云网络中。
我寻求帮助的主要原因是我无法将 pod 内的 java 服务连接到前面提到的外部端点。
我以前尝试过使用 flannel 网络,但现在我已经重置了集群,并且我安装了 calico 网络,但没有得到积极的结果。
集群节点:
我将一些 dockerized 的 java 服务部署为 cronjobs,其他的部署为部署。为了将此 cronjobs 或部署与 Kafka、Sql Server 等外部端点通信,我使用服务。
他们每个人的一个例子:Cronjob:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: cronjob-name
spec:
schedule: "*/5 * * * *"
jobTemplate:
spec:
template:
metadata:
labels:
cronjob1: cronjob-name
spec:
containers:
- image: repository/repository-name:service-name:version
imagePullPolicy: ""
name: service-name
resources: {}
restartPolicy: OnFailure
selector:
matchLabels:
cronjob1: cronjob-name
部署:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
deployment1: deployment_name
name: deployment_name
spec:
replicas: 1
selector:
matchLabels:
deployment1: deployment_name
strategy: {}
template:
metadata:
labels:
deployment1: deployment_name
spec:
containers:
- image: repository/repository-name:service-name:version
imagePullPolicy: ""
name: service-name
resources: {}
imagePullSecrets:
- name: dockerhub
restartPolicy: Always
serviceAccountName: ""
volumes: null
status: {}
服务:
apiVersion: v1
kind: Service
metadata:
name: sqlserver
spec:
type: ClusterIP
selector:
cronjob1: cronjob1
deployment1: deployment1
ports:
- protocol: TCP
port: 1433
targetPort: 1433
我的问题是,我无法从 java 服务连接,例如,使用 Sql Server Instance。我已经验证了 DNS 和 calico pods 日志并且没有错误。我尝试在运行时通过 ssh 连接到 pod,并且从内部的 pod 我无法远程登录到 Sql Server 实例。
¿ 你能给我一些关于这个问题的想法吗?或¿我可以做哪些测试?
非常感谢!