4 Kubenetes Service

什么是Service

定义一组pod的访问规则

  • 服务发现,服务注册
  • 定义一组Pod的访问策略(负载均衡)

Pod and Service

根据labels and selectors

service 有一个虚拟ip

Service types

创建service type

kubectl expose deployment web3 --type=ClusterIP --port=80 --name=type_sevice --dry-run="client" -o yaml > type_service.yml
Screenshot-2023-06-05-200014

apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: web3
  name: type-sevice
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: web3
  type: ClusterIP
status:
  loadBalancer: {}

  1. ClusterIP: 集群内部使用 IP:10.103.158.254
    Screenshot-2023-06-05-203648
    Screenshot-2023-06-05-203725
  2. NodePort: 对外暴露 IP: 10.109.5.167
    Screenshot-2023-06-05-200547
  3. LoadBalancer: 对外访问应用,共有云