kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
端口
和targetport
之间有什么区别?
服务:这将流量引导到一个吊舱。
targetPort:这是您的应用程序在容器中运行的实际端口。
端口:有时容器内的应用程序在不同的端口上提供不同的服务。
示例:实际应用程序可以运行8080
,并且此应用程序的健康检查可以在容器的8089
端口上运行。因此,如果您没有端口地访问服务,它不知道应该将请求重定向到容器的哪个端口。服务需要有一个映射,以便能够命中容器的特定端口。
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- name: http
nodePort: 30475
port: 8089
protocol: TCP
targetPort: 8080
- name: metrics
nodePort: 31261
port: 5555
protocol: TCP
targetPort: 5555
- name: health
nodePort: 30013
port: 8443
protocol: TCP
targetPort: 8085
我的理解是,集群之外的客户机将“看到”的端口将是文档中定义的-范围内动态分配的端口。这将使用一些我还不明白的魔法流到给定节点上的(在本例中是)。 那么这里的用于什么呢?
我了解kubernetes服务,因为LoadBalancer服务是NodePort和ClusterIP的扩展,后者已经是POD的负载平衡器层。当我们使用NodePort或CluserIP和ingress时,我们已经能够使用负载平衡器(内部)在服务中通过域访问应用程序。那么,为什么我们还有另一个选择是LoadBalancer服务(外部云提供商)?
我在Kubernetes工作过,目前正在阅读有关Service Fabric的文章,我知道Service Fabric提供微服务框架模型,如有状态、无状态和actor等,但除此之外,它还提供或,这也是Kubernetes管理/编排容器的功能。有人能解释一下这两者之间的详细区别吗?
我试图创建一个服务帐户与一个已知的,固定的令牌Jenkins使用,以部署到Kubernetes的东西。我使用以下YAML创建了令牌:
1-我正在阅读文档,我对措辞有点困惑。上面写着: 集群IP:在集群内部IP上公开服务。选择此值将使服务只能从集群内访问。这是默认的ServiceType NodePort:在每个节点的IP上的一个静态端口(NodePort)上公开服务。节点端口服务将路由到的集群IP服务将自动创建。您可以通过请求从集群外部联系NodePort服务。 LoadBalancer:使用云提供商的负载均衡器对外公开服务。外
注:内容翻译自官网文档 Language Guide (proto3) 中的 Defining Services 一节 如果想在RPC (Remote Procedure Call) 系统中使用消息类型, 可以在.proto文件中定义RPC服务接口, 然后protocol buffer编译器会生成所选语言的服务接口代码和桩(stubs). 因此, 例如, 如果想定义一个RPC服务,带一个方法处理S