我有一个包含两台机器(一台主机器和一台工作机器)的集群,在工作节点上有一个pod,它提供SCTP服务。与pod相关的集群服务声明了externalIPs。externalIPs的值是工人机器的公共IP(####.###.208)。当使用helm部署pod和服务时,我可以看到pod和服务都可用,并且外部IP被分配给服务,但netstat命令的结果表明,为sctp服务定义的端口未打开以从外部世界访问,但是,如果我对tcp端口做同样的事情,它将被外部世界打开。netstat的结果如下所示-
对于SCTP-
user1@master:/build/helm$kubectl get svc——所有名称空间
名称空间名称类型集群-IP EXTERNAL-IP端口(S)年龄
默认amf服务群集IP 10.99.154.48########.##。208 38412/SCTP 2m55s
user1@worker01:/netstat-nl | grep 38412
对于TCP-
user1@master:/build/helm$kubectl get svc——所有名称空间
名称空间名称类型集群-IP EXTERNAL-IP端口(S)年龄
默认amf服务群集IP 10.99.154.48########.##。208 38412/TCP 2m16s
user1@worker01:/netstat-nl | grep 38412
Proto Recv-Q Send-Q本地地址外部地址状态
TCP 0 0 ###. ###. ##.208:384120.0.0.0:*听
服务定义-
apiVersion: v1
kind: Service
metadata:
name: amf-service
labels:
{{- include "amf-chart.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
####### - port: {{ .Values.service.http_port }}
####### targetPort: {{ .Values.service.http_port }}
####### protocol: TCP
####### name: http
- port: {{ .Values.service.sctp_port }}
targetPort: {{ .Values.service.sctp_port }}
protocol: SCTP
name: sctp
selector:
{{- include "amf-chart.selectorLabels" . | nindent 4 }}
externalIPs:
- { .Values.service.workerIP}
它的行为应该与TCP相同,并且SCTP协议的端口38412应该提供服务。
为了复制,部署一个提供sctp服务的pod,并使用我在上述服务模板中提到的服务配置。
如果我在pod中的集群内运行SCTP客户端,我就能够使用SCTP服务。
环境:
库伯内特斯版本(使用kubectl版本):1.21
云提供商或硬件配置:操作系统(例如:cat/etc/OS版本):Ubuntu 18.04.5 LTS(仿生海狸)内核(例如uname-a):Linux worker01 5.4.0-72-generic#80 ~ 18.04.1-Ubuntu SMP Mon Apr 12 23:26:25 UTC 2021 x86\u 64 x86\u 64 GNU/Linux
网络插件和版本(如果这是一个与网络相关的bug):{“name”:“cbr0”,“cniVersion”:“0.3.1”,“plugins”:[{“type”:“flannel”,“delegate”:{“hairpinMode”:true,“isDefaultGateway”:true}},{“type”:“portmap”,“capabilities”:{“portMappings”:true}}]}
其他:Docker容器使用centos8作为基本映像(来自centos:centos8)
我不得不用印花布代替法兰绒,用NodeIP代替ClusterIP。
我在kubernetes集群中所有节点的外部端口上公开了一个服务,该服务来自: 您已经在集群中所有节点的外部端口上公开了服务。如果要将此服务公开到外部internet,则可能需要为服务端口(TCP:30002)设置防火墙规则以服务通信量。 有关详细信息,请参阅http://releases.k8s.io/release-1.2/docs/user-guide/services-firewalls.
我已经使用mongo k8s sidecar在kubernetes上提供了一个3成员副本集mongo集群。我需要在外部公开mongodb服务,因此创建了一个LoadBalancer。 这就是服务的样子 尝试使用mongodb shell 3.6进行连接,效果很好 但是在java客户端代码中,我看到了下面的异常。< code > Java . net . unknown hostexception:
< li >我在Kubernetes集群中部署并运行了Kafka。我使用的图片来自docker hub-https://hub . docker . com/r/cloudtrackinc/kubernetes-Kafka/ < li >我的kubernetes群集中有3个kube节点。我有3个Kafka和3个zookeeper应用程序在运行,我有服务zoo1、zoo2、zoo3和kafka-1、
本系列文档介绍使用二进制部署最新 kubernetes v1.6.2 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群。 在部署的过程中,将详细列出各组件的启动参数,它们的含义和可能遇到的问题。 部署完成后,你将理解系统各组件的交互原理,进而能快速解决实际问题。 所以本文档主要适合于那些有一定 kubernetes 基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。
本系列文档介绍使用二进制部署最新 kubernetes v1.6.2 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群。
我的公司有一个以JSON格式发送实时消息的消息传递系统,它不是建立在AWS上的,也不会与AWS有任何VPN连接。 我们的团队正在尝试使用AWS SQS接收这些消息,然后DynamoDB将JSON消息处理到TSV,然后加载到RDS中。 但是,根据FAQ,SQS只能从AWS内部接收消息。https://aws.amazon.com/sqs/faqs/ 我在这里的问题是: 我的想法正确吗? 如果正确,您