我试图更多地了解服务在Kubernetes中是如何工作的。以这个示例yaml文件为例。
apiVersion: v1
kind: Service
metadata:
name: schemaregistry #1
labels:
name: kafka #2
app: demo #3
spec:
ports:
- port: 4000 #4
name: landoopkafkasr #5
targetPort: 8081 #6
selector:
name: landoopkafka #7
app: demo #8
另外,如果我必须从k8集群中的另一个吊舱B访问吊舱landoopkafka的端口8081,我如何访问它?
太感谢你了。
您可以从这些中获得有关Kubernetes服务的基本信息
简单地告诉你
apiVersion: v1
kind: Pod
metadata:
name: landoopkafka
labels:
name: landoopkafka
app: demo
spec:
containers:
- name: kafka
image: kafka:1.7.9
ports:
- containerPort: 8081
apiVersion: v1
kind: Service
metadata:
name: schemaregistry #1
labels:
name: kafka #2
app: demo #3
spec:
ports:
- port: 4000 #4
name: landoopkafkasr #5
targetPort: 8081 #6
selector:
name: landoopkafka #7
app: demo #8
selector:
name: landoopkafka #7
app: demo #8
根据我提供的示例,如果您想访问PodLandoopKafka
,可以使用服务DNS作为
schemaregistry:4000
您的服务使用端口4000
(#4)公开,这些通信量将被路由到Pod的8081
(#6)端口
什么是port和targetport? 是否为每个代理设置LoadBalancer服务? 这些多个代理是否映射到cloud LB的单个公共IP地址? K8S/Cloud之外的服务如何访问单个代理?通过使用?或者使用?。还有,这里用的是哪个端口?还是? 如何在Kafka Broker的属性中指定此配置?对于k8s集群内部和外部的服务,As端口可能不同。 请帮忙。
我使用几个独立服务运行Kubernetes单节点dev集群--Nginx proxy(端口80)和elasticsearch(端口9200)。有没有办法用ingress公开这些服务,用一个LoadBalancer IP拥有入口点?(X.X.X.X:80和X.X.X:9200) 我读过关于入口限制,它只能用80和443端口访问。但是,也许,存在一些变通方法? 请Thx提供任何建议 但如果以后您想公开
我正在公有云(Azure/AWS/Google cloud)中运行一个Kubernetes集群,我有一些非HTTP服务要为用户公开。 对于HTTP服务,Id通常使用Ingress资源通过可寻址的DNS条目公开地公开该服务。 对于非HTTP、基于TCP的服务(例如,诸如PostgreSQL之类的数据库),我应该如何公开这些服务以供公共使用? 我考虑过使用服务,但这要求节点本身可以公开访问(依赖路由到
我有一个复合服务S.c,它使用两个原子服务S.a和S.b,其中所有三个服务都在Kubernetes集群中运行。更好的模式是什么 1)将Sa、Sb创建为无头服务,并让Sc通过NGINX等外部负载均衡器与它们集成(使用DNS解析器来维护更新的后端pod) 2) 使用clusterIP创建Sa、Sb,并让Sc通过群集DNS(skyDNS加载项)访问/解析它们。这将在内部利用基于IP表的负载平衡来实现PO
我正在aws中运行openshift 我有一个主节点和两个节点。如何向aws公共IP公开服务?我可以在内部访问服务: 我怎么把它暴露给公共IP呢?是否可以在openshfit web控制台中完成?我尝试使用https://docs.openshift.com/container-platform/3.4/dev_guide/expose_service/expose_internal_ip_ser
以前有人试图公开kube-dns服务吗?如果有,有没有其他的安装步骤或者你有什么调试建议给我? 服务定义如下: