Service:Kubernetes服务发现与负载均衡详解
Service:服务发现与负载均衡
前言
Service是Kubernetes中用于服务发现和负载均衡的核心资源,为一组Pod提供稳定的网络访问。
Service类型
1. ClusterIP(默认)
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ClusterIP
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
2. NodePort
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
nodePort: 30080
3. LoadBalancer
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
4. ExternalName
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ExternalName
externalName: external.database.example.com
Service工作原理
Client --> Service (10.96.0.1:80) --> Pod1:8080
--> Pod2:8080
--> Pod3:8080
服务发现
DNS自动注册
# 自动生成DNS名称
# ..svc.cluster.local
# 集群内访问
curl http://my-service.default.svc.cluster.local
# 同namespace访问
curl http://my-service
Headless Service
apiVersion: v1
kind: Service
metadata:
name: headless-service
spec:
clusterIP: None
selector:
app: myapp
ports:
- port: 80
多端口Service
apiVersion: v1
kind: Service
metadata:
name: multi-port-service
spec:
selector:
app: myapp
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8080
- name: https
protocol: TCP
port: 443
targetPort: 8443
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







