kubernetes -- Service
service: Pod 的服务发现与负载均衡
ClusterIP 模式
命令行:
#暴露Deploy, 暴露8000端口, 统一访问pod的80端口 kubectl expose deployment my-dep --port=8000 --target-port=80 # 查看服务IP kubectl get svc #使用标签检索Pod kubectl get pod -l app=my-dep # 查看标签 kubectl get pod --show-labels
PS: 暴露的端口只能在集群内部访问
配置文件:
# 进入配置 kubectl edit svc [service_name] # file context apiVersion: v1 kind: Service metadata: labels: app: my-dep name: my-dep spec: selector: app: my-dep ports: - port: 8000 protocol: TCP targetPort: 80
NodePort 模式
所有操作几乎同上, 注意:
- 暴露的服务名不能重复, 如果存在可以删除记录: kubectl delete svc [service_name]
- --type 选项默认是ClusterIP 模式