kubernetes - 将 kubernetes pod 与外部端点(rest services、sql server、kafka、redis 等)通信的问题
问题描述
我有一个节点的 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 实例。
¿ 你能给我一些关于这个问题的想法吗?或¿我可以做哪些测试?
非常感谢!
解决方案
我再次解决了配置 Kubernetes 集群的问题,但使用的是 calico 而不是 fannel。感谢您的回复。我希望这对其他人有帮助。
推荐阅读
- c++ - 使用 C++ 在嵌套循环中实现线程
- excel - 循环期间关闭 Excel 时的错误处理
- ios - 触摸节点时 applyImpulse 不起作用
- paysafe - 使用 Paysafe 从 Google Pay 测试成功付款?
- javascript - 在循环中从 PHP 调用 Javascript 函数
- java - jsp - 我的 jar 文件导入有什么问题?
- sharepoint - Windows 7 系统中的 Share Point 2008 配置 Share Point server.exe 提取问题?
- html - 是否可以在 flash swf 中调用 html5?
- javascript - 使用 Flow 类型系统执行运行时检查?
- python - python:如何起床直到我的代码出现最后一个错误