一,service的定义与基本用法
在 Kubernetes 中,Service 是一种抽象概念,用于定义一组 Pod 并为它们提供访问入口。通过 Service,您可以将多个 Pod 组合成一个逻辑单元,并使用标签选择器来确定哪些 Pod 属于该 Service。
下面是一个简单的 Service 定义示例:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app # 标签选择器,用于确定哪些 Pod 属于该 Service
ports:
- name: http
port: 80 # 外部暴露的端口
targetPort: 9376 # 绑定的 Pod 端口
在上面的示例中,我们创建了一个名为 my-service
的 Service,并指定了一个标签选择器 app=my-app
来确定哪些 Pod 属于该 Service。此外,我们还指定了一个绑定端口(端口号为 80
),并将其绑定到后端 Pod 的某个端口(这里为 9376
)。
使用此配置文件部署该服务后,Kubernetes 将自动创建一个负载均衡器,并分配给该服务一个稳定的 IP 地址和 DNS 名称。其他应用程序可以使用这个 IP 地址或 DNS 名称来访问该服务。
需要注意的是,在 Kubernetes 中,Service 可以有不同类型:ClusterIP、NodePort、LoadBalancer 和 ExternalName。每种类型都有不同的用途和配置方式。文章来源:https://www.toymoban.com/news/detail-610663.html
下面是一些常见的 Service 使用示例:文章来源地址https://www.toymoban.com/news/detail-610663.html
- ClusterIP Service:将一组 Pod 组成一个逻辑单元,并在集群内部提供访问入口。
apiVersion: v1
kind: Service
metadata:
name: my-service-clusterip
spec:
selector:
app: my-app # 标签选择器,用于确定哪些 Pod 属于该 Service
ports:
- name: http
port: 80 # 外部暴露的端口
targetPort: 9376 # 绑定的 Pod 端口
- NodePort Service:除了提供 ClusterIP Service 的功能外,还可以在每个节点上绑定一个静态端口号,从而允许外部流量进入 Kubernetes 集群。
apiVersion: v1
kind: Service
metadata:
name: my-service-nodeport
spec:
selector:
app: my-app # 标签选择器,用于确定哪些 Pod 属于该 Service
ports:
- name: http
port: 80 # 外部暴露的端口(在所有节点上都会监听此端口)
targetPort: 9376 # 绑定的 Pod 端口(Pod 内容器监听此端口)
nodePort: 30001 # 在每个节点上绑定的静态端口号(范围为:30000-32767)
- LoadBalancer Service:除了提供 NodePort Service 的功能外,还可以使用云供应商提供的负载均衡器来平衡流量,从而允许外部流量进入 Kubernetes 集群。
apiVersion: v1
kind: Service
metadata:
name: my-service-loadbalancer
spec:
selector:
app: my-app # 标签选择器,用于确定哪些 Pod 属于该 Service
ports:
- name: http
port: 80 # 外部暴露的端口(在所有节点上都会监听此端口)
targetPort: 9376 # 绑定的 Pod 端口(Pod 内容器监听此端口)
type: LoadBalancer # 指定为 LoadBalancer 类型的 Service
- ExternalName Service:将一个服务映射到集群外部的另一个服务或域名,从而允许集群内部使用相同的 DNS 名称来访问集群外部服务。
apiVersion: v1
kind: Service
metadata:
name: my-service-externalname
spec
到了这里,关于在CSDN学Golang云原生(Kubernetes Service)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!