1 概念
定义一组Pod的访问规则。
1.1 存在的意义
- 防止Pod失联(服务发现)
- 定义一组Pod的访问策略(负载均衡)
2 Pod和Service的关系
根据label和selector建立关联。
通过service实现Pod的负载均衡。
3 常用的Service类型
3.1 ClusterIP
集群内部使用。
// 1 导出
kubectl expose deployment web --target-port=80 --name=web1 -o yaml > web2.yaml
// 2 执行yaml文件
kubectl apply -f web2.yaml
// 3 查看svc
kubectl get svc
// 总结
// 当不指定service type时,默认使用ClusterIP类型的service
3.2 NodePort
对外访问应用时使用。
// 1 修改web2.yaml
vi web2.yaml
// 2 修改type 为NodePort
type: NodePort
// 3 执行yaml文件
kubectl apply -f web2.yaml
3.3 LoadBalancer
对外访问应用使用,适用于共有云
一般的,node内网部署应用,外网一般不能访问到的。
- 找到一台可以镜像外网访问机器,安装nginx反向代理
- 手动把可以访问的节点添加到nginx里面
LoadBalancer:公有云,把负载均衡,控制器